From 5330cd983c1984d77b7e050f92302d5696860fd3 Mon Sep 17 00:00:00 2001 From: UltraNix <80540499+UltraNix@users.noreply.github.com> Date: Sun, 13 Jun 2021 19:27:36 +0200 Subject: [PATCH] =?UTF-8?q?fix(Core/Player):=20Players=20are=20allowed=20t?= =?UTF-8?q?o=20continue=20melee=20attacking=20on=20=E2=80=A6=20(#6267)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Closes #6248. - Closes #5734 - Closes chromiecraft/chromiecraft#795 --- src/server/game/Entities/Player/Player.cpp | 3 --- src/server/game/Entities/Unit/Unit.cpp | 7 ++++--- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index b0e1ba146..d86a5166d 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -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) diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index 982bbc1ea..6b233af72 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -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; }