Core/Spells: Refactor CastSpellExtraArgs

Port From (https://github.com/TrinityCore/TrinityCore/commit/975e7cc0723d3136822f6190de8742eef17a2539)
This commit is contained in:
Hondacrx
2024-11-10 13:48:39 -05:00
parent ac27d322b1
commit d9f90b014b
3 changed files with 82 additions and 27 deletions
+7 -2
View File
@@ -2486,8 +2486,13 @@ namespace Game.Entities
}
Spell spell = new(this, info, args.TriggerFlags, args.OriginalCaster, args.OriginalCastId);
foreach (var pair in args.SpellValueOverrides)
spell.SetSpellValue(pair.Key, pair.Value);
foreach (var spellOverride in args.SpellValueOverrides)
{
if (spellOverride.Type < (int)SpellValueMod.IntEnd)
spell.SetSpellValue((SpellValueMod)spellOverride.Type, spellOverride.IntValue);
else
spell.SetSpellValue((SpellValueModFloat)spellOverride.Type, spellOverride.FloatValue);
}
spell.m_CastItem = args.CastItem;
if (args.OriginalCastItemLevel.HasValue)