From 8cc4125664488c85be3d92b76415debd1a78d8db Mon Sep 17 00:00:00 2001 From: johnholiver Date: Sat, 7 May 2011 22:16:30 +0200 Subject: Core/Spells: Changed boss knockback immunity --- src/server/game/Entities/Unit/Unit.cpp | 2 +- src/server/game/Spells/SpellEffects.cpp | 4 ++++ src/server/game/Spells/SpellMgr.cpp | 6 ------ 3 files changed, 5 insertions(+), 7 deletions(-) (limited to 'src') diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index e3655e9e621..e73bcda37a1 100755 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -16200,7 +16200,7 @@ void Unit::KnockbackFrom(float x, float y, float speedXY, float speedZ) player = (Player*)this; else { - player = dynamic_cast(GetCharmer()); + player = GetCharmer()->ToPlayer(); if (player && player->m_mover != this) player = NULL; } diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp index 6c9bfba4953..b8f5a28dbeb 100755 --- a/src/server/game/Spells/SpellEffects.cpp +++ b/src/server/game/Spells/SpellEffects.cpp @@ -6074,6 +6074,10 @@ void Spell::EffectKnockBack(SpellEffIndex effIndex) if (!unitTarget) return; + if (Creature* creatureTarget = unitTarget->ToCreature()) + if (creatureTarget->isWorldBoss() || creatureTarget->IsDungeonBoss()) + return; + // Typhoon if (m_spellInfo->SpellFamilyName == SPELLFAMILY_DRUID && m_spellInfo->SpellFamilyFlags[1] & 0x01000000) { diff --git a/src/server/game/Spells/SpellMgr.cpp b/src/server/game/Spells/SpellMgr.cpp index ce57176f900..503fa87f6c5 100755 --- a/src/server/game/Spells/SpellMgr.cpp +++ b/src/server/game/Spells/SpellMgr.cpp @@ -3547,12 +3547,6 @@ void SpellMgr::LoadSpellCustomAttr() } break; } - case SPELL_EFFECT_KNOCK_BACK: - case SPELL_EFFECT_KNOCK_BACK_DEST: - if (spellInfo->EffectMechanic[i] == MECHANIC_NONE) - spellInfo->EffectMechanic[i] = MECHANIC_KNOCKOUT; - ++count; - break; } switch (SpellTargetType[spellInfo->EffectImplicitTargetA[j]]) -- cgit v1.2.3