// /* // * Copyright (C) 2016+ AzerothCore , released under GNU GPL v2 license, you may redistribute it and/or modify it under version 2 of the License, or (at your option), any later version. // */ #ifndef _PLAYERBOT_RAIDNAXXACTIONCONTEXT_H #define _PLAYERBOT_RAIDNAXXACTIONCONTEXT_H #include "Action.h" #include "NamedObjectContext.h" #include "RaidNaxxActions.h" class RaidNaxxActionContext : public NamedObjectContext { public: RaidNaxxActionContext() { creators["grobbulus go behind the boss"] = &RaidNaxxActionContext::go_behind_the_boss; creators["rotate grobbulus"] = &RaidNaxxActionContext::rotate_grobbulus; creators["grobbulus move center"] = &RaidNaxxActionContext::grobbulus_move_center; creators["heigan dance melee"] = &RaidNaxxActionContext::heigan_dance_melee; creators["heigan dance ranged"] = &RaidNaxxActionContext::heigan_dance_ranged; // creators["thaddius attack nearest pet"] = &RaidNaxxActionContext::thaddius_attack_nearest_pet; // creators["thaddius melee to place"] = &RaidNaxxActionContext::thaddius_tank_to_place; // creators["thaddius ranged to place"] = &RaidNaxxActionContext::thaddius_ranged_to_place; // creators["thaddius move to platform"] = &RaidNaxxActionContext::thaddius_move_to_platform; // creators["thaddius move polarity"] = &RaidNaxxActionContext::thaddius_move_polarity; creators["razuvious use obedience crystal"] = &RaidNaxxActionContext::razuvious_use_obedience_crystal; creators["razuvious target"] = &RaidNaxxActionContext::razuvious_target; // creators["horseman attract alternatively"] = &RaidNaxxActionContext::horseman_attract_alternatively; // creators["horseman attack in order"] = &RaidNaxxActionContext::horseman_attack_in_order; // creators["sapphiron ground main tank position"] = &RaidNaxxActionContext::sapphiron_ground_main_tank_position; creators["sapphiron ground position"] = &RaidNaxxActionContext::sapphiron_ground_position; creators["sapphiron flight position"] = &RaidNaxxActionContext::sapphiron_flight_position; // creators["sapphiron avoid chill"] = &RaidNaxxActionContext::sapphiron_avoid_chill; creators["kel'thuzad choose target"] = &RaidNaxxActionContext::kelthuzad_choose_target; creators["kel'thuzad position"] = &RaidNaxxActionContext::kelthuzad_position; creators["anub'rekhan choose target"] = &RaidNaxxActionContext::anubrekhan_choose_target; creators["anub'rekhan position"] = &RaidNaxxActionContext::anubrekhan_position; creators["gluth choose target"] = &RaidNaxxActionContext::gluth_choose_target; creators["gluth position"] = &RaidNaxxActionContext::gluth_position; creators["gluth slowdown"] = &RaidNaxxActionContext::gluth_slowdown; // creators["loatheb position"] = &RaidNaxxActionContext::loatheb_position; // creators["loatheb choose target"] = &RaidNaxxActionContext::loatheb_choose_target; } private: static Action* go_behind_the_boss(PlayerbotAI* ai) { return new GrobbulusGoBehindAction(ai); } static Action* rotate_grobbulus(PlayerbotAI* ai) { return new GrobbulusRotateAction(ai); } static Action* grobbulus_move_center(PlayerbotAI* ai) { return new GrobblulusMoveCenterAction(ai); } static Action* heigan_dance_melee(PlayerbotAI* ai) { return new HeiganDanceMeleeAction(ai); } static Action* heigan_dance_ranged(PlayerbotAI* ai) { return new HeiganDanceRangedAction(ai); } // static Action* thaddius_attack_nearest_pet(PlayerbotAI* ai) { return new ThaddiusAttackNearestPetAction(ai); } // static Action* thaddius_tank_to_place(PlayerbotAI* ai) { return new ThaddiusMeleeToPlaceAction(ai); } // static Action* thaddius_ranged_to_place(PlayerbotAI* ai) { return new ThaddiusRangedToPlaceAction(ai); } // static Action* thaddius_move_to_platform(PlayerbotAI* ai) { return new ThaddiusMoveToPlatformAction(ai); } // static Action* thaddius_move_polarity(PlayerbotAI* ai) { return new ThaddiusMovePolarityAction(ai); } static Action* razuvious_target(PlayerbotAI* ai) { return new RazuviousTargetAction(ai); } static Action* razuvious_use_obedience_crystal(PlayerbotAI* ai) { return new RazuviousUseObedienceCrystalAction(ai); } // static Action* horseman_attract_alternatively(PlayerbotAI* ai) { return new HorsemanAttractAlternativelyAction(ai); } // static Action* horseman_attack_in_order(PlayerbotAI* ai) { return new HorsemanAttactInOrderAction(ai); } // static Action* sapphiron_ground_main_tank_position(PlayerbotAI* ai) { return new SapphironGroundMainTankPositionAction(ai); } static Action* sapphiron_ground_position(PlayerbotAI* ai) { return new SapphironGroundPositionAction(ai); } static Action* sapphiron_flight_position(PlayerbotAI* ai) { return new SapphironFlightPositionAction(ai); } // static Action* sapphiron_avoid_chill(PlayerbotAI* ai) { return new SapphironAvoidChillAction(ai); } static Action* kelthuzad_choose_target(PlayerbotAI* ai) { return new KelthuzadChooseTargetAction(ai); } static Action* kelthuzad_position(PlayerbotAI* ai) { return new KelthuzadPositionAction(ai); } static Action* anubrekhan_choose_target(PlayerbotAI* ai) { return new AnubrekhanChooseTargetAction(ai); } static Action* anubrekhan_position(PlayerbotAI* ai) { return new AnubrekhanPositionAction(ai); } static Action* gluth_choose_target(PlayerbotAI* ai) { return new GluthChooseTargetAction(ai); } static Action* gluth_position(PlayerbotAI* ai) { return new GluthPositionAction(ai); } static Action* gluth_slowdown(PlayerbotAI* ai) { return new GluthSlowdownAction(ai); } // static Action* loatheb_position(PlayerbotAI* ai) { return new LoathebPositionAction(ai); } // static Action* loatheb_choose_target(PlayerbotAI* ai) { return new LoathebChooseTargetAction(ai); } }; #endif