From 1825c8ba77f660bb98c14f49238d5c7555593b50 Mon Sep 17 00:00:00 2001
From: Boondorl <boondorl@live.com>
Date: Thu, 21 Nov 2024 04:27:02 -0500
Subject: [PATCH] Fixed poison not clearing on revive

---
 src/playsim/p_mobj.cpp | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/src/playsim/p_mobj.cpp b/src/playsim/p_mobj.cpp
index 0f9a918036..d896db6781 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())
 	{