feat: Support SceneEnterStageC and remove avatar red DOM
This commit is contained in:
@@ -172,7 +172,7 @@ impl AvatarJson {
|
|||||||
equipment_unique_id: lightcone.map(|v| v.get_unique_id()).unwrap_or_default(),
|
equipment_unique_id: lightcone.map(|v| v.get_unique_id()).unwrap_or_default(),
|
||||||
first_met_time_stamp: 1712924677,
|
first_met_time_stamp: 1712924677,
|
||||||
cur_multi_path_avatar_type,
|
cur_multi_path_avatar_type,
|
||||||
has_taken_promotion_reward_list: Vec::with_capacity(0),
|
has_taken_promotion_reward_list: vec![1, 3, 5],
|
||||||
is_marked: false,
|
is_marked: false,
|
||||||
exp: 0,
|
exp: 0,
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ pub async fn on_get_avatar_data_cs_req(
|
|||||||
first_met_time_stamp: 1712924677,
|
first_met_time_stamp: 1712924677,
|
||||||
cur_multi_path_avatar_type: 0,
|
cur_multi_path_avatar_type: 0,
|
||||||
equipment_unique_id: 0,
|
equipment_unique_id: 0,
|
||||||
has_taken_promotion_reward_list: Vec::with_capacity(0),
|
has_taken_promotion_reward_list: vec![1, 3, 5],
|
||||||
is_marked: false,
|
is_marked: false,
|
||||||
exp: 0,
|
exp: 0,
|
||||||
})
|
})
|
||||||
@@ -64,6 +64,15 @@ pub async fn on_get_avatar_data_cs_req(
|
|||||||
.collect();
|
.collect();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub async fn on_take_promotion_reward_cs_req(
|
||||||
|
_session: &mut PlayerSession,
|
||||||
|
_req: &TakePromotionRewardCsReq,
|
||||||
|
_res: &mut TakePromotionRewardScRsp,
|
||||||
|
) {
|
||||||
|
// retcode defaults to 0, reward_list defaults to empty
|
||||||
|
// All avatars already report has_taken_promotion_reward_list = [0..=6] in GetAvatarData
|
||||||
|
}
|
||||||
|
|
||||||
pub async fn on_set_avatar_enhanced_id_cs_req(
|
pub async fn on_set_avatar_enhanced_id_cs_req(
|
||||||
_session: &mut PlayerSession,
|
_session: &mut PlayerSession,
|
||||||
_req: &SetAvatarEnhancedIdCsReq,
|
_req: &SetAvatarEnhancedIdCsReq,
|
||||||
|
|||||||
@@ -35,6 +35,16 @@ pub async fn on_quick_start_cocoon_stage_cs_req(
|
|||||||
res.battle_info = Some(battle_info);
|
res.battle_info = Some(battle_info);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub async fn on_scene_enter_stage_cs_req(
|
||||||
|
session: &mut PlayerSession,
|
||||||
|
_req: &SceneEnterStageCsReq,
|
||||||
|
res: &mut SceneEnterStageScRsp,
|
||||||
|
) {
|
||||||
|
let battle_info = create_battle_info(session, 0, 0).await;
|
||||||
|
|
||||||
|
res.battle_info = Some(battle_info);
|
||||||
|
}
|
||||||
|
|
||||||
pub async fn on_pve_battle_result_cs_req(
|
pub async fn on_pve_battle_result_cs_req(
|
||||||
_session: &mut PlayerSession,
|
_session: &mut PlayerSession,
|
||||||
req: &PveBattleResultCsReq,
|
req: &PveBattleResultCsReq,
|
||||||
|
|||||||
@@ -178,7 +178,7 @@ trait_handler! {
|
|||||||
GetCurSceneInfo;
|
GetCurSceneInfo;
|
||||||
PlayerHeartBeat;
|
PlayerHeartBeat;
|
||||||
SetAvatarEnhancedId;
|
SetAvatarEnhancedId;
|
||||||
|
TakePromotionReward;
|
||||||
|
|
||||||
// Entity move (dummy!)
|
// Entity move (dummy!)
|
||||||
SceneEntityMove;
|
SceneEntityMove;
|
||||||
@@ -209,6 +209,7 @@ trait_handler! {
|
|||||||
PveBattleResult;
|
PveBattleResult;
|
||||||
SceneCastSkill;
|
SceneCastSkill;
|
||||||
QuickStartCocoonStage;
|
QuickStartCocoonStage;
|
||||||
|
SceneEnterStage;
|
||||||
|
|
||||||
// Teleport
|
// Teleport
|
||||||
GetEnteredScene;
|
GetEnteredScene;
|
||||||
|
|||||||
@@ -34184,7 +34184,7 @@ enum CmdSceneType {
|
|||||||
CmdGetSceneMapInfoCsReq = 1432;
|
CmdGetSceneMapInfoCsReq = 1432;
|
||||||
CmdGetEnteredSceneScRsp = 1495;
|
CmdGetEnteredSceneScRsp = 1495;
|
||||||
CmdGetUnlockTeleportScRsp = 1438;
|
CmdGetUnlockTeleportScRsp = 1438;
|
||||||
CmdSceneStageBattleCsReq = 1431;
|
CmdSceneEnterStageCsReq = 1431;
|
||||||
CmdInteractPropScRsp = 1404;
|
CmdInteractPropScRsp = 1404;
|
||||||
CmdReturnLastTownScRsp = 1409;
|
CmdReturnLastTownScRsp = 1409;
|
||||||
CmdSetCurInteractEntityScRsp = 1468;
|
CmdSetCurInteractEntityScRsp = 1468;
|
||||||
@@ -34707,10 +34707,10 @@ message SceneCastSkillMpUpdateScNotify {
|
|||||||
uint32 cast_entity_id = 8; // offset: 24
|
uint32 cast_entity_id = 8; // offset: 24
|
||||||
}
|
}
|
||||||
|
|
||||||
// Obf: SceneStageBattleCsReq
|
// Obf: SceneEnterStageCsReq
|
||||||
// Type: Req
|
// Type: Req
|
||||||
// CmdID: 1431
|
// CmdID: 1431
|
||||||
message SceneStageBattleCsReq {
|
message SceneEnterStageCsReq {
|
||||||
uint32 event_id = 6; // offset: 32
|
uint32 event_id = 6; // offset: 32
|
||||||
RebattleType rebattle_type = 7; // offset: 28
|
RebattleType rebattle_type = 7; // offset: 28
|
||||||
bool CLGOFDEDIAN = 1; // offset: 24
|
bool CLGOFDEDIAN = 1; // offset: 24
|
||||||
|
|||||||
+5
-5
@@ -52863,12 +52863,12 @@ pub struct SceneCastSkillMpUpdateScNotify {
|
|||||||
#[prost(uint32, tag = "8")]
|
#[prost(uint32, tag = "8")]
|
||||||
pub cast_entity_id: u32,
|
pub cast_entity_id: u32,
|
||||||
}
|
}
|
||||||
/// Obf: SceneStageBattleCsReq
|
/// Obf: SceneEnterStageCsReq
|
||||||
/// Type: Req
|
/// Type: Req
|
||||||
#[derive(proto_derive::CmdID)]
|
#[derive(proto_derive::CmdID)]
|
||||||
#[cmdid(1431)]
|
#[cmdid(1431)]
|
||||||
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
|
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
|
||||||
pub struct SceneStageBattleCsReq {
|
pub struct SceneEnterStageCsReq {
|
||||||
/// offset: 32
|
/// offset: 32
|
||||||
#[prost(uint32, tag = "6")]
|
#[prost(uint32, tag = "6")]
|
||||||
pub event_id: u32,
|
pub event_id: u32,
|
||||||
@@ -92764,7 +92764,7 @@ pub enum CmdSceneType {
|
|||||||
CmdGetSceneMapInfoCsReq = 1432,
|
CmdGetSceneMapInfoCsReq = 1432,
|
||||||
CmdGetEnteredSceneScRsp = 1495,
|
CmdGetEnteredSceneScRsp = 1495,
|
||||||
CmdGetUnlockTeleportScRsp = 1438,
|
CmdGetUnlockTeleportScRsp = 1438,
|
||||||
CmdSceneStageBattleCsReq = 1431,
|
CmdSceneEnterStageCsReq = 1431,
|
||||||
CmdInteractPropScRsp = 1404,
|
CmdInteractPropScRsp = 1404,
|
||||||
CmdReturnLastTownScRsp = 1409,
|
CmdReturnLastTownScRsp = 1409,
|
||||||
CmdSetCurInteractEntityScRsp = 1468,
|
CmdSetCurInteractEntityScRsp = 1468,
|
||||||
@@ -92862,7 +92862,7 @@ impl CmdSceneType {
|
|||||||
Self::CmdGetSceneMapInfoCsReq => "CmdGetSceneMapInfoCsReq",
|
Self::CmdGetSceneMapInfoCsReq => "CmdGetSceneMapInfoCsReq",
|
||||||
Self::CmdGetEnteredSceneScRsp => "CmdGetEnteredSceneScRsp",
|
Self::CmdGetEnteredSceneScRsp => "CmdGetEnteredSceneScRsp",
|
||||||
Self::CmdGetUnlockTeleportScRsp => "CmdGetUnlockTeleportScRsp",
|
Self::CmdGetUnlockTeleportScRsp => "CmdGetUnlockTeleportScRsp",
|
||||||
Self::CmdSceneStageBattleCsReq => "CmdSceneStageBattleCsReq",
|
Self::CmdSceneEnterStageCsReq => "CmdSceneEnterStageCsReq",
|
||||||
Self::CmdInteractPropScRsp => "CmdInteractPropScRsp",
|
Self::CmdInteractPropScRsp => "CmdInteractPropScRsp",
|
||||||
Self::CmdReturnLastTownScRsp => "CmdReturnLastTownScRsp",
|
Self::CmdReturnLastTownScRsp => "CmdReturnLastTownScRsp",
|
||||||
Self::CmdSetCurInteractEntityScRsp => "CmdSetCurInteractEntityScRsp",
|
Self::CmdSetCurInteractEntityScRsp => "CmdSetCurInteractEntityScRsp",
|
||||||
@@ -92971,7 +92971,7 @@ impl CmdSceneType {
|
|||||||
"CmdGetSceneMapInfoCsReq" => Some(Self::CmdGetSceneMapInfoCsReq),
|
"CmdGetSceneMapInfoCsReq" => Some(Self::CmdGetSceneMapInfoCsReq),
|
||||||
"CmdGetEnteredSceneScRsp" => Some(Self::CmdGetEnteredSceneScRsp),
|
"CmdGetEnteredSceneScRsp" => Some(Self::CmdGetEnteredSceneScRsp),
|
||||||
"CmdGetUnlockTeleportScRsp" => Some(Self::CmdGetUnlockTeleportScRsp),
|
"CmdGetUnlockTeleportScRsp" => Some(Self::CmdGetUnlockTeleportScRsp),
|
||||||
"CmdSceneStageBattleCsReq" => Some(Self::CmdSceneStageBattleCsReq),
|
"CmdSceneEnterStageCsReq" => Some(Self::CmdSceneEnterStageCsReq),
|
||||||
"CmdInteractPropScRsp" => Some(Self::CmdInteractPropScRsp),
|
"CmdInteractPropScRsp" => Some(Self::CmdInteractPropScRsp),
|
||||||
"CmdReturnLastTownScRsp" => Some(Self::CmdReturnLastTownScRsp),
|
"CmdReturnLastTownScRsp" => Some(Self::CmdReturnLastTownScRsp),
|
||||||
"CmdSetCurInteractEntityScRsp" => Some(Self::CmdSetCurInteractEntityScRsp),
|
"CmdSetCurInteractEntityScRsp" => Some(Self::CmdSetCurInteractEntityScRsp),
|
||||||
|
|||||||
Reference in New Issue
Block a user