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)
This commit is contained in:
@@ -2149,7 +2149,7 @@ namespace Game.Entities
|
|||||||
{
|
{
|
||||||
SpellNonMeleeDamageLog packet = new();
|
SpellNonMeleeDamageLog packet = new();
|
||||||
packet.Me = log.target.GetGUID();
|
packet.Me = log.target.GetGUID();
|
||||||
packet.CasterGUID = log.attacker.GetGUID();
|
packet.CasterGUID = log.attacker?.GetGUID() ?? ObjectGuid.Empty;
|
||||||
packet.CastID = log.castId;
|
packet.CastID = log.castId;
|
||||||
packet.SpellID = (int)(log.Spell != null ? log.Spell.Id : 0);
|
packet.SpellID = (int)(log.Spell != null ? log.Spell.Id : 0);
|
||||||
packet.Visual = log.SpellVisual;
|
packet.Visual = log.SpellVisual;
|
||||||
|
|||||||
@@ -1292,12 +1292,12 @@ namespace Game.Networking.Packets
|
|||||||
|
|
||||||
public bool GenerateDataForUnits(Unit attacker, Unit target)
|
public bool GenerateDataForUnits(Unit attacker, Unit target)
|
||||||
{
|
{
|
||||||
Player playerAttacker = attacker.ToPlayer();
|
Player playerAttacker = attacker?.ToPlayer();
|
||||||
Creature creatureAttacker = attacker.ToCreature();
|
Creature creatureAttacker = attacker?.ToCreature();
|
||||||
if (playerAttacker != null)
|
if (playerAttacker != null)
|
||||||
{
|
{
|
||||||
Player playerTarget = target.ToPlayer();
|
Player playerTarget = target?.ToPlayer();
|
||||||
Creature creatureTarget = target.ToCreature();
|
Creature creatureTarget = target?.ToCreature();
|
||||||
if (playerTarget != null)
|
if (playerTarget != null)
|
||||||
return GenerateDataPlayerToPlayer(playerAttacker, playerTarget);
|
return GenerateDataPlayerToPlayer(playerAttacker, playerTarget);
|
||||||
else if (creatureTarget != null)
|
else if (creatureTarget != null)
|
||||||
@@ -1308,8 +1308,8 @@ namespace Game.Networking.Packets
|
|||||||
}
|
}
|
||||||
else if (creatureAttacker != null)
|
else if (creatureAttacker != null)
|
||||||
{
|
{
|
||||||
Player playerTarget = target.ToPlayer();
|
Player playerTarget = target?.ToPlayer();
|
||||||
Creature creatureTarget = target.ToCreature();
|
Creature creatureTarget = target?.ToCreature();
|
||||||
if (playerTarget != null)
|
if (playerTarget != null)
|
||||||
{
|
{
|
||||||
if (creatureAttacker.HasScalableLevels())
|
if (creatureAttacker.HasScalableLevels())
|
||||||
|
|||||||
Reference in New Issue
Block a user