mirror of
https://github.com/mod-playerbots/mod-playerbots
synced 2025-11-29 15:58:20 +08:00
OS+2 implemented. - Kill Vesperon before fight - Mark Main Tank in raid interface Offtank still needs a bit of work, and dps needs to stop running around once they're safe. But it's usable currently. I think this should probably work for OS+1 and OS+0 with no changes but I was more concerned about implementing +2.
41 lines
1.7 KiB
C++
41 lines
1.7 KiB
C++
#ifndef _PLAYERBOT_RAIDSTRATEGYCONTEXT_H_
|
|
#define _PLAYERBOT_RAIDSTRATEGYCONTEXT_H_
|
|
|
|
#include "RaidUlduarStrategy.h"
|
|
#include "Strategy.h"
|
|
#include "RaidBwlStrategy.h"
|
|
#include "RaidNaxxStrategy.h"
|
|
#include "RaidOsStrategy.h"
|
|
#include "RaidMcStrategy.h"
|
|
#include "RaidAq20Strategy.h"
|
|
#include "RaidIccStrategy.h"
|
|
|
|
class RaidStrategyContext : public NamedObjectContext<Strategy>
|
|
{
|
|
public:
|
|
RaidStrategyContext() : NamedObjectContext<Strategy>(false, true)
|
|
{
|
|
// TODO should we give these prefixes (eg: "naxx" -> "raid naxx")? because if we don't it's going to end up
|
|
// very crowded (with possible conflicts) once we have strats for all raids and some dungeons
|
|
// (mc already very similiar to nc)
|
|
creators["mc"] = &RaidStrategyContext::mc;
|
|
creators["bwl"] = &RaidStrategyContext::bwl;
|
|
creators["aq20"] = &RaidStrategyContext::aq20;
|
|
creators["naxx"] = &RaidStrategyContext::naxx;
|
|
creators["wotlk-os"] = &RaidStrategyContext::wotlk_os;
|
|
creators["uld"] = &RaidStrategyContext::uld;
|
|
creators["icc"] = &RaidStrategyContext::icc;
|
|
}
|
|
|
|
private:
|
|
static Strategy* mc(PlayerbotAI* botAI) { return new RaidMcStrategy(botAI); }
|
|
static Strategy* bwl(PlayerbotAI* botAI) { return new RaidBwlStrategy(botAI); }
|
|
static Strategy* aq20(PlayerbotAI* botAI) { return new RaidAq20Strategy(botAI); }
|
|
static Strategy* naxx(PlayerbotAI* botAI) { return new RaidNaxxStrategy(botAI); }
|
|
static Strategy* wotlk_os(PlayerbotAI* botAI) { return new RaidOsStrategy(botAI); }
|
|
static Strategy* uld(PlayerbotAI* botAI) { return new RaidUlduarStrategy(botAI); }
|
|
static Strategy* icc(PlayerbotAI* botAI) { return new RaidIccStrategy(botAI); }
|
|
};
|
|
|
|
#endif
|