Core/Spells: Prevent duplicating trait configs for Generic type

This commit is contained in:
Shauren
2023-11-02 20:05:29 +01:00
parent 20b0ad736c
commit 31da896eb2
3 changed files with 11 additions and 2 deletions

View File

@@ -6040,7 +6040,14 @@ void Spell::EffectCreateTraitTreeConfig()
return;
newConfig.TraitSystemID = sTraitTreeStore.AssertEntry(effectInfo->MiscValue)->TraitSystemID;
target->CreateTraitConfig(newConfig);
int32 existingConfigForSystem = target->m_activePlayerData->TraitConfigs.FindIndexIf([&](UF::TraitConfig const& config)
{
return static_cast<TraitConfigType>(*config.Type) == TraitConfigType::Generic
&& config.TraitSystemID == newConfig.TraitSystemID;
});
if (existingConfigForSystem < 0)
target->CreateTraitConfig(newConfig);
}
void Spell::EffectChangeActiveCombatTraitConfig()