diff --git a/server/gameserver/player.cc b/server/gameserver/player.cc index 9a019c3..839d930 100644 --- a/server/gameserver/player.cc +++ b/server/gameserver/player.cc @@ -1699,6 +1699,13 @@ void Player::UpdateAiming() void Player::CheckShotHoldState(Weapon* weapon) { if (weapon->meta->buff_meta && weapon->meta->buff_meta->i->trigger_type() == kBTT_SeriesShot) { + if (GetCurrWeapon()->weapon_idx != 0 && + GetCurrWeapon()->ammo <= 0) { + if (shot_hold_timer) { + room->xtimer.DeleteTimer(shot_hold_timer); + } + return; + } if (shot_hold_timer) { if (weapon->meta->buff_meta->i->buff_id() != room->xtimer.MutableParams(shot_hold_timer)->param1.GetInt()) {