diff --git a/src/p_interaction.cpp b/src/p_interaction.cpp index e926de50a8..1cac172b32 100644 --- a/src/p_interaction.cpp +++ b/src/p_interaction.cpp @@ -801,7 +801,7 @@ static inline bool isFakePain(AActor *target, AActor *inflictor, int damage) } // [MC] Completely ripped out of DamageMobj to make it less messy. -static void ReactToDamage(AActor *target, AActor *inflictor, AActor *source, int damage, FName mod, int flags) +static void ReactToDamage(AActor *target, AActor *inflictor, AActor *source, int damage, FName mod, int flags, int originaldamage) { bool justhit = false; int painchance = 0; @@ -827,7 +827,7 @@ static void ReactToDamage(AActor *target, AActor *inflictor, AActor *source, int // Are we attempting to cause pain? if (!noPain) { - fakedPain = (isFakePain(target, inflictor, damage)); + fakedPain = (isFakePain(target, inflictor, originaldamage)); forcedPain = (MustForcePain(target, inflictor)); } @@ -1456,7 +1456,7 @@ static int DoDamageMobj(AActor *target, AActor *inflictor, AActor *source, int d bool needevent = true; int realdamage = DamageMobj(target, inflictor, source, damage, mod, flags, angle, needevent); if (realdamage >= 0) //Keep this check separated. Mods relying upon negative numbers may break otherwise. - ReactToDamage(target, inflictor, source, realdamage, mod, flags); + ReactToDamage(target, inflictor, source, realdamage, mod, flags, damage); if (realdamage > 0 && needevent) {