diff options
author | johnholiver <johnholiver@gmail.com> | 2011-05-07 22:16:30 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2011-05-07 22:16:30 +0200 |
commit | 8cc4125664488c85be3d92b76415debd1a78d8db (patch) | |
tree | 74345ffecdb9fb59db76977c89d3f9328ea4491c /src | |
parent | 61b165648c6fc9f9063a5a5077741d8fe44377e8 (diff) |
Core/Spells: Changed boss knockback immunity
Diffstat (limited to 'src')
-rwxr-xr-x | src/server/game/Entities/Unit/Unit.cpp | 2 | ||||
-rwxr-xr-x | src/server/game/Spells/SpellEffects.cpp | 4 | ||||
-rwxr-xr-x | src/server/game/Spells/SpellMgr.cpp | 6 |
3 files changed, 5 insertions, 7 deletions
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<Player*>(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]]) |