From 6318c557dec57360c8376f684e5b731e4965c997 Mon Sep 17 00:00:00 2001 From: staphen Date: Tue, 1 Oct 2024 00:57:53 -0400 Subject: [PATCH] Wake up the whole pack of Gargoyles when disturbed --- Source/monster.cpp | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/Source/monster.cpp b/Source/monster.cpp index cb7fb6253..311a899cc 100644 --- a/Source/monster.cpp +++ b/Source/monster.cpp @@ -1550,11 +1550,17 @@ void FollowTheLeader(Monster &monster) if (leader == nullptr) return; - if (monster.activeForTicks >= leader->activeForTicks) - return; + if (leader->activeForTicks > monster.activeForTicks) { + monster.position.last = leader->position.tile; + monster.activeForTicks = leader->activeForTicks - 1; + } - monster.position.last = leader->position.tile; - monster.activeForTicks = leader->activeForTicks - 1; + if (monster.ai != MonsterAIID::Gargoyle || (monster.flags & MFLAG_ALLOW_SPECIAL) == 0) + return; + if (leader->mode == MonsterMode::SpecialMeleeAttack) + return; + monster.flags &= ~MFLAG_ALLOW_SPECIAL; + monster.mode = MonsterMode::SpecialMeleeAttack; } void GroupUnity(Monster &monster)