diff options
-rw-r--r-- | src/server/game/Entities/Unit/Unit.cpp | 2 | ||||
-rw-r--r-- | src/server/game/Server/Packets/CombatLogPacketsCommon.cpp | 12 |
2 files changed, 7 insertions, 7 deletions
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index 950db3570b1..21f90eb1f83 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -5290,7 +5290,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 f351c61f622..e2435ae0660 100644 --- a/src/server/game/Server/Packets/CombatLogPacketsCommon.cpp +++ b/src/server/game/Server/Packets/CombatLogPacketsCommon.cpp @@ -120,24 +120,24 @@ bool ContentTuningParams::GenerateDataForUnits<Creature, Creature>(Creature* att template<> bool ContentTuningParams::GenerateDataForUnits<Unit, Unit>(Unit* attacker, Unit* target) { - if (Player* playerAttacker = attacker->ToPlayer()) + if (Player* playerAttacker = Object::ToPlayer(attacker)) { - if (Player* playerTarget = target->ToPlayer()) + if (Player* playerTarget = Object::ToPlayer(target)) return GenerateDataForUnits(playerAttacker, playerTarget); - else if (Creature* creatureTarget = target->ToCreature()) + else if (Creature* creatureTarget = Object::ToCreature(target)) { if (creatureTarget->HasScalableLevels()) return GenerateDataForUnits(playerAttacker, creatureTarget); } } - else if (Creature* creatureAttacker = attacker->ToCreature()) + else if (Creature* creatureAttacker = Object::ToCreature(attacker)) { - if (Player* playerTarget = target->ToPlayer()) + if (Player* playerTarget = Object::ToPlayer(target)) { if (creatureAttacker->HasScalableLevels()) return GenerateDataForUnits(creatureAttacker, playerTarget); } - else if (Creature* creatureTarget = target->ToCreature()) + else if (Creature* creatureTarget = Object::ToCreature(target)) { if (creatureAttacker->HasScalableLevels() || creatureTarget->HasScalableLevels()) return GenerateDataForUnits(creatureAttacker, creatureTarget); |