From 5e2f2823ec487a226588358375568f0231296680 Mon Sep 17 00:00:00 2001 From: Keleborn <22352763+Celandriel@users.noreply.github.com> Date: Fri, 10 Apr 2026 15:17:03 -0700 Subject: [PATCH] fix(Core/Paladin): Remove duplicate trigger registrations (#2301) ## Pull Request Description The "lay on hands", "lay on hands on party", "blessing of protection on party", and "divine plea" triggers were registered twice with conflicting priorities, causing double-firing. Removes the old block while preserving the new "hand of freedom on party" trigger. @kadeshar Can you confirm this matches your intent? ## 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 ## 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**) ## Messages to Translate - Does this change add bot messages to translate? - - [X] No - - [ ] Yes (**list messages in the table**) | Message key | Default message | | --------------- | ------------------ | | | | | | | ## AI Assistance - Was AI assistance used while working on this change? - - [ ] No - - [X] Yes (**explain below**) Claude spotted the error on review and ran ahead with a fix, but I confirmed that it is infact duplicate. Co-Authored-By: Claude Opus 4.6 (1M context) ## Final Checklist - - [X] Stability is not compromised. - - [X] Performance impact is understood, tested, and acceptable. - - [X] Added logic complexity is justified and explained. - - [X] Documentation updated if needed (Conf comments, WiKi commands). ## Notes for Reviewers Co-authored-by: Claude Opus 4.6 (1M context) --- .../Paladin/Strategy/GenericPaladinStrategy.cpp | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/src/Ai/Class/Paladin/Strategy/GenericPaladinStrategy.cpp b/src/Ai/Class/Paladin/Strategy/GenericPaladinStrategy.cpp index 9a197c601..c4edc28fd 100644 --- a/src/Ai/Class/Paladin/Strategy/GenericPaladinStrategy.cpp +++ b/src/Ai/Class/Paladin/Strategy/GenericPaladinStrategy.cpp @@ -31,19 +31,8 @@ void GenericPaladinStrategy::InitTriggers(std::vector& triggers) triggers.push_back(new TriggerNode("protect party member", { NextAction("blessing of protection on party", ACTION_EMERGENCY + 3) })); triggers.push_back(new TriggerNode("high mana", { NextAction("divine plea", ACTION_HIGH) })); - triggers.push_back(new TriggerNode( - "critical health", { NextAction("lay on hands", ACTION_EMERGENCY) })); - triggers.push_back( - new TriggerNode("party member critical health", - { NextAction("lay on hands on party", ACTION_EMERGENCY + 1) })); - triggers.push_back(new TriggerNode( - "protect party member", - { NextAction("blessing of protection on party", ACTION_EMERGENCY + 2) })); - triggers.push_back(new TriggerNode( - "hand of freedom on party", + triggers.push_back(new TriggerNode("hand of freedom on party", { NextAction("hand of freedom on party", ACTION_HIGH + 4) })); - triggers.push_back( - new TriggerNode("high mana", { NextAction("divine plea", ACTION_HIGH) })); } void PaladinCureStrategy::InitTriggers(std::vector& triggers)