diff options
| author | xinef1 <w.szyszko2@gmail.com> | 2017-02-04 23:50:32 +0100 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2019-07-21 21:06:54 +0200 |
| commit | ca26c33145cb40ae7fd2c84fc7577fc6f11bdbbf (patch) | |
| tree | 6df7aab9ce9c322fa74c8a50354dae8af04cdd75 /src/server/scripts | |
| parent | ad008c43b75080ec59aa973f1e2e4424332c34a4 (diff) | |
Implemented binary resistances and some more (#18933)
- Fixed possible exploit with tamed pets having template immunities
- Implemented binary resistances
- Corrected resistances calculations
- Pets properly inherit players spell penetration
- Fixed doubled block calculation for damaging melee spells
- Auras removing snare effects will only remove the snaring component
- Shapeshifting will properly remove movement impairing auras only and not crowd control (dragon's breath)
- Immunities are properly checked versus all schools appearing in spell, unit is immune only if immune to all schools
- Spells with melee and magic school mask should compare armor reduction with resistances and select smaller reduction
- Demonic Circle: Teleport no longer removes root effects
(cherrypicked from 93746e8c4a79c8256cd4896533315683f143508c)
Diffstat (limited to 'src/server/scripts')
| -rw-r--r-- | src/server/scripts/Spells/spell_priest.cpp | 2 | ||||
| -rw-r--r-- | src/server/scripts/Spells/spell_rogue.cpp | 2 | ||||
| -rw-r--r-- | src/server/scripts/Spells/spell_warlock.cpp | 2 |
3 files changed, 3 insertions, 3 deletions
diff --git a/src/server/scripts/Spells/spell_priest.cpp b/src/server/scripts/Spells/spell_priest.cpp index 78185aaf07c..15cfe5ab24a 100644 --- a/src/server/scripts/Spells/spell_priest.cpp +++ b/src/server/scripts/Spells/spell_priest.cpp @@ -1055,7 +1055,7 @@ class spell_pri_phantasm : public SpellScriptLoader void HandleEffectProc(AuraEffect const* /*aurEff*/, ProcEventInfo& /*eventInfo*/) { PreventDefaultAction(); - GetTarget()->RemoveMovementImpairingAuras(); + GetTarget()->RemoveMovementImpairingAuras(true); } void Register() override diff --git a/src/server/scripts/Spells/spell_rogue.cpp b/src/server/scripts/Spells/spell_rogue.cpp index 4b9c293d91e..ea17be7a58d 100644 --- a/src/server/scripts/Spells/spell_rogue.cpp +++ b/src/server/scripts/Spells/spell_rogue.cpp @@ -699,7 +699,7 @@ class spell_rog_vanish : public SpellScriptLoader Unit* target = GetHitUnit(); - target->RemoveMovementImpairingAuras(); + target->RemoveMovementImpairingAuras(true); target->RemoveAurasByType(SPELL_AURA_MOD_STALKED); if (target->GetTypeId() != TYPEID_PLAYER) return; diff --git a/src/server/scripts/Spells/spell_warlock.cpp b/src/server/scripts/Spells/spell_warlock.cpp index ec01d8f3397..272af131c75 100644 --- a/src/server/scripts/Spells/spell_warlock.cpp +++ b/src/server/scripts/Spells/spell_warlock.cpp @@ -344,7 +344,7 @@ class spell_warl_demonic_circle_teleport : public SpellScriptLoader if (GameObject* circle = player->GetGameObject(SPELL_WARLOCK_DEMONIC_CIRCLE_SUMMON)) { player->NearTeleportTo(circle->GetPositionX(), circle->GetPositionY(), circle->GetPositionZ(), circle->GetOrientation()); - player->RemoveMovementImpairingAuras(); + player->RemoveMovementImpairingAuras(false); } } } |
