diff --git a/src/p_map.cpp b/src/p_map.cpp index 1aa762dbd..6f3f01cf4 100644 --- a/src/p_map.cpp +++ b/src/p_map.cpp @@ -5136,7 +5136,8 @@ void P_RailAttack(FRailParams *p) if (puffDefaults->flags3 & MF3_FOILINVUL) dmgFlagPass |= DMG_FOILINVUL; if (puffDefaults->flags7 & MF7_FOILBUDDHA) dmgFlagPass |= DMG_FOILBUDDHA; } - int newdam = P_DamageMobj(hitactor, thepuff ? thepuff : source, source, p->damage, damagetype, dmgFlagPass|DMG_USEANGLE, hitangle); + // [RK] If the attack source is a player, send the DMG_PLAYERATTACK flag. + int newdam = P_DamageMobj(hitactor, thepuff ? thepuff : source, source, p->damage, damagetype, dmgFlagPass | DMG_USEANGLE | (source->player ? DMG_PLAYERATTACK : 0), hitangle); if (bleed) {