From ee7b89560ef4f5d4aead5532c3eb79b03c51cd51 Mon Sep 17 00:00:00 2001 From: hondacrx Date: Sat, 3 Feb 2024 11:28:50 -0500 Subject: [PATCH] Core/Auras: Fixed crash happening when a periodic aura tick triggers SPELL_AURA_SPLIT_DAMAGE_PCT Port From (https://github.com/TrinityCore/TrinityCore/commit/3a50bc50a2a3898013404eb2319508521002984f) --- Source/Game/Entities/Unit/Unit.Spells.cs | 2 +- Source/Game/Networking/Packets/SpellPackets.cs | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/Source/Game/Entities/Unit/Unit.Spells.cs b/Source/Game/Entities/Unit/Unit.Spells.cs index 591655450..33619dbaa 100644 --- a/Source/Game/Entities/Unit/Unit.Spells.cs +++ b/Source/Game/Entities/Unit/Unit.Spells.cs @@ -2149,7 +2149,7 @@ namespace Game.Entities { SpellNonMeleeDamageLog packet = new(); packet.Me = log.target.GetGUID(); - packet.CasterGUID = log.attacker.GetGUID(); + packet.CasterGUID = log.attacker?.GetGUID() ?? ObjectGuid.Empty; packet.CastID = log.castId; packet.SpellID = (int)(log.Spell != null ? log.Spell.Id : 0); packet.Visual = log.SpellVisual; diff --git a/Source/Game/Networking/Packets/SpellPackets.cs b/Source/Game/Networking/Packets/SpellPackets.cs index eb7a309e7..a532c4238 100644 --- a/Source/Game/Networking/Packets/SpellPackets.cs +++ b/Source/Game/Networking/Packets/SpellPackets.cs @@ -1292,12 +1292,12 @@ namespace Game.Networking.Packets public bool GenerateDataForUnits(Unit attacker, Unit target) { - Player playerAttacker = attacker.ToPlayer(); - Creature creatureAttacker = attacker.ToCreature(); + Player playerAttacker = attacker?.ToPlayer(); + Creature creatureAttacker = attacker?.ToCreature(); if (playerAttacker != null) { - Player playerTarget = target.ToPlayer(); - Creature creatureTarget = target.ToCreature(); + Player playerTarget = target?.ToPlayer(); + Creature creatureTarget = target?.ToCreature(); if (playerTarget != null) return GenerateDataPlayerToPlayer(playerAttacker, playerTarget); else if (creatureTarget != null) @@ -1308,8 +1308,8 @@ namespace Game.Networking.Packets } else if (creatureAttacker != null) { - Player playerTarget = target.ToPlayer(); - Creature creatureTarget = target.ToCreature(); + Player playerTarget = target?.ToPlayer(); + Creature creatureTarget = target?.ToCreature(); if (playerTarget != null) { if (creatureAttacker.HasScalableLevels())