diff --git a/src/AiFactory.cpp b/src/AiFactory.cpp index 9387955d..9cafcdab 100644 --- a/src/AiFactory.cpp +++ b/src/AiFactory.cpp @@ -310,7 +310,7 @@ void AiFactory::AddDefaultCombatStrategies(Player* player, PlayerbotAI* const fa if (tab == 1) engine->addStrategies("tank", "tank assist", "bthreat", "barmor", "cure", nullptr); else if (tab == 0) - engine->addStrategies("heal", "dps assist", "cure", nullptr); + engine->addStrategies("heal", "dps assist", "cure", "bcast", nullptr); else engine->addStrategies("dps", "dps assist", "cure", "baoe", nullptr); @@ -463,7 +463,7 @@ void AiFactory::AddDefaultNonCombatStrategies(Player* player, PlayerbotAI* const if (tab == 1) nonCombatEngine->addStrategies("bthreat", "tank assist", "bstats", "barmor", nullptr); else if (tab == 0) - nonCombatEngine->addStrategies("dps assist", "bmana", nullptr); + nonCombatEngine->addStrategies("dps assist", "bmana", "bcast", nullptr); else nonCombatEngine->addStrategies("dps assist", "bdps", "baoe",nullptr); diff --git a/src/strategy/paladin/HealPaladinStrategy.cpp b/src/strategy/paladin/HealPaladinStrategy.cpp index 8d12389e..45229b21 100644 --- a/src/strategy/paladin/HealPaladinStrategy.cpp +++ b/src/strategy/paladin/HealPaladinStrategy.cpp @@ -4,6 +4,7 @@ #include "HealPaladinStrategy.h" #include "Playerbots.h" +#include "Strategy.h" class HealPaladinStrategyActionNodeFactory : public NamedObjectFactory { @@ -31,7 +32,7 @@ void HealPaladinStrategy::InitTriggers(std::vector& triggers) { GenericPaladinStrategy::InitTriggers(triggers); - triggers.push_back(new TriggerNode("concentration aura", NextAction::array(0, new NextAction("concentration aura", 90.0f), nullptr))); + // triggers.push_back(new TriggerNode("concentration aura", NextAction::array(0, new NextAction("concentration aura", ACTION_NORMAL), nullptr))); triggers.push_back(new TriggerNode("seal", NextAction::array(0, new NextAction("seal of wisdom", ACTION_HIGH), nullptr))); triggers.push_back(new TriggerNode("low mana", NextAction::array(0, new NextAction("divine favor", ACTION_HIGH + 1), nullptr))); // triggers.push_back(new TriggerNode("blessing", NextAction::array(0, new NextAction("blessing of sanctuary", ACTION_HIGH + 9), nullptr))); diff --git a/src/strategy/paladin/PaladinAiObjectContext.cpp b/src/strategy/paladin/PaladinAiObjectContext.cpp index fc65c20f..90366d7b 100644 --- a/src/strategy/paladin/PaladinAiObjectContext.cpp +++ b/src/strategy/paladin/PaladinAiObjectContext.cpp @@ -43,6 +43,7 @@ class PaladinResistanceStrategyFactoryInternal : public NamedObjectContext diff --git a/src/strategy/paladin/PaladinBuffStrategies.cpp b/src/strategy/paladin/PaladinBuffStrategies.cpp index 10131b10..912a9e4e 100644 --- a/src/strategy/paladin/PaladinBuffStrategies.cpp +++ b/src/strategy/paladin/PaladinBuffStrategies.cpp @@ -25,27 +25,32 @@ void PaladinBuffDpsStrategy::InitTriggers(std::vector& triggers) void PaladinShadowResistanceStrategy::InitTriggers(std::vector& triggers) { - triggers.push_back(new TriggerNode("shadow resistance aura", NextAction::array(0, new NextAction("shadow resistance aura", 90.0f), nullptr))); + triggers.push_back(new TriggerNode("shadow resistance aura", NextAction::array(0, new NextAction("shadow resistance aura", ACTION_NORMAL), nullptr))); } void PaladinFrostResistanceStrategy::InitTriggers(std::vector& triggers) { - triggers.push_back(new TriggerNode("frost resistance aura", NextAction::array(0, new NextAction("frost resistance aura", 90.0f), nullptr))); + triggers.push_back(new TriggerNode("frost resistance aura", NextAction::array(0, new NextAction("frost resistance aura", ACTION_NORMAL), nullptr))); } void PaladinFireResistanceStrategy::InitTriggers(std::vector& triggers) { - triggers.push_back(new TriggerNode("fire resistance aura", NextAction::array(0, new NextAction("fire resistance aura", 90.0f), nullptr))); + triggers.push_back(new TriggerNode("fire resistance aura", NextAction::array(0, new NextAction("fire resistance aura", ACTION_NORMAL), nullptr))); } void PaladinBuffArmorStrategy::InitTriggers(std::vector& triggers) { - triggers.push_back(new TriggerNode("devotion aura", NextAction::array(0, new NextAction("devotion aura", 90.0f), nullptr))); + triggers.push_back(new TriggerNode("devotion aura", NextAction::array(0, new NextAction("devotion aura", ACTION_NORMAL), nullptr))); } void PaladinBuffAoeStrategy::InitTriggers(std::vector& triggers) { - triggers.push_back(new TriggerNode("retribution aura", NextAction::array(0, new NextAction("retribution aura", 90.0f), nullptr))); + triggers.push_back(new TriggerNode("retribution aura", NextAction::array(0, new NextAction("retribution aura", ACTION_NORMAL), nullptr))); +} + +void PaladinBuffCastStrategy::InitTriggers(std::vector& triggers) +{ + triggers.push_back(new TriggerNode("concentration aura", NextAction::array(0, new NextAction("concentration aura", ACTION_NORMAL), nullptr))); } void PaladinBuffThreatStrategy::InitTriggers(std::vector& triggers) diff --git a/src/strategy/paladin/PaladinBuffStrategies.h b/src/strategy/paladin/PaladinBuffStrategies.h index b9639dca..9c9e5ad4 100644 --- a/src/strategy/paladin/PaladinBuffStrategies.h +++ b/src/strategy/paladin/PaladinBuffStrategies.h @@ -54,6 +54,15 @@ class PaladinBuffAoeStrategy : public Strategy std::string const getName() override { return "baoe"; } }; +class PaladinBuffCastStrategy : public Strategy +{ + public: + PaladinBuffCastStrategy(PlayerbotAI* botAI) : Strategy(botAI) { } + + void InitTriggers(std::vector& triggers) override; + std::string const getName() override { return "bcast"; } +}; + class PaladinBuffThreatStrategy : public Strategy { public: