From 299d4da380ce23229384c0887369b9f8dbcb32cc Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Sun, 21 May 2023 09:01:09 +0800 Subject: [PATCH] 1 --- server/gameserver/human.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/server/gameserver/human.cc b/server/gameserver/human.cc index eb7fcd81..90b5ec0c 100644 --- a/server/gameserver/human.cc +++ b/server/gameserver/human.cc @@ -2831,6 +2831,7 @@ void Human::DropWeapon(int weapon_idx, int num) return; } bool is_curr_weapon = weapon_idx == GetCurrWeapon()->weapon_idx; + int stack_num = is_curr_weapon ? GetCompose()->GetNum() : 0; bool drop_ok = false; Weapon* weapon = &weapons[weapon_idx]; int weapon_id = weapon->weapon_id; @@ -2992,7 +2993,7 @@ void Human::DropWeapon(int weapon_idx, int num) weapon_idx == GUN_SLOT0 || weapon_idx == GUN_SLOT1 || weapon_idx == GUN_SLOT2) { - int drop_num = 1; + int drop_num = std::max(1, stack_num); for (int i = 0; i < drop_num; ++i) { glm::vec3 dir = GlmHelper::UP; GlmHelper::RotateY(dir, a8::RandAngle());