From 6116d4c5500e7b556420618399aaa64f4312fcd7 Mon Sep 17 00:00:00 2001 From: Insider42 Date: Tue, 11 May 2010 14:22:18 +0400 Subject: [PATCH] [9872] Update damage/energize calculation for 1454 and ranks. Signed-off-by: VladimirMangos --- src/game/SpellEffects.cpp | 25 ++++--------------------- src/shared/revision_nr.h | 2 +- 2 files changed, 5 insertions(+), 22 deletions(-) diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp index ace32dc57..b4377560a 100644 --- a/src/game/SpellEffects.cpp +++ b/src/game/SpellEffects.cpp @@ -1893,37 +1893,20 @@ void Spell::EffectDummy(SpellEffectIndex eff_idx) // Life Tap if (m_spellInfo->SpellFamilyFlags & UI64LIT(0x0000000000040000)) { - // In 303 exist spirit depend - uint32 spirit = uint32(m_caster->GetStat(STAT_SPIRIT)); - switch (m_spellInfo->Id) - { - case 1454: damage+=spirit; break; - case 1455: damage+=spirit*15/10; break; - case 1456: damage+=spirit*2; break; - case 11687: damage+=spirit*25/10; break; - case 11688: - case 11689: - case 27222: - case 57946: damage+=spirit*3; break; - default: - sLog.outError("Spell::EffectDummy: %u Life Tap need set spirit multipler", m_spellInfo->Id); - return; - } -// Think its not need (also need remove Life Tap from SpellDamageBonus or add new value) -// damage = m_caster->SpellDamageBonus(m_caster, m_spellInfo,uint32(damage > 0 ? damage : 0), SPELL_DIRECT_DAMAGE); if (unitTarget && (int32(unitTarget->GetHealth()) > damage)) { // Shouldn't Appear in Combat Log unitTarget->ModifyHealth(-damage); - int32 mana = damage; + int32 spell_power = m_caster->SpellBaseDamageBonusDone(GetSpellSchoolMask(m_spellInfo)); + int32 mana = damage + spell_power / 2; + // Improved Life Tap mod Unit::AuraList const& auraDummy = m_caster->GetAurasByType(SPELL_AURA_DUMMY); for(Unit::AuraList::const_iterator itr = auraDummy.begin(); itr != auraDummy.end(); ++itr) - { if((*itr)->GetSpellProto()->SpellFamilyName==SPELLFAMILY_WARLOCK && (*itr)->GetSpellProto()->SpellIconID == 208) mana = ((*itr)->GetModifier()->m_amount + 100)* mana / 100; - } + m_caster->CastCustomSpell(unitTarget, 31818, &mana, NULL, NULL, true); // Mana Feed diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index 6c5cc6d96..2e2cc2185 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ - #define REVISION_NR "9871" + #define REVISION_NR "9872" #endif // __REVISION_NR_H__ -- 2.11.4.GIT