*Fix Penance.

*Remove some hacks from channeled spells related code.

--HG--
branch : trunk
This commit is contained in:
QAston@qaston-pc
2009-03-01 02:46:33 +01:00
parent d1717aef69
commit 783714aff3
4 changed files with 6 additions and 24 deletions
+3 -2
View File
@@ -2066,8 +2066,9 @@ void Spell::prepare(SpellCastTargets const* targets, Aura* triggeredByAura)
// set timer base at cast time
ReSetTimer();
if(m_IsTriggeredSpell)
//Containers for channeled spells have to be set
//TODO:Apply this to all casted spells if needed
if(m_IsTriggeredSpell && !IsChanneledSpell(m_spellInfo))
cast(true);
else
{
-19
View File
@@ -1975,25 +1975,6 @@ void Aura::HandleAuraDummy(bool apply, bool Real)
return;
}
if (caster && m_removeMode == AURA_REMOVE_BY_DEATH)
{
// Stop caster Arcane Missle chanelling on death
if (m_spellProto->SpellFamilyName == SPELLFAMILY_MAGE &&
m_spellProto->SpellFamilyFlags[0] & 0x800)
{
caster->InterruptSpell(CURRENT_CHANNELED_SPELL);
return;
}
// Stop caster Penance chanelling on death
if (m_spellProto->SpellFamilyName == SPELLFAMILY_PRIEST &&
m_spellProto->SpellFamilyFlags[2] & 0x00000080)
{
caster->InterruptSpell(CURRENT_CHANNELED_SPELL);
return;
}
}
// some auras remove at aura remove
if(GetEffIndex()==0 && m_target->GetTypeId()==TYPEID_PLAYER)
{
+2 -2
View File
@@ -1894,8 +1894,8 @@ void Spell::EffectTriggerRitualOfSummoning(uint32 i)
targets.setUnitTarget( unitTarget);
spell->prepare(&targets);
m_caster->SetCurrentCastedSpell(spell);
spell->m_selfContainer = &(m_caster->m_currentSpells[spell->GetCurrentContainer()]);
//m_caster->SetCurrentCastedSpell(spell);
//spell->m_selfContainer = &(m_caster->m_currentSpells[spell->GetCurrentContainer()]);
}
+1 -1
View File
@@ -4174,7 +4174,7 @@ void Unit::RemoveAura(AuraMap::iterator &i, AuraRemoveMode mode)
&& AurSpellInfo->EffectApplyAuraName[Aur->GetEffIndex()]!= SPELL_AURA_DUMMY)
//don't stop channeling of scripted spells (this is actually a hack)
{
caster->m_currentSpells[CURRENT_CHANNELED_SPELL]->cancel();
caster->InterruptSpell(CURRENT_CHANNELED_SPELL);
}
}
}