Improvement hunter track and spell

This commit is contained in:
Yunfan Li
2025-01-18 23:47:37 +08:00
parent 3523a65ff8
commit 006e0a03c8
5 changed files with 54 additions and 4 deletions

View File

@@ -56,7 +56,7 @@ bool HunterPetNotHappy::IsActive()
bool HunterAspectOfTheViperTrigger::IsActive()
{
return SpellTrigger::IsActive() && !botAI->HasAura(spell, GetTarget()) &&
AI_VALUE2(uint8, "mana", "self target") < sPlayerbotAIConfig->lowMana;
AI_VALUE2(uint8, "mana", "self target") < (sPlayerbotAIConfig->lowMana / 2);
;
}
@@ -88,3 +88,36 @@ bool SwitchToMeleeTrigger::IsActive()
(target->GetVictim() == bot &&
sServerFacade->IsDistanceLessOrEqualThan(AI_VALUE2(float, "distance", "current target"), 8.0f));
}
bool NoTrackTrigger::IsActive()
{
std::vector<std::string> track_list = {
"track beasts",
"track demons",
"track dragonkin",
"track elementals",
"track giants",
"track hidden",
"track humanoids"
};
for (auto &track: track_list)
{
if (botAI->HasAura(track, bot))
return false;
}
return true;
}
bool SerpentStingOnAttackerTrigger::IsActive()
{
if (!DebuffOnAttackerTrigger::IsActive())
return false;
Unit* target = GetTarget();
if (!target)
{
return false;
}
return !botAI->HasAura("scorpid sting", target, false, true) &&
!botAI->HasAura("viper sting", target, false, true);
}