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 plane_type: u32,
|
||||||
pub world_id: u32,
|
pub world_id: u32,
|
||||||
pub sections: Vec<u32>,
|
pub sections: Vec<u32>,
|
||||||
pub saved_values: HashMap<String, i32>
|
pub saved_values: HashMap<String, i32>,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Deserialize)]
|
#[derive(Deserialize)]
|
||||||
@@ -144,6 +144,7 @@ pub struct JsonConfig {
|
|||||||
pub level_output_configs: HashMap<u32, HashMap<String, LevelOutputConfig>>,
|
pub level_output_configs: HashMap<u32, HashMap<String, LevelOutputConfig>>,
|
||||||
pub avatar_configs: HashMap<u32, AvatarConfig>,
|
pub avatar_configs: HashMap<u32, AvatarConfig>,
|
||||||
pub map_default_entrance_map: HashMap<u32, u32>,
|
pub map_default_entrance_map: HashMap<u32, u32>,
|
||||||
|
pub relic_avatar_recommend: HashMap<u32, Vec<u32>>,
|
||||||
}
|
}
|
||||||
|
|
||||||
pub static GAME_RES: LazyLock<JsonConfig> = LazyLock::new(|| {
|
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 proto::{get_big_data_all_recommend_sc_rsp::RecommendType, *};
|
||||||
|
|
||||||
use crate::net::PlayerSession;
|
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() {
|
match req.big_data_recommend_type() {
|
||||||
BigDataRecommendType::RelicAvatar => {
|
BigDataRecommendType::RelicAvatar => {
|
||||||
res.recommend_type = Some(RecommendType::RelicAvatar(BigDataRecommendRelicAvatar {
|
res.recommend_type = Some(RecommendType::RelicAvatar(BigDataRecommendRelicAvatar {
|
||||||
recommended_avatar_info_list: UNLOCKED_AVATARS
|
recommended_avatar_info_list: GAME_RES
|
||||||
.into_iter()
|
.relic_avatar_recommend
|
||||||
.map(|recommend_avatar_id| RecomendedAvatarInfo {
|
.iter()
|
||||||
avatar_id_list: vec![],
|
.map(|(set_id, avatar_list)| RecomendedAvatarInfo {
|
||||||
recommend_avatar_id,
|
avatar_id_list: avatar_list.clone(),
|
||||||
relic_set_id: 0,
|
recommend_avatar_id: avatar_list.first().copied().unwrap_or_default(),
|
||||||
|
relic_set_id: *set_id,
|
||||||
})
|
})
|
||||||
.collect(),
|
.collect(),
|
||||||
}))
|
}))
|
||||||
|
|||||||
@@ -17,12 +17,12 @@ pub async fn on_player_heart_beat_cs_req(
|
|||||||
) {
|
) {
|
||||||
res.client_time_ms = body.client_time_ms;
|
res.client_time_ms = body.client_time_ms;
|
||||||
res.server_time_ms = body.client_time_ms;
|
res.server_time_ms = body.client_time_ms;
|
||||||
// res.download_data = Some(ClientDownloadData {
|
res.download_data = Some(ClientDownloadData {
|
||||||
// version: 51,
|
version: 51,
|
||||||
// time: res.server_time_ms as i64,
|
time: res.server_time_ms as i64,
|
||||||
// data: rbase64::decode("bG9jYWwgTUFYX0ZQUyA9IDM2MApsb2NhbCBCRVRBX1dNID0gIiIKCmxvY2FsIGZ1bmN0aW9uIGxvZyhtc2cpCmVuZAoKbG9jYWwgZnVuY3Rpb24gcGF0Y2hGcHMoKQogICAgQ1MuVW5pdHlFbmdpbmUuQXBwbGljYXRpb24udGFyZ2V0RnJhbWVSYXRlID0gTUFYX0ZQUwogICAgQ1MuVW5pdHlFbmdpbmUuUXVhbGl0eVNldHRpbmdzLnZTeW5jQ291bnQgPSAwCmVuZAoKbG9jYWwgZnVuY3Rpb24gcGF0Y2hCZXRhV20oKQogICAgLS0gQmV0YSBXYXRlcm1hcmsKICAgIENTLlVuaXR5RW5naW5lLkdhbWVPYmplY3QuRmluZCgiVUlSb290L0Fib3ZlRGlhbG9nL0JldGFIaW50RGlhbG9nKENsb25lKSIpOkdldENvbXBvbmVudEluQ2hpbGRyZW4odHlwZW9mKENTLlJQRy5DbGllbnQuTG9jYWxpemVkVGV4dCkpLnRleHQgPSBCRVRBX1dNCgogICAgLS0gVUlEIFdhdGVybWFyawogICAgQ1MuVW5pdHlFbmdpbmUuR2FtZU9iamVjdC5GaW5kKCJWZXJzaW9uVGV4dCIpOkdldENvbXBvbmVudEluQ2hpbGRyZW4odHlwZW9mKENTLlJQRy5DbGllbnQuTG9jYWxpemVkVGV4dCkpLnRleHQgPQogICAgICAgICI8Y29sb3I9IzAwZTFmZj5Sb2JpblNSISB8IDwvY29sb3I+IiAuLgogICAgICAgICI8Y29sb3I9IzAwZTFmZj4iIC4uCiAgICAgICAgQ1MuUlBHLkNsaWVudC5HbG9iYWxWYXJzLnNfVmVyc2lvbkRhdGE6R2V0U2VydmVyUGFrVHlwZVZlcnNpb24oKSAuLgogICAgICAgICI8L2NvbG9yPiIKZW5kCgoKbG9jYWwgZnVuY3Rpb24gbWFpbigpCiAgICBwYXRjaEJldGFXbSgpCmVuZAoKeHBjYWxsKG1haW4sIGxvZyk=").unwrap(),
|
data: rbase64::decode("bG9jYWwgTUFYX0ZQUyA9IDM2MApsb2NhbCBCRVRBX1dNID0gIiIKCmxvY2FsIGZ1bmN0aW9uIGxvZyhtc2cpCmVuZAoKbG9jYWwgZnVuY3Rpb24gcGF0Y2hGcHMoKQogICAgQ1MuVW5pdHlFbmdpbmUuQXBwbGljYXRpb24udGFyZ2V0RnJhbWVSYXRlID0gTUFYX0ZQUwogICAgQ1MuVW5pdHlFbmdpbmUuUXVhbGl0eVNldHRpbmdzLnZTeW5jQ291bnQgPSAwCmVuZAoKbG9jYWwgZnVuY3Rpb24gcGF0Y2hCZXRhV20oKQogICAgLS0gQmV0YSBXYXRlcm1hcmsKICAgIENTLlVuaXR5RW5naW5lLkdhbWVPYmplY3QuRmluZCgiVUlSb290L0Fib3ZlRGlhbG9nL0JldGFIaW50RGlhbG9nKENsb25lKSIpOkdldENvbXBvbmVudEluQ2hpbGRyZW4odHlwZW9mKENTLlJQRy5DbGllbnQuTG9jYWxpemVkVGV4dCkpLnRleHQgPSBCRVRBX1dNCgogICAgLS0gVUlEIFdhdGVybWFyawogICAgQ1MuVW5pdHlFbmdpbmUuR2FtZU9iamVjdC5GaW5kKCJWZXJzaW9uVGV4dCIpOkdldENvbXBvbmVudEluQ2hpbGRyZW4odHlwZW9mKENTLlJQRy5DbGllbnQuTG9jYWxpemVkVGV4dCkpLnRleHQgPQogICAgICAgICI8Y29sb3I9IzAwZTFmZj5Sb2JpblNSISB8IDwvY29sb3I+IiAuLgogICAgICAgICI8Y29sb3I9IzAwZTFmZj4iIC4uCiAgICAgICAgQ1MuUlBHLkNsaWVudC5HbG9iYWxWYXJzLnNfVmVyc2lvbkRhdGE6R2V0U2VydmVyUGFrVHlwZVZlcnNpb24oKSAuLgogICAgICAgICI8L2NvbG9yPiIKZW5kCgoKbG9jYWwgZnVuY3Rpb24gbWFpbigpCiAgICBwYXRjaEJldGFXbSgpCmVuZAoKeHBjYWxsKG1haW4sIGxvZyk=").unwrap(),
|
||||||
// haehhcpoapp: 0
|
haehhcpoapp: 0
|
||||||
// });
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
pub async fn on_player_login_finish_cs_req(
|
pub async fn on_player_login_finish_cs_req(
|
||||||
@@ -34,13 +34,14 @@ pub async fn on_player_login_finish_cs_req(
|
|||||||
.send(ContentPackageSyncDataScNotify {
|
.send(ContentPackageSyncDataScNotify {
|
||||||
data: Some(PackageData {
|
data: Some(PackageData {
|
||||||
info_list: [
|
info_list: [
|
||||||
200001, 200002, 200003, 200004, 150017, 150015, 150021, 150018, 130011, 130012,
|
200001, 200002, 200003, 200004, 200005, 200006, 200007, 200008, 150017, 150015,
|
||||||
130013,
|
150021, 150018, 130011, 130012, 130013, 150025, 140006, 150026, 130014, 150034,
|
||||||
|
150029, 150035, 150041, 150039, 150045,
|
||||||
]
|
]
|
||||||
.iter()
|
.into_iter()
|
||||||
.map(|v| ContentInfo {
|
.map(|v| ContentInfo {
|
||||||
status: ContentPackageStatus::Finished.into(),
|
status: ContentPackageStatus::Finished.into(),
|
||||||
content_id: *v,
|
content_id: v,
|
||||||
})
|
})
|
||||||
.collect(),
|
.collect(),
|
||||||
..Default::default()
|
..Default::default()
|
||||||
@@ -50,21 +51,3 @@ pub async fn on_player_login_finish_cs_req(
|
|||||||
|
|
||||||
Ok(())
|
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,
|
state: prop.prop_state,
|
||||||
config_id: prop.inst_id,
|
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
|
scene.world_id
|
||||||
},
|
},
|
||||||
lighten_section_list: scene.sections.clone(),
|
lighten_section_list: scene.sections.clone(),
|
||||||
// chest_id_list: scene
|
chest_id_list: scene
|
||||||
// .scenes
|
.scenes
|
||||||
// .values()
|
.values()
|
||||||
// .flat_map(|v| v.chests.clone())
|
.flat_map(|v| v.chests.clone())
|
||||||
// .collect::<Vec<_>>(),
|
.collect::<Vec<_>>(),
|
||||||
// scene_mission_info: Some(MissionStatusBySceneInfo {
|
scene_mission_info: Some(MissionStatusBySceneInfo {
|
||||||
// finished_mission_id_list: scene
|
finished_mission_id_list: scene
|
||||||
// .scenes
|
.scenes
|
||||||
// .values()
|
.values()
|
||||||
// .flat_map(|s| s.finished_main_missions.clone())
|
.flat_map(|s| s.finished_main_missions.clone())
|
||||||
// .collect::<Vec<_>>(),
|
.collect::<Vec<_>>(),
|
||||||
// sub_mission_status_list: scene
|
sub_mission_status_list: scene
|
||||||
// .scenes
|
.scenes
|
||||||
// .values()
|
.values()
|
||||||
// .flat_map(|s| {
|
.flat_map(|s| {
|
||||||
// s.finished_sub_missions.iter().map(|sm| Mission {
|
s.finished_sub_missions.iter().map(|sm| Mission {
|
||||||
// id: *sm,
|
id: *sm,
|
||||||
// status: MissionStatus::MissionFinish.into(),
|
status: MissionStatus::MissionFinish.into(),
|
||||||
// progress: 0,
|
progress: 0,
|
||||||
// })
|
})
|
||||||
// })
|
})
|
||||||
// .collect::<Vec<_>>(),
|
.collect::<Vec<_>>(),
|
||||||
// ..Default::default()
|
..Default::default()
|
||||||
// }),
|
}),
|
||||||
floor_saved_data: scene.saved_values.clone(),
|
floor_saved_data: scene.saved_values.clone(),
|
||||||
..Default::default()
|
..Default::default()
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user