aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2023-11-23 11:05:49 +0100
committerfunjoker <funjoker109@gmail.com>2023-12-01 23:28:35 +0100
commitfa7b01bec70d428fd6e1687876f3c82ed054f349 (patch)
tree0d3122401bdd9fc6834802b9a4d94f9324af386e /src
parent7aa5ffa1fa8bcc13f0ee71a92b5116594215a48b (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.cpp2
-rw-r--r--src/server/game/Server/Packets/CombatLogPacketsCommon.cpp4
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;