From 4a63ee37e29f44010a0c926d33c114816abc2946 Mon Sep 17 00:00:00 2001 From: dillyns <49765217+dillyns@users.noreply.github.com> Date: Sat, 30 May 2026 02:09:28 -0400 Subject: [PATCH] Shadow Priest Vampiric Embrac (#2410) ## Pull Request Description Shadow priest's Vampiric Embrace was incorrectly set as a debuff, and was in the combat strategy. Fixed it to be a buff, and move it to the noncombat strategy with other buffs ## Feature Evaluation - Describe the **minimum logic** required to achieve the intended behavior. - Describe the **processing cost** when this logic executes across many bots. ## How to Test the Changes Get a shadow priest bot. They should now buff themselves with Vampiric Embrace. ## Impact Assessment - Does this change increase per-bot/per-tick processing or risk scaling poorly with thousands of bots? - - [x] No, not at all - - [ ] Minimal impact (**explain below**) - - [ ] Moderate impact (**explain below**) - Does this change modify default bot behavior? - - [x] No - - [ ] Yes (**explain why**) - Does this change add new decision branches or increase maintenance complexity? - - [x] No - - [ ] Yes (**explain below**) ## AI Assistance Was AI assistance used while working on this change? - - [x] No - - [ ] Yes (**explain below**) ## Final Checklist - - [x] Stability is not compromised. - - [x] Performance impact is understood, tested, and acceptable. - - [x] Added logic complexity is justified and explained. - - [x] Any new bot dialogue lines are translated. - - [x] Documentation updated if needed (Conf comments, WiKi commands). ## Notes for Reviewers --- src/Ai/Class/Priest/Action/PriestActions.h | 2 +- src/Ai/Class/Priest/Strategy/PriestNonCombatStrategy.cpp | 2 ++ src/Ai/Class/Priest/Strategy/ShadowPriestStrategy.cpp | 8 -------- 3 files changed, 3 insertions(+), 9 deletions(-) diff --git a/src/Ai/Class/Priest/Action/PriestActions.h b/src/Ai/Class/Priest/Action/PriestActions.h index 0fe0a832f..1a6ded139 100644 --- a/src/Ai/Class/Priest/Action/PriestActions.h +++ b/src/Ai/Class/Priest/Action/PriestActions.h @@ -139,7 +139,7 @@ public: // shadow talents SPELL_ACTION(CastMindFlayAction, "mind flay"); -DEBUFF_ACTION(CastVampiricEmbraceAction, "vampiric embrace"); +BUFF_ACTION(CastVampiricEmbraceAction, "vampiric embrace"); BUFF_ACTION(CastShadowformAction, "shadowform"); SPELL_ACTION(CastSilenceAction, "silence"); ENEMY_HEALER_ACTION(CastSilenceOnEnemyHealerAction, "silence"); diff --git a/src/Ai/Class/Priest/Strategy/PriestNonCombatStrategy.cpp b/src/Ai/Class/Priest/Strategy/PriestNonCombatStrategy.cpp index 1caa6f8e0..bd0bdd11f 100644 --- a/src/Ai/Class/Priest/Strategy/PriestNonCombatStrategy.cpp +++ b/src/Ai/Class/Priest/Strategy/PriestNonCombatStrategy.cpp @@ -19,6 +19,8 @@ void PriestNonCombatStrategy::InitTriggers(std::vector& triggers) triggers.push_back( new TriggerNode("inner fire",{ NextAction("inner fire", 10.0f) })); + triggers.push_back( + new TriggerNode("vampiric embrace", { NextAction("vampiric embrace", 16.0f) })); triggers.push_back(new TriggerNode( "party member dead",{ NextAction("remove shadowform", ACTION_CRITICAL_HEAL + 11), NextAction("resurrection", ACTION_CRITICAL_HEAL + 10) })); diff --git a/src/Ai/Class/Priest/Strategy/ShadowPriestStrategy.cpp b/src/Ai/Class/Priest/Strategy/ShadowPriestStrategy.cpp index 1308f7225..2200707c7 100644 --- a/src/Ai/Class/Priest/Strategy/ShadowPriestStrategy.cpp +++ b/src/Ai/Class/Priest/Strategy/ShadowPriestStrategy.cpp @@ -51,14 +51,6 @@ void ShadowPriestStrategy::InitTriggers(std::vector& triggers) } ) ); - triggers.push_back( - new TriggerNode( - "vampiric embrace", - { - NextAction("vampiric embrace", 16.0f) - } - ) - ); triggers.push_back( new TriggerNode( "silence",