From fe6135ed71c4dbbc5f1a3b80d7460809d91acb78 Mon Sep 17 00:00:00 2001 From: hondacrx Date: Thu, 23 Mar 2023 07:11:56 -0400 Subject: [PATCH] Core/Units: Added functions to modify WorldEffects updatefield Port From (https://github.com/TrinityCore/TrinityCore/commit/51569217ad88a4d19d89a6083b56f228554ac90a) --- Source/Game/Entities/Unit/Unit.cs | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/Source/Game/Entities/Unit/Unit.cs b/Source/Game/Entities/Unit/Unit.cs index f3f8de121..f7c2857d8 100644 --- a/Source/Game/Entities/Unit/Unit.cs +++ b/Source/Game/Entities/Unit/Unit.cs @@ -4091,6 +4091,17 @@ namespace Game.Entities UpdateDamagePctDoneMods(attackType); } + public void AddWorldEffect(int worldEffectId) { AddDynamicUpdateFieldValue(m_values.ModifyValue(m_unitData).ModifyValue(m_unitData.WorldEffects), worldEffectId); } + + public void RemoveWorldEffect(int worldEffectId) + { + int index = m_unitData.WorldEffects.FindIndex(worldEffectId); + if (index >= 0) + RemoveDynamicUpdateFieldValue(m_values.ModifyValue(m_unitData).ModifyValue(m_unitData.WorldEffects), index); + } + + public void ClearWorldEffects() { ClearDynamicUpdateFieldValues(m_values.ModifyValue(m_unitData).ModifyValue(m_unitData.WorldEffects)); } + public CombatManager GetCombatManager() { return m_combatManager; } // Exposes the threat manager directly - be careful when interfacing with this