From a5fedc5d6996e8e5a48fd44c066dc2ec59f31031 Mon Sep 17 00:00:00 2001 From: hondacrx Date: Fri, 2 Feb 2024 14:42:01 -0500 Subject: [PATCH] Core/Spells: Prevent duplicating trait configs for Generic type Port From (https://github.com/TrinityCore/TrinityCore/commit/31da896eb2ea9a18dae7c2fa45c188ebadfc9e3e) --- Source/Game/Spells/SpellEffects.cs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/Source/Game/Spells/SpellEffects.cs b/Source/Game/Spells/SpellEffects.cs index 2d0364a31..bbe3915d9 100644 --- a/Source/Game/Spells/SpellEffects.cs +++ b/Source/Game/Spells/SpellEffects.cs @@ -5832,7 +5832,14 @@ namespace Game.Spells return; newConfig.TraitSystemID = CliDB.TraitTreeStorage.LookupByKey(effectInfo.MiscValue).TraitSystemID; - target.CreateTraitConfig(newConfig); + int existingConfigForSystem = target.m_activePlayerData.TraitConfigs.FindIndexIf(config => + { + return config.Type == (int)TraitConfigType.Generic + && config.TraitSystemID == newConfig.TraitSystemID; + }); + + if (existingConfigForSystem < 0) + target.CreateTraitConfig(newConfig); } [SpellEffectHandler(SpellEffectName.ChangeActiveCombatTraitConfig)]