[8266] Move percent spells with flat energize effect spells to effect code.

* This is fix talent 51521 and ranks.
* And replace hardcoded percent for talent 31876 and ranks.
This commit is contained in:
VladimirMangos 2009-07-28 16:50:29 +04:00
parent f0a878bf1e
commit 8d7f6e5e0a
3 changed files with 12 additions and 17 deletions

View file

@ -2857,31 +2857,31 @@ void Spell::EffectEnergize(uint32 i)
Powers power = Powers(m_spellInfo->EffectMiscValue[i]); Powers power = Powers(m_spellInfo->EffectMiscValue[i]);
// Some level depends spells // Some level depends spells
int multiplier = 0; int level_multiplier = 0;
int level_diff = 0; int level_diff = 0;
switch (m_spellInfo->Id) switch (m_spellInfo->Id)
{ {
// Restore Energy case 9512: // Restore Energy
case 9512:
level_diff = m_caster->getLevel() - 40; level_diff = m_caster->getLevel() - 40;
multiplier = 2; level_multiplier = 2;
break; break;
// Blood Fury case 24571: // Blood Fury
case 24571:
level_diff = m_caster->getLevel() - 60; level_diff = m_caster->getLevel() - 60;
multiplier = 10; level_multiplier = 10;
break; break;
// Burst of Energy case 24532: // Burst of Energy
case 24532:
level_diff = m_caster->getLevel() - 60; level_diff = m_caster->getLevel() - 60;
multiplier = 4; level_multiplier = 4;
break; break;
case 31930: // Judgements of the Wise
case 63375: // Improved Stormstrike
damage = damage * unitTarget->GetCreateMana() / 100;
default: default:
break; break;
} }
if (level_diff > 0) if (level_diff > 0)
damage -= multiplier * level_diff; damage -= level_multiplier * level_diff;
if(damage < 0) if(damage < 0)
return; return;

View file

@ -5555,7 +5555,6 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, Aura* triggeredByAu
case 31877: case 31877:
case 31878: case 31878:
target = this; target = this;
basepoints0 = GetCreatePowers(POWER_MANA) * 25 / 100;
triggered_spell_id = 31930; triggered_spell_id = 31930;
// Replenishment // Replenishment
@ -6879,10 +6878,6 @@ bool Unit::HandleProcTriggerSpell(Unit *pVictim, uint32 damage, Aura* triggeredB
return false; return false;
break; break;
} }
// Improved Stormstrike
case 63375:
basepoints0 = int32(GetCreateMana() * triggerAmount / 100);
break;
} }
if( cooldown && GetTypeId()==TYPEID_PLAYER && ((Player*)this)->HasSpellCooldown(trigger_spell_id)) if( cooldown && GetTypeId()==TYPEID_PLAYER && ((Player*)this)->HasSpellCooldown(trigger_spell_id))

View file

@ -1,4 +1,4 @@
#ifndef __REVISION_NR_H__ #ifndef __REVISION_NR_H__
#define __REVISION_NR_H__ #define __REVISION_NR_H__
#define REVISION_NR "8265" #define REVISION_NR "8266"
#endif // __REVISION_NR_H__ #endif // __REVISION_NR_H__