From 5d1dc228b95147c6ca5fa6506f1362400dd697fc Mon Sep 17 00:00:00 2001
From: Pregmodder <pregmodder@gmail.com>
Date: Mon, 10 Mar 2025 22:03:23 +0000
Subject: [PATCH] Reset V.slaveFightingBodyguard if not existing slave

---
 src/facilities/pit/pit.js        | 2 ++
 src/js/removeSlave.js            | 4 ++++
 src/npc/interaction/killSlave.js | 2 +-
 3 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/src/facilities/pit/pit.js b/src/facilities/pit/pit.js
index 0be44049e5e..e77cc161c80 100644
--- a/src/facilities/pit/pit.js
+++ b/src/facilities/pit/pit.js
@@ -60,6 +60,8 @@ App.Facilities.Pit.pit = function() {
 
 				App.UI.reload();
 			}), ['indent']);
+		} else if (bodyguard !== null) {
+			V.pit.slaveFightingBodyguard = null;
 		}
 		return el;
 	}
diff --git a/src/js/removeSlave.js b/src/js/removeSlave.js
index 7c620433c1a..2f4433d173b 100644
--- a/src/js/removeSlave.js
+++ b/src/js/removeSlave.js
@@ -124,6 +124,10 @@ globalThis.removeSlave = function(slave, recordExtras = {}) {
 		if (V.pit && V.pit.fighterIDs) {
 			V.pit.fighterIDs.deleteAll(AS_ID);
 		}
+		/* reset fighting BG ID, if needed */
+		if (V.pit && V.pit.slaveFightingBodyguard === AS_ID) {
+			V.slaveFightingBodyguard = null;
+		}
 		// scheduled pit fight
 		if (V.pit && V.pit.slavesFighting?.includes(AS_ID)) {
 			V.pit.slavesFighting = null;
diff --git a/src/npc/interaction/killSlave.js b/src/npc/interaction/killSlave.js
index 21dde1a9eb5..de95a806200 100644
--- a/src/npc/interaction/killSlave.js
+++ b/src/npc/interaction/killSlave.js
@@ -40,7 +40,7 @@ App.UI.SlaveInteract.killSlave = function(slave) {
 
 	frag.appendChild(intro());
 
-	if (V.pit && V.pit.slaveFightingBodyguard) {
+	if (V.pit && V.pit.slaveFightingBodyguard && getSlave(V.pit.slaveFightingBodyguard) !== undefined) {
 		frag.appendChild(plannedFight());
 	} else {
 		frag.appendChild(links());
-- 
GitLab