aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorjohnholiver <johnholiver@gmail.com>2011-05-07 22:16:30 +0200
committerShauren <shauren.trinity@gmail.com>2011-05-07 22:16:30 +0200
commit8cc4125664488c85be3d92b76415debd1a78d8db (patch)
tree74345ffecdb9fb59db76977c89d3f9328ea4491c /src
parent61b165648c6fc9f9063a5a5077741d8fe44377e8 (diff)
Core/Spells: Changed boss knockback immunity
Diffstat (limited to 'src')
-rwxr-xr-xsrc/server/game/Entities/Unit/Unit.cpp2
-rwxr-xr-xsrc/server/game/Spells/SpellEffects.cpp4
-rwxr-xr-xsrc/server/game/Spells/SpellMgr.cpp6
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]])