diff --git a/src/strategy/mage/FrostMageStrategy.cpp b/src/strategy/mage/FrostMageStrategy.cpp index beaae78d..4898b1ad 100644 --- a/src/strategy/mage/FrostMageStrategy.cpp +++ b/src/strategy/mage/FrostMageStrategy.cpp @@ -72,7 +72,7 @@ void FrostMageStrategy::InitTriggers(std::vector& triggers) triggers.push_back(new TriggerNode("no pet", NextAction::array(0, new NextAction("summon water elemental", ACTION_HIGH), nullptr))); triggers.push_back(new TriggerNode("has pet", NextAction::array(0, new NextAction("toggle pet spell", ACTION_HIGH + 1), nullptr))); - triggers.push_back(new TriggerNode("ice barrier", NextAction::array(0, new NextAction("ice barrier", ACTION_HIGH), nullptr))); + triggers.push_back(new TriggerNode("ice barrier", NextAction::array(0, new NextAction("ice barrier", ACTION_NORMAL), nullptr))); triggers.push_back(new TriggerNode("brain freeze", NextAction::array(0, new NextAction("frostfire bolt", ACTION_NORMAL + 3), nullptr))); // Combo cast the last charge of fingers of frost for double crits. @@ -84,18 +84,20 @@ void FrostMageStrategy::InitTriggers(std::vector& triggers) // May not need this, frostbolt is the default action so probably don't need to specify. // Maybe uncomment if you find the mage is prioritising auxillary spells while this buff is up, and wasting the proc. // triggers.push_back(new TriggerNode("fingers of frost double", NextAction::array(0, new NextAction("frostbolt", ACTION_NORMAL), nullptr))); + + // Same 2-spell combo for various freeze procs triggers.push_back(new TriggerNode("frost nova on target", NextAction::array(0, - new NextAction("fireball", ACTION_NORMAL + 2), - new NextAction("scorch", ACTION_NORMAL + 1), + new NextAction("frostbolt", ACTION_NORMAL + 2), + new NextAction("deep freeze", ACTION_NORMAL + 1), nullptr))); triggers.push_back(new TriggerNode("frostbite on target", NextAction::array(0, - new NextAction("arcane missiles", ACTION_NORMAL + 2), - new NextAction("arcane explosion", ACTION_NORMAL + 1), + new NextAction("frostbolt", ACTION_NORMAL + 2), + new NextAction("deep freeze", ACTION_NORMAL + 1), nullptr))); } void FrostMageAoeStrategy::InitTriggers(std::vector& triggers) { - triggers.push_back(new TriggerNode("medium aoe", NextAction::array(0, new NextAction("blizzard", 40.0f), nullptr))); - triggers.push_back(new TriggerNode("light aoe", NextAction::array(0, new NextAction("cone of cold", 45.0f), nullptr))); + triggers.push_back(new TriggerNode("medium aoe", NextAction::array(0, new NextAction("blizzard", ACTION_HIGH), nullptr))); + triggers.push_back(new TriggerNode("light aoe", NextAction::array(0, new NextAction("cone of cold", ACTION_HIGH + 1), nullptr))); } diff --git a/src/strategy/mage/MageAiObjectContext.cpp b/src/strategy/mage/MageAiObjectContext.cpp index ebfeb406..8e8af0b1 100644 --- a/src/strategy/mage/MageAiObjectContext.cpp +++ b/src/strategy/mage/MageAiObjectContext.cpp @@ -104,8 +104,8 @@ class MageTriggerFactoryInternal : public NamedObjectContext creators["frost ward"] = &MageTriggerFactoryInternal::frost_ward; creators["arcane blast stack"] = &MageTriggerFactoryInternal::arcane_blast_stack; creators["mirror image"] = &MageTriggerFactoryInternal::mirror_image; - creators["frost nova on target"] = &MageTriggerFactoryInternal::mirror_image; - creators["frostbite on target"] = &MageTriggerFactoryInternal::mirror_image; + creators["frost nova on target"] = &MageTriggerFactoryInternal::frost_nova_on_target; + creators["frostbite on target"] = &MageTriggerFactoryInternal::frostbite_on_target; } private: diff --git a/src/strategy/mage/MageTriggers.cpp b/src/strategy/mage/MageTriggers.cpp index 8f21bbbc..72bea207 100644 --- a/src/strategy/mage/MageTriggers.cpp +++ b/src/strategy/mage/MageTriggers.cpp @@ -36,10 +36,7 @@ bool FrostNovaOnTargetTrigger::IsActive() if (!target || !target->IsAlive() || !target->IsInWorld()) { return false; } - bool aura = botAI->HasAura("frostbite", target); - if (aura) - LOG_DEBUG("playerbots", ":: FROST NOVA ACTIVE"); - return !botAI->HasAura("frost nova", target); + return botAI->HasAura(spell, target); } bool FrostbiteOnTargetTrigger::IsActive() @@ -48,8 +45,5 @@ bool FrostbiteOnTargetTrigger::IsActive() if (!target || !target->IsAlive() || !target->IsInWorld()) { return false; } - bool aura = botAI->HasAura("frostbite", target); - if (aura) - LOG_DEBUG("playerbots", ":: FROSTBITE ACTIVE"); - return botAI->HasAura("frostbite", target); + return botAI->HasAura(spell, target); }