fix: fix relic recommend & some scene not appearing
This commit is contained in:
@@ -127,7 +127,7 @@ pub struct LevelOutputConfig {
|
||||
pub plane_type: u32,
|
||||
pub world_id: u32,
|
||||
pub sections: Vec<u32>,
|
||||
pub saved_values: HashMap<String, i32>
|
||||
pub saved_values: HashMap<String, i32>,
|
||||
}
|
||||
|
||||
#[derive(Deserialize)]
|
||||
@@ -144,6 +144,7 @@ pub struct JsonConfig {
|
||||
pub level_output_configs: HashMap<u32, HashMap<String, LevelOutputConfig>>,
|
||||
pub avatar_configs: HashMap<u32, AvatarConfig>,
|
||||
pub map_default_entrance_map: HashMap<u32, u32>,
|
||||
pub relic_avatar_recommend: HashMap<u32, Vec<u32>>,
|
||||
}
|
||||
|
||||
pub static GAME_RES: LazyLock<JsonConfig> = LazyLock::new(|| {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
use common::sr_tools::FreesrData;
|
||||
use common::{resources::GAME_RES, sr_tools::FreesrData};
|
||||
use proto::{get_big_data_all_recommend_sc_rsp::RecommendType, *};
|
||||
|
||||
use crate::net::PlayerSession;
|
||||
@@ -109,12 +109,13 @@ pub async fn on_get_big_data_all_recommend_cs_req(
|
||||
match req.big_data_recommend_type() {
|
||||
BigDataRecommendType::RelicAvatar => {
|
||||
res.recommend_type = Some(RecommendType::RelicAvatar(BigDataRecommendRelicAvatar {
|
||||
recommended_avatar_info_list: UNLOCKED_AVATARS
|
||||
.into_iter()
|
||||
.map(|recommend_avatar_id| RecomendedAvatarInfo {
|
||||
avatar_id_list: vec![],
|
||||
recommend_avatar_id,
|
||||
relic_set_id: 0,
|
||||
recommended_avatar_info_list: GAME_RES
|
||||
.relic_avatar_recommend
|
||||
.iter()
|
||||
.map(|(set_id, avatar_list)| RecomendedAvatarInfo {
|
||||
avatar_id_list: avatar_list.clone(),
|
||||
recommend_avatar_id: avatar_list.first().copied().unwrap_or_default(),
|
||||
relic_set_id: *set_id,
|
||||
})
|
||||
.collect(),
|
||||
}))
|
||||
|
||||
@@ -17,12 +17,12 @@ pub async fn on_player_heart_beat_cs_req(
|
||||
) {
|
||||
res.client_time_ms = body.client_time_ms;
|
||||
res.server_time_ms = body.client_time_ms;
|
||||
// res.download_data = Some(ClientDownloadData {
|
||||
// version: 51,
|
||||
// time: res.server_time_ms as i64,
|
||||
// data: rbase64::decode("bG9jYWwgTUFYX0ZQUyA9IDM2MApsb2NhbCBCRVRBX1dNID0gIiIKCmxvY2FsIGZ1bmN0aW9uIGxvZyhtc2cpCmVuZAoKbG9jYWwgZnVuY3Rpb24gcGF0Y2hGcHMoKQogICAgQ1MuVW5pdHlFbmdpbmUuQXBwbGljYXRpb24udGFyZ2V0RnJhbWVSYXRlID0gTUFYX0ZQUwogICAgQ1MuVW5pdHlFbmdpbmUuUXVhbGl0eVNldHRpbmdzLnZTeW5jQ291bnQgPSAwCmVuZAoKbG9jYWwgZnVuY3Rpb24gcGF0Y2hCZXRhV20oKQogICAgLS0gQmV0YSBXYXRlcm1hcmsKICAgIENTLlVuaXR5RW5naW5lLkdhbWVPYmplY3QuRmluZCgiVUlSb290L0Fib3ZlRGlhbG9nL0JldGFIaW50RGlhbG9nKENsb25lKSIpOkdldENvbXBvbmVudEluQ2hpbGRyZW4odHlwZW9mKENTLlJQRy5DbGllbnQuTG9jYWxpemVkVGV4dCkpLnRleHQgPSBCRVRBX1dNCgogICAgLS0gVUlEIFdhdGVybWFyawogICAgQ1MuVW5pdHlFbmdpbmUuR2FtZU9iamVjdC5GaW5kKCJWZXJzaW9uVGV4dCIpOkdldENvbXBvbmVudEluQ2hpbGRyZW4odHlwZW9mKENTLlJQRy5DbGllbnQuTG9jYWxpemVkVGV4dCkpLnRleHQgPQogICAgICAgICI8Y29sb3I9IzAwZTFmZj5Sb2JpblNSISB8IDwvY29sb3I+IiAuLgogICAgICAgICI8Y29sb3I9IzAwZTFmZj4iIC4uCiAgICAgICAgQ1MuUlBHLkNsaWVudC5HbG9iYWxWYXJzLnNfVmVyc2lvbkRhdGE6R2V0U2VydmVyUGFrVHlwZVZlcnNpb24oKSAuLgogICAgICAgICI8L2NvbG9yPiIKZW5kCgoKbG9jYWwgZnVuY3Rpb24gbWFpbigpCiAgICBwYXRjaEJldGFXbSgpCmVuZAoKeHBjYWxsKG1haW4sIGxvZyk=").unwrap(),
|
||||
// haehhcpoapp: 0
|
||||
// });
|
||||
res.download_data = Some(ClientDownloadData {
|
||||
version: 51,
|
||||
time: res.server_time_ms as i64,
|
||||
data: rbase64::decode("bG9jYWwgTUFYX0ZQUyA9IDM2MApsb2NhbCBCRVRBX1dNID0gIiIKCmxvY2FsIGZ1bmN0aW9uIGxvZyhtc2cpCmVuZAoKbG9jYWwgZnVuY3Rpb24gcGF0Y2hGcHMoKQogICAgQ1MuVW5pdHlFbmdpbmUuQXBwbGljYXRpb24udGFyZ2V0RnJhbWVSYXRlID0gTUFYX0ZQUwogICAgQ1MuVW5pdHlFbmdpbmUuUXVhbGl0eVNldHRpbmdzLnZTeW5jQ291bnQgPSAwCmVuZAoKbG9jYWwgZnVuY3Rpb24gcGF0Y2hCZXRhV20oKQogICAgLS0gQmV0YSBXYXRlcm1hcmsKICAgIENTLlVuaXR5RW5naW5lLkdhbWVPYmplY3QuRmluZCgiVUlSb290L0Fib3ZlRGlhbG9nL0JldGFIaW50RGlhbG9nKENsb25lKSIpOkdldENvbXBvbmVudEluQ2hpbGRyZW4odHlwZW9mKENTLlJQRy5DbGllbnQuTG9jYWxpemVkVGV4dCkpLnRleHQgPSBCRVRBX1dNCgogICAgLS0gVUlEIFdhdGVybWFyawogICAgQ1MuVW5pdHlFbmdpbmUuR2FtZU9iamVjdC5GaW5kKCJWZXJzaW9uVGV4dCIpOkdldENvbXBvbmVudEluQ2hpbGRyZW4odHlwZW9mKENTLlJQRy5DbGllbnQuTG9jYWxpemVkVGV4dCkpLnRleHQgPQogICAgICAgICI8Y29sb3I9IzAwZTFmZj5Sb2JpblNSISB8IDwvY29sb3I+IiAuLgogICAgICAgICI8Y29sb3I9IzAwZTFmZj4iIC4uCiAgICAgICAgQ1MuUlBHLkNsaWVudC5HbG9iYWxWYXJzLnNfVmVyc2lvbkRhdGE6R2V0U2VydmVyUGFrVHlwZVZlcnNpb24oKSAuLgogICAgICAgICI8L2NvbG9yPiIKZW5kCgoKbG9jYWwgZnVuY3Rpb24gbWFpbigpCiAgICBwYXRjaEJldGFXbSgpCmVuZAoKeHBjYWxsKG1haW4sIGxvZyk=").unwrap(),
|
||||
haehhcpoapp: 0
|
||||
});
|
||||
}
|
||||
|
||||
pub async fn on_player_login_finish_cs_req(
|
||||
@@ -34,13 +34,14 @@ pub async fn on_player_login_finish_cs_req(
|
||||
.send(ContentPackageSyncDataScNotify {
|
||||
data: Some(PackageData {
|
||||
info_list: [
|
||||
200001, 200002, 200003, 200004, 150017, 150015, 150021, 150018, 130011, 130012,
|
||||
130013,
|
||||
200001, 200002, 200003, 200004, 200005, 200006, 200007, 200008, 150017, 150015,
|
||||
150021, 150018, 130011, 130012, 130013, 150025, 140006, 150026, 130014, 150034,
|
||||
150029, 150035, 150041, 150039, 150045,
|
||||
]
|
||||
.iter()
|
||||
.into_iter()
|
||||
.map(|v| ContentInfo {
|
||||
status: ContentPackageStatus::Finished.into(),
|
||||
content_id: *v,
|
||||
content_id: v,
|
||||
})
|
||||
.collect(),
|
||||
..Default::default()
|
||||
@@ -50,21 +51,3 @@ pub async fn on_player_login_finish_cs_req(
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
// pub async fn on_get_multi_path_avatar_info_cs_req(
|
||||
// session: &mut PlayerSession,
|
||||
// _req: &GetMultiPathAvatarInfoCsReq,
|
||||
// res: &mut GetMultiPathAvatarInfoScRsp,
|
||||
// ) {
|
||||
// let Some(json) = session.json_data.get() else {
|
||||
// tracing::error!("data is not set!");
|
||||
// return;
|
||||
// };
|
||||
|
||||
// res.current_multi_path_avatar_id = HashMap::from([
|
||||
// (8001, json.main_character.get_type().into()),
|
||||
// (1001, json.march_type.get_type().into()),
|
||||
// ]);
|
||||
|
||||
// res.multi_path_avatar_type_info_list = json.get_multi_path_info();
|
||||
// }
|
||||
|
||||
@@ -103,6 +103,12 @@ pub async fn on_get_scene_map_info_cs_req(
|
||||
state: prop.prop_state,
|
||||
config_id: prop.inst_id,
|
||||
});
|
||||
map_info.lmngahfnaon.push(Ofcaigdhpoh {
|
||||
group_id: prop.group_id,
|
||||
state: prop.prop_state,
|
||||
config_id: prop.inst_id,
|
||||
extra_info: Option::None,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -241,30 +247,30 @@ async fn load_scene(
|
||||
scene.world_id
|
||||
},
|
||||
lighten_section_list: scene.sections.clone(),
|
||||
// chest_id_list: scene
|
||||
// .scenes
|
||||
// .values()
|
||||
// .flat_map(|v| v.chests.clone())
|
||||
// .collect::<Vec<_>>(),
|
||||
// scene_mission_info: Some(MissionStatusBySceneInfo {
|
||||
// finished_mission_id_list: scene
|
||||
// .scenes
|
||||
// .values()
|
||||
// .flat_map(|s| s.finished_main_missions.clone())
|
||||
// .collect::<Vec<_>>(),
|
||||
// sub_mission_status_list: scene
|
||||
// .scenes
|
||||
// .values()
|
||||
// .flat_map(|s| {
|
||||
// s.finished_sub_missions.iter().map(|sm| Mission {
|
||||
// id: *sm,
|
||||
// status: MissionStatus::MissionFinish.into(),
|
||||
// progress: 0,
|
||||
// })
|
||||
// })
|
||||
// .collect::<Vec<_>>(),
|
||||
// ..Default::default()
|
||||
// }),
|
||||
chest_id_list: scene
|
||||
.scenes
|
||||
.values()
|
||||
.flat_map(|v| v.chests.clone())
|
||||
.collect::<Vec<_>>(),
|
||||
scene_mission_info: Some(MissionStatusBySceneInfo {
|
||||
finished_mission_id_list: scene
|
||||
.scenes
|
||||
.values()
|
||||
.flat_map(|s| s.finished_main_missions.clone())
|
||||
.collect::<Vec<_>>(),
|
||||
sub_mission_status_list: scene
|
||||
.scenes
|
||||
.values()
|
||||
.flat_map(|s| {
|
||||
s.finished_sub_missions.iter().map(|sm| Mission {
|
||||
id: *sm,
|
||||
status: MissionStatus::MissionFinish.into(),
|
||||
progress: 0,
|
||||
})
|
||||
})
|
||||
.collect::<Vec<_>>(),
|
||||
..Default::default()
|
||||
}),
|
||||
floor_saved_data: scene.saved_values.clone(),
|
||||
..Default::default()
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user