mirror of
https://github.com/mod-playerbots/mod-playerbots
synced 2025-11-29 15:58:20 +08:00
82 lines
6.1 KiB
C++
82 lines
6.1 KiB
C++
// /*
|
|
// * Copyright (C) 2016+ AzerothCore <www.azerothcore.org>, 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<Action>
|
|
{
|
|
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 |