#ifndef _PLAYERBOT_RAIDULDUARTRIGGERS_H #define _PLAYERBOT_RAIDULDUARTRIGGERS_H #include "EventMap.h" #include "GenericTriggers.h" #include "PlayerbotAIConfig.h" #include "RaidUlduarBossHelper.h" #include "Trigger.h" enum UlduarIDs { // Freya NPC_EONARS_GIFT = 33228, GOBJECT_NATURE_BOMB = 194902, }; // // Flame Levi // class FlameLeviathanOnVehicleTrigger : public Trigger { public: FlameLeviathanOnVehicleTrigger(PlayerbotAI* ai) : Trigger(ai, "flame leviathan on vehicle") {} bool IsActive() override; }; class FlameLeviathanVehicleNearTrigger : public Trigger { public: FlameLeviathanVehicleNearTrigger(PlayerbotAI* ai) : Trigger(ai, "flame leviathan vehicle near") {} bool IsActive() override; }; // // Razorscale // class RazorscaleFlyingAloneTrigger : public Trigger { public: RazorscaleFlyingAloneTrigger(PlayerbotAI* ai) : Trigger(ai, "razorscale flying alone") {} bool IsActive() override; }; class RazorscaleDevouringFlamesTrigger : public Trigger { public: RazorscaleDevouringFlamesTrigger(PlayerbotAI* ai) : Trigger(ai, "razorscale avoid devouring flames") {} bool IsActive() override; }; class RazorscaleAvoidSentinelTrigger : public Trigger { public: RazorscaleAvoidSentinelTrigger(PlayerbotAI* ai) : Trigger(ai, "razorscale avoid sentinel") {} bool IsActive() override; }; class RazorscaleAvoidWhirlwindTrigger : public Trigger { public: RazorscaleAvoidWhirlwindTrigger(PlayerbotAI* ai) : Trigger(ai, "razorscale avoid whirlwind") {} bool IsActive() override; }; class RazorscaleGroundedTrigger : public Trigger { public: RazorscaleGroundedTrigger(PlayerbotAI* ai) : Trigger(ai, "razorscale grounded") {} bool IsActive() override; }; class RazorscaleHarpoonAvailableTrigger : public Trigger { public: RazorscaleHarpoonAvailableTrigger(PlayerbotAI* ai) : Trigger(ai, "razorscale harpoon trigger") {} bool IsActive() override; }; class RazorscaleFuseArmorTrigger : public Trigger { public: RazorscaleFuseArmorTrigger(PlayerbotAI* ai) : Trigger(ai, "razorscale fuse armor trigger") {} bool IsActive() override; }; class HodirBitingColdTrigger : public Trigger { public: HodirBitingColdTrigger(PlayerbotAI* ai) : Trigger(ai, "hodir biting cold") {} bool IsActive() override; }; class HodirNearSnowpackedIcicleTrigger : public Trigger { public: HodirNearSnowpackedIcicleTrigger(PlayerbotAI* ai) : Trigger(ai, "hodir near snowpacked icicle") {} bool IsActive() override; }; class FreyaNearNatureBombTrigger : public Trigger { public: FreyaNearNatureBombTrigger(PlayerbotAI* ai) : Trigger(ai, "freya near nature bomb") {} bool IsActive() override; }; class FreyaTankNearEonarsGiftTrigger : public Trigger { public: FreyaTankNearEonarsGiftTrigger(PlayerbotAI* ai) : Trigger(ai, "freya tank near eonars gift") {} bool IsActive() override; }; #endif