mirror of
https://github.com/mangosfour/server.git
synced 2025-12-14 16:37:01 +00:00
[8922] Implement telant 46859 and ranks additional debuff apply.
Thanks to xXxRRLxXx and KAPATEJIb for patch prepering. Signed-off-by: VladimirMangos <vladimir@getmangos.com>
This commit is contained in:
parent
bfaeddbc4b
commit
8b0ce112ba
3 changed files with 49 additions and 8 deletions
|
|
@ -2254,8 +2254,46 @@ void Aura::HandleAuraDummy(bool apply, bool Real)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
switch(m_spellProto->SpellFamilyName)
|
||||||
|
{
|
||||||
|
case SPELLFAMILY_WARRIOR:
|
||||||
|
// Overpower
|
||||||
|
if(m_spellProto->SpellFamilyFlags & UI64LIT(0x0000000000000004))
|
||||||
|
{
|
||||||
|
// Must be casting target
|
||||||
|
if (!m_target->IsNonMeleeSpellCasted(false))
|
||||||
|
return;
|
||||||
|
|
||||||
|
Unit* caster = GetCaster();
|
||||||
|
if (!caster)
|
||||||
|
return;
|
||||||
|
|
||||||
|
Unit::AuraList const& modifierAuras = caster->GetAurasByType(SPELL_AURA_ADD_FLAT_MODIFIER);
|
||||||
|
for(Unit::AuraList::const_iterator itr = modifierAuras.begin(); itr != modifierAuras.end(); ++itr)
|
||||||
|
{
|
||||||
|
// Unrelenting Assault
|
||||||
|
if((*itr)->GetSpellProto()->SpellFamilyName==SPELLFAMILY_WARRIOR && (*itr)->GetSpellProto()->SpellIconID == 2775)
|
||||||
|
{
|
||||||
|
switch ((*itr)->GetSpellProto()->Id)
|
||||||
|
{
|
||||||
|
case 46859: // Unrelenting Assault, rank 1
|
||||||
|
m_target->CastSpell(m_target,64849,true,NULL,(*itr));
|
||||||
|
break;
|
||||||
|
case 46860: // Unrelenting Assault, rank 2
|
||||||
|
m_target->CastSpell(m_target,64850,true,NULL,(*itr));
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case SPELLFAMILY_SHAMAN:
|
||||||
// Earth Shield
|
// Earth Shield
|
||||||
if (GetSpellProto()->SpellFamilyName == SPELLFAMILY_SHAMAN && (GetSpellProto()->SpellFamilyFlags & UI64LIT(0x40000000000)))
|
if ((GetSpellProto()->SpellFamilyFlags & UI64LIT(0x40000000000)))
|
||||||
{
|
{
|
||||||
// prevent double apply bonuses
|
// prevent double apply bonuses
|
||||||
if(m_target->GetTypeId() != TYPEID_PLAYER || !((Player*)m_target)->GetSession()->PlayerLoading())
|
if(m_target->GetTypeId() != TYPEID_PLAYER || !((Player*)m_target)->GetSession()->PlayerLoading())
|
||||||
|
|
@ -2263,6 +2301,8 @@ void Aura::HandleAuraDummy(bool apply, bool Real)
|
||||||
m_modifier.m_amount = caster->SpellHealingBonus(m_target, GetSpellProto(), m_modifier.m_amount, SPELL_DIRECT_DAMAGE);
|
m_modifier.m_amount = caster->SpellHealingBonus(m_target, GetSpellProto(), m_modifier.m_amount, SPELL_DIRECT_DAMAGE);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
// AT REMOVE
|
// AT REMOVE
|
||||||
else
|
else
|
||||||
|
|
|
||||||
|
|
@ -1491,6 +1491,7 @@ void Spell::EffectDummy(uint32 i)
|
||||||
m_damage+= uint32(damage * m_caster->GetTotalAttackPowerValue(BASE_ATTACK) / 100);
|
m_damage+= uint32(damage * m_caster->GetTotalAttackPowerValue(BASE_ATTACK) / 100);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
switch(m_spellInfo->Id)
|
switch(m_spellInfo->Id)
|
||||||
{
|
{
|
||||||
// Warrior's Wrath
|
// Warrior's Wrath
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
#ifndef __REVISION_NR_H__
|
#ifndef __REVISION_NR_H__
|
||||||
#define __REVISION_NR_H__
|
#define __REVISION_NR_H__
|
||||||
#define REVISION_NR "8921"
|
#define REVISION_NR "8922"
|
||||||
#endif // __REVISION_NR_H__
|
#endif // __REVISION_NR_H__
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue