Files
mod-playerbots/src/strategy/dungeons/wotlk/oldkingdom/OldKingdomTriggers.cpp
Bobblybook 159cd1ad71 Reapply "Dungeon code cleanup"
This reverts commit 3f7f306124.
2024-10-20 15:59:42 +11:00

44 lines
1.1 KiB
C++

#include "Playerbots.h"
#include "OldKingdomTriggers.h"
#include "AiObject.h"
#include "AiObjectContext.h"
bool NadoxGuardianTrigger::IsActive()
{
if (botAI->IsHeal(bot)) { return false; }
Unit* boss = AI_VALUE2(Unit*, "find target", "elder nadox");
Unit* guardian = AI_VALUE2(Unit*, "find target", "ahn'kahar guardian");
return boss && guardian;
}
bool JedogaVolunteerTrigger::IsActive()
{
Unit* boss = AI_VALUE2(Unit*, "find target", "jedoga shadowseeker");
if (!boss) { return false; }
// Volunteer is not findable from threat table using AI_VALUE2(),
// therefore need to search manually for the unit name
GuidVector targets = AI_VALUE(GuidVector, "possible targets no los");
for (auto i = targets.begin(); i != targets.end(); ++i)
{
Unit* unit = botAI->GetUnit(*i);
if (unit && unit->GetEntry() == NPC_TWILIGHT_VOLUNTEER)
{
return true;
}
}
return false;
}
bool ShadowCrashTrigger::IsActive()
{
Unit* unit = AI_VALUE2(Unit*, "find target", "forgotten one");
if (!unit) { return false; }
return !botAI->IsMelee(bot);
}