diff --git a/src/p_interaction.cpp b/src/p_interaction.cpp index 48cb87747..5fefa2ab5 100644 --- a/src/p_interaction.cpp +++ b/src/p_interaction.cpp @@ -192,7 +192,7 @@ void ClientObituary (AActor *self, AActor *inflictor, AActor *attacker) gender = self->player->userinfo.gender; // Treat voodoo dolls as unknown deaths - if (inflictor && inflictor->player == self->player) + if (inflictor && inflictor->player && inflictor->player->mo != inflictor) MeansOfDeath = NAME_None; if (multiplayer && !deathmatch) @@ -228,6 +228,12 @@ void ClientObituary (AActor *self, AActor *inflictor, AActor *attacker) case NAME_Fire: if (attacker == NULL) messagename = "OB_LAVA"; break; } + // Check for being killed by a voodoo doll. + if (inflictor && inflictor->player && inflictor->player->mo != inflictor) + { + messagename = "OB_VOODOO"; + } + if (messagename != NULL) message = GStrings(messagename); diff --git a/wadsrc/static/language.enu b/wadsrc/static/language.enu index 4c1e4af69..927ed5e2b 100644 --- a/wadsrc/static/language.enu +++ b/wadsrc/static/language.enu @@ -620,6 +620,7 @@ OB_R_SPLASH = "%o should have stood back."; OB_ROCKET = "%o should have stood back."; OB_KILLEDSELF = "%o killed %hself."; +OB_VOODOO = "%o was kill by the power of voodoo."; OB_STEALTHBABY = "%o thought %g saw an arachnotron."; OB_STEALTHVILE = "%o thought %g saw an archvile."; OB_STEALTHBARON = "%o thought %g saw a Baron of Hell.";