diff options
author | Keader <keader.android@gmail.com> | 2019-08-15 10:46:23 -0300 |
---|---|---|
committer | Keader <keader.android@gmail.com> | 2019-08-15 10:46:23 -0300 |
commit | 43c08b176115505b76c027667047f9a5bfcc4e11 (patch) | |
tree | 89107b9a396ced67230e18dc972ebcae86baf32e /src/server | |
parent | f7793e78000389315d53b22fb4e117d512c5a4d6 (diff) |
Core/Spells: Fixed some issues with Drain Soul
Issue 1: Drain soul was always negative, but effect2 need be positive.
Issue 2: Drain soul was interrupted if someone in your group die. Caused by negative effects proccing in creature.
Issue 3: Since effect2 is positive, it was down-ranking in low level targets and should never happens (fixed before by ariel, transforming everything in negative in 2c8a6fb771a42169a1817149ab0a2a19912ebea7 but it's wrong)
#MakeWarlockAfflictionGreatAgain
Diffstat (limited to 'src/server')
-rw-r--r-- | src/server/game/Spells/SpellInfo.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/server/game/Spells/SpellInfo.cpp b/src/server/game/Spells/SpellInfo.cpp index 9a3e8bc445b..f5c6f1d9f25 100644 --- a/src/server/game/Spells/SpellInfo.cpp +++ b/src/server/game/Spells/SpellInfo.cpp @@ -3278,7 +3278,7 @@ SpellInfo const* SpellInfo::GetAuraRankForLevel(uint8 level) const return this; // Client ignores spell with these attributes (sub_53D9D0) - if (HasAttribute(SPELL_ATTR0_NEGATIVE_1) || HasAttribute(SPELL_ATTR2_UNK3)) + if (HasAttribute(SPELL_ATTR0_NEGATIVE_1) || HasAttribute(SPELL_ATTR2_UNK3) || HasAttribute(SPELL_ATTR3_DRAIN_SOUL)) return this; bool needRankSelection = false; @@ -3511,7 +3511,6 @@ bool _isPositiveEffectImpl(SpellInfo const* spellInfo, uint8 effIndex, std::unor case SPELL_AURA_MOD_UNATTACKABLE: return true; case SPELL_AURA_SCHOOL_HEAL_ABSORB: - case SPELL_AURA_CHANNEL_DEATH_ITEM: case SPELL_AURA_EMPATHY: case SPELL_AURA_MOD_DAMAGE_FROM_CASTER: case SPELL_AURA_PREVENTS_FLEEING: @@ -3715,6 +3714,7 @@ bool _isPositiveEffectImpl(SpellInfo const* spellInfo, uint8 effIndex, std::unor return false; break; case SPELL_AURA_MOD_CONFUSE: + case SPELL_AURA_CHANNEL_DEATH_ITEM: case SPELL_AURA_MOD_ROOT: case SPELL_AURA_MOD_SILENCE: case SPELL_AURA_MOD_DETAUNT: |