From 3e86e734f5ce3a271c8a126b0b5c6275a1de17ca Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Mon, 1 Jul 2019 14:24:43 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=89=8B=E9=9B=B7=E7=83=9F?= =?UTF-8?q?=E9=9B=BE=E5=BC=B9=E4=B8=A2=E5=BC=83=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/gameserver/player.cc | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/server/gameserver/player.cc b/server/gameserver/player.cc index 5d0470a..4b74c1d 100644 --- a/server/gameserver/player.cc +++ b/server/gameserver/player.cc @@ -961,11 +961,13 @@ void Player::UpdateDropWeapon() if (drop_ok) { if (drop_weapon_idx == 0 || drop_weapon_idx == GUN_SLOT1 || - drop_weapon_idx == GUN_SLOT2 + drop_weapon_idx == GUN_SLOT2 || + drop_weapon_idx == FRAG_SLOT || + drop_weapon_idx == SMOKE_SLOT ) { a8::Vec2 dir = a8::Vec2::UP; dir.Rotate(a8::RandAngle()); - room->CreateLoot(weapon_id, pos + dir * (25 + rand() % 50), 1, weapon_lv); + room->CreateLoot(weapon_id, pos + dir * (40 + rand() % 50), 1, weapon_lv); } if (weapon_ammo > 0) { MetaData::Equip* bullet_meta = MetaMgr::Instance()->GetEquip(weapon_meta->i->use_bullet()); @@ -973,7 +975,8 @@ void Player::UpdateDropWeapon() int volume = GetVolume(bullet_meta->i->_inventory_slot()); int inventory = GetInventory(bullet_meta->i->_inventory_slot()); int add_inventory = std::min(weapon_ammo, volume - std::min(volume, inventory)); - if (add_inventory > 0) { + if (add_inventory > 0 && + !(drop_weapon_idx == FRAG_SLOT || drop_weapon_idx == SMOKE_SLOT)) { AddInventory(bullet_meta->i->_inventory_slot(), add_inventory); } int drop_num = weapon_ammo - add_inventory;