feat: handle avatar enhanced state
This commit is contained in:
@@ -70,3 +70,23 @@ pub async fn on_get_avatar_data_cs_req(
|
||||
|
||||
res.multi_path_avatar_type_info_list = json.get_multi_path_info();
|
||||
}
|
||||
|
||||
pub async fn on_set_avatar_enhanced_id_cs_req(
|
||||
_session: &mut PlayerSession,
|
||||
_req: &SetAvatarEnhancedIdCsReq,
|
||||
_res: &mut SetAvatarEnhancedIdScRsp,
|
||||
) {
|
||||
// let Some(json) = session.json_data.get_mut() else {
|
||||
// return;
|
||||
// };
|
||||
// let Some(avatar) = json.avatars.get_mut(&req.avatar_id) else {
|
||||
// return;
|
||||
// };
|
||||
// avatar.enhanced_id = if req.enhanced_id == 0 {
|
||||
// Option::<u32>::None
|
||||
// } else {
|
||||
// Some(req.enhanced_id)
|
||||
// };
|
||||
// res.growth_avatar_id = avatar.avatar_id;
|
||||
// res.unk_enhanced_id = req.enhanced_id;
|
||||
}
|
||||
|
||||
@@ -217,21 +217,27 @@ async fn create_battle_info(
|
||||
// pf score object
|
||||
if player.battle_config.battle_type == BattleType::PF {
|
||||
if battle_info.stage_id >= 30309011 {
|
||||
battle_info.battle_target_info.insert(1, BattleTargetList {
|
||||
battle_target_list: vec![BattleTarget {
|
||||
id: 10003,
|
||||
progress: 0,
|
||||
..Default::default()
|
||||
}],
|
||||
});
|
||||
battle_info.battle_target_info.insert(
|
||||
1,
|
||||
BattleTargetList {
|
||||
battle_target_list: vec![BattleTarget {
|
||||
id: 10003,
|
||||
progress: 0,
|
||||
..Default::default()
|
||||
}],
|
||||
},
|
||||
);
|
||||
} else {
|
||||
battle_info.battle_target_info.insert(1, BattleTargetList {
|
||||
battle_target_list: vec![BattleTarget {
|
||||
id: 10002,
|
||||
progress: 0,
|
||||
..Default::default()
|
||||
}],
|
||||
});
|
||||
battle_info.battle_target_info.insert(
|
||||
1,
|
||||
BattleTargetList {
|
||||
battle_target_list: vec![BattleTarget {
|
||||
id: 10002,
|
||||
progress: 0,
|
||||
..Default::default()
|
||||
}],
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
for i in 2..=4 {
|
||||
@@ -240,31 +246,37 @@ async fn create_battle_info(
|
||||
.insert(i, BattleTargetList::default());
|
||||
}
|
||||
|
||||
battle_info.battle_target_info.insert(5, BattleTargetList {
|
||||
battle_target_list: vec![
|
||||
BattleTarget {
|
||||
id: 2001,
|
||||
progress: 0,
|
||||
..Default::default()
|
||||
},
|
||||
BattleTarget {
|
||||
id: 2002,
|
||||
progress: 0,
|
||||
..Default::default()
|
||||
},
|
||||
],
|
||||
});
|
||||
battle_info.battle_target_info.insert(
|
||||
5,
|
||||
BattleTargetList {
|
||||
battle_target_list: vec![
|
||||
BattleTarget {
|
||||
id: 2001,
|
||||
progress: 0,
|
||||
..Default::default()
|
||||
},
|
||||
BattleTarget {
|
||||
id: 2002,
|
||||
progress: 0,
|
||||
..Default::default()
|
||||
},
|
||||
],
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
// Apocalyptic Shadow
|
||||
if player.battle_config.battle_type == BattleType::AS {
|
||||
battle_info.battle_target_info.insert(1, BattleTargetList {
|
||||
battle_target_list: vec![BattleTarget {
|
||||
id: 90005,
|
||||
progress: 0,
|
||||
..Default::default()
|
||||
}],
|
||||
});
|
||||
battle_info.battle_target_info.insert(
|
||||
1,
|
||||
BattleTargetList {
|
||||
battle_target_list: vec![BattleTarget {
|
||||
id: 90005,
|
||||
progress: 0,
|
||||
..Default::default()
|
||||
}],
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
// SU
|
||||
|
||||
@@ -172,12 +172,12 @@ trait_handler! {
|
||||
PlayerLogin;
|
||||
GetMissionStatus;
|
||||
GetBasicInfo;
|
||||
// GetMultiPathAvatarInfo;
|
||||
GetAvatarData;
|
||||
GetAllLineupData;
|
||||
GetCurLineupData;
|
||||
GetCurSceneInfo;
|
||||
PlayerHeartBeat;
|
||||
SetAvatarEnhancedId;
|
||||
|
||||
|
||||
// Entity move (dummy!)
|
||||
|
||||
@@ -41,10 +41,12 @@ impl PlayerSession {
|
||||
let (shutdown_tx, shutdown_rx) = watch::channel(());
|
||||
Self {
|
||||
token,
|
||||
kcp: Arc::new(Mutex::new(Kcp::new(conv, token, false, RemoteEndPoint {
|
||||
socket,
|
||||
addr,
|
||||
}))),
|
||||
kcp: Arc::new(Mutex::new(Kcp::new(
|
||||
conv,
|
||||
token,
|
||||
false,
|
||||
RemoteEndPoint { socket, addr },
|
||||
))),
|
||||
start_time: util::cur_timestamp_secs(),
|
||||
json_data: OnceLock::new(),
|
||||
shutdown_rx,
|
||||
|
||||
Reference in New Issue
Block a user