*Fix crash.

*Prevent applying cast time mod for spell twice.

--HG--
branch : trunk
This commit is contained in:
QAston
2009-03-02 23:37:24 +01:00
parent 352df954f6
commit 1ebade03d5
6 changed files with 61 additions and 33 deletions

View File

@@ -2264,7 +2264,7 @@ void Spell::EffectApplyAura(uint32 i)
//mod duration of channeled aura by spell haste
if (IsChanneledSpell(m_spellInfo))
caster->ModSpellCastTime(m_spellInfo, duration);
caster->ModSpellCastTime(m_spellInfo, duration, this);
// if Aura removed and deleted, do not continue.
if(duration== 0 && !(Aur->IsPermanent()))
@@ -4766,13 +4766,13 @@ void Spell::EffectScriptEffect(uint32 effIndex)
unitTarget->HandleEmoteCommand(EMOTE_STATE_DANCE);
break;
}
// Escape artist
case 20589:
{
if(!unitTarget)
return;
// It is said that removing effects by script should include dispel resist mods
unitTarget->RemoveSpellsCausingAuraWithDispel(SPELL_AURA_MOD_ROOT, this);
// Escape artist
case 20589:
{
if(!unitTarget)
return;
// It is said that removing effects by script should include dispel resist mods
unitTarget->RemoveSpellsCausingAuraWithDispel(SPELL_AURA_MOD_ROOT, this);
unitTarget->RemoveSpellsCausingAuraWithDispel(SPELL_AURA_MOD_DECREASE_SPEED, this);
}
// Mirren's Drinking Hat