From 801e8335911fcee2ec36d854916b4bb56ad9bd60 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Fri, 28 Apr 2023 16:12:13 +0800 Subject: [PATCH] 1 --- server/gameserver/human.cc | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/server/gameserver/human.cc b/server/gameserver/human.cc index 4840b86f..24ed1504 100644 --- a/server/gameserver/human.cc +++ b/server/gameserver/human.cc @@ -2581,6 +2581,7 @@ void Human::ProcLootWeapon(AddItemDTO& dto) if (FreezeOperate()) { return; } + bool droped = false; if (weapons[GUN_SLOT1].weapon_id != 0 && weapons[GUN_SLOT2].weapon_id != 0) { if (GetCurrWeapon() == &weapons[GUN_SLOT1]) { if (mt::Param::s().pickup_weapon_replace_type) { @@ -2595,6 +2596,7 @@ void Human::ProcLootWeapon(AddItemDTO& dto) DropWeapon(GUN_SLOT2, 1); } } + droped = true; } bool switch_gun = false; Weapon* weapon = TakeonWeapon(dto.item_meta); @@ -2606,6 +2608,9 @@ void Human::ProcLootWeapon(AddItemDTO& dto) if (!weapon) { return; } + if (droped && !mt::Param::s().pickup_weapon_replace_type) { + switch_gun = true; + } weapon->weapon_id = dto.item_id; weapon->meta = dto.item_meta; weapon->ammo = 0;