From 67465bc5650ed0bdec6720fb8e79e804b04b5e7f Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Mon, 27 Mar 2023 18:23:23 +0800 Subject: [PATCH] 1 --- server/gameserver/pbutils.cc | 10 ++++++++-- server/gameserver/weapon.h | 1 + 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/server/gameserver/pbutils.cc b/server/gameserver/pbutils.cc index 59211603..5b9daf49 100644 --- a/server/gameserver/pbutils.cc +++ b/server/gameserver/pbutils.cc @@ -284,12 +284,18 @@ void Weapon::ToPB(Creature* c, cs::MFWeapon* pb_obj) { pb_obj->set_weapon_uniid(a8::XValue(weapon_uniid).GetString()); pb_obj->set_weapon_id(weapon_id); - pb_obj->set_weapon_lv(1); + if (weapon_uniid && weapon_lv == 0) { + long long p_weapon_uniid = 0; + int p_weapon_lv = 1; + int p_quality = 1; + c->GetBattleContext()->GetWeaponLvQuality(p_weapon_uniid, p_weapon_lv, p_quality); + weapon_lv = p_weapon_lv; + } + pb_obj->set_weapon_lv(std::max(1, weapon_lv)); pb_obj->set_ammo(ammo); pb_obj->set_volume(GetClipVolume(c)); } - void Buff::FillMFBuff(cs::MFBuff* buff_pb) { buff_pb->set_buff_id(meta->buff_id()); diff --git a/server/gameserver/weapon.h b/server/gameserver/weapon.h index 1b9656ae..1d0fceec 100644 --- a/server/gameserver/weapon.h +++ b/server/gameserver/weapon.h @@ -13,6 +13,7 @@ class Weapon long long weapon_uniid = 0; int weapon_idx = 0; int weapon_id = 0; + int weapon_lv = 0; int ammo = 0; const mt::Equip* meta = nullptr; const mt::Equip* bullet_meta = nullptr;