[7025] Restore work/add new spell post effects

Signed-off-by: DiSlord <dislord@nomail.com>
This commit is contained in:
DiSlord 2009-01-05 01:44:27 +03:00
parent f50083928a
commit d65458b0de
4 changed files with 73 additions and 24 deletions

View file

@ -2195,25 +2195,6 @@ void Spell::EffectApplyAura(uint32 i)
if(!Aur)
return;
// TODO Make a way so it works for every related spell!
if(unitTarget->GetTypeId()==TYPEID_PLAYER) // Negative buff should only be applied on players
{
uint32 spellId = 0;
if (m_spellInfo->Mechanic == MECHANIC_BANDAGE) // Bandages
spellId = 11196; // Recently Bandaged
else if( (m_spellInfo->AttributesEx & 0x20) && (m_spellInfo->AttributesEx2 & 0x20000) )
spellId = 23230; // Blood Fury - Healing Reduction
SpellEntry const *AdditionalSpellInfo = sSpellStore.LookupEntry(spellId);
if (AdditionalSpellInfo)
{
// applied at target by target
Aura* AdditionalAura = CreateAura(AdditionalSpellInfo, 0, &m_currentBasePoints[0], unitTarget,unitTarget, 0);
unitTarget->AddAura(AdditionalAura);
sLog.outDebug("Spell: Additional Aura is: %u", AdditionalSpellInfo->EffectApplyAuraName[0]);
}
}
// Prayer of Mending (jump animation), we need formal caster instead original for correct animation
if( m_spellInfo->SpellFamilyName == SPELLFAMILY_PRIEST && (m_spellInfo->SpellFamilyFlags & 0x00002000000000LL))
m_caster->CastSpell(unitTarget, 41637, true, NULL, Aur, m_originalCasterGUID);