#include "RaidUlduarStrategy.h" #include "RaidUlduarMultipliers.h" void RaidUlduarStrategy::InitTriggers(std::vector& triggers) { // // Flame Leviathan // triggers.push_back(new TriggerNode( "flame leviathan vehicle near", NextAction::array(0, new NextAction("flame leviathan enter vehicle", ACTION_RAID + 2), nullptr))); triggers.push_back(new TriggerNode( "flame leviathan on vehicle", NextAction::array(0, new NextAction("flame leviathan vehicle", ACTION_RAID + 1), nullptr))); // // Razorscale // triggers.push_back(new TriggerNode( "razorscale avoid devouring flames", NextAction::array(0, new NextAction("razorscale avoid devouring flames", ACTION_RAID + 1), nullptr))); triggers.push_back(new TriggerNode( "razorscale avoid sentinel", NextAction::array(0, new NextAction("razorscale avoid sentinel", ACTION_RAID + 2), nullptr))); triggers.push_back(new TriggerNode( "razorscale flying alone", NextAction::array(0, new NextAction("razorscale ignore flying alone", ACTION_MOVE + 5), nullptr))); triggers.push_back(new TriggerNode( "razorscale avoid whirlwind", NextAction::array(0, new NextAction("razorscale avoid whirlwind", ACTION_RAID + 3), nullptr))); triggers.push_back(new TriggerNode( "razorscale grounded", NextAction::array(0, new NextAction("razorscale grounded", ACTION_RAID), nullptr))); triggers.push_back(new TriggerNode( "razorscale harpoon trigger", NextAction::array(0, new NextAction("razorscale harpoon action", ACTION_MOVE), nullptr))); triggers.push_back(new TriggerNode( "razorscale fuse armor trigger", NextAction::array(0, new NextAction("razorscale fuse armor action", ACTION_RAID + 2), nullptr))); triggers.push_back(new TriggerNode( "razorscale fire resistance trigger", NextAction::array(0, new NextAction("razorscale fire resistance action", ACTION_RAID), nullptr))); // // Ignis // triggers.push_back(new TriggerNode( "ignis fire resistance trigger", NextAction::array(0, new NextAction("ignis fire resistance action", ACTION_RAID), nullptr))); // // Iron Assembly // triggers.push_back(new TriggerNode( "iron assembly lightning tendrils trigger", NextAction::array(0, new NextAction("iron assembly lightning tendrils action", ACTION_RAID), nullptr))); triggers.push_back(new TriggerNode( "iron assembly overload trigger", NextAction::array(0, new NextAction("iron assembly overload action", ACTION_RAID), nullptr))); triggers.push_back(new TriggerNode( "iron assembly rune of power trigger", NextAction::array(0, new NextAction("iron assembly rune of power action", ACTION_RAID), nullptr))); // // Kologarn // triggers.push_back(new TriggerNode( "kologarn fall from floor trigger", NextAction::array(0, new NextAction("kologarn fall from floor action", ACTION_RAID + 1), nullptr))); triggers.push_back(new TriggerNode( "kologarn rti target trigger", NextAction::array(0, new NextAction("kologarn rti target action", ACTION_RAID + 1), nullptr))); triggers.push_back(new TriggerNode( "kologarn eyebeam trigger", NextAction::array(0, new NextAction("kologarn eyebeam action", ACTION_RAID + 1), nullptr))); triggers.push_back(new TriggerNode( "kologarn attack dps target trigger", NextAction::array(0, new NextAction("attack rti target", ACTION_RAID), nullptr))); triggers.push_back(new TriggerNode( "kologarn mark dps target trigger", NextAction::array(0, new NextAction("kologarn mark dps target action", ACTION_RAID), nullptr))); triggers.push_back(new TriggerNode( "kologarn nature resistance trigger", NextAction::array(0, new NextAction("kologarn nature resistance action", ACTION_RAID), nullptr))); triggers.push_back(new TriggerNode( "kologarn rubble slowdown trigger", NextAction::array(0, new NextAction("kologarn rubble slowdown action", ACTION_RAID), nullptr))); triggers.push_back(new TriggerNode( "kologarn crunch armor trigger", NextAction::array(0, new NextAction("kologarn crunch armor action", ACTION_RAID), nullptr))); // // Hodir // triggers.push_back(new TriggerNode( "hodir near snowpacked icicle", NextAction::array(0, new NextAction("hodir move snowpacked icicle", ACTION_RAID + 1), nullptr))); triggers.push_back(new TriggerNode( "hodir biting cold", NextAction::array(0, new NextAction("hodir biting cold jump", ACTION_RAID), nullptr))); triggers.push_back(new TriggerNode( "hodir frost resistance trigger", NextAction::array(0, new NextAction("hodir frost resistance action", ACTION_RAID), nullptr))); // // Freya // triggers.push_back(new TriggerNode( "freya near nature bomb", NextAction::array(0, new NextAction("freya move away nature bomb", ACTION_RAID), nullptr))); triggers.push_back(new TriggerNode( "freya nature resistance trigger", NextAction::array(0, new NextAction("freya nature resistance action", ACTION_RAID), nullptr))); triggers.push_back(new TriggerNode( "freya fire resistance trigger", NextAction::array(0, new NextAction("freya fire resistance action", ACTION_RAID), nullptr))); triggers.push_back(new TriggerNode( "freya mark dps target trigger", NextAction::array(0, new NextAction("freya mark dps target action", ACTION_RAID), nullptr))); triggers.push_back(new TriggerNode( "freya move to healing spore trigger", NextAction::array(0, new NextAction("freya move to healing spore action", ACTION_RAID), nullptr))); // // Thorim // triggers.push_back(new TriggerNode( "thorim nature resistance trigger", NextAction::array(0, new NextAction("thorim nature resistance action", ACTION_RAID), nullptr))); // // Mimiron // triggers.push_back(new TriggerNode( "mimiron fire resistance trigger", NextAction::array(0, new NextAction("mimiron fire resistance action", ACTION_RAID), nullptr))); } void RaidUlduarStrategy::InitMultipliers(std::vector& multipliers) { multipliers.push_back(new FlameLeviathanMultiplier(botAI)); }