Core/Spells: Fix Unstable Affliction
Closes #94 Closes #1244 Closes #1528
This commit is contained in:
@@ -16966,7 +16966,7 @@ INSERT INTO `spell_bonus_data` (`entry`,`direct_bonus`,`dot_bonus`,`ap_bonus`,`a
|
||||
(34861, 0.402, -1, -1, -1, 'Priest - Circle of Healing'),
|
||||
(19236, 0.8068, -1, -1, -1, 'Priest - Desperate Prayer'),
|
||||
(2944, -1, 0.1849, -1, -1, 'Priest - Devouring Plague'),
|
||||
(64844, 0.5483, -1, -1, -1, 'Priest - Divine Hymn'),
|
||||
(64844, 0.564, -1, -1, -1, 'Priest - Divine Hymn'),
|
||||
(63544, 0, -1, -1, -1, 'Priest - Empowered Renew'),
|
||||
(2061, 0.8068, -1, -1, -1, 'Priest - Flash Heal'),
|
||||
(2060, 1.6135, -1, -1, -1, 'Priest - Greater Heal'),
|
||||
|
||||
@@ -3714,11 +3714,14 @@ void Unit::RemoveAurasDueToSpellByDispel(uint32 spellId, uint64 casterGUID, Unit
|
||||
// Unstable Affliction (crash if before removeaura?)
|
||||
if (aura->GetSpellProto()->SpellFamilyFlags[1] & 0x0100)
|
||||
{
|
||||
Unit* caster = aura->GetCaster();
|
||||
if (!caster)
|
||||
break;
|
||||
if (AuraEffect const* aurEff = aura->GetEffect(EFFECT_0))
|
||||
{
|
||||
int32 damage = aurEff->GetAmount() * 9;
|
||||
// backfire damage and silence
|
||||
dispeller->CastCustomSpell(dispeller, 31117, &damage, NULL, NULL, true, NULL, NULL, aura->GetCasterGUID());
|
||||
caster->CastCustomSpell(dispeller, 31117, &damage, NULL, NULL, true, NULL, aurEff);
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -3942,6 +3942,11 @@ void SpellMgr::LoadSpellCustomAttr()
|
||||
spellInfo->AttributesEx3 |= SPELL_ATTR3_CAN_PROC_WITH_TRIGGERED;
|
||||
++count;
|
||||
break;
|
||||
case 31117: // Unstable Affliction
|
||||
// this attribute currently makes spell to ignore resilience and absorbs
|
||||
spellInfo->AttributesEx4 &= ~SPELL_ATTR4_FIXED_DAMAGE;
|
||||
++count;
|
||||
break;
|
||||
case 16007: // Draco-Incarcinatrix 900
|
||||
// was 46, but effect is aura effect
|
||||
spellInfo->EffectImplicitTargetA[0] = TARGET_UNIT_NEARBY_ENTRY;
|
||||
|
||||
Reference in New Issue
Block a user