*Update to Mangos 7190.
--HG-- branch : trunk
This commit is contained in:
+10
-51
@@ -104,7 +104,7 @@ pAuraHandler AuraHandler[TOTAL_AURAS]=
|
||||
&Aura::HandleAuraModParryPercent, // 47 SPELL_AURA_MOD_PARRY_PERCENT
|
||||
&Aura::HandleUnused, // 48 SPELL_AURA_MOD_DODGE_SKILL obsolete?
|
||||
&Aura::HandleAuraModDodgePercent, // 49 SPELL_AURA_MOD_DODGE_PERCENT
|
||||
&Aura::HandleUnused, // 50 SPELL_AURA_MOD_BLOCK_SKILL obsolete?
|
||||
&Aura::HandleNoImmediateEffect, // 50 SPELL_AURA_MOD_CRITICAL_HEALING_BONUS
|
||||
&Aura::HandleAuraModBlockPercent, // 51 SPELL_AURA_MOD_BLOCK_PERCENT
|
||||
&Aura::HandleAuraModCritPercent, // 52 SPELL_AURA_MOD_CRIT_PERCENT
|
||||
&Aura::HandlePeriodicLeech, // 53 SPELL_AURA_PERIODIC_LEECH
|
||||
@@ -337,7 +337,7 @@ pAuraHandler AuraHandler[TOTAL_AURAS]=
|
||||
&Aura::HandleNULL, //280 SPELL_AURA_MOD_TARGET_ARMOR_PCT
|
||||
&Aura::HandleNULL, //281 SPELL_AURA_MOD_HONOR_GAIN
|
||||
&Aura::HandleAuraIncreaseBaseHealthPercent, //282 SPELL_AURA_INCREASE_BASE_HEALTH_PERCENT
|
||||
&Aura::HandleNULL //283 SPD/heal from AP?
|
||||
&Aura::HandleNoImmediateEffect //283 SPELL_AURA_MOD_HEALING_RECEIVED implemented in Unit::SpellHealingBonus
|
||||
};
|
||||
|
||||
Aura::Aura(SpellEntry const* spellproto, uint32 eff, int32 *currentBasePoints, Unit *target, Unit *caster, Item* castItem) :
|
||||
@@ -3974,40 +3974,6 @@ void Aura::HandleAuraPeriodicDummy(bool apply, bool Real)
|
||||
void Aura::HandlePeriodicHeal(bool apply, bool Real)
|
||||
{
|
||||
m_isPeriodic = apply;
|
||||
|
||||
// For prevent double apply bonuses
|
||||
bool loading = (m_target->GetTypeId() == TYPEID_PLAYER && ((Player*)m_target)->GetSession()->PlayerLoading());
|
||||
|
||||
if(!loading && apply)
|
||||
{
|
||||
switch (m_spellProto->SpellFamilyName)
|
||||
{
|
||||
case SPELLFAMILY_DRUID:
|
||||
{
|
||||
// Rejuvenation
|
||||
if(m_spellProto->SpellFamilyFlags & 0x0000000000000010LL)
|
||||
{
|
||||
if(Unit* caster = GetCaster())
|
||||
{
|
||||
Unit::AuraList const& classScripts = caster->GetAurasByType(SPELL_AURA_OVERRIDE_CLASS_SCRIPTS);
|
||||
for(Unit::AuraList::const_iterator k = classScripts.begin(); k != classScripts.end(); ++k)
|
||||
{
|
||||
int32 tickcount = GetSpellDuration(m_spellProto) / m_spellProto->EffectAmplitude[m_effIndex];
|
||||
switch((*k)->GetModifier()->m_miscvalue)
|
||||
{
|
||||
case 4953: // Increased Rejuvenation Healing - Harold's Rejuvenating Broach Aura
|
||||
case 4415: // Increased Rejuvenation Healing - Idol of Rejuvenation Aura
|
||||
{
|
||||
m_modifier.m_amount += (*k)->GetModifier()->m_amount / tickcount;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void Aura::HandlePeriodicDamage(bool apply, bool Real)
|
||||
@@ -4166,21 +4132,6 @@ void Aura::HandlePeriodicDamage(bool apply, bool Real)
|
||||
int32 holy = caster->SpellBaseDamageBonus(GetSpellSchoolMask(m_spellProto)) +
|
||||
caster->SpellBaseDamageBonusForVictim(GetSpellSchoolMask(m_spellProto), m_target);
|
||||
m_modifier.m_amount += int32(0.04f*holy + 0.04f*ap);
|
||||
|
||||
// Improved Consecration - Libram of the Eternal Rest
|
||||
Unit::AuraList const& classScripts = caster->GetAurasByType(SPELL_AURA_OVERRIDE_CLASS_SCRIPTS);
|
||||
for(Unit::AuraList::const_iterator k = classScripts.begin(); k != classScripts.end(); ++k)
|
||||
{
|
||||
switch((*k)->GetModifier()->m_miscvalue)
|
||||
{
|
||||
case 5147:
|
||||
{
|
||||
int32 tickcount = GetSpellDuration(m_spellProto) / m_spellProto->EffectAmplitude[m_effIndex];
|
||||
m_modifier.m_amount += (*k)->GetModifier()->m_amount / tickcount;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
// Seal of Vengeance 0.013*$SPH+0.025*$AP per tick (also can stack)
|
||||
@@ -5386,6 +5337,14 @@ void Aura::HandleSpiritOfRedemption( bool apply, bool Real )
|
||||
|
||||
void Aura::CleanupTriggeredSpells()
|
||||
{
|
||||
if (m_spellProto->SpellFamilyName == SPELLFAMILY_WARRIOR && m_spellProto->SpellFamilyFlags & 0x0000001000000020LL)
|
||||
{
|
||||
// Blood Frenzy remove
|
||||
m_target->RemoveAurasDueToSpell(30069);
|
||||
m_target->RemoveAurasDueToSpell(30070);
|
||||
return;
|
||||
}
|
||||
|
||||
uint32 tSpellId = m_spellProto->EffectTriggerSpell[GetEffIndex()];
|
||||
if(!tSpellId)
|
||||
return;
|
||||
|
||||
Reference in New Issue
Block a user