[D4RK]Doom-Lord
-
Posts
6 -
Joined
-
Last visited
Never -
Donations
0.00 GBP
Content Type
Profiles
Bug Tracker
Wiki
Release Notes
Forums
Downloads
Blogs
Events
Posts posted by [D4RK]Doom-Lord
-
-
I've followed code and from effect 10:
void Spell::EffectHeal( uint32 /*i*/ )
it calls
addhealth = caster->SpellHealingBonus(unitTarget, m_spellInfo, addhealth, HEAL);
SpellHealingBonus function is a recursive one in case of totem, so it's called twice first for totem and next for owner. Healing stream has "DmgClass == SPELL_DAMAGE_CLASS_NONE" so in "that if" it returns the second call to first call. I've tested it with checks and never call "SpellBaseHealingBonus()" function.
-
From
uint32 Unit::SpellHealingBonus(Unit *pVictim, SpellEntry const *spellProto, uint32 healamount, DamageEffectType damagetype, uint32 stack)
It gets in:
if (spellProto->DmgClass == SPELL_DAMAGE_CLASS_NONE) { healamount = healamount * TakenTotalMod; return healamount < 0 ? 0 : uint32(healamount); }
and never reach this line:
SpellBonusEntry const* bonus = sSpellMgr.GetSpellBonusData(spellProto->Id);
-
I've tested with "(52042, 0.045, 0, 0, 'Shaman - Healing Stream Totem Triggered Heal')". Seems it doesn't work; maybe because it needs totem's owner spell power.
-
What bug does the patch fix? What features does the patch add?
- * Add bonus heal.
* "Glyph of Healing Stream Totem" http://www.wowhead.com/?item=41533.
* "Restorative Totems" Talent bonus http://www.wowhead.com/?spell=16187, http://www.wowhead.com/?spell=16205, http://www.wowhead.com/?spell=16206.
For which repository revision was the patch created?
9292.
Is there a thread in the bug report section or at lighthouse? If yes, please add a link to the thread.
https://mangos.lighthouseapp.com/projects/18208/tickets/218-shaman-healing-stream-totem
Who has been writing this patch? Please include either forum user names or email addresses.
[D4RK]Doom-Lord
diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp index f9b7926..ed8f188 100644 --- a/src/game/SpellEffects.cpp +++ b/src/game/SpellEffects.cpp @@ -1918,7 +1918,23 @@ void Spell::EffectDummy(uint32 i) if (m_spellInfo->SpellFamilyFlags & UI64LIT(0x0000000000002000)) { if (unitTarget) + { + if (Unit *owner = m_caster->GetOwner()) + damage += int32(owner->SpellBaseHealingBonus(GetSpellSchoolMask(m_spellInfo)) * 0.045f); + // Restorative Totems (Healing Stream Totem) + if (Unit *owner = m_caster->GetOwner()) + { + Unit::AuraList const& mDummyAuras = owner->GetAurasByType(SPELL_AURA_DUMMY); + for(Unit::AuraList::const_iterator i = mDummyAuras.begin(); i != mDummyAuras.end(); ++i) + if (((*i)->GetId() == 16187) || ((*i)->GetId() == 16205) || ((*i)->GetId() == 16206) ) + damage+=(*i)->GetModifier()->m_amount * damage / 100; + } + // Glyph Healing Stream Totem + if (Unit *owner = m_caster->GetOwner()) + if (Aura *dummy = owner->GetDummyAura(55456)) + damage+=dummy->GetModifier()->m_amount * damage / 100; m_caster->CastCustomSpell(unitTarget, 52042, &damage, 0, 0, true, 0, 0, m_originalCasterGUID); + } return; } // Mana Spring Totem
- * Add bonus heal.
-
Fix suggested before by KAPATEJIb in Russian Mangos Forum.
[SQL]proc_event "Libram of Valiance"
in ... acceptedOld
Posted