mirror of
https://github.com/liyunfan1223/mod-playerbots.git
synced 2026-02-20 18:10:02 +01:00
Merging this isn't required but rather to provide an option to core changes. The scripts can be written from scratch when someone feels like doing it without touching the core. This shouldn't be merged unless https://github.com/mod-playerbots/azerothcore-wotlk/pull/130 is merged too.
53 lines
2.4 KiB
C++
53 lines
2.4 KiB
C++
#ifndef _PLAYERBOT_RAIDSTRATEGYCONTEXT_H_
|
|
#define _PLAYERBOT_RAIDSTRATEGYCONTEXT_H_
|
|
|
|
#include "Strategy.h"
|
|
#include "RaidAq20Strategy.h"
|
|
#include "RaidMcStrategy.h"
|
|
#include "RaidBwlStrategy.h"
|
|
#include "RaidKarazhanStrategy.h"
|
|
#include "RaidMagtheridonStrategy.h"
|
|
#include "RaidGruulsLairStrategy.h"
|
|
#include "RaidOsStrategy.h"
|
|
#include "RaidEoEStrategy.h"
|
|
#include "RaidVoAStrategy.h"
|
|
#include "RaidUlduarStrategy.h"
|
|
#include "RaidOnyxiaStrategy.h"
|
|
#include "RaidIccStrategy.h"
|
|
|
|
class RaidStrategyContext : public NamedObjectContext<Strategy>
|
|
{
|
|
public:
|
|
RaidStrategyContext() : NamedObjectContext<Strategy>(false, true)
|
|
{
|
|
creators["aq20"] = &RaidStrategyContext::aq20;
|
|
creators["moltencore"] = &RaidStrategyContext::moltencore;
|
|
creators["bwl"] = &RaidStrategyContext::bwl;
|
|
creators["karazhan"] = &RaidStrategyContext::karazhan;
|
|
creators["magtheridon"] = &RaidStrategyContext::magtheridon;
|
|
creators["gruulslair"] = &RaidStrategyContext::gruulslair;
|
|
creators["wotlk-os"] = &RaidStrategyContext::wotlk_os;
|
|
creators["wotlk-eoe"] = &RaidStrategyContext::wotlk_eoe;
|
|
creators["voa"] = &RaidStrategyContext::voa;
|
|
creators["uld"] = &RaidStrategyContext::uld;
|
|
creators["onyxia"] = &RaidStrategyContext::onyxia;
|
|
creators["icc"] = &RaidStrategyContext::icc;
|
|
}
|
|
|
|
private:
|
|
static Strategy* aq20(PlayerbotAI* botAI) { return new RaidAq20Strategy(botAI); }
|
|
static Strategy* moltencore(PlayerbotAI* botAI) { return new RaidMcStrategy(botAI); }
|
|
static Strategy* bwl(PlayerbotAI* botAI) { return new RaidBwlStrategy(botAI); }
|
|
static Strategy* karazhan(PlayerbotAI* botAI) { return new RaidKarazhanStrategy(botAI); }
|
|
static Strategy* magtheridon(PlayerbotAI* botAI) { return new RaidMagtheridonStrategy(botAI); }
|
|
static Strategy* gruulslair(PlayerbotAI* botAI) { return new RaidGruulsLairStrategy(botAI); }
|
|
static Strategy* wotlk_os(PlayerbotAI* botAI) { return new RaidOsStrategy(botAI); }
|
|
static Strategy* wotlk_eoe(PlayerbotAI* botAI) { return new RaidEoEStrategy(botAI); }
|
|
static Strategy* voa(PlayerbotAI* botAI) { return new RaidVoAStrategy(botAI); }
|
|
static Strategy* onyxia(PlayerbotAI* botAI) { return new RaidOnyxiaStrategy(botAI); }
|
|
static Strategy* uld(PlayerbotAI* botAI) { return new RaidUlduarStrategy(botAI); }
|
|
static Strategy* icc(PlayerbotAI* botAI) { return new RaidIccStrategy(botAI); }
|
|
};
|
|
|
|
#endif
|