This commit is contained in:
aozhiwei 2019-04-08 16:19:24 +08:00
parent 02685a76bc
commit 59921a6bb4
2 changed files with 6 additions and 2 deletions

View File

@ -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) {

View File

@ -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_) {