From 352faf7a0c76239a888cc2527f6d08622e4e5643 Mon Sep 17 00:00:00 2001 From: Velite12 <45871932+Velite12@users.noreply.github.com> Date: Sat, 4 Jul 2026 00:14:23 -0400 Subject: [PATCH] Bot priority 2 fixes --- playerbot/strategy/actions/MovementActions.cpp | 5 +++-- .../strategy/paladin/ProtectionPaladinStrategy.cpp | 12 ++++++++++++ playerbot/strategy/warlock/WarlockStrategy.cpp | 2 +- playerbot/strategy/warrior/ArmsWarriorStrategy.cpp | 2 +- .../strategy/warrior/ProtectionWarriorStrategy.cpp | 2 +- 5 files changed, 18 insertions(+), 5 deletions(-) diff --git a/playerbot/strategy/actions/MovementActions.cpp b/playerbot/strategy/actions/MovementActions.cpp index 9542be5de..70051595e 100644 --- a/playerbot/strategy/actions/MovementActions.cpp +++ b/playerbot/strategy/actions/MovementActions.cpp @@ -2817,8 +2817,9 @@ bool MovementAction::Flee(Unit *target) time_t now = time(0); uint32 fleeDelay = urand(2, sPlayerbotAIConfig.returnDelay / 1000); - // let hunter kite mob - if (isTarget && bot->getClass() == CLASS_HUNTER) + // let hunter/kiter kite mob + if (isTarget && (bot->getClass() == CLASS_HUNTER || ai->HasStrategy("kite", BotState::BOT_STATE_COMBAT) + || ai->HasStrategy("kite", BotState::BOT_STATE_REACTION))) { fleeDelay = 1; } diff --git a/playerbot/strategy/paladin/ProtectionPaladinStrategy.cpp b/playerbot/strategy/paladin/ProtectionPaladinStrategy.cpp index ca0edbad9..a878563d9 100644 --- a/playerbot/strategy/paladin/ProtectionPaladinStrategy.cpp +++ b/playerbot/strategy/paladin/ProtectionPaladinStrategy.cpp @@ -61,6 +61,10 @@ void ProtectionPaladinStrategy::InitCombatTriggers(std::list& trig "lose aggro", NextAction::array(0, new NextAction("hand of reckoning", ACTION_MOVE), NULL))); + triggers.push_back(new TriggerNode( + "protect party member", + NextAction::array(0, new NextAction("blessing of protection on party", ACTION_CRITICAL_HEAL), NULL))); + triggers.push_back(new TriggerNode( "holy shield", NextAction::array(0, new NextAction("holy shield", ACTION_HIGH + 3), NULL))); @@ -575,6 +579,10 @@ void ProtectionPaladinStrategy::InitCombatTriggers(std::list& trig "lose aggro", NextAction::array(0, new NextAction("righteous defense", ACTION_MOVE), NULL))); + triggers.push_back(new TriggerNode( + "protect party member", + NextAction::array(0, new NextAction("blessing of protection on party", ACTION_CRITICAL_HEAL), NULL))); + triggers.push_back(new TriggerNode( "holy shield", NextAction::array(0, new NextAction("holy shield", ACTION_HIGH + 3), NULL))); @@ -1082,6 +1090,10 @@ void ProtectionPaladinStrategy::InitCombatTriggers(std::list& trig "lose aggro", NextAction::array(0, new NextAction("hand of reckoning", ACTION_MOVE), NULL))); + triggers.push_back(new TriggerNode( + "protect party member", + NextAction::array(0, new NextAction("blessing of protection on party", ACTION_CRITICAL_HEAL), NULL))); + triggers.push_back(new TriggerNode( "holy shield", NextAction::array(0, new NextAction("holy shield", ACTION_HIGH + 3), NULL))); diff --git a/playerbot/strategy/warlock/WarlockStrategy.cpp b/playerbot/strategy/warlock/WarlockStrategy.cpp index 4d6a618a2..b2a548dff 100644 --- a/playerbot/strategy/warlock/WarlockStrategy.cpp +++ b/playerbot/strategy/warlock/WarlockStrategy.cpp @@ -499,7 +499,7 @@ void WarlockStrategy::InitCombatTriggers(std::list& triggers) NextAction::array(0, new NextAction("sacrifice", ACTION_EMERGENCY), NULL))); triggers.push_back(new TriggerNode( - "life tap", + "medium mana", NextAction::array(0, new NextAction("life tap", ACTION_HIGH + 3), NULL))); triggers.push_back(new TriggerNode( diff --git a/playerbot/strategy/warrior/ArmsWarriorStrategy.cpp b/playerbot/strategy/warrior/ArmsWarriorStrategy.cpp index b31b17dcc..672f9e8d2 100644 --- a/playerbot/strategy/warrior/ArmsWarriorStrategy.cpp +++ b/playerbot/strategy/warrior/ArmsWarriorStrategy.cpp @@ -24,7 +24,7 @@ class ArmsWarriorStrategyActionNodeFactory : public NamedObjectFactory