*Implement SPELL_EFFECT_REMOVE_AURA(164)

*Rename SPELL_EFFECT_KNOCK_BACK_2 to SPELL_EFFECT_KNOCK_BACK_DEST

--HG--
branch : trunk
This commit is contained in:
QAston
2010-07-20 04:29:17 +02:00
parent f906976837
commit 6d54f02bb4
4 changed files with 24 additions and 7 deletions

View File

@@ -47,6 +47,7 @@ Vehicle::Vehicle(Unit *unit, VehicleEntry const *vehInfo) : me(unit), m_vehicleI
case 160:
me->SetControlled(true, UNIT_STAT_ROOT);
me->ApplySpellImmune(0, IMMUNITY_EFFECT, SPELL_EFFECT_KNOCK_BACK, true);
me->ApplySpellImmune(0, IMMUNITY_EFFECT, SPELL_EFFECT_KNOCK_BACK_DEST, true);
case 158:
me->ApplySpellImmune(0, IMMUNITY_EFFECT, SPELL_EFFECT_HEAL, true);
me->ApplySpellImmune(0, IMMUNITY_STATE, SPELL_AURA_MOD_FEAR, true);

View File

@@ -745,7 +745,7 @@ enum SpellEffects
SPELL_EFFECT_141 = 141,
SPELL_EFFECT_TRIGGER_SPELL_WITH_VALUE = 142,
SPELL_EFFECT_APPLY_AREA_AURA_OWNER = 143,
SPELL_EFFECT_KNOCK_BACK_2 = 144,
SPELL_EFFECT_KNOCK_BACK_DEST = 144,
SPELL_EFFECT_145 = 145,
SPELL_EFFECT_ACTIVATE_RUNE = 146,
SPELL_EFFECT_QUEST_FAIL = 147,
@@ -765,7 +765,7 @@ enum SpellEffects
SPELL_EFFECT_TALENT_SPEC_COUNT = 161,
SPELL_EFFECT_TALENT_SPEC_SELECT = 162,
SPELL_EFFECT_163 = 163,
SPELL_EFFECT_164 = 164,
SPELL_EFFECT_REMOVE_AURA = 164,
TOTAL_SPELL_EFFECTS = 165
};

View File

@@ -209,7 +209,7 @@ pEffect SpellEffects[TOTAL_SPELL_EFFECTS]=
&Spell::EffectForceCastWithValue, //141 SPELL_EFFECT_FORCE_CAST_WITH_VALUE
&Spell::EffectTriggerSpellWithValue, //142 SPELL_EFFECT_TRIGGER_SPELL_WITH_VALUE
&Spell::EffectApplyAreaAura, //143 SPELL_EFFECT_APPLY_AREA_AURA_OWNER
&Spell::EffectKnockBack, //144 SPELL_EFFECT_KNOCK_BACK_2 Spectral Blast
&Spell::EffectKnockBack, //144 SPELL_EFFECT_KNOCK_BACK_DEST
&Spell::EffectPlayerPull, //145 SPELL_EFFECT_145 Black Hole Effect
&Spell::EffectActivateRune, //146 SPELL_EFFECT_ACTIVATE_RUNE
&Spell::EffectQuestFail, //147 SPELL_EFFECT_QUEST_FAIL quest fail
@@ -229,7 +229,7 @@ pEffect SpellEffects[TOTAL_SPELL_EFFECTS]=
&Spell::EffectSpecCount, //161 SPELL_EFFECT_TALENT_SPEC_COUNT second talent spec (learn/revert)
&Spell::EffectActivateSpec, //162 SPELL_EFFECT_TALENT_SPEC_SELECT activate primary/secondary spec
&Spell::EffectNULL, //163
&Spell::EffectNULL, //164 cancel's some aura...
&Spell::EffectRemoveAura, //164 SPELL_EFFECT_REMOVE_AURA
};
void Spell::EffectNULL(uint32 /*i*/)
@@ -7211,10 +7211,17 @@ void Spell::EffectKnockBack(uint32 i)
return;
float x, y;
if (m_targets.HasDst() && !m_targets.HasTraj())
m_targets.m_dstPos.GetPosition(x, y);
else
if (m_spellInfo->Effect[i] == SPELL_EFFECT_KNOCK_BACK_DEST)
{
if (m_targets.HasDst())
m_targets.m_dstPos.GetPosition(x, y);
else
return;
}
else //if (m_spellInfo->Effect[i] == SPELL_EFFECT_KNOCK_BACK)
{
m_caster->GetPosition(x, y);
}
unitTarget->KnockbackFrom(x, y, speedxy, speedz);
}
@@ -8035,6 +8042,14 @@ void Spell::EffectPlayerNotification(uint32 /*eff_idx*/)
}
}
void Spell::EffectRemoveAura(uint32 i)
{
if (!unitTarget)
return;
// there may be need of specifying casterguid of removed auras
unitTarget->RemoveAurasDueToSpell(m_spellInfo->EffectTriggerSpell[i]);
}
void Spell::EffectCastButtons(uint32 i)
{
if (!unitTarget || m_caster->GetTypeId() != TYPEID_PLAYER)

View File

@@ -388,6 +388,7 @@ class Spell
void EffectSpecCount(uint32 i);
void EffectActivateSpec(uint32 i);
void EffectPlayerNotification(uint32 i);
void EffectRemoveAura(uint32 i);
void EffectCastButtons(uint32 i);
void EffectRechargeManaGem(uint32 i);