mirror of
https://github.com/EQEmu/Server.git
synced 2025-12-16 05:11:29 +00:00
[Bug Fix] Proximity Aggro for Frustrated and Undead (#4411)
* [Bug Fix] Prox aggro for frustrated and undead. If mob is frustrated (Rooted and has no one to kill or is undead will add prox aggro to hate list. * Update aggro.cpp --------- Co-authored-by: Kinglykrab <kinglykrab@gmail.com>
This commit is contained in:
parent
3b0fa015a7
commit
1e5abc456b
@ -452,8 +452,26 @@ bool Mob::CheckWillAggro(Mob *mob) {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Don't aggro new clients if we are already engaged unless SpecialAbility::ProximityAggro is set
|
// Don't aggro new clients if we are already engaged unless PROX_AGGRO is set
|
||||||
if (IsEngaged() && (!GetSpecialAbility(SpecialAbility::ProximityAggro) || (GetSpecialAbility(SpecialAbility::ProximityAggro) && !CombatRange(mob)))) {
|
// Frustrated mobs (all rooted up with no one to kill)
|
||||||
|
// will engage without PROX_AGGRO ability if someone new is close now.
|
||||||
|
|
||||||
|
const bool is_frustrated = IsRooted() && !CombatRange(target);
|
||||||
|
|
||||||
|
if (
|
||||||
|
!is_frustrated &&
|
||||||
|
IsEngaged() &&
|
||||||
|
(
|
||||||
|
(
|
||||||
|
!GetSpecialAbility(SpecialAbility::ProximityAggro) &&
|
||||||
|
GetBodyType() != BodyType::Undead
|
||||||
|
) ||
|
||||||
|
(
|
||||||
|
GetSpecialAbility(SpecialAbility::ProximityAggro) &&
|
||||||
|
!CombatRange(mob)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
) {
|
||||||
LogAggro(
|
LogAggro(
|
||||||
"[{}] is in combat, and does not have prox_aggro, or does and is out of combat range with [{}]",
|
"[{}] is in combat, and does not have prox_aggro, or does and is out of combat range with [{}]",
|
||||||
GetName(),
|
GetName(),
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user