Skip to content

Commit

Permalink
[8854] Implement heal back part of spell 48181.
Browse files Browse the repository at this point in the history
Signed-off-by: VladimirMangos <vladimir@getmangos.com>

I choice maybe less clear way store future heal amount, but with avoid use additional fields for auras.
  • Loading branch information
Astellar authored and VladimirMangos committed Nov 21, 2009
1 parent 048e855 commit 3164040
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 3 deletions.
7 changes: 7 additions & 0 deletions src/game/Spell.cpp
Expand Up @@ -992,6 +992,13 @@ void Spell::DoAllEffectOnTarget(TargetInfo *target)
if (m_canTrigger && missInfo != SPELL_MISS_REFLECT)
caster->ProcDamageAndSpell(unitTarget, procAttacker, procVictim, procEx, damageInfo.damage, m_attackType, m_spellInfo);

// Haunt (NOTE: for avoid use additional field damage stored in dummy value (replace unused 100%)
// apply before deal damage because aura can be removed at target kill
if (m_spellInfo->SpellFamilyName == SPELLFAMILY_WARLOCK && m_spellInfo->SpellIconID == 3172 &&
(m_spellInfo->SpellFamilyFlags & UI64LIT(0x0004000000000000)))
if(Aura* dummy = unitTarget->GetDummyAura(m_spellInfo->Id))
dummy->GetModifier()->m_amount = damageInfo.damage;

caster->DealSpellDamage(&damageInfo, true);
}
// Passive spell hits/misses or active spells only misses (only triggers)
Expand Down
20 changes: 18 additions & 2 deletions src/game/SpellAuras.cpp
Expand Up @@ -2488,6 +2488,22 @@ void Aura::HandleAuraDummy(bool apply, bool Real)
}
case SPELLFAMILY_MAGE:
break;
case SPELLFAMILY_WARLOCK:
{
// Haunt
if (GetSpellProto()->SpellIconID == 3172 && (GetSpellProto()->SpellFamilyFlags & UI64LIT(0x0004000000000000)))
{
// NOTE: for avoid use additional field damage stored in dummy value (replace unused 100%
if (apply)
m_modifier.m_amount = 0; // use value as damage counter instead redundent 100% percent
else
{
int32 bp0 = m_modifier.m_amount;
caster->CastCustomSpell(caster,48210,&bp0,NULL,NULL,true);
}
}
break;
}
case SPELLFAMILY_PRIEST:
{
// Pain and Suffering
Expand All @@ -2510,8 +2526,6 @@ void Aura::HandleAuraDummy(bool apply, bool Real)
}
break;
}
case SPELLFAMILY_PALADIN:
break;
case SPELLFAMILY_DRUID:
{
switch(GetId())
Expand Down Expand Up @@ -2642,6 +2656,8 @@ void Aura::HandleAuraDummy(bool apply, bool Real)
}
case SPELLFAMILY_HUNTER:
break;
case SPELLFAMILY_PALADIN:
break;
case SPELLFAMILY_SHAMAN:
{
// Improved Weapon Totems
Expand Down
2 changes: 1 addition & 1 deletion src/shared/revision_nr.h
@@ -1,4 +1,4 @@
#ifndef __REVISION_NR_H__
#define __REVISION_NR_H__
#define REVISION_NR "8853"
#define REVISION_NR "8854"
#endif // __REVISION_NR_H__

0 comments on commit 3164040

Please sign in to comment.