diff --git a/src/strategy/mage/MageTriggers.cpp b/src/strategy/mage/MageTriggers.cpp index b8023a51..8856bd29 100644 --- a/src/strategy/mage/MageTriggers.cpp +++ b/src/strategy/mage/MageTriggers.cpp @@ -21,3 +21,11 @@ bool MageArmorTrigger::IsActive() Unit* target = GetTarget(); return !botAI->HasAura("ice armor", target) && !botAI->HasAura("frost armor", target) && !botAI->HasAura("molten armor", target) && !botAI->HasAura("mage armor", target); } + +bool FingersOfFrostSingleTrigger::IsActive() +{ + // Fingers of Frost "stack" count is always 1. + // The value is instead stored in the charges. + Aura *aura = botAI->GetAura(getName(), GetTarget(), false, true, -1); + return (aura && aura->GetCharges() == 1); +} diff --git a/src/strategy/mage/MageTriggers.h b/src/strategy/mage/MageTriggers.h index e33a5f22..e67dba9d 100644 --- a/src/strategy/mage/MageTriggers.h +++ b/src/strategy/mage/MageTriggers.h @@ -26,7 +26,6 @@ class ArcaneIntellectTrigger : public BuffTrigger { public: ArcaneIntellectTrigger(PlayerbotAI* botAI) : BuffTrigger(botAI, "arcane intellect", 2 * 2000) { } - bool IsActive() override; }; @@ -34,7 +33,6 @@ class MageArmorTrigger : public BuffTrigger { public: MageArmorTrigger(PlayerbotAI* botAI) : BuffTrigger(botAI, "mage armor", 5 * 2000) { } - bool IsActive() override; }; @@ -78,12 +76,14 @@ class FingersOfFrostSingleTrigger : public HasAuraStackTrigger { public: FingersOfFrostSingleTrigger(PlayerbotAI* ai) : HasAuraStackTrigger(ai, "fingers of frost", 1, 1) {} + bool IsActive() override; }; class FingersOfFrostDoubleTrigger : public HasAuraStackTrigger { public: FingersOfFrostDoubleTrigger(PlayerbotAI* ai) : HasAuraStackTrigger(ai, "fingers of frost", 2, 1) {} + // bool IsActive() override; }; class BrainFreezeTrigger : public HasAuraTrigger