This commit is contained in:
aozhiwei 2021-04-28 14:29:30 +08:00
parent c624a5af94
commit 6aeda0b548
3 changed files with 27 additions and 10 deletions

View File

@ -178,20 +178,23 @@ void Buff::ProcBecome(Creature* caster)
int weapon_id = a8::XValue(strings[i]);
MetaData::Equip* weapon_meta = MetaMgr::Instance()->GetEquip(weapon_id);
if (weapon_meta && i < caster->weapons.size()) {
Weapon* weapon = &caster->weapons[i];
hold_weapons_.push_back(*weapon);
int weapon_idx = weapon_meta->GetWeaponIdx();
if (weapon_idx >= 0 && weapon_idx < caster->weapons.size()) {
Weapon* weapon = &caster->weapons[weapon_idx];
hold_weapons_.push_back(*weapon);
weapon->weapon_id = weapon_meta->i->id();
weapon->weapon_lv = 1;
weapon->meta = weapon_meta;
weapon->Recalc();
weapon->weapon_id = weapon_meta->i->id();
weapon->weapon_lv = 1;
weapon->meta = weapon_meta;
weapon->Recalc();
#if 1
weapon->ammo = 10000000;
weapon->ammo = 10000000;
#else
weapon->ammo = weapon->GetClipVolume();
weapon->ammo = weapon->GetClipVolume();
#endif
if (i == 0) {
caster->SetCurrWeapon(weapon);
if (i == 0) {
caster->SetCurrWeapon(weapon);
}
}
}
}

View File

@ -162,6 +162,19 @@ namespace MetaData
}
}
int Equip::GetWeaponIdx()
{
int weapon_idx = -1;
if (i->equip_type() == EQUIP_TYPE_WEAPON) {
if (i->equip_subtype() == 1) {
return 0;
} else {
return GUN_SLOT1;
}
}
return weapon_idx;
}
void EquipUpgrade::Init()
{
const int MAX_LV = 20;

View File

@ -69,6 +69,7 @@ namespace MetaData
float float_param2 = 0;
void Init();
int GetWeaponIdx();
};
struct EquipUpgrade