aboutsummaryrefslogtreecommitdiff
path: root/src/server/scripts
diff options
context:
space:
mode:
authorxinef1 <w.szyszko2@gmail.com>2017-02-04 23:50:32 +0100
committerShauren <shauren.trinity@gmail.com>2019-07-21 21:06:54 +0200
commitca26c33145cb40ae7fd2c84fc7577fc6f11bdbbf (patch)
tree6df7aab9ce9c322fa74c8a50354dae8af04cdd75 /src/server/scripts
parentad008c43b75080ec59aa973f1e2e4424332c34a4 (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.cpp2
-rw-r--r--src/server/scripts/Spells/spell_rogue.cpp2
-rw-r--r--src/server/scripts/Spells/spell_warlock.cpp2
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);
}
}
}