From df5c9933ec355b2924c0dc8d10cf6044ec7fd4fd Mon Sep 17 00:00:00 2001
From: sphere <spherallic@gmail.com>
Date: Wed, 16 Jun 2021 16:12:38 +0200
Subject: [PATCH] Restore toggle for Robo-Hood to not jump away from nearby
 players.

---
 extras/conf/SRB2-22.cfg | 1 +
 src/p_enemy.c           | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/extras/conf/SRB2-22.cfg b/extras/conf/SRB2-22.cfg
index 5a464eb5dc..f457fe9721 100644
--- a/extras/conf/SRB2-22.cfg
+++ b/extras/conf/SRB2-22.cfg
@@ -3589,6 +3589,7 @@ thingtypes
 			sprite = "ARCHA1";
 			width = 24;
 			height = 32;
+			flags8text = "[8] Don't jump away";
 		}
 		118
 		{
diff --git a/src/p_enemy.c b/src/p_enemy.c
index 9a9edb5e3a..def3a87f50 100644
--- a/src/p_enemy.c
+++ b/src/p_enemy.c
@@ -1709,7 +1709,7 @@ void A_HoodThink(mobj_t *actor)
 	dx = (actor->target->x - actor->x), dy = (actor->target->y - actor->y), dz = (actor->target->z - actor->z);
 	dm = P_AproxDistance(dx, dy);
 	// Target dangerously close to robohood, retreat then.
-	if ((dm < 256<<FRACBITS) && (abs(dz) < 128<<FRACBITS))
+	if ((dm < 256<<FRACBITS) && (abs(dz) < 128<<FRACBITS) && !(actor->flags2 & MF2_AMBUSH))
 	{
 		S_StartSound(actor, actor->info->attacksound);
 		P_SetMobjState(actor, actor->info->raisestate);
-- 
GitLab