diff options
| author | tobmaps <spambot42@yandex.ru> | 2011-07-16 01:24:15 +0700 |
|---|---|---|
| committer | tobmaps <spambot42@yandex.ru> | 2011-07-16 01:24:15 +0700 |
| commit | 66b217991c4dc1020847d741fdc35896e3c39b49 (patch) | |
| tree | 1dba8a65d97b1f7c9a286bb0fe06439a45241309 /src/server/game/Entities | |
| parent | 8a112a5c1043f01bb60584f85619b6e8678f1c82 (diff) | |
Core/Spells: Fix Unstable Affliction
Closes #94
Closes #1244
Closes #1528
Diffstat (limited to 'src/server/game/Entities')
| -rwxr-xr-x | src/server/game/Entities/Unit/Unit.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
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; |
