diff options
author | Shauren <shauren.trinity@gmail.com> | 2023-11-23 11:05:49 +0100 |
---|---|---|
committer | funjoker <funjoker109@gmail.com> | 2023-12-01 23:28:35 +0100 |
commit | fa7b01bec70d428fd6e1687876f3c82ed054f349 (patch) | |
tree | 0d3122401bdd9fc6834802b9a4d94f9324af386e /src | |
parent | 7aa5ffa1fa8bcc13f0ee71a92b5116594215a48b (diff) |
Core/Auras: Fixed crash happening when a periodic aura tick triggers SPELL_AURA_SPLIT_DAMAGE_PCT
Closes #29450
(cherry picked from commit 3a50bc50a2a3898013404eb2319508521002984f)
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Entities/Unit/Unit.cpp | 2 | ||||
-rw-r--r-- | src/server/game/Server/Packets/CombatLogPacketsCommon.cpp | 4 |
2 files changed, 3 insertions, 3 deletions
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index 6b2bc3dc3f3..cd94c267538 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -5284,7 +5284,7 @@ void Unit::SendSpellNonMeleeDamageLog(SpellNonMeleeDamage const* log) { WorldPackets::CombatLog::SpellNonMeleeDamageLog packet; packet.Me = log->target->GetGUID(); - packet.CasterGUID = log->attacker->GetGUID(); + packet.CasterGUID = log->attacker ? log->attacker->GetGUID() : ObjectGuid::Empty; packet.CastID = log->castId; packet.SpellID = log->Spell ? log->Spell->Id : 0; packet.Visual = log->SpellVisual; diff --git a/src/server/game/Server/Packets/CombatLogPacketsCommon.cpp b/src/server/game/Server/Packets/CombatLogPacketsCommon.cpp index 9bf1696e9cc..70aa879e751 100644 --- a/src/server/game/Server/Packets/CombatLogPacketsCommon.cpp +++ b/src/server/game/Server/Packets/CombatLogPacketsCommon.cpp @@ -117,8 +117,8 @@ bool ContentTuningParams::GenerateDataForUnits<Creature, Creature>(Creature* att template<> bool ContentTuningParams::GenerateDataForUnits<Unit, Unit>(Unit* attacker, Unit* target) { - if (Player* playerAttacker = attacker->ToPlayer()) - if (Player* playerTarget = target->ToPlayer()) + if (Player* playerAttacker = Object::ToPlayer(attacker)) + if (Player* playerTarget = Object::ToPlayer(target)) return GenerateDataForUnits(playerAttacker, playerTarget); return false; |