diff --git a/server/gameserver/human.cc b/server/gameserver/human.cc index fee0ac6..46f701a 100644 --- a/server/gameserver/human.cc +++ b/server/gameserver/human.cc @@ -2925,6 +2925,11 @@ void Human::OnBuffRemove(Buff& buff) camouflage_aiming_addition_ = std::max(camouflage_aiming_addition_, 0); } break; + case kBET_Sprint: + { + last_shot_frameno_ = room->GetFrameNo() + SERVER_FRAME_RATE; + } + break; default: { } diff --git a/server/gameserver/player.cc b/server/gameserver/player.cc index 43592d8..add546e 100644 --- a/server/gameserver/player.cc +++ b/server/gameserver/player.cc @@ -221,9 +221,15 @@ void Player::UpdateShot() return; } if (HasBuffEffect(kBET_Vertigo) && !HasBuffEffect(kBET_AutoShot)) { + shot_start = false; + shot_hold = false; + series_shot_frames = 0; return; } if (HasBuffEffect(kBET_Sprint)) { + shot_start = false; + shot_hold = false; + series_shot_frames = 0; return; } Weapon* p_weapon = GetCurrWeapon();