Frost mage freeze procs complete

This commit is contained in:
Bobblybook
2024-07-23 21:38:40 +10:00
parent 79c7dcf4a1
commit b1ffbf2d99
3 changed files with 13 additions and 17 deletions

View File

@@ -72,7 +72,7 @@ void FrostMageStrategy::InitTriggers(std::vector<TriggerNode*>& 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<TriggerNode*>& 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<TriggerNode*>& 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)));
}

View File

@@ -104,8 +104,8 @@ class MageTriggerFactoryInternal : public NamedObjectContext<Trigger>
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:

View File

@@ -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);
}