diff --git a/src/playsim/p_mobj.cpp b/src/playsim/p_mobj.cpp index 0f9a91803..d896db678 100644 --- a/src/playsim/p_mobj.cpp +++ b/src/playsim/p_mobj.cpp @@ -7806,6 +7806,19 @@ void AActor::Revive() target = nullptr; lastenemy = nullptr; + // Make sure to clear poison damage. + PoisonDamageReceived = 0; + PoisonDamageTypeReceived = NAME_None; + PoisonDurationReceived = 0; + PoisonPeriodReceived = 0; + Poisoner = nullptr; + if (player != nullptr) + { + player->poisoncount = 0; + player->poisoner = nullptr; + player->poisontype = player->poisonpaintype = NAME_None; + } + // [RH] If it's a monster, it gets to count as another kill if (CountsAsKill()) {