fix(Core/Player): Players are allowed to continue melee attacking on … (#6267)

- Closes #6248.
- Closes #5734
- Closes chromiecraft/chromiecraft#795
This commit is contained in:
UltraNix
2021-06-13 19:27:36 +02:00
committed by GitHub
parent 6961b9175e
commit 5330cd983c
2 changed files with 4 additions and 6 deletions

View File

@@ -21113,9 +21113,6 @@ void Player::SendAutoRepeatCancel(Unit* target)
WorldPacket data(SMSG_CANCEL_AUTO_REPEAT, target->GetPackGUID().size());
data << target->GetPackGUID(); // may be it's target guid
SendMessageToSet(&data, true);
// To properly cancel autoshot done by client
SendAttackSwingCancelAttack();
}
void Player::SendExplorationExperience(uint32 Area, uint32 Experience)

View File

@@ -3376,10 +3376,11 @@ void Unit::_UpdateAutoRepeatSpell()
static uint32 const HUNTER_AUTOSHOOT = 75;
// Check "realtime" interrupts
if ((GetTypeId() == TYPEID_PLAYER && ToPlayer()->isMoving() && spellProto->Id != HUNTER_AUTOSHOOT) ||
IsNonMeleeSpellCast(false, false, true, spellProto->Id == HUNTER_AUTOSHOOT))
if ((GetTypeId() == TYPEID_PLAYER && ToPlayer()->isMoving() && spellProto->Id != HUNTER_AUTOSHOOT) || IsNonMeleeSpellCast(false, false, true, spellProto->Id == HUNTER_AUTOSHOOT))
{
InterruptSpell(CURRENT_AUTOREPEAT_SPELL);
// cancel wand shoot
if (spellProto->Id != HUNTER_AUTOSHOOT)
InterruptSpell(CURRENT_AUTOREPEAT_SPELL);
m_AutoRepeatFirstCast = true;
return;
}