aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/base/world_database.sql2
-rwxr-xr-xsrc/server/game/Entities/Unit/Unit.cpp5
-rwxr-xr-xsrc/server/game/Spells/SpellMgr.cpp5
3 files changed, 10 insertions, 2 deletions
diff --git a/sql/base/world_database.sql b/sql/base/world_database.sql
index 56433bb2bfd..1f3af29dc02 100644
--- a/sql/base/world_database.sql
+++ b/sql/base/world_database.sql
@@ -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'),
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp
index 55ccaf40468..ccb2b3d5bc7 100755
--- a/src/server/game/Entities/Unit/Unit.cpp
+++ b/src/server/game/Entities/Unit/Unit.cpp
@@ -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;
diff --git a/src/server/game/Spells/SpellMgr.cpp b/src/server/game/Spells/SpellMgr.cpp
index 69f76c51777..47f1e3c803d 100755
--- a/src/server/game/Spells/SpellMgr.cpp
+++ b/src/server/game/Spells/SpellMgr.cpp
@@ -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;