Core/Spells: Prevent duplicating trait configs for Generic type

Port From (https://github.com/TrinityCore/TrinityCore/commit/31da896eb2ea9a18dae7c2fa45c188ebadfc9e3e)
This commit is contained in:
hondacrx
2024-02-02 14:42:01 -05:00
parent 597b39e561
commit a5fedc5d69
+8 -1
View File
@@ -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)]