*Fix mana burn.
*Fix glyph of dispel Magic (by Lightguard). *Add missing sql from latest rev. --HG-- branch : trunk
This commit is contained in:
@@ -0,0 +1,6 @@
|
|||||||
|
-- Glyph of power word: shield
|
||||||
|
INSERT INTO `spell_proc_event` VALUES (55672, 0x00, 6, 0x00000001, 0x00000000, 0x00000000, 0x00004000, 0x00000000, 0.000000, 0.000000, 0);
|
||||||
|
|
||||||
|
-- Bloodsurge
|
||||||
|
DELETE FROM `spell_proc_event` WHERE `entry` IN (46915);
|
||||||
|
INSERT INTO `spell_proc_event` VALUES (46915, 0x00, 4, 0x00000040, 0x00000404, 0x00000000, 0x00000000, 0x00000002, 0.000000, 0.000000, 0);
|
||||||
@@ -2436,10 +2436,25 @@ void Spell::EffectPowerBurn(uint32 i)
|
|||||||
if(damage < 0)
|
if(damage < 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
Unit* caster = m_originalCaster ? m_originalCaster : m_caster;
|
||||||
|
|
||||||
int32 curPower = int32(unitTarget->GetPower(powertype));
|
int32 curPower = int32(unitTarget->GetPower(powertype));
|
||||||
|
|
||||||
// resilience reduce mana draining effect at spell crit damage reduction (added in 2.4)
|
|
||||||
uint32 power = damage;
|
uint32 power = damage;
|
||||||
|
// Priest's Mana Burn, burn max amount of 26% of caster's mana
|
||||||
|
if ( m_spellInfo->SpellFamilyName==SPELLFAMILY_PRIEST && m_spellInfo->SpellFamilyFlags[0] & 0x10)
|
||||||
|
{
|
||||||
|
// Burn percentage of target's mana
|
||||||
|
power = damage * curPower / 100;
|
||||||
|
if (caster)
|
||||||
|
{
|
||||||
|
casterPower = caster->GetPower(powertype)*0.26f
|
||||||
|
if (casterPower<curPower)
|
||||||
|
curPower = casterPower;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// resilience reduce mana draining effect at spell crit damage reduction (added in 2.4)
|
||||||
if ( powertype == POWER_MANA && unitTarget->GetTypeId() == TYPEID_PLAYER )
|
if ( powertype == POWER_MANA && unitTarget->GetTypeId() == TYPEID_PLAYER )
|
||||||
power -= ((Player*)unitTarget)->GetSpellCritDamageReduction(power);
|
power -= ((Player*)unitTarget)->GetSpellCritDamageReduction(power);
|
||||||
|
|
||||||
|
|||||||
@@ -5463,6 +5463,16 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, Aura* triggeredByAu
|
|||||||
triggered_spell_id = 56160;
|
triggered_spell_id = 56160;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
// Glyph of Dispel Magic
|
||||||
|
case 55677:
|
||||||
|
{
|
||||||
|
if(!target->IsFriendlyTo(this))
|
||||||
|
return false;
|
||||||
|
|
||||||
|
basepoints0 = int32(target->GetMaxHealth() * triggerAmount / 100);
|
||||||
|
triggered_spell_id = 56131;
|
||||||
|
break;
|
||||||
|
}
|
||||||
// Oracle Healing Bonus ("Garments of the Oracle" set)
|
// Oracle Healing Bonus ("Garments of the Oracle" set)
|
||||||
case 26169:
|
case 26169:
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user