From c9a56f73f55efe8f0f5b96ec01d2b625e0d00948 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Fri, 17 Nov 2023 17:55:47 +0800 Subject: [PATCH] 1 --- server/gameserver/hero_agent.cc | 4 ++++ server/gameserver/hero_agent.h | 1 + 2 files changed, 5 insertions(+) diff --git a/server/gameserver/hero_agent.cc b/server/gameserver/hero_agent.cc index 0039ecf7..1a037cf0 100644 --- a/server/gameserver/hero_agent.cc +++ b/server/gameserver/hero_agent.cc @@ -1466,6 +1466,9 @@ bool HeroAgent::CanThrowItem(int slot) if (owner_->IsCar()) { return false; } + if (owner_->room->GetFrameNo() - last_throw_item_frameno_ < SERVER_FRAME_RATE * 5) { + return false; + } if (owner_->HasBuffEffect(kBET_Jump) || owner_->HasBuffEffect(kBET_Fly)) { return false; @@ -1550,6 +1553,7 @@ behaviac::EBTStatus HeroAgent::ThrowItem(int slot) bomb_dir, fly_distance, 0); + last_throw_item_frameno_ = owner_->room->GetFrameNo(); return behaviac::BT_SUCCESS; } } diff --git a/server/gameserver/hero_agent.h b/server/gameserver/hero_agent.h index 986f5fa5..00245058 100644 --- a/server/gameserver/hero_agent.h +++ b/server/gameserver/hero_agent.h @@ -176,5 +176,6 @@ private: int bullet_angle_offset_min_ = 0; int bullet_angle_offset_max_ = 0; long long last_try_search_enemy_frameno_ = 0; + long long last_throw_item_frameno_ = 0; std::map abandon_pickup_hash_; };