mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-21 09:44:45 +01:00
Correct behavior of Add Extra Attact spelleffect.
Correctly send attack gain in spell log. Attack right after processing effect Ignore effect if target not in melee range/angle --HG-- branch : trunk
This commit is contained in:
@@ -2378,24 +2378,10 @@ void Unit::AttackerStateUpdate (Unit *pVictim, WeaponAttackType attType, bool ex
|
||||
else
|
||||
return; // ignore ranged case
|
||||
|
||||
uint32 extraAttacks = m_extraAttacks;
|
||||
|
||||
// melee attack spell casted at main hand attack only
|
||||
if (attType == BASE_ATTACK && m_currentSpells[CURRENT_MELEE_SPELL])
|
||||
{
|
||||
m_currentSpells[CURRENT_MELEE_SPELL]->cast();
|
||||
|
||||
// not recent extra attack only at any non extra attack (melee spell case)
|
||||
if(!extra && extraAttacks)
|
||||
{
|
||||
while(m_extraAttacks)
|
||||
{
|
||||
AttackerStateUpdate(pVictim, BASE_ATTACK, true);
|
||||
if(m_extraAttacks > 0)
|
||||
--m_extraAttacks;
|
||||
}
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -2413,16 +2399,6 @@ void Unit::AttackerStateUpdate (Unit *pVictim, WeaponAttackType attType, bool ex
|
||||
DEBUG_LOG("AttackerStateUpdate: (NPC) %u attacked %u (TypeId: %u) for %u dmg, absorbed %u, blocked %u, resisted %u.",
|
||||
GetGUIDLow(), pVictim->GetGUIDLow(), pVictim->GetTypeId(), damageInfo.damage, damageInfo.absorb, damageInfo.blocked_amount, damageInfo.resist);
|
||||
|
||||
// extra attack only at any non extra attack (normal case)
|
||||
if(!extra && extraAttacks)
|
||||
{
|
||||
while(m_extraAttacks)
|
||||
{
|
||||
AttackerStateUpdate(pVictim, BASE_ATTACK, true);
|
||||
if(m_extraAttacks > 0)
|
||||
--m_extraAttacks;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
Reference in New Issue
Block a user