From 14f48fcc9336406a0673578c8f5433e278c7cac5 Mon Sep 17 00:00:00 2001 From: Paul Coene Date: Fri, 27 May 2022 09:37:55 -0400 Subject: [PATCH] [Aggro] Rooted mobs will add other hated targets to Hate list (#2180) --- zone/aggro.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/zone/aggro.cpp b/zone/aggro.cpp index 4d020ce3d..0de43c3ca 100644 --- a/zone/aggro.cpp +++ b/zone/aggro.cpp @@ -456,7 +456,12 @@ bool Mob::CheckWillAggro(Mob *mob) { } // Don't aggro new clients if we are already engaged unless PROX_AGGRO is set - if (IsEngaged() && (!GetSpecialAbility(PROX_AGGRO) || (GetSpecialAbility(PROX_AGGRO) && !CombatRange(mob)))) { + + // Frustrated mobs (all rooted up with no one to kill) + // will engage without PROX_AGGRO ability if someone new is close now. + bool is_frustrated = (IsRooted() && !CombatRange(target)); + + if (!is_frustrated && IsEngaged() && (!GetSpecialAbility(PROX_AGGRO) || (GetSpecialAbility(PROX_AGGRO) && !CombatRange(mob)))) { LogAggro( "[{}] is in combat, and does not have prox_aggro, or does and is out of combat range with [{}]", GetName(),