Flee action, factory setting

This commit is contained in:
Yunfan Li
2023-05-29 11:45:18 +08:00
parent dc21fa9d41
commit 2ad567a1a8
22 changed files with 236 additions and 163 deletions

View File

@@ -13,19 +13,19 @@
#include "PullStrategy.h"
#include "Playerbots.h"
class StrategyFactoryInternal : public NamedObjectContext<Strategy>
class MageStrategyFactoryInternal : public NamedObjectContext<Strategy>
{
public:
StrategyFactoryInternal()
MageStrategyFactoryInternal()
{
creators["nc"] = &StrategyFactoryInternal::nc;
creators["pull"] = &StrategyFactoryInternal::pull;
creators["fire aoe"] = &StrategyFactoryInternal::fire_aoe;
creators["frost aoe"] = &StrategyFactoryInternal::frost_aoe;
creators["cure"] = &StrategyFactoryInternal::cure;
creators["buff"] = &StrategyFactoryInternal::buff;
creators["boost"] = &StrategyFactoryInternal::boost;
creators["cc"] = &StrategyFactoryInternal::cc;
creators["nc"] = &MageStrategyFactoryInternal::nc;
creators["pull"] = &MageStrategyFactoryInternal::pull;
creators["fire aoe"] = &MageStrategyFactoryInternal::fire_aoe;
creators["frost aoe"] = &MageStrategyFactoryInternal::frost_aoe;
creators["cure"] = &MageStrategyFactoryInternal::cure;
creators["buff"] = &MageStrategyFactoryInternal::buff;
creators["boost"] = &MageStrategyFactoryInternal::boost;
creators["cc"] = &MageStrategyFactoryInternal::cc;
}
private:
@@ -39,14 +39,14 @@ class StrategyFactoryInternal : public NamedObjectContext<Strategy>
static Strategy* cc(PlayerbotAI* botAI) { return new MageCcStrategy(botAI); }
};
class MageStrategyFactoryInternal : public NamedObjectContext<Strategy>
class MageCombatStrategyFactoryInternal : public NamedObjectContext<Strategy>
{
public:
MageStrategyFactoryInternal() : NamedObjectContext<Strategy>(false, true)
MageCombatStrategyFactoryInternal() : NamedObjectContext<Strategy>(false, true)
{
creators["frost"] = &MageStrategyFactoryInternal::frost;
creators["fire"] = &MageStrategyFactoryInternal::fire;
creators["arcane"] = &MageStrategyFactoryInternal::arcane;
creators["frost"] = &MageCombatStrategyFactoryInternal::frost;
creators["fire"] = &MageCombatStrategyFactoryInternal::fire;
creators["arcane"] = &MageCombatStrategyFactoryInternal::arcane;
}
private:
@@ -213,7 +213,7 @@ class MageAiObjectContextInternal : public NamedObjectContext<Action>
MageAiObjectContext::MageAiObjectContext(PlayerbotAI* botAI) : AiObjectContext(botAI)
{
strategyContexts.Add(new MageStrategyFactoryInternal());
strategyContexts.Add(new MageStrategyFactoryInternal());
strategyContexts.Add(new MageCombatStrategyFactoryInternal());
strategyContexts.Add(new MageBuffStrategyFactoryInternal());
actionContexts.Add(new MageAiObjectContextInternal());
triggerContexts.Add(new MageTriggerFactoryInternal());