This commit is contained in:
aozhiwei 2022-11-21 12:56:55 +08:00
parent 2e343bd9fa
commit 23a7d85ff4

View File

@ -4401,11 +4401,7 @@ void Human::DropWeapon(int weapon_idx, int num)
break;
}
if (drop_ok) {
{
a8::Vec2 dir = a8::Vec2::UP;
dir.Rotate(a8::RandAngle());
room->CreateLoot(weapon_id, GetPos() + dir * (40 + rand() % 50), 1, 1);
}
bool create_loot = true;
if (weapon_ammo > 0) {
MetaData::Equip* bullet_meta = MetaMgr::Instance()->GetEquip(weapon_meta->i->use_bullet());
if (bullet_meta && bullet_meta->i->_inventory_slot() > 0) {
@ -4425,13 +4421,26 @@ void Human::DropWeapon(int weapon_idx, int num)
a8::Vec2 drop_dir = a8::Vec2::UP;
drop_dir.Rotate(a8::RandAngle());
a8::Vec2 drop_pos = GetPos() + drop_dir * (25 + rand() % 50);
#if 1
{
room->DropItem(drop_pos, bullet_meta->i->id(), drop_num, 1);
create_loot = false;
}
#else
if (bullet_meta->i->_inventory_slot() == IS_FRAG ||
bullet_meta->i->_inventory_slot() == IS_SMOKE) {
//只有手雷和烟雾弹会掉落
room->DropItem(drop_pos, bullet_meta->i->id(), drop_num, 1);
create_loot = false;
}
#endif
}
}
}
if (create_loot) {
a8::Vec2 dir = a8::Vec2::UP;
dir.Rotate(a8::RandAngle());
room->CreateLoot(weapon_id, GetPos() + dir * (40 + rand() % 50), 1, 1);
}
MarkSyncActivePlayer(__FILE__, __LINE__, __func__);
SyncAroundPlayers(__FILE__, __LINE__, __func__);