diff --git a/nap_gameserver/src/handlers/event_graph.rs b/nap_gameserver/src/handlers/event_graph.rs new file mode 100644 index 0000000..2ebfa0d --- /dev/null +++ b/nap_gameserver/src/handlers/event_graph.rs @@ -0,0 +1,25 @@ +use crate::logic::ENPCInteraction; + +use super::*; + +pub async fn on_run_event_graph( + session: &NetSession, + _player: &mut Player, + req: RunEventGraphCsReq, +) -> NetResult { + session + .notify(UpdateEventGraphScNotify { + owner_type: req.owner_type, + hlopenbmegp: req.hlopenbmegp, + ddiamibnibg: req.ddiamibnibg, + npc_interaction: ENPCInteraction::OnInteract.to_string(), + ppabhkhbalm: true, + gainclnemhc: req.owner_id, + ..Default::default() + }) + .await?; + + Ok(RunEventGraphScRsp { + retcode: Retcode::RetSucc.into(), + }) +} diff --git a/nap_gameserver/src/handlers/mod.rs b/nap_gameserver/src/handlers/mod.rs index ca3f220..ecc5c1e 100644 --- a/nap_gameserver/src/handlers/mod.rs +++ b/nap_gameserver/src/handlers/mod.rs @@ -9,6 +9,7 @@ mod client_systems; mod collect; mod daily_challenge; mod embattles; +mod event_graph; mod fairy; mod friend; mod gacha; @@ -85,7 +86,7 @@ req_handlers! { character_quest::GetPhotoWallData; month_card::GetMonthCardDayReward; world::EnterWorld; - world::EnterSection; + world::SyncHallEvent; world::SavePosInMainCity; world::WorldInitFinish; world::AdvanceBeginnerProcedure; @@ -96,6 +97,7 @@ req_handlers! { world::EndBattle; world::LeaveCurDungeon; world::InteractWithUnit; + world::EnterSection; client_systems::ReportUiLayoutPlatform; client_systems::PlayerOperation; client_systems::UnlockNewbieGroup; @@ -112,6 +114,7 @@ req_handlers! { embattles::ReportBattleTeam; item::WeaponDress; item::WeaponUnDress; + event_graph::RunEventGraph; } notify_handlers! { diff --git a/nap_gameserver/src/handlers/world.rs b/nap_gameserver/src/handlers/world.rs index cec997c..6e2de9b 100644 --- a/nap_gameserver/src/handlers/world.rs +++ b/nap_gameserver/src/handlers/world.rs @@ -1,9 +1,9 @@ -use data::tables::{ProcedureConfigID, TrainingQuestID}; +use data::tables::{ProcedureConfigID, SectionConfigID, TrainingQuestID}; use super::core::NetError; use crate::{ - logic::{game::*, procedure::ProcedureAction, ELocalPlayType}, + logic::{game::*, procedure::ProcedureAction, ELocalPlayType, ENPCInteraction}, net::NetSessionState, }; @@ -122,12 +122,12 @@ pub async fn on_beginner_battle_rebegin( }) } -pub async fn on_enter_section( +pub async fn on_sync_hall_event( _session: &NetSession, _player: &mut Player, - req: EnterSectionCsReq, -) -> NetResult { - Ok(EnterSectionScRsp { + _req: SyncHallEventCsReq, +) -> NetResult { + Ok(SyncHallEventScRsp { retcode: Retcode::RetSucc.into(), }) } @@ -205,13 +205,68 @@ pub async fn on_leave_cur_dungeon( } pub async fn on_interact_with_unit( - _session: &NetSession, + session: &NetSession, _player: &mut Player, req: InteractWithUnitCsReq, ) -> NetResult { + use prost::Message; + use std::collections::HashMap; + tracing::info!("interact: {req:?}"); + if req.interaction == 10000001 { + session + .notify(SyncEventInfoScNotify { + owner_id: req.interaction as u32, + npc_interaction: ENPCInteraction::OnInteract.to_string(), + iddogdegagd: 1, + ddiamibnibg: 1, + hlopenbmegp: 1, + owner_type: EventGraphOwnerType::SceneUnit.into(), + nheonpmbhcm: HashMap::from([(String::from("Radius"), 2000)]), + action_list: vec![ActionInfo { + body: ActionSwitchSection { + section: 2, + transform: String::from("Workshop_PlayerPos_FromStreet"), + camera_x: 1, + camera_y: 6000, + ..Default::default() + } + .encode_to_vec(), + action_type: ActionType::SwitchSection.into(), + jdefffbinme: 1, + }], + ..Default::default() + }) + .await?; + } + Ok(InteractWithUnitScRsp { retcode: Retcode::RetSucc.into(), }) } + +pub async fn on_enter_section( + session: &NetSession, + player: &mut Player, + req: EnterSectionCsReq, +) -> NetResult { + let section_id = SectionConfigID::new(req.section_id).ok_or(Retcode::RetFail)?; + + player.main_city_model.switch_section(section_id); + player.init_frontend_game()?; + + let GameInstance::Frontend(frontend_game) = &mut player.game_instance else { + unreachable!() + }; + + frontend_game.set_entry_transform(req.transform); + + session + .notify(player.game_instance.create_world_init_notify()?) + .await?; + + Ok(EnterSectionScRsp { + retcode: Retcode::RetSucc.into(), + }) +} diff --git a/nap_gameserver/src/logic/enums.rs b/nap_gameserver/src/logic/enums.rs index 6232c81..7739f7a 100644 --- a/nap_gameserver/src/logic/enums.rs +++ b/nap_gameserver/src/logic/enums.rs @@ -114,6 +114,22 @@ impl Display for WeatherType { } } +#[derive(Debug, Clone, Copy)] +#[repr(u32)] +pub enum ENPCInteraction { + OnStart = 0, + OnEnd = 1, + OnInteract = 2, + OnAddInteract = 3, + OnRemoveInteract = 4, +} + +impl Display for ENPCInteraction { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + std::fmt::Debug::fmt(self, f) + } +} + #[derive(Default, Debug, Clone, Copy)] pub enum ELocalPlayType { TrainingRoom = 290, diff --git a/nap_gameserver/src/logic/game/frontend.rs b/nap_gameserver/src/logic/game/frontend.rs index 52ccb5b..462624a 100644 --- a/nap_gameserver/src/logic/game/frontend.rs +++ b/nap_gameserver/src/logic/game/frontend.rs @@ -17,7 +17,7 @@ pub struct FrontendGame { scene_unit_mgr: SceneUnitManager, camera_x: u32, camera_y: u32, - born_pos: String, + entry_transform: String, main_city_time: MainCityTime, avatar_pos: Vector3f, avatar_rot: Vector3f, @@ -44,7 +44,7 @@ impl FrontendGame { frontend_avatar_id: avatar_id, camera_x: 0xFFFFFFFF, camera_y: 0xFFFFFFFF, - born_pos: section_id.template().primary_entry_name.clone(), + entry_transform: section_id.template().primary_entry_name.clone(), avatar_pos, avatar_rot, }; @@ -52,6 +52,10 @@ impl FrontendGame { tracing::info!("creating new frontend game (section={section_id}, avatar={avatar_id})"); Ok(instance) } + + pub fn set_entry_transform(&mut self, transform_name: String) { + self.entry_transform = transform_name; + } } impl NapGameMode for FrontendGame { @@ -63,10 +67,10 @@ impl NapGameMode for FrontendGame { frontend_avatar_id: self.frontend_avatar_id.value(), camera_x: self.camera_x, camera_y: self.camera_y, - born_pos: self + transform: self .avatar_pos .is_zero() - .then_some(self.born_pos.clone()) + .then_some(self.entry_transform.clone()) .unwrap_or_default(), day_of_week: self.main_city_time.day_of_week.value(), time_of_day: self.main_city_time.time_of_day.value(), diff --git a/nap_gameserver/src/logic/player/main_city_model.rs b/nap_gameserver/src/logic/player/main_city_model.rs index 4629d84..6102e64 100644 --- a/nap_gameserver/src/logic/player/main_city_model.rs +++ b/nap_gameserver/src/logic/player/main_city_model.rs @@ -16,6 +16,12 @@ impl MainCityModel { self.rotation = Vector3f::from_vec(rot); } + pub fn switch_section(&mut self, id: SectionConfigID) { + self.section_id = id; + self.position = Vector3f::default(); + self.rotation = Vector3f::default(); + } + pub fn to_bin(&self) -> MainCityModelBin { MainCityModelBin { transform: Some(TransformBin { diff --git a/nap_proto/out/_.rs b/nap_proto/out/_.rs index d6e50dd..45863af 100644 --- a/nap_proto/out/_.rs +++ b/nap_proto/out/_.rs @@ -1875,7 +1875,7 @@ pub struct Mgphbeaojlb { #[prost(message, optional, tag = "1")] pub pgpacjmamgo: ::core::option::Option, #[prost(message, optional, tag = "2")] - pub nekidnpibgc: ::core::option::Option, + pub section: ::core::option::Option, } #[derive(proto_gen::CmdID)] #[cmdid(2306)] @@ -4001,7 +4001,7 @@ pub struct Bnpkpfadbdd { #[derive(proto_gen::XorFields)] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct EnterSectionScRsp { +pub struct SyncHallEventScRsp { #[xor(2845)] #[prost(int32, tag = "4")] pub retcode: i32, @@ -4161,7 +4161,7 @@ pub struct Ffglohkafhk { #[prost(uint32, tag = "2")] pub cbkephankbj: u32, #[prost(string, tag = "3")] - pub nekidnpibgc: ::prost::alloc::string::String, + pub section: ::prost::alloc::string::String, #[prost(bool, tag = "4")] pub dckacgkimaf: bool, #[prost(bool, tag = "5")] @@ -5158,7 +5158,7 @@ pub struct Lnjaiijoocd { #[derive(proto_gen::XorFields)] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct Kphnjohbbln { +pub struct RunEventGraphCsReq { #[prost(map = "string, int32", tag = "11")] pub cmpbdjnfdof: ::std::collections::HashMap<::prost::alloc::string::String, i32>, #[prost(message, optional, tag = "1")] @@ -5166,14 +5166,14 @@ pub struct Kphnjohbbln { #[xor(16302)] #[prost(uint32, tag = "6")] pub ddiamibnibg: u32, - #[prost(enumeration = "Ilpobigjnfm", tag = "8")] - pub dhjfpkblona: i32, + #[prost(enumeration = "EventGraphOwnerType", tag = "8")] + pub owner_type: i32, #[xor(4559)] #[prost(uint32, tag = "4")] pub iddogdegagd: u32, #[xor(16099)] #[prost(uint32, tag = "13")] - pub cjemchndami: u32, + pub owner_id: u32, #[xor(15138)] #[prost(uint32, tag = "14")] pub section_id: u32, @@ -5626,7 +5626,7 @@ pub struct Mngbpnpcenf { #[prost(int32, tag = "13")] pub fanammicmmc: i32, #[prost(string, tag = "14")] - pub born_pos: ::prost::alloc::string::String, + pub transform: ::prost::alloc::string::String, #[prost(bool, tag = "15")] pub ebacaaakoib: bool, #[prost(uint32, tag = "16")] @@ -6136,7 +6136,7 @@ pub struct Biolbikabjn { #[derive(Clone, PartialEq, ::prost::Message)] pub struct Mmgfmcnpiol { #[prost(enumeration = "Jbpilffdhdi", tag = "1")] - pub dhjfpkblona: i32, + pub owner_type: i32, #[prost(enumeration = "Kidabaacfgc", tag = "2")] pub kjoopbmjegm: i32, } @@ -6254,7 +6254,7 @@ pub struct Pceahabhfim { #[derive(Clone, PartialEq, ::prost::Message)] pub struct Kfimjgclcjf { #[prost(int32, tag = "1")] - pub dhjfpkblona: i32, + pub owner_type: i32, #[prost(string, tag = "2")] pub pdjfnmpapae: ::prost::alloc::string::String, #[prost(enumeration = "Iigohlalleg", tag = "3")] @@ -6434,21 +6434,21 @@ pub struct Lmdiphnlcki { #[derive(proto_gen::XorFields)] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct Lekmcglgbfp { +pub struct SyncEventInfoScNotify { #[prost(map = "string, int32", tag = "9")] pub mmdmplgocoh: ::std::collections::HashMap<::prost::alloc::string::String, i32>, #[prost(string, repeated, tag = "4")] pub bgcopembnij: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, #[prost(string, tag = "321")] - pub ohdpbakdpca: ::prost::alloc::string::String, + pub npc_interaction: ::prost::alloc::string::String, #[xor(4918)] #[prost(uint32, tag = "10")] - pub cjemchndami: u32, + pub owner_id: u32, #[xor(11767)] #[prost(uint32, tag = "1")] pub iddogdegagd: u32, - #[prost(enumeration = "Ilpobigjnfm", tag = "13")] - pub dhjfpkblona: i32, + #[prost(enumeration = "EventGraphOwnerType", tag = "13")] + pub owner_type: i32, #[prost(map = "string, string", tag = "11")] pub libmaekencd: ::std::collections::HashMap< ::prost::alloc::string::String, @@ -6474,7 +6474,7 @@ pub struct Lekmcglgbfp { ::prost::alloc::string::String, >, #[prost(message, repeated, tag = "2")] - pub bkjghieamng: ::prost::alloc::vec::Vec, + pub action_list: ::prost::alloc::vec::Vec, #[xor(644)] #[prost(uint32, tag = "12")] pub lelbkclbjjj: u32, @@ -7004,7 +7004,7 @@ pub struct Dmaijgdkofj { #[derive(Clone, PartialEq, ::prost::Message)] pub struct Gcnonkpdnco { #[prost(message, optional, tag = "1")] - pub nekidnpibgc: ::core::option::Option, + pub section: ::core::option::Option, #[prost(enumeration = "LayerType", tag = "2")] pub pedjcpehjfb: i32, } @@ -7020,7 +7020,7 @@ pub struct Llahhbchinb {} #[derive(Clone, PartialEq, ::prost::Message)] pub struct Kkldofipdde { #[prost(string, tag = "2")] - pub born_pos: ::prost::alloc::string::String, + pub transform: ::prost::alloc::string::String, #[prost(uint32, tag = "3")] pub camera_x: u32, #[prost(uint32, tag = "4")] @@ -7604,7 +7604,7 @@ pub struct Fgjbdleejbg { #[derive(Clone, PartialEq, ::prost::Message)] pub struct Ejigoljmmkf { #[prost(string, tag = "1")] - pub nekidnpibgc: ::prost::alloc::string::String, + pub section: ::prost::alloc::string::String, } #[derive(proto_gen::CmdID)] #[cmdid(483)] @@ -8431,11 +8431,11 @@ pub struct Hpdldminljg { #[derive(proto_gen::XorFields)] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct Ocieplimdid { +pub struct ActionSwitchSection { #[prost(uint32, tag = "1")] - pub nekidnpibgc: u32, + pub section: u32, #[prost(string, tag = "2")] - pub born_pos: ::prost::alloc::string::String, + pub transform: ::prost::alloc::string::String, #[prost(uint32, tag = "3")] pub camera_x: u32, #[prost(uint32, tag = "4")] @@ -8464,7 +8464,7 @@ pub struct HallSceneInfo { #[prost(uint32, tag = "2045")] pub lkdgaijoalp: u32, #[prost(string, tag = "1037")] - pub born_pos: ::prost::alloc::string::String, + pub transform: ::prost::alloc::string::String, #[prost(uint32, repeated, tag = "1182")] pub ieleaepacbc: ::prost::alloc::vec::Vec, #[prost(message, repeated, tag = "1")] @@ -8874,7 +8874,7 @@ pub struct Gpbnbifajda { #[prost(message, optional, tag = "1")] pub ebeghfenelh: ::core::option::Option, #[prost(string, tag = "2")] - pub nekidnpibgc: ::prost::alloc::string::String, + pub section: ::prost::alloc::string::String, #[prost(bool, tag = "3")] pub pecaglembjh: bool, } @@ -10966,7 +10966,7 @@ pub struct Iabebhdjflo { #[derive(Clone, PartialEq, ::prost::Message)] pub struct Fcbikpelkel { #[prost(int32, tag = "1")] - pub dhjfpkblona: i32, + pub owner_type: i32, #[prost(string, tag = "2")] pub pdjfnmpapae: ::prost::alloc::string::String, #[prost(enumeration = "Iigohlalleg", tag = "3")] @@ -12144,7 +12144,7 @@ pub struct Apeikaeanjn { #[derive(Clone, PartialEq, ::prost::Message)] pub struct Ndlfknabipj { #[prost(enumeration = "TimeSegmentIndexType", tag = "1")] - pub dhjfpkblona: i32, + pub owner_type: i32, #[prost(message, optional, tag = "2")] pub fhhhblabjnf: ::core::option::Option, #[prost(message, optional, tag = "3")] @@ -12231,9 +12231,9 @@ pub struct Kbjmbgaihhm { #[prost(uint32, tag = "1")] pub jdefffbinme: u32, #[prost(enumeration = "ActionType", tag = "2")] - pub kpglfpmbjag: i32, + pub action_type: i32, #[prost(bytes = "vec", tag = "3")] - pub ninehmjdphe: ::prost::alloc::vec::Vec, + pub body: ::prost::alloc::vec::Vec, } #[derive(proto_gen::CmdID)] #[derive(proto_gen::XorFields)] @@ -13106,7 +13106,7 @@ pub struct Nphfbkphple { #[derive(Clone, PartialEq, ::prost::Message)] pub struct Mpneiipdeea { #[prost(enumeration = "TimeSegmentIndexType", tag = "1")] - pub dhjfpkblona: i32, + pub owner_type: i32, #[prost(message, optional, tag = "2")] pub fhhhblabjnf: ::core::option::Option, #[prost(message, optional, tag = "3")] @@ -13237,7 +13237,7 @@ pub struct Eacaiddoehb { #[derive(proto_gen::XorFields)] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct Bopchbhjmfg { +pub struct RunEventGraphScRsp { #[xor(1674)] #[prost(int32, tag = "11")] pub retcode: i32, @@ -14713,7 +14713,7 @@ pub struct Ddgeepaaalj { #[derive(proto_gen::XorFields)] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct Hdkoofepgan { +pub struct UpdateEventGraphScNotify { #[xor(1633)] #[prost(uint32, tag = "9")] pub gainclnemhc: u32, @@ -14723,15 +14723,15 @@ pub struct Hdkoofepgan { #[prost(bool, tag = "13")] pub ppabhkhbalm: bool, #[prost(string, tag = "14")] - pub ohdpbakdpca: ::prost::alloc::string::String, + pub npc_interaction: ::prost::alloc::string::String, #[xor(2813)] #[prost(uint32, tag = "10")] pub ddiamibnibg: u32, #[xor(13055)] #[prost(uint32, tag = "1")] pub dnkdafokanc: u32, - #[prost(enumeration = "Ilpobigjnfm", tag = "7")] - pub dhjfpkblona: i32, + #[prost(enumeration = "EventGraphOwnerType", tag = "7")] + pub owner_type: i32, } #[derive(proto_gen::CmdID)] #[cmdid(1353)] @@ -15446,7 +15446,7 @@ pub struct Cocgjbpoihe { #[derive(Clone, PartialEq, ::prost::Message)] pub struct Emakohhopnc { #[prost(message, optional, tag = "1")] - pub nekidnpibgc: ::core::option::Option, + pub section: ::core::option::Option, #[prost(message, optional, tag = "2")] pub fffmekkgkon: ::core::option::Option, #[prost(enumeration = "LayerType", tag = "3")] @@ -16453,7 +16453,7 @@ pub struct Jaoclflkblg { #[derive(Clone, PartialEq, ::prost::Message)] pub struct Kcagkmglhla { #[prost(message, optional, tag = "1")] - pub nekidnpibgc: ::core::option::Option, + pub section: ::core::option::Option, #[prost(message, optional, tag = "2")] pub fffmekkgkon: ::core::option::Option, } @@ -17661,16 +17661,16 @@ pub struct Ojpkokdacgg { pub lelbkclbjjj: u32, #[xor(966)] #[prost(uint32, tag = "1")] - pub cjemchndami: u32, + pub owner_id: u32, #[prost(string, tag = "7")] - pub ohdpbakdpca: ::prost::alloc::string::String, + pub npc_interaction: ::prost::alloc::string::String, #[xor(6119)] #[prost(uint32, tag = "11")] pub section_id: u32, - #[prost(enumeration = "Ilpobigjnfm", tag = "2")] - pub dhjfpkblona: i32, + #[prost(enumeration = "EventGraphOwnerType", tag = "2")] + pub owner_type: i32, #[prost(enumeration = "ActionType", tag = "9")] - pub kpglfpmbjag: i32, + pub action_type: i32, #[prost(map = "string, int32", tag = "12")] pub mmdmplgocoh: ::std::collections::HashMap<::prost::alloc::string::String, i32>, #[xor(93)] @@ -17714,16 +17714,16 @@ pub struct Fpgoofgcpee { #[derive(proto_gen::XorFields)] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct Ldajadnbppp { +pub struct EnterSectionCsReq { #[prost(string, tag = "9")] - pub born_pos: ::prost::alloc::string::String, + pub transform: ::prost::alloc::string::String, #[xor(3314)] #[prost(uint32, tag = "1")] pub hoagdhfnhhp: u32, #[prost(bool, tag = "6")] pub ehmopjccohg: bool, - #[prost(enumeration = "Ilpobigjnfm", tag = "2")] - pub dhjfpkblona: i32, + #[prost(enumeration = "EventGraphOwnerType", tag = "2")] + pub owner_type: i32, #[prost(bool, tag = "3")] pub gdnfifgfgce: bool, #[xor(614)] @@ -18399,7 +18399,7 @@ pub struct Bpcbbhlljgi { #[derive(proto_gen::XorFields)] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct Mdmgihicjnn { +pub struct EnterSectionScRsp { #[xor(4105)] #[prost(int32, tag = "13")] pub retcode: i32, @@ -19527,13 +19527,13 @@ pub struct Glhpbcklgef { pub struct Bejbdbkgfgg { #[xor(5159)] #[prost(uint32, tag = "11")] - pub kpglfpmbjag: u32, + pub action_type: u32, #[prost(message, optional, tag = "6")] pub bpciepjcphg: ::core::option::Option, #[prost(message, optional, tag = "9")] pub nejepfbhigp: ::core::option::Option, #[prost(bytes = "vec", tag = "12")] - pub ninehmjdphe: ::prost::alloc::vec::Vec, + pub body: ::prost::alloc::vec::Vec, } #[derive(proto_gen::CmdID)] #[derive(proto_gen::XorFields)] @@ -21018,7 +21018,7 @@ pub struct Ballfolmdcf { #[derive(Clone, PartialEq, ::prost::Message)] pub struct Ijgdaoheiig { #[prost(message, optional, tag = "1")] - pub nekidnpibgc: ::core::option::Option, + pub section: ::core::option::Option, #[prost(int32, tag = "2")] pub jbjgchpkhcc: i32, #[prost(string, tag = "3")] @@ -22824,9 +22824,9 @@ pub struct Abnbkkdpllb { #[derive(Clone, PartialEq, ::prost::Message)] pub struct Kichgigbmnh { #[prost(message, optional, tag = "1")] - pub nekidnpibgc: ::core::option::Option, + pub section: ::core::option::Option, #[prost(string, tag = "2")] - pub born_pos: ::prost::alloc::string::String, + pub transform: ::prost::alloc::string::String, #[prost(uint32, tag = "3")] pub camera_x: u32, #[prost(uint32, tag = "4")] @@ -23621,7 +23621,7 @@ pub struct Dkichcmcpdd { #[derive(proto_gen::XorFields)] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct EnterSectionCsReq { +pub struct SyncHallEventCsReq { #[prost(string, tag = "7")] pub reason: ::prost::alloc::string::String, #[prost(message, optional, tag = "3")] @@ -25347,7 +25347,7 @@ pub struct Aoalnhoklbo { #[prost(int32, tag = "13")] pub fanammicmmc: i32, #[prost(string, tag = "14")] - pub born_pos: ::prost::alloc::string::String, + pub transform: ::prost::alloc::string::String, #[prost(bool, tag = "15")] pub ebacaaakoib: bool, #[prost(uint32, tag = "16")] @@ -25397,22 +25397,22 @@ pub struct Ecegenamnmo { #[prost(uint32, tag = "15")] pub iddogdegagd: u32, #[prost(enumeration = "ActionType", tag = "13")] - pub kpglfpmbjag: i32, + pub action_type: i32, #[prost(bytes = "vec", tag = "11")] pub iojhbkleonn: ::prost::alloc::vec::Vec, #[prost(message, optional, tag = "12")] pub gfdmijhakkm: ::core::option::Option, #[xor(7037)] #[prost(uint32, tag = "1")] - pub cjemchndami: u32, + pub owner_id: u32, #[xor(5092)] #[prost(uint32, tag = "6")] pub hlopenbmegp: u32, #[xor(635)] #[prost(uint32, tag = "3")] pub section_id: u32, - #[prost(enumeration = "Ilpobigjnfm", tag = "5")] - pub dhjfpkblona: i32, + #[prost(enumeration = "EventGraphOwnerType", tag = "5")] + pub owner_type: i32, #[xor(12656)] #[prost(uint32, tag = "8")] pub ddiamibnibg: u32, @@ -25916,7 +25916,7 @@ pub struct Lhielpdaohm { #[prost(bool, tag = "2")] pub mkbjakkbnhm: bool, #[prost(int32, tag = "3")] - pub nekidnpibgc: i32, + pub section: i32, } #[derive(proto_gen::CmdID)] #[cmdid(2374)] @@ -27018,7 +27018,7 @@ pub struct Ifndfopgcph { #[prost(uint32, tag = "4")] pub igkchghofjn: u32, #[prost(uint32, tag = "5")] - pub dhjfpkblona: u32, + pub owner_type: u32, } #[derive(proto_gen::CmdID)] #[cmdid(4613)] @@ -28559,7 +28559,7 @@ pub struct Kljodeocgjj { #[derive(Clone, PartialEq, ::prost::Message)] pub struct Acglfclhomo { #[prost(enumeration = "TimeSegmentIndexType", tag = "1")] - pub dhjfpkblona: i32, + pub owner_type: i32, #[prost(message, optional, tag = "2")] pub jbnjidbjceo: ::core::option::Option, #[prost(message, optional, tag = "3")] @@ -28846,7 +28846,7 @@ pub struct Ekofeilgdip { #[derive(Clone, PartialEq, ::prost::Message)] pub struct Ebbhoblhncg { #[prost(message, optional, tag = "1")] - pub nekidnpibgc: ::core::option::Option, + pub section: ::core::option::Option, } #[derive(proto_gen::CmdID)] #[derive(proto_gen::XorFields)] @@ -29812,14 +29812,14 @@ pub struct GetFriendListScRsp { #[derive(proto_gen::XorFields)] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct Cbglachhdne { +pub struct ActionInfo { #[prost(bytes = "vec", tag = "6")] - pub ninehmjdphe: ::prost::alloc::vec::Vec, + pub body: ::prost::alloc::vec::Vec, #[xor(12410)] #[prost(uint32, tag = "1")] pub jdefffbinme: u32, #[prost(enumeration = "ActionType", tag = "10")] - pub kpglfpmbjag: i32, + pub action_type: i32, } #[derive(proto_gen::CmdID)] #[cmdid(1397)] @@ -30358,7 +30358,7 @@ pub struct Lnoldijnfdl { #[derive(Clone, PartialEq, ::prost::Message)] pub struct Cidockbmgdo { #[prost(message, optional, tag = "1")] - pub nekidnpibgc: ::core::option::Option, + pub section: ::core::option::Option, #[prost(message, optional, tag = "2")] pub fffmekkgkon: ::core::option::Option, #[prost(enumeration = "LayerType", tag = "3")] @@ -32023,7 +32023,7 @@ pub struct GetBuddyDataCsReq {} #[derive(Clone, PartialEq, ::prost::Message)] pub struct Mpdinaghali { #[prost(string, tag = "2")] - pub born_pos: ::prost::alloc::string::String, + pub transform: ::prost::alloc::string::String, #[prost(uint32, tag = "3")] pub camera_x: u32, #[prost(uint32, tag = "4")] @@ -32522,7 +32522,7 @@ pub struct Aijkaemjnjo { #[derive(Clone, PartialEq, ::prost::Message)] pub struct Dkbkahlhjhn { #[prost(enumeration = "TimeSegmentIndexType", tag = "1")] - pub dhjfpkblona: i32, + pub owner_type: i32, #[prost(message, optional, tag = "2")] pub fhhhblabjnf: ::core::option::Option, #[prost(message, optional, tag = "3")] @@ -34004,7 +34004,7 @@ pub struct Andjgknddgm {} #[derive(Clone, PartialEq, ::prost::Message)] pub struct Jnkgjnahehp { #[prost(enumeration = "HollowEntityType", tag = "1")] - pub dhjfpkblona: i32, + pub owner_type: i32, } #[derive(proto_gen::CmdID)] #[cmdid(3438)] @@ -34027,7 +34027,7 @@ pub struct Ecgbkjomkhg {} #[derive(Clone, PartialEq, ::prost::Message)] pub struct Ebkomallnah { #[prost(enumeration = "HollowEntityType", tag = "1")] - pub dhjfpkblona: i32, + pub owner_type: i32, #[prost(message, optional, tag = "2")] pub dhmnolikmhj: ::core::option::Option, #[prost(bool, tag = "3")] @@ -35238,7 +35238,7 @@ pub struct Ncnmmpffgii { pub hoagdhfnhhp: u32, #[xor(1789)] #[prost(uint32, tag = "14")] - pub nekidnpibgc: u32, + pub section: u32, } #[derive(proto_gen::CmdID)] #[derive(proto_gen::XorFields)] @@ -51938,44 +51938,44 @@ impl Leeimefookn { #[derive(proto_gen::XorFields)] #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] #[repr(i32)] -pub enum Ilpobigjnfm { - Imicgdckncn = 0, - Dndopmdagom = 1, - Hfjpbeaignf = 2, - Kebdikmifie = 3, - Kcfncebikgl = 4, - Aedinjjlmop = 5, - Gpmfplcejld = 6, +pub enum EventGraphOwnerType { + None = 0, + Scene = 1, + Section = 2, + SceneUnit = 3, + IlpobigjnfmKcfncebikgl = 4, + IlpobigjnfmAedinjjlmop = 5, + IlpobigjnfmGpmfplcejld = 6, Hfbhemncbjj = 7, } -impl Ilpobigjnfm { +impl EventGraphOwnerType { /// String value of the enum field names used in the ProtoBuf definition. /// /// The values are not transformed in any way and thus are considered stable /// (if the ProtoBuf definition does not change) and safe for programmatic use. pub fn as_str_name(&self) -> &'static str { match self { - Ilpobigjnfm::Imicgdckncn => "ILPOBIGJNFM_IMICGDCKNCN", - Ilpobigjnfm::Dndopmdagom => "ILPOBIGJNFM_DNDOPMDAGOM", - Ilpobigjnfm::Hfjpbeaignf => "ILPOBIGJNFM_HFJPBEAIGNF", - Ilpobigjnfm::Kebdikmifie => "ILPOBIGJNFM_KEBDIKMIFIE", - Ilpobigjnfm::Kcfncebikgl => "ILPOBIGJNFM_KCFNCEBIKGL", - Ilpobigjnfm::Aedinjjlmop => "ILPOBIGJNFM_AEDINJJLMOP", - Ilpobigjnfm::Gpmfplcejld => "ILPOBIGJNFM_GPMFPLCEJLD", - Ilpobigjnfm::Hfbhemncbjj => "ILPOBIGJNFM_HFBHEMNCBJJ", + EventGraphOwnerType::None => "EVENT_GRAPH_OWNER_TYPE_NONE", + EventGraphOwnerType::Scene => "EVENT_GRAPH_OWNER_TYPE_SCENE", + EventGraphOwnerType::Section => "EVENT_GRAPH_OWNER_TYPE_SECTION", + EventGraphOwnerType::SceneUnit => "EVENT_GRAPH_OWNER_TYPE_SCENE_UNIT", + EventGraphOwnerType::IlpobigjnfmKcfncebikgl => "ILPOBIGJNFM_KCFNCEBIKGL", + EventGraphOwnerType::IlpobigjnfmAedinjjlmop => "ILPOBIGJNFM_AEDINJJLMOP", + EventGraphOwnerType::IlpobigjnfmGpmfplcejld => "ILPOBIGJNFM_GPMFPLCEJLD", + EventGraphOwnerType::Hfbhemncbjj => "EventGraphOwnerType_HFBHEMNCBJJ", } } /// Creates an enum from field names used in the ProtoBuf definition. pub fn from_str_name(value: &str) -> ::core::option::Option { match value { - "ILPOBIGJNFM_IMICGDCKNCN" => Some(Self::Imicgdckncn), - "ILPOBIGJNFM_DNDOPMDAGOM" => Some(Self::Dndopmdagom), - "ILPOBIGJNFM_HFJPBEAIGNF" => Some(Self::Hfjpbeaignf), - "ILPOBIGJNFM_KEBDIKMIFIE" => Some(Self::Kebdikmifie), - "ILPOBIGJNFM_KCFNCEBIKGL" => Some(Self::Kcfncebikgl), - "ILPOBIGJNFM_AEDINJJLMOP" => Some(Self::Aedinjjlmop), - "ILPOBIGJNFM_GPMFPLCEJLD" => Some(Self::Gpmfplcejld), - "ILPOBIGJNFM_HFBHEMNCBJJ" => Some(Self::Hfbhemncbjj), + "EVENT_GRAPH_OWNER_TYPE_NONE" => Some(Self::None), + "EVENT_GRAPH_OWNER_TYPE_SCENE" => Some(Self::Scene), + "EVENT_GRAPH_OWNER_TYPE_SECTION" => Some(Self::Section), + "EVENT_GRAPH_OWNER_TYPE_SCENE_UNIT" => Some(Self::SceneUnit), + "ILPOBIGJNFM_KCFNCEBIKGL" => Some(Self::IlpobigjnfmKcfncebikgl), + "ILPOBIGJNFM_AEDINJJLMOP" => Some(Self::IlpobigjnfmAedinjjlmop), + "ILPOBIGJNFM_GPMFPLCEJLD" => Some(Self::IlpobigjnfmGpmfplcejld), + "EventGraphOwnerType_HFBHEMNCBJJ" => Some(Self::Hfbhemncbjj), _ => None, } }