From 5bcf14cdb8a7725bb3481fdc46289d13176b6ae0 Mon Sep 17 00:00:00 2001 From: ariel- Date: Wed, 16 Nov 2016 02:39:15 +0100 Subject: Core/Unit: damage immune improvements (9f5df023b746d324588f175e264c62205b69e165 follow up) - Handling checked in sniffs: Spell 63710 Void Barrier vs 49143 Frost Strike * Send spell miss immune only if spell consists of damage effects - Checked with 348 Immolate: * No packets sent if damage immune, aura is applied normally Also... who the fuck uses 0 to compare against pointers (cherry picked from commit ca1c4525c7da320da2c0a55bfd803879e3cf60b2) Core/Unit: fix build Ctrl-S failure (cherry picked from commit f3bdd705c0e3ab28585406ae8e08da44a09b14df) --- src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/server/scripts/Northrend') diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp index f9af80eaca1..da5359364ff 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp @@ -1103,6 +1103,12 @@ class spell_sindragosa_s_fury : public SpellScriptLoader if (!GetHitUnit()->IsAlive() || !_targetCount) return; + if (GetHitUnit()->IsImmunedToDamage(GetSpellInfo())) + { + GetCaster()->SendSpellDamageImmune(GetHitUnit(), GetSpellInfo()->Id, false); + return; + } + float resistance = float(GetHitUnit()->GetResistance(SpellSchoolMask(GetSpellInfo()->SchoolMask))); uint32 minResistFactor = uint32((resistance / (resistance + 510.0f)) * 10.0f) * 2; uint32 randomResist = urand(0, (9 - minResistFactor) * 100) / 100 + minResistFactor; -- cgit v1.2.3