修复死亡掉落问题
This commit is contained in:
parent
d90acdb4d0
commit
18d3baff83
@ -2294,12 +2294,16 @@ void Human::DeadDrop()
|
|||||||
!HasBuffEffect(kBET_Terminator) &&
|
!HasBuffEffect(kBET_Terminator) &&
|
||||||
!(HasBuffEffect(kBET_Become) && GetBuffByEffectId(kBET_Become)->FreezeOperate())) {
|
!(HasBuffEffect(kBET_Become) && GetBuffByEffectId(kBET_Become)->FreezeOperate())) {
|
||||||
for (auto& weapon : weapons) {
|
for (auto& weapon : weapons) {
|
||||||
if (weapon.weapon_id != 0 && weapon.weapon_id != default_weapon.weapon_id) {
|
if (weapon.weapon_id != 0 &&
|
||||||
|
weapon.weapon_id != default_weapon.weapon_id
|
||||||
|
) {
|
||||||
a8::Vec2 drop_pos = GetPos();
|
a8::Vec2 drop_pos = GetPos();
|
||||||
room->DropItem(drop_pos, weapon.weapon_id, 1, weapon.weapon_lv);
|
room->DropItem(drop_pos, weapon.weapon_id, 1, weapon.weapon_lv);
|
||||||
|
weapon.Clear();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
|
weapons[0] = default_weapon;
|
||||||
SetCurrWeapon(&weapons[0]);
|
SetCurrWeapon(&weapons[0]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2352,9 +2356,14 @@ void Human::DeadDrop()
|
|||||||
switch (equip_meta->i->_inventory_slot()) {
|
switch (equip_meta->i->_inventory_slot()) {
|
||||||
case IS_FRAG:
|
case IS_FRAG:
|
||||||
case IS_SMOKE:
|
case IS_SMOKE:
|
||||||
|
case IS_POSION_GAS_BOMB:
|
||||||
|
case IS_MOLOTOR_COCKTAIL:
|
||||||
|
case IS_TRAP:
|
||||||
|
case IS_MINE:
|
||||||
{
|
{
|
||||||
a8::Vec2 drop_pos = GetPos();
|
a8::Vec2 drop_pos = GetPos();
|
||||||
room->DropItem(drop_pos, equip_meta->i->id(), GetInventoryData()[slot], 1);
|
room->DropItem(drop_pos, equip_meta->i->id(), GetInventoryData()[slot], 1);
|
||||||
|
DecInventory(slot, GetInventoryData()[slot]);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
@ -2367,6 +2376,7 @@ void Human::DeadDrop()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
need_sync_active_player = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Human::SendBattleReport()
|
void Human::SendBattleReport()
|
||||||
|
@ -4,6 +4,16 @@
|
|||||||
|
|
||||||
#include "metamgr.h"
|
#include "metamgr.h"
|
||||||
|
|
||||||
|
void Weapon::Clear()
|
||||||
|
{
|
||||||
|
weapon_id = 0;
|
||||||
|
weapon_lv = 0;
|
||||||
|
ammo = 0;
|
||||||
|
meta = 0;
|
||||||
|
bullet_meta = nullptr;
|
||||||
|
upgrade_meta = nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
void Weapon::ToPB(cs::MFWeapon* pb_obj)
|
void Weapon::ToPB(cs::MFWeapon* pb_obj)
|
||||||
{
|
{
|
||||||
pb_obj->set_weapon_id(weapon_id);
|
pb_obj->set_weapon_id(weapon_id);
|
||||||
|
@ -41,6 +41,7 @@ struct Weapon
|
|||||||
MetaData::Equip* meta = nullptr;
|
MetaData::Equip* meta = nullptr;
|
||||||
MetaData::Equip* bullet_meta = nullptr;
|
MetaData::Equip* bullet_meta = nullptr;
|
||||||
|
|
||||||
|
void Clear();
|
||||||
void ToPB(cs::MFWeapon* pb_obj);
|
void ToPB(cs::MFWeapon* pb_obj);
|
||||||
void Recalc();
|
void Recalc();
|
||||||
int GetClipVolume();
|
int GetClipVolume();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user