diff --git a/server/gameserver/player.cc b/server/gameserver/player.cc index f5534bc..4256910 100644 --- a/server/gameserver/player.cc +++ b/server/gameserver/player.cc @@ -220,7 +220,11 @@ void Player::UpdateShot() ) { Shot(); } +#if 1 + if (room->GetFrameNo() - last_cmmove_frameno >= 4) { +#else if (series_shot_frames > 8) { +#endif shot_hold = false; series_shot_frames = 0; } @@ -995,6 +999,7 @@ void Player::_CMReconnect(f8::MsgHdr& hdr, const cs::CMReconnect& msg) void Player::_CMMove(f8::MsgHdr& hdr, const cs::CMMove& msg) { + last_cmmove_frameno_ = room->GetFrameNo(); moving = false; if (msg.has_move_dir()) { if (std::abs(msg.move_dir().x()) > FLT_EPSILON || diff --git a/server/gameserver/player.h b/server/gameserver/player.h index ac2f96d..0187d5d 100644 --- a/server/gameserver/player.h +++ b/server/gameserver/player.h @@ -130,6 +130,7 @@ private: private: std::map>> box_hash_; std::set receved_box_hash_; + long long last_cmmove_frameno_ = 0; friend class EntityFactory; };