1
This commit is contained in:
parent
02685a76bc
commit
59921a6bb4
@ -16,6 +16,7 @@ Human::Human()
|
||||
default_weapon.weapon_idx = 0;
|
||||
default_weapon.weapon_id = 12101;
|
||||
default_weapon.weapon_lv = 1;
|
||||
default_weapon.ammo = 1;
|
||||
default_weapon.meta = MetaMgr::Instance()->GetEquip(default_weapon.weapon_id);
|
||||
weapons.reserve(MAX_WEAPON_NUM);
|
||||
for (size_t i = 0; i < MAX_WEAPON_NUM; ++i) {
|
||||
|
@ -309,6 +309,7 @@ void Player::Shot()
|
||||
//手雷
|
||||
if (inventory[slot_id] > 0) {
|
||||
--inventory[slot_id];
|
||||
++curr_weapon->ammo;
|
||||
} else {
|
||||
int weapon_idx = curr_weapon->weapon_idx;
|
||||
*curr_weapon = Weapon();
|
||||
@ -329,6 +330,7 @@ void Player::Shot()
|
||||
//烟雾弹
|
||||
if (inventory[slot_id] > 0) {
|
||||
--inventory[slot_id];
|
||||
++curr_weapon->ammo;
|
||||
} else {
|
||||
int weapon_idx = curr_weapon->weapon_idx;
|
||||
*curr_weapon = Weapon();
|
||||
@ -473,7 +475,7 @@ void Player::LootInteraction(Loot* entity)
|
||||
if (weapon->weapon_id == 0) {
|
||||
weapon->weapon_id = entity->item_id;
|
||||
weapon->weapon_lv = 1;
|
||||
weapon->ammo = entity->count;
|
||||
weapon->ammo += entity->count;
|
||||
weapon->meta = item_meta;
|
||||
inventory[item_meta->i->_inventory_slot()] -= entity->count;
|
||||
}
|
||||
@ -606,6 +608,7 @@ void Player::UpdateDropWeapon()
|
||||
bool drop_ok = false;
|
||||
Weapon* weapon = &weapons[drop_weapon_idx];
|
||||
int weapon_id = weapon->weapon_id;
|
||||
int weapon_ammo = weapon->ammo;
|
||||
if (weapon->weapon_id != 0) {
|
||||
if (weapon->weapon_idx == 0) {
|
||||
if (weapon->weapon_id != default_weapon.weapon_id) {
|
||||
@ -676,7 +679,7 @@ void Player::UpdateDropWeapon()
|
||||
entity->pos = pos + dir * (25 + rand() % 50);
|
||||
}
|
||||
entity->item_id = weapon_id;
|
||||
entity->count = 1;
|
||||
entity->count = std::max(1, weapon_ammo);
|
||||
entity->Initialize();
|
||||
room->uniid_hash_[entity->entity_uniid] = entity;
|
||||
for (auto& pair : room->human_hash_) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user