Add support for Maelstrom Weapon to prevent melee attack interruption when affecting spells
--HG-- branch : trunk
This commit is contained in:
@@ -3368,6 +3368,18 @@ void Spell::finish(bool ok)
|
|||||||
m_caster->DealHeal(m_caster, uint32(m_healthLeech), m_spellInfo);
|
m_caster->DealHeal(m_caster, uint32(m_healthLeech), m_spellInfo);
|
||||||
|
|
||||||
if (IsMeleeAttackResetSpell())
|
if (IsMeleeAttackResetSpell())
|
||||||
|
{
|
||||||
|
bool found = false;
|
||||||
|
Unit::AuraEffectList const& vIgnoreReset = m_caster->GetAuraEffectsByType(SPELL_AURA_IGNORE_MELEE_RESET);
|
||||||
|
for (Unit::AuraEffectList::const_iterator i = vIgnoreReset.begin(); i != vIgnoreReset.end(); ++i)
|
||||||
|
{
|
||||||
|
if ((*i)->IsAffectedOnSpell(m_spellInfo))
|
||||||
|
{
|
||||||
|
found = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!found)
|
||||||
{
|
{
|
||||||
m_caster->resetAttackTimer(BASE_ATTACK);
|
m_caster->resetAttackTimer(BASE_ATTACK);
|
||||||
if(m_caster->haveOffhandWeapon())
|
if(m_caster->haveOffhandWeapon())
|
||||||
@@ -3375,6 +3387,7 @@ void Spell::finish(bool ok)
|
|||||||
if(!(m_spellInfo->AttributesEx2 & SPELL_ATTR_EX2_NOT_RESET_AUTOSHOT))
|
if(!(m_spellInfo->AttributesEx2 & SPELL_ATTR_EX2_NOT_RESET_AUTOSHOT))
|
||||||
m_caster->resetAttackTimer(RANGED_ATTACK);
|
m_caster->resetAttackTimer(RANGED_ATTACK);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// potions disabled by client, send event "not in combat" if need
|
// potions disabled by client, send event "not in combat" if need
|
||||||
if (m_caster->GetTypeId() == TYPEID_PLAYER)
|
if (m_caster->GetTypeId() == TYPEID_PLAYER)
|
||||||
|
|||||||
@@ -316,7 +316,7 @@ enum AuraType
|
|||||||
SPELL_AURA_MOD_IGNORE_TARGET_RESIST = 269,
|
SPELL_AURA_MOD_IGNORE_TARGET_RESIST = 269,
|
||||||
SPELL_AURA_MOD_ABILITY_IGNORE_TARGET_RESIST = 270, // Possibly need swap vs 195 aura used only in 1 spell Chaos Bolt Passive
|
SPELL_AURA_MOD_ABILITY_IGNORE_TARGET_RESIST = 270, // Possibly need swap vs 195 aura used only in 1 spell Chaos Bolt Passive
|
||||||
SPELL_AURA_MOD_DAMAGE_FROM_CASTER = 271,
|
SPELL_AURA_MOD_DAMAGE_FROM_CASTER = 271,
|
||||||
SPELL_AURA_272 = 272,
|
SPELL_AURA_IGNORE_MELEE_RESET = 272,
|
||||||
SPELL_AURA_X_RAY = 273,
|
SPELL_AURA_X_RAY = 273,
|
||||||
SPELL_AURA_ABILITY_CONSUME_NO_AMMO = 274,
|
SPELL_AURA_ABILITY_CONSUME_NO_AMMO = 274,
|
||||||
SPELL_AURA_MOD_IGNORE_SHAPESHIFT = 275,
|
SPELL_AURA_MOD_IGNORE_SHAPESHIFT = 275,
|
||||||
|
|||||||
@@ -328,7 +328,7 @@ pAuraEffectHandler AuraEffectHandler[TOTAL_AURAS]=
|
|||||||
&AuraEffect::HandleNoImmediateEffect, //269 SPELL_AURA_MOD_IGNORE_TARGET_RESIST implemented in Unit::CalcAbsorbResist and CalcArmorReducedDamage
|
&AuraEffect::HandleNoImmediateEffect, //269 SPELL_AURA_MOD_IGNORE_TARGET_RESIST implemented in Unit::CalcAbsorbResist and CalcArmorReducedDamage
|
||||||
&AuraEffect::HandleNoImmediateEffect, //270 SPELL_AURA_MOD_ABILITY_IGNORE_TARGET_RESIST implemented in Unit::CalcAbsorbResist and CalcArmorReducedDamage
|
&AuraEffect::HandleNoImmediateEffect, //270 SPELL_AURA_MOD_ABILITY_IGNORE_TARGET_RESIST implemented in Unit::CalcAbsorbResist and CalcArmorReducedDamage
|
||||||
&AuraEffect::HandleNoImmediateEffect, //271 SPELL_AURA_MOD_DAMAGE_FROM_CASTER implemented in Unit::SpellDamageBonus
|
&AuraEffect::HandleNoImmediateEffect, //271 SPELL_AURA_MOD_DAMAGE_FROM_CASTER implemented in Unit::SpellDamageBonus
|
||||||
&AuraEffect::HandleUnused, //272 unknown use for this aura
|
&AuraEffect::HandleNoImmediateEffect, //272 SPELL_AURA_IGNORE_MELEE_RESET
|
||||||
&AuraEffect::HandleUnused, //273 clientside
|
&AuraEffect::HandleUnused, //273 clientside
|
||||||
&AuraEffect::HandleNoImmediateEffect, //274 SPELL_AURA_CONSUME_NO_AMMO implemented in spell::CalculateDamageDoneForAllTargets
|
&AuraEffect::HandleNoImmediateEffect, //274 SPELL_AURA_CONSUME_NO_AMMO implemented in spell::CalculateDamageDoneForAllTargets
|
||||||
&AuraEffect::HandleNoImmediateEffect, //275 SPELL_AURA_MOD_IGNORE_SHAPESHIFT Use SpellClassMask for spell select
|
&AuraEffect::HandleNoImmediateEffect, //275 SPELL_AURA_MOD_IGNORE_SHAPESHIFT Use SpellClassMask for spell select
|
||||||
|
|||||||
Reference in New Issue
Block a user