Fix crash #3274 in Unit::HandleDummyAuraProc
This commit is contained in:
@@ -5766,6 +5766,8 @@ bool Unit::HandleDummyAuraProc(Unit* victim, uint32 damage, AuraEffect* triggere
|
|||||||
// Blessing of Ancient Kings (Val'anyr, Hammer of Ancient Kings)
|
// Blessing of Ancient Kings (Val'anyr, Hammer of Ancient Kings)
|
||||||
case 64411:
|
case 64411:
|
||||||
{
|
{
|
||||||
|
if(!victim)
|
||||||
|
return false;
|
||||||
basepoints0 = int32(CalculatePctN(damage, 15));
|
basepoints0 = int32(CalculatePctN(damage, 15));
|
||||||
if (AuraEffect* aurEff = victim->GetAuraEffect(64413, 0, GetGUID()))
|
if (AuraEffect* aurEff = victim->GetAuraEffect(64413, 0, GetGUID()))
|
||||||
{
|
{
|
||||||
@@ -6065,6 +6067,9 @@ bool Unit::HandleDummyAuraProc(Unit* victim, uint32 damage, AuraEffect* triggere
|
|||||||
// Divine Aegis
|
// Divine Aegis
|
||||||
if (dummySpell->SpellIconID == 2820)
|
if (dummySpell->SpellIconID == 2820)
|
||||||
{
|
{
|
||||||
|
if(!target)
|
||||||
|
return false;
|
||||||
|
|
||||||
// Multiple effects stack, so let's try to find this aura.
|
// Multiple effects stack, so let's try to find this aura.
|
||||||
int32 bonus = 0;
|
int32 bonus = 0;
|
||||||
if (AuraEffect const* aurEff = target->GetAuraEffect(47753, 0))
|
if (AuraEffect const* aurEff = target->GetAuraEffect(47753, 0))
|
||||||
@@ -6528,6 +6533,8 @@ bool Unit::HandleDummyAuraProc(Unit* victim, uint32 damage, AuraEffect* triggere
|
|||||||
// Explosive Shot
|
// Explosive Shot
|
||||||
if (procSpell->SpellFamilyFlags[2] & 0x200)
|
if (procSpell->SpellFamilyFlags[2] & 0x200)
|
||||||
{
|
{
|
||||||
|
if(!victim)
|
||||||
|
return false;
|
||||||
if (AuraEffect const* pEff = victim->GetAuraEffect(SPELL_AURA_PERIODIC_DUMMY, SPELLFAMILY_HUNTER, 0x0, 0x80000000, 0x0, GetGUID()))
|
if (AuraEffect const* pEff = victim->GetAuraEffect(SPELL_AURA_PERIODIC_DUMMY, SPELLFAMILY_HUNTER, 0x0, 0x80000000, 0x0, GetGUID()))
|
||||||
basepoints0 = pEff->GetSpellInfo()->CalcPowerCost(this, SpellSchoolMask(pEff->GetSpellInfo()->SchoolMask)) * 4/10/3;
|
basepoints0 = pEff->GetSpellInfo()->CalcPowerCost(this, SpellSchoolMask(pEff->GetSpellInfo()->SchoolMask)) * 4/10/3;
|
||||||
}
|
}
|
||||||
@@ -7224,6 +7231,8 @@ bool Unit::HandleDummyAuraProc(Unit* victim, uint32 damage, AuraEffect* triggere
|
|||||||
// Item - Shaman T10 Elemental 4P Bonus
|
// Item - Shaman T10 Elemental 4P Bonus
|
||||||
case 70817:
|
case 70817:
|
||||||
{
|
{
|
||||||
|
if(!target)
|
||||||
|
return false;
|
||||||
// try to find spell Flame Shock on the target
|
// try to find spell Flame Shock on the target
|
||||||
if (AuraEffect const* aurEff = target->GetAuraEffect(SPELL_AURA_PERIODIC_DAMAGE, SPELLFAMILY_SHAMAN, 0x10000000, 0x0, 0x0, GetGUID()))
|
if (AuraEffect const* aurEff = target->GetAuraEffect(SPELL_AURA_PERIODIC_DAMAGE, SPELLFAMILY_SHAMAN, 0x10000000, 0x0, 0x0, GetGUID()))
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user