Skip to content

Commit

Permalink
Frost mage freeze procs complete
Browse files Browse the repository at this point in the history
  • Loading branch information
Bobblybook committed Jul 23, 2024
1 parent 79c7dcf commit b1ffbf2
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 17 deletions.
16 changes: 9 additions & 7 deletions src/strategy/mage/FrostMageStrategy.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand All @@ -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)));
}
4 changes: 2 additions & 2 deletions src/strategy/mage/MageAiObjectContext.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down
10 changes: 2 additions & 8 deletions src/strategy/mage/MageTriggers.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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()
Expand All @@ -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);
}

0 comments on commit b1ffbf2

Please sign in to comment.