diff --git a/server/gameserver/playermgr.cc b/server/gameserver/playermgr.cc index bca04e35..8612d427 100644 --- a/server/gameserver/playermgr.cc +++ b/server/gameserver/playermgr.cc @@ -87,17 +87,18 @@ Player* PlayerMgr::CreatePlayerByCMJoin(Player* hum, hum->sex = msg.sex(); hum->user_data = msg.user_data(); for (auto& weapon : msg.weapons()) { - if (weapon.weapon_id() != 0 && weapon.weapon_lv() > 0) { + if (weapon.weapon_id() != 0) { + int weapon_lv = weapon.weapon_lv() > 0 ? weapon.weapon_lv() : 0; MetaData::Item* item_meta = MetaMgr::Instance()->GetItem(weapon.weapon_id()); if (item_meta && item_meta->i->type() == 7) { MetaData::Equip* equip_meta = MetaMgr::Instance()->GetEquip(item_meta->i->relationship()); if (equip_meta && equip_meta->i->equip_type() == EQUIP_TYPE_WEAPON) { - hum->weapon_configs[weapon.weapon_id()] = weapon.weapon_lv(); + hum->weapon_configs[weapon.weapon_id()] = weapon_lv; Weapon& spec_weapon = a8::FastAppend(hum->spec_weapons); spec_weapon.weapon_uniid = weapon.weapon_uniid(); //spec_weapon.weapon_id = weapon.weapon_id(); spec_weapon.weapon_id = item_meta->i->relationship(); - spec_weapon.weapon_lv = weapon.weapon_lv(); + spec_weapon.weapon_lv = weapon_lv; spec_weapon.ammo = weapon.ammo(); spec_weapon.meta = equip_meta; spec_weapon.Recalc();