diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..764f3b3 --- /dev/null +++ b/.gitignore @@ -0,0 +1,12 @@ +/target +/sdkserver.toml +/dispatch.toml +/gateserver.toml +/dbgate.toml +/gameserver.toml + +/hk4e_proto/bin.server.proto +/hk4e_proto/redis_data.proto +/hk4e_proto/packet_head.proto +/hk4e_proto/server_only.proto +/hk4e_proto/cmd.proto diff --git a/Cargo.lock b/Cargo.lock new file mode 100644 index 0000000..aa6973d --- /dev/null +++ b/Cargo.lock @@ -0,0 +1,3097 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "addr2line" +version = "0.22.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e4503c46a5c0c7844e948c9a4d6acd9f50cccb4de1c48eb9e291ea17470c678" +dependencies = [ + "gimli", +] + +[[package]] +name = "adler" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" + +[[package]] +name = "aes" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0" +dependencies = [ + "cfg-if", + "cipher", + "cpufeatures", +] + +[[package]] +name = "ahash" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" +dependencies = [ + "cfg-if", + "getrandom", + "once_cell", + "version_check", + "zerocopy", +] + +[[package]] +name = "aho-corasick" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" +dependencies = [ + "memchr", +] + +[[package]] +name = "allocator-api2" +version = "0.2.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f" + +[[package]] +name = "ansi_term" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2" +dependencies = [ + "winapi", +] + +[[package]] +name = "anstream" +version = "0.6.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "418c75fa768af9c03be99d17643f93f79bbba589895012a80e3452a19ddda15b" +dependencies = [ + "anstyle", + "anstyle-parse", + "anstyle-query", + "anstyle-wincon", + "colorchoice", + "is_terminal_polyfill", + "utf8parse", +] + +[[package]] +name = "anstyle" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "038dfcf04a5feb68e9c60b21c9625a54c2c0616e79b72b0fd87075a056ae1d1b" + +[[package]] +name = "anstyle-parse" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c03a11a9034d92058ceb6ee011ce58af4a9bf61491aa7e1e59ecd24bd40d22d4" +dependencies = [ + "utf8parse", +] + +[[package]] +name = "anstyle-query" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad186efb764318d35165f1758e7dcef3b10628e26d41a44bc5550652e6804391" +dependencies = [ + "windows-sys 0.52.0", +] + +[[package]] +name = "anstyle-wincon" +version = "3.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61a38449feb7068f52bb06c12759005cf459ee52bb4adc1d5a7c4322d716fb19" +dependencies = [ + "anstyle", + "windows-sys 0.52.0", +] + +[[package]] +name = "anyhow" +version = "1.0.86" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da" + +[[package]] +name = "async-trait" +version = "0.1.80" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.66", +] + +[[package]] +name = "asynchronous-codec" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a860072022177f903e59730004fb5dc13db9275b79bb2aef7ba8ce831956c233" +dependencies = [ + "bytes", + "futures-sink", + "futures-util", + "memchr", + "pin-project-lite", +] + +[[package]] +name = "atoi" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f28d99ec8bfea296261ca1af174f24225171fea9664ba9003cbebee704810528" +dependencies = [ + "num-traits", +] + +[[package]] +name = "atomic-waker" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" + +[[package]] +name = "autocfg" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" + +[[package]] +name = "axum" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a6c9af12842a67734c9a2e355436e5d03b22383ed60cf13cd0c18fbfe3dcbcf" +dependencies = [ + "async-trait", + "axum-core", + "bytes", + "futures-util", + "http", + "http-body", + "http-body-util", + "hyper", + "hyper-util", + "itoa", + "matchit", + "memchr", + "mime", + "percent-encoding", + "pin-project-lite", + "rustversion", + "serde", + "serde_json", + "serde_path_to_error", + "serde_urlencoded", + "sync_wrapper 1.0.1", + "tokio", + "tower", + "tower-layer", + "tower-service", + "tracing", +] + +[[package]] +name = "axum-core" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a15c63fd72d41492dc4f497196f5da1fb04fb7529e631d73630d1b491e47a2e3" +dependencies = [ + "async-trait", + "bytes", + "futures-util", + "http", + "http-body", + "http-body-util", + "mime", + "pin-project-lite", + "rustversion", + "sync_wrapper 0.1.2", + "tower-layer", + "tower-service", + "tracing", +] + +[[package]] +name = "axum-server" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1ad46c3ec4e12f4a4b6835e173ba21c25e484c9d02b49770bf006ce5367c036" +dependencies = [ + "bytes", + "futures-util", + "http", + "http-body", + "http-body-util", + "hyper", + "hyper-util", + "pin-project-lite", + "tokio", + "tower", + "tower-service", +] + +[[package]] +name = "backtrace" +version = "0.3.72" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17c6a35df3749d2e8bb1b7b21a976d82b15548788d2735b9d82f329268f71a11" +dependencies = [ + "addr2line", + "cc", + "cfg-if", + "libc", + "miniz_oxide", + "object", + "rustc-demangle", +] + +[[package]] +name = "base64" +version = "0.21.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" + +[[package]] +name = "base64ct" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" + +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + +[[package]] +name = "bitflags" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1" +dependencies = [ + "serde", +] + +[[package]] +name = "block-buffer" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +dependencies = [ + "generic-array", +] + +[[package]] +name = "block-padding" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8894febbff9f758034a5b8e12d87918f56dfc64a8e1fe757d65e29041538d93" +dependencies = [ + "generic-array", +] + +[[package]] +name = "byteorder" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" + +[[package]] +name = "bytes" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9" + +[[package]] +name = "cbc" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26b52a9543ae338f279b96b0b9fed9c8093744685043739079ce85cd58f289a6" +dependencies = [ + "cipher", +] + +[[package]] +name = "cc" +version = "1.0.98" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41c270e7540d725e65ac7f1b212ac8ce349719624d7bcff99f8e2e488e8cf03f" + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "cipher" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad" +dependencies = [ + "crypto-common", + "inout", +] + +[[package]] +name = "colorchoice" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b6a852b24ab71dffc585bcb46eaf7959d175cb865a7152e35b348d1b2960422" + +[[package]] +name = "combine" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba5a308b75df32fe02788e748662718f03fde005016435c444eea572398219fd" +dependencies = [ + "bytes", + "futures-core", + "memchr", + "pin-project-lite", + "tokio", + "tokio-util", +] + +[[package]] +name = "common" +version = "0.1.0" +dependencies = [ + "ansi_term", + "bytes", + "dashmap 6.0.1", + "env_logger", + "mhy-kcp", + "prost", + "proto", + "rand", + "rand_mt", + "rbase64", + "redis", + "rsa", + "serde", + "serde_json", + "sqlx", + "thiserror", + "tokio", + "toml", + "tracing", + "zeromq", +] + +[[package]] +name = "const-oid" +version = "0.9.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" + +[[package]] +name = "cpufeatures" +version = "0.2.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" +dependencies = [ + "libc", +] + +[[package]] +name = "crc" +version = "3.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69e6e4d7b33a94f0991c26729976b10ebde1d34c3ee82408fb536164fa10d636" +dependencies = [ + "crc-catalog", +] + +[[package]] +name = "crc-catalog" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5" + +[[package]] +name = "crossbeam-deque" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" +dependencies = [ + "crossbeam-epoch", + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-epoch" +version = "0.9.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-queue" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df0346b5d5e76ac2fe4e327c5fd1118d6be7c51dfb18f9b7922923f287471e35" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-utils" +version = "0.8.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" + +[[package]] +name = "crypto-common" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" +dependencies = [ + "generic-array", + "typenum", +] + +[[package]] +name = "csv" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac574ff4d437a7b5ad237ef331c17ccca63c46479e5b5453eb8e10bb99a759fe" +dependencies = [ + "csv-core", + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "csv-core" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5efa2b3d7902f4b634a20cae3c9c4e6209dc4779feb6863329607560143efa70" +dependencies = [ + "memchr", +] + +[[package]] +name = "dashmap" +version = "5.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" +dependencies = [ + "cfg-if", + "hashbrown", + "lock_api", + "once_cell", + "parking_lot_core", +] + +[[package]] +name = "dashmap" +version = "6.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "804c8821570c3f8b70230c2ba75ffa5c0f9a4189b9a432b6656c536712acae28" +dependencies = [ + "cfg-if", + "crossbeam-utils", + "hashbrown", + "lock_api", + "once_cell", + "parking_lot_core", +] + +[[package]] +name = "data" +version = "0.1.0" +dependencies = [ + "csv", + "paste", + "proto", + "serde", + "serde_json", +] + +[[package]] +name = "dbgate" +version = "0.1.0" +dependencies = [ + "common", + "env_logger", + "hex", + "paste", + "prost", + "proto", + "rbase64", + "serde", + "serde_json", + "sqlx", + "tokio", + "tokio-util", + "toml", + "tracing", + "tracing-bunyan-formatter", + "tracing-futures", + "tracing-log 0.2.0", + "tracing-subscriber", +] + +[[package]] +name = "der" +version = "0.7.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f55bf8e7b65898637379c1b74eb1551107c8294ed26d855ceb9fd1a09cfc9bc0" +dependencies = [ + "const-oid", + "pem-rfc7468", + "zeroize", +] + +[[package]] +name = "deranged" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" +dependencies = [ + "powerfmt", +] + +[[package]] +name = "digest" +version = "0.10.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" +dependencies = [ + "block-buffer", + "const-oid", + "crypto-common", + "subtle", +] + +[[package]] +name = "dispatch" +version = "0.1.0" +dependencies = [ + "axum", + "axum-server", + "common", + "dashmap 6.0.1", + "env_logger", + "hex", + "paste", + "prost", + "proto", + "rbase64", + "serde", + "serde_json", + "sqlx", + "tokio", + "tokio-util", + "toml", + "tracing", + "tracing-bunyan-formatter", + "tracing-futures", + "tracing-log 0.2.0", + "tracing-subscriber", +] + +[[package]] +name = "dotenvy" +version = "0.15.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1aaf95b3e5c8f23aa320147307562d361db0ae0d51242340f558153b4eb2439b" + +[[package]] +name = "either" +version = "1.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3dca9240753cf90908d7e4aac30f630662b02aebaa1b58a3cadabdb23385b58b" +dependencies = [ + "serde", +] + +[[package]] +name = "env_filter" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a009aa4810eb158359dda09d0c87378e4bbb89b5a801f016885a4707ba24f7ea" +dependencies = [ + "log", + "regex", +] + +[[package]] +name = "env_logger" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38b35839ba51819680ba087cd351788c9a3c476841207e0b8cee0b04722343b9" +dependencies = [ + "anstream", + "anstyle", + "env_filter", + "humantime", + "log", +] + +[[package]] +name = "equivalent" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" + +[[package]] +name = "errno" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" +dependencies = [ + "libc", + "windows-sys 0.52.0", +] + +[[package]] +name = "etcetera" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "136d1b5283a1ab77bd9257427ffd09d8667ced0570b6f938942bc7568ed5b943" +dependencies = [ + "cfg-if", + "home", + "windows-sys 0.48.0", +] + +[[package]] +name = "event-listener" +version = "2.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" + +[[package]] +name = "fastrand" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a" + +[[package]] +name = "fixedbitset" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" + +[[package]] +name = "flume" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55ac459de2512911e4b674ce33cf20befaba382d05b62b008afc1c8b57cbf181" +dependencies = [ + "futures-core", + "futures-sink", + "spin 0.9.8", +] + +[[package]] +name = "fnv" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" + +[[package]] +name = "form_urlencoded" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" +dependencies = [ + "percent-encoding", +] + +[[package]] +name = "futures-channel" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" +dependencies = [ + "futures-core", + "futures-sink", +] + +[[package]] +name = "futures-core" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" + +[[package]] +name = "futures-executor" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d" +dependencies = [ + "futures-core", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-intrusive" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d930c203dd0b6ff06e0201a4a2fe9149b43c684fd4420555b26d21b1a02956f" +dependencies = [ + "futures-core", + "lock_api", + "parking_lot", +] + +[[package]] +name = "futures-io" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" + +[[package]] +name = "futures-macro" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.66", +] + +[[package]] +name = "futures-sink" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" + +[[package]] +name = "futures-task" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" + +[[package]] +name = "futures-util" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" +dependencies = [ + "futures-core", + "futures-io", + "futures-macro", + "futures-sink", + "futures-task", + "memchr", + "pin-project-lite", + "pin-utils", + "slab", +] + +[[package]] +name = "gameserver" +version = "0.1.0" +dependencies = [ + "common", + "dashmap 6.0.1", + "data", + "env_logger", + "hex", + "num_enum", + "parking_lot", + "paste", + "prost", + "proto", + "rand", + "rbase64", + "serde", + "serde_json", + "tokio", + "tokio-util", + "toml", + "tracing", + "tracing-bunyan-formatter", + "tracing-futures", + "tracing-log 0.2.0", + "tracing-subscriber", +] + +[[package]] +name = "gateserver" +version = "0.1.0" +dependencies = [ + "common", + "env_logger", + "hex", + "mhy-kcp", + "paste", + "prost", + "proto", + "rand", + "rbase64", + "redis", + "serde", + "serde_json", + "sqlx", + "thiserror", + "tokio", + "tokio-util", + "toml", + "tracing", + "tracing-bunyan-formatter", + "tracing-futures", + "tracing-log 0.2.0", + "tracing-subscriber", +] + +[[package]] +name = "generic-array" +version = "0.14.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" +dependencies = [ + "typenum", + "version_check", +] + +[[package]] +name = "gethostname" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1ebd34e35c46e00bb73e81363248d627782724609fe1b6396f553f68fe3862e" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "getrandom" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" +dependencies = [ + "cfg-if", + "libc", + "wasi", +] + +[[package]] +name = "gimli" +version = "0.29.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "40ecd4077b5ae9fd2e9e169b102c6c330d0605168eb0e8bf79952b256dbefffd" + +[[package]] +name = "h2" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa82e28a107a8cc405f0839610bdc9b15f1e25ec7d696aa5cf173edbcb1486ab" +dependencies = [ + "atomic-waker", + "bytes", + "fnv", + "futures-core", + "futures-sink", + "http", + "indexmap", + "slab", + "tokio", + "tokio-util", + "tracing", +] + +[[package]] +name = "hashbrown" +version = "0.14.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" +dependencies = [ + "ahash", + "allocator-api2", +] + +[[package]] +name = "hashlink" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e8094feaf31ff591f651a2664fb9cfd92bba7a60ce3197265e9482ebe753c8f7" +dependencies = [ + "hashbrown", +] + +[[package]] +name = "heck" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" +dependencies = [ + "unicode-segmentation", +] + +[[package]] +name = "hermit-abi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" + +[[package]] +name = "hex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" + +[[package]] +name = "hkdf" +version = "0.12.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7" +dependencies = [ + "hmac", +] + +[[package]] +name = "hmac" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" +dependencies = [ + "digest", +] + +[[package]] +name = "home" +version = "0.5.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5" +dependencies = [ + "windows-sys 0.52.0", +] + +[[package]] +name = "http" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258" +dependencies = [ + "bytes", + "fnv", + "itoa", +] + +[[package]] +name = "http-body" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1cac85db508abc24a2e48553ba12a996e87244a0395ce011e62b37158745d643" +dependencies = [ + "bytes", + "http", +] + +[[package]] +name = "http-body-util" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0475f8b2ac86659c21b64320d5d653f9efe42acd2a4e560073ec61a155a34f1d" +dependencies = [ + "bytes", + "futures-core", + "http", + "http-body", + "pin-project-lite", +] + +[[package]] +name = "httparse" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" + +[[package]] +name = "httpdate" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" + +[[package]] +name = "humantime" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" + +[[package]] +name = "hyper" +version = "1.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe575dd17d0862a9a33781c8c4696a55c320909004a67a00fb286ba8b1bc496d" +dependencies = [ + "bytes", + "futures-channel", + "futures-util", + "h2", + "http", + "http-body", + "httparse", + "httpdate", + "itoa", + "pin-project-lite", + "smallvec", + "tokio", +] + +[[package]] +name = "hyper-util" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b875924a60b96e5d7b9ae7b066540b1dd1cbd90d1828f54c92e02a283351c56" +dependencies = [ + "bytes", + "futures-util", + "http", + "http-body", + "hyper", + "pin-project-lite", + "tokio", +] + +[[package]] +name = "idna" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" +dependencies = [ + "unicode-bidi", + "unicode-normalization", +] + +[[package]] +name = "indexmap" +version = "2.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" +dependencies = [ + "equivalent", + "hashbrown", +] + +[[package]] +name = "inout" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5" +dependencies = [ + "block-padding", + "generic-array", +] + +[[package]] +name = "is_terminal_polyfill" +version = "1.70.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8478577c03552c21db0e2724ffb8986a5ce7af88107e6be5d2ee6e158c12800" + +[[package]] +name = "itertools" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "1.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" + +[[package]] +name = "lazy_static" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" +dependencies = [ + "spin 0.5.2", +] + +[[package]] +name = "libc" +version = "0.2.155" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" + +[[package]] +name = "libm" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058" + +[[package]] +name = "libmimalloc-sys" +version = "0.1.38" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e7bb23d733dfcc8af652a78b7bf232f0e967710d044732185e561e47c0336b6" +dependencies = [ + "cc", + "libc", +] + +[[package]] +name = "libsqlite3-sys" +version = "0.27.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf4e226dcd58b4be396f7bd3c20da8fdee2911400705297ba7d2d7cc2c30f716" +dependencies = [ + "cc", + "pkg-config", + "vcpkg", +] + +[[package]] +name = "linux-raw-sys" +version = "0.4.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" + +[[package]] +name = "lock_api" +version = "0.4.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" +dependencies = [ + "autocfg", + "scopeguard", +] + +[[package]] +name = "log" +version = "0.4.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" + +[[package]] +name = "matchers" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" +dependencies = [ + "regex-automata 0.1.10", +] + +[[package]] +name = "matchit" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94" + +[[package]] +name = "md-5" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf" +dependencies = [ + "cfg-if", + "digest", +] + +[[package]] +name = "memchr" +version = "2.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d" + +[[package]] +name = "mhy-kcp" +version = "0.1.0" +dependencies = [ + "bytes", + "env_logger", + "log", + "rand", + "thiserror", + "time", + "tokio", + "xxhash-rust", +] + +[[package]] +name = "mimalloc" +version = "0.1.42" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e9186d86b79b52f4a77af65604b51225e8db1d6ee7e3f41aec1e40829c71a176" +dependencies = [ + "libmimalloc-sys", +] + +[[package]] +name = "mime" +version = "0.3.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" + +[[package]] +name = "minimal-lexical" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" + +[[package]] +name = "miniz_oxide" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87dfd01fe195c66b572b37921ad8803d010623c0aca821bea2302239d155cdae" +dependencies = [ + "adler", +] + +[[package]] +name = "mio" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" +dependencies = [ + "libc", + "wasi", + "windows-sys 0.48.0", +] + +[[package]] +name = "multimap" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "defc4c55412d89136f966bbb339008b474350e5e6e78d2714439c386b3137a03" + +[[package]] +name = "nom" +version = "7.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" +dependencies = [ + "memchr", + "minimal-lexical", +] + +[[package]] +name = "nu-ansi-term" +version = "0.46.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" +dependencies = [ + "overload", + "winapi", +] + +[[package]] +name = "num-bigint-dig" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc84195820f291c7697304f3cbdadd1cb7199c0efc917ff5eafd71225c136151" +dependencies = [ + "byteorder", + "lazy_static", + "libm", + "num-integer", + "num-iter", + "num-traits", + "rand", + "serde", + "smallvec", + "zeroize", +] + +[[package]] +name = "num-conv" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" + +[[package]] +name = "num-integer" +version = "0.1.46" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" +dependencies = [ + "num-traits", +] + +[[package]] +name = "num-iter" +version = "0.1.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", +] + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", + "libm", +] + +[[package]] +name = "num_cpus" +version = "1.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" +dependencies = [ + "hermit-abi", + "libc", +] + +[[package]] +name = "num_enum" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e613fc340b2220f734a8595782c551f1250e969d87d3be1ae0579e8d4065179" +dependencies = [ + "num_enum_derive", +] + +[[package]] +name = "num_enum_derive" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af1844ef2428cc3e1cb900be36181049ef3d3193c63e43026cfe202983b27a56" +dependencies = [ + "proc-macro-crate", + "proc-macro2", + "quote", + "syn 2.0.66", +] + +[[package]] +name = "object" +version = "0.35.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8ec7ab813848ba4522158d5517a6093db1ded27575b070f4177b8d12b41db5e" +dependencies = [ + "memchr", +] + +[[package]] +name = "once_cell" +version = "1.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" + +[[package]] +name = "overload" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" + +[[package]] +name = "parking_lot" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" +dependencies = [ + "lock_api", + "parking_lot_core", +] + +[[package]] +name = "parking_lot_core" +version = "0.9.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall 0.5.1", + "smallvec", + "windows-targets 0.52.5", +] + +[[package]] +name = "password-hash" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "346f04948ba92c43e8469c1ee6736c7563d71012b17d40745260fe106aac2166" +dependencies = [ + "base64ct", + "rand_core", + "subtle", +] + +[[package]] +name = "paste" +version = "1.0.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" + +[[package]] +name = "pbkdf2" +version = "0.12.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8ed6a7761f76e3b9f92dfb0a60a6a6477c61024b775147ff0973a02653abaf2" +dependencies = [ + "digest", + "hmac", + "password-hash", + "sha2", +] + +[[package]] +name = "pem-rfc7468" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412" +dependencies = [ + "base64ct", +] + +[[package]] +name = "percent-encoding" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" + +[[package]] +name = "petgraph" +version = "0.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" +dependencies = [ + "fixedbitset", + "indexmap", +] + +[[package]] +name = "pin-project" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3" +dependencies = [ + "pin-project-internal", +] + +[[package]] +name = "pin-project-internal" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.66", +] + +[[package]] +name = "pin-project-lite" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" + +[[package]] +name = "pin-utils" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" + +[[package]] +name = "pkcs1" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8ffb9f10fa047879315e6625af03c164b16962a5368d724ed16323b68ace47f" +dependencies = [ + "der", + "pkcs8", + "spki", +] + +[[package]] +name = "pkcs5" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e847e2c91a18bfa887dd028ec33f2fe6f25db77db3619024764914affe8b69a6" +dependencies = [ + "aes", + "cbc", + "der", + "pbkdf2", + "scrypt", + "sha2", + "spki", +] + +[[package]] +name = "pkcs8" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" +dependencies = [ + "der", + "pkcs5", + "rand_core", + "spki", +] + +[[package]] +name = "pkg-config" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" + +[[package]] +name = "powerfmt" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" + +[[package]] +name = "ppv-lite86" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" + +[[package]] +name = "prettyplease" +version = "0.2.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f12335488a2f3b0a83b14edad48dca9879ce89b2edd10e80237e4e852dd645e" +dependencies = [ + "proc-macro2", + "syn 2.0.66", +] + +[[package]] +name = "proc-macro-crate" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284" +dependencies = [ + "toml_edit 0.21.1", +] + +[[package]] +name = "proc-macro2" +version = "1.0.85" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22244ce15aa966053a896d1accb3a6e68469b97c7f33f284b99f0d576879fc23" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "prost" +version = "0.12.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "deb1435c188b76130da55f17a466d252ff7b1418b2ad3e037d127b94e3411f29" +dependencies = [ + "bytes", + "prost-derive", +] + +[[package]] +name = "prost-build" +version = "0.12.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22505a5c94da8e3b7c2996394d1c933236c4d743e81a410bcca4e6989fc066a4" +dependencies = [ + "bytes", + "heck", + "itertools", + "log", + "multimap", + "once_cell", + "petgraph", + "prettyplease", + "prost", + "prost-types", + "regex", + "syn 2.0.66", + "tempfile", +] + +[[package]] +name = "prost-derive" +version = "0.12.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81bddcdb20abf9501610992b6759a4c888aef7d1a7247ef75e2404275ac24af1" +dependencies = [ + "anyhow", + "itertools", + "proc-macro2", + "quote", + "syn 2.0.66", +] + +[[package]] +name = "prost-types" +version = "0.12.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9091c90b0a32608e984ff2fa4091273cbdd755d54935c51d520887f4a1dbd5b0" +dependencies = [ + "prost", +] + +[[package]] +name = "proto" +version = "0.1.0" +dependencies = [ + "prost", + "prost-build", + "prost-types", + "proto_gen", +] + +[[package]] +name = "proto_gen" +version = "0.1.0" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.66", +] + +[[package]] +name = "quote" +version = "1.0.36" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "rand" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +dependencies = [ + "libc", + "rand_chacha", + "rand_core", +] + +[[package]] +name = "rand_chacha" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +dependencies = [ + "ppv-lite86", + "rand_core", +] + +[[package]] +name = "rand_core" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +dependencies = [ + "getrandom", +] + +[[package]] +name = "rand_mt" +version = "4.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49e018c6ded60e5252609887c12eb3ca2592e9248c5894a7db3975c8a7a1e2df" +dependencies = [ + "rand_core", +] + +[[package]] +name = "rayon" +version = "1.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa" +dependencies = [ + "either", + "rayon-core", +] + +[[package]] +name = "rayon-core" +version = "1.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" +dependencies = [ + "crossbeam-deque", + "crossbeam-utils", +] + +[[package]] +name = "rbase64" +version = "2.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b133fdd52a7cbb7619c86d93c8a34ea6e056462f901e08f6cbb6c9baf138b13" +dependencies = [ + "mimalloc", + "rayon", +] + +[[package]] +name = "redis" +version = "0.25.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e0d7a6955c7511f60f3ba9e86c6d02b3c3f144f8c24b288d1f4e18074ab8bbec" +dependencies = [ + "async-trait", + "bytes", + "combine", + "futures-util", + "itoa", + "percent-encoding", + "pin-project-lite", + "ryu", + "sha1_smol", + "socket2", + "tokio", + "tokio-util", + "url", +] + +[[package]] +name = "redox_syscall" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" +dependencies = [ + "bitflags 1.3.2", +] + +[[package]] +name = "redox_syscall" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "469052894dcb553421e483e4209ee581a45100d31b4018de03e5a7ad86374a7e" +dependencies = [ + "bitflags 2.5.0", +] + +[[package]] +name = "regex" +version = "1.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4219d74c6b67a3654a9fbebc4b419e22126d13d2f3c4a07ee0cb61ff79a79619" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata 0.4.6", + "regex-syntax 0.8.3", +] + +[[package]] +name = "regex-automata" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" +dependencies = [ + "regex-syntax 0.6.29", +] + +[[package]] +name = "regex-automata" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax 0.8.3", +] + +[[package]] +name = "regex-syntax" +version = "0.6.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" + +[[package]] +name = "regex-syntax" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "adad44e29e4c806119491a7f06f03de4d1af22c3a680dd47f1e6e179439d1f56" + +[[package]] +name = "ring" +version = "0.17.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" +dependencies = [ + "cc", + "cfg-if", + "getrandom", + "libc", + "spin 0.9.8", + "untrusted", + "windows-sys 0.52.0", +] + +[[package]] +name = "rsa" +version = "0.9.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d0e5124fcb30e76a7e79bfee683a2746db83784b86289f6251b54b7950a0dfc" +dependencies = [ + "const-oid", + "digest", + "num-bigint-dig", + "num-integer", + "num-traits", + "pkcs1", + "pkcs8", + "rand_core", + "serde", + "sha1", + "sha2", + "signature", + "spki", + "subtle", + "zeroize", +] + +[[package]] +name = "rustc-demangle" +version = "0.1.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" + +[[package]] +name = "rustix" +version = "0.38.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f" +dependencies = [ + "bitflags 2.5.0", + "errno", + "libc", + "linux-raw-sys", + "windows-sys 0.52.0", +] + +[[package]] +name = "rustls" +version = "0.21.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f56a14d1f48b391359b22f731fd4bd7e43c97f3c50eee276f3aa09c94784d3e" +dependencies = [ + "ring", + "rustls-webpki", + "sct", +] + +[[package]] +name = "rustls-pemfile" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c" +dependencies = [ + "base64", +] + +[[package]] +name = "rustls-webpki" +version = "0.101.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765" +dependencies = [ + "ring", + "untrusted", +] + +[[package]] +name = "rustversion" +version = "1.0.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6" + +[[package]] +name = "ryu" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" + +[[package]] +name = "salsa20" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97a22f5af31f73a954c10289c93e8a50cc23d971e80ee446f1f6f7137a088213" +dependencies = [ + "cipher", +] + +[[package]] +name = "scopeguard" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" + +[[package]] +name = "scrypt" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0516a385866c09368f0b5bcd1caff3366aace790fcd46e2bb032697bb172fd1f" +dependencies = [ + "pbkdf2", + "salsa20", + "sha2", +] + +[[package]] +name = "sct" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414" +dependencies = [ + "ring", + "untrusted", +] + +[[package]] +name = "sdkserver" +version = "0.1.0" +dependencies = [ + "axum", + "axum-server", + "common", + "env_logger", + "password-hash", + "pbkdf2", + "rand", + "rbase64", + "regex", + "rsa", + "serde", + "serde_json", + "sqlx", + "thiserror", + "tokio", + "tokio-util", + "toml", + "tracing", + "tracing-bunyan-formatter", + "tracing-futures", + "tracing-log 0.2.0", + "tracing-subscriber", +] + +[[package]] +name = "serde" +version = "1.0.203" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7253ab4de971e72fb7be983802300c30b5a7f0c2e56fab8abfc6a214307c0094" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.203" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "500cbc0ebeb6f46627f50f3f5811ccf6bf00643be300b4c3eabc0ef55dc5b5ba" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.66", +] + +[[package]] +name = "serde_json" +version = "1.0.117" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "455182ea6142b14f93f4bc5320a2b31c1f266b66a4a5c858b013302a5d8cbfc3" +dependencies = [ + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "serde_path_to_error" +version = "0.1.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af99884400da37c88f5e9146b7f1fd0fbcae8f6eec4e9da38b67d05486f814a6" +dependencies = [ + "itoa", + "serde", +] + +[[package]] +name = "serde_spanned" +version = "0.6.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "79e674e01f999af37c49f70a6ede167a8a60b2503e56c5599532a65baa5969a0" +dependencies = [ + "serde", +] + +[[package]] +name = "serde_urlencoded" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" +dependencies = [ + "form_urlencoded", + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "sha1" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest", +] + +[[package]] +name = "sha1_smol" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae1a47186c03a32177042e55dbc5fd5aee900b8e0069a8d70fba96a9375cd012" + +[[package]] +name = "sha2" +version = "0.10.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest", +] + +[[package]] +name = "sharded-slab" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" +dependencies = [ + "lazy_static", +] + +[[package]] +name = "signal-hook-registry" +version = "1.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1" +dependencies = [ + "libc", +] + +[[package]] +name = "signature" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" +dependencies = [ + "digest", + "rand_core", +] + +[[package]] +name = "slab" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" +dependencies = [ + "autocfg", +] + +[[package]] +name = "smallvec" +version = "1.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" + +[[package]] +name = "socket2" +version = "0.5.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c" +dependencies = [ + "libc", + "windows-sys 0.52.0", +] + +[[package]] +name = "spin" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" + +[[package]] +name = "spin" +version = "0.9.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" +dependencies = [ + "lock_api", +] + +[[package]] +name = "spki" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" +dependencies = [ + "base64ct", + "der", +] + +[[package]] +name = "sqlformat" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce81b7bd7c4493975347ef60d8c7e8b742d4694f4c49f93e0a12ea263938176c" +dependencies = [ + "itertools", + "nom", + "unicode_categories", +] + +[[package]] +name = "sqlx" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c9a2ccff1a000a5a59cd33da541d9f2fdcd9e6e8229cc200565942bff36d0aaa" +dependencies = [ + "sqlx-core", + "sqlx-macros", + "sqlx-mysql", + "sqlx-postgres", + "sqlx-sqlite", +] + +[[package]] +name = "sqlx-core" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24ba59a9342a3d9bab6c56c118be528b27c9b60e490080e9711a04dccac83ef6" +dependencies = [ + "ahash", + "atoi", + "byteorder", + "bytes", + "crc", + "crossbeam-queue", + "either", + "event-listener", + "futures-channel", + "futures-core", + "futures-intrusive", + "futures-io", + "futures-util", + "hashlink", + "hex", + "indexmap", + "log", + "memchr", + "once_cell", + "paste", + "percent-encoding", + "rustls", + "rustls-pemfile", + "serde", + "serde_json", + "sha2", + "smallvec", + "sqlformat", + "thiserror", + "tokio", + "tokio-stream", + "tracing", + "url", + "webpki-roots", +] + +[[package]] +name = "sqlx-macros" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ea40e2345eb2faa9e1e5e326db8c34711317d2b5e08d0d5741619048a803127" +dependencies = [ + "proc-macro2", + "quote", + "sqlx-core", + "sqlx-macros-core", + "syn 1.0.109", +] + +[[package]] +name = "sqlx-macros-core" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5833ef53aaa16d860e92123292f1f6a3d53c34ba8b1969f152ef1a7bb803f3c8" +dependencies = [ + "dotenvy", + "either", + "heck", + "hex", + "once_cell", + "proc-macro2", + "quote", + "serde", + "serde_json", + "sha2", + "sqlx-core", + "sqlx-mysql", + "sqlx-postgres", + "sqlx-sqlite", + "syn 1.0.109", + "tempfile", + "tokio", + "url", +] + +[[package]] +name = "sqlx-mysql" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ed31390216d20e538e447a7a9b959e06ed9fc51c37b514b46eb758016ecd418" +dependencies = [ + "atoi", + "base64", + "bitflags 2.5.0", + "byteorder", + "bytes", + "crc", + "digest", + "dotenvy", + "either", + "futures-channel", + "futures-core", + "futures-io", + "futures-util", + "generic-array", + "hex", + "hkdf", + "hmac", + "itoa", + "log", + "md-5", + "memchr", + "once_cell", + "percent-encoding", + "rand", + "rsa", + "serde", + "sha1", + "sha2", + "smallvec", + "sqlx-core", + "stringprep", + "thiserror", + "tracing", + "whoami", +] + +[[package]] +name = "sqlx-postgres" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c824eb80b894f926f89a0b9da0c7f435d27cdd35b8c655b114e58223918577e" +dependencies = [ + "atoi", + "base64", + "bitflags 2.5.0", + "byteorder", + "crc", + "dotenvy", + "etcetera", + "futures-channel", + "futures-core", + "futures-io", + "futures-util", + "hex", + "hkdf", + "hmac", + "home", + "itoa", + "log", + "md-5", + "memchr", + "once_cell", + "rand", + "serde", + "serde_json", + "sha2", + "smallvec", + "sqlx-core", + "stringprep", + "thiserror", + "tracing", + "whoami", +] + +[[package]] +name = "sqlx-sqlite" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b244ef0a8414da0bed4bb1910426e890b19e5e9bccc27ada6b797d05c55ae0aa" +dependencies = [ + "atoi", + "flume", + "futures-channel", + "futures-core", + "futures-executor", + "futures-intrusive", + "futures-util", + "libsqlite3-sys", + "log", + "percent-encoding", + "serde", + "sqlx-core", + "tracing", + "url", + "urlencoding", +] + +[[package]] +name = "stringprep" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b4df3d392d81bd458a8a621b8bffbd2302a12ffe288a9d931670948749463b1" +dependencies = [ + "unicode-bidi", + "unicode-normalization", + "unicode-properties", +] + +[[package]] +name = "subtle" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc" + +[[package]] +name = "syn" +version = "1.0.109" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "2.0.66" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c42f3f41a2de00b01c0aaad383c5a45241efc8b2d1eda5661812fda5f3cdcff5" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "sync_wrapper" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" + +[[package]] +name = "sync_wrapper" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7065abeca94b6a8a577f9bd45aa0867a2238b74e8eb67cf10d492bc39351394" + +[[package]] +name = "tempfile" +version = "3.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1" +dependencies = [ + "cfg-if", + "fastrand", + "rustix", + "windows-sys 0.52.0", +] + +[[package]] +name = "thiserror" +version = "1.0.61" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c546c80d6be4bc6a00c0f01730c08df82eaa7a7a61f11d656526506112cc1709" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.61" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.66", +] + +[[package]] +name = "thread_local" +version = "1.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" +dependencies = [ + "cfg-if", + "once_cell", +] + +[[package]] +name = "time" +version = "0.3.36" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" +dependencies = [ + "deranged", + "itoa", + "num-conv", + "powerfmt", + "serde", + "time-core", + "time-macros", +] + +[[package]] +name = "time-core" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" + +[[package]] +name = "time-macros" +version = "0.2.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf" +dependencies = [ + "num-conv", + "time-core", +] + +[[package]] +name = "tinyvec" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" +dependencies = [ + "tinyvec_macros", +] + +[[package]] +name = "tinyvec_macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" + +[[package]] +name = "tokio" +version = "1.38.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba4f4a02a7a80d6f274636f0aa95c7e383b912d41fe721a31f29e29698585a4a" +dependencies = [ + "backtrace", + "bytes", + "libc", + "mio", + "num_cpus", + "parking_lot", + "pin-project-lite", + "signal-hook-registry", + "socket2", + "tokio-macros", + "windows-sys 0.48.0", +] + +[[package]] +name = "tokio-macros" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f5ae998a069d4b5aba8ee9dad856af7d520c3699e6159b185c2acd48155d39a" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.66", +] + +[[package]] +name = "tokio-stream" +version = "0.1.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "267ac89e0bec6e691e5813911606935d77c476ff49024f98abcea3e7b15e37af" +dependencies = [ + "futures-core", + "pin-project-lite", + "tokio", +] + +[[package]] +name = "tokio-util" +version = "0.7.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9cf6b47b3771c49ac75ad09a6162f53ad4b8088b76ac60e8ec1455b31a189fe1" +dependencies = [ + "bytes", + "futures-core", + "futures-io", + "futures-sink", + "pin-project-lite", + "tokio", +] + +[[package]] +name = "toml" +version = "0.8.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f49eb2ab21d2f26bd6db7bf383edc527a7ebaee412d17af4d40fdccd442f335" +dependencies = [ + "serde", + "serde_spanned", + "toml_datetime", + "toml_edit 0.22.14", +] + +[[package]] +name = "toml_datetime" +version = "0.6.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4badfd56924ae69bcc9039335b2e017639ce3f9b001c393c1b2d1ef846ce2cbf" +dependencies = [ + "serde", +] + +[[package]] +name = "toml_edit" +version = "0.21.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1" +dependencies = [ + "indexmap", + "toml_datetime", + "winnow 0.5.40", +] + +[[package]] +name = "toml_edit" +version = "0.22.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f21c7aaf97f1bd9ca9d4f9e73b0a6c74bd5afef56f2bc931943a6e1c37e04e38" +dependencies = [ + "indexmap", + "serde", + "serde_spanned", + "toml_datetime", + "winnow 0.6.13", +] + +[[package]] +name = "tower" +version = "0.4.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" +dependencies = [ + "futures-core", + "futures-util", + "pin-project", + "pin-project-lite", + "tokio", + "tower-layer", + "tower-service", + "tracing", +] + +[[package]] +name = "tower-layer" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0" + +[[package]] +name = "tower-service" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" + +[[package]] +name = "tracing" +version = "0.1.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" +dependencies = [ + "log", + "pin-project-lite", + "tracing-attributes", + "tracing-core", +] + +[[package]] +name = "tracing-attributes" +version = "0.1.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.66", +] + +[[package]] +name = "tracing-bunyan-formatter" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5c266b9ac83dedf0e0385ad78514949e6d89491269e7065bee51d2bb8ec7373" +dependencies = [ + "ahash", + "gethostname", + "log", + "serde", + "serde_json", + "time", + "tracing", + "tracing-core", + "tracing-log 0.1.4", + "tracing-subscriber", +] + +[[package]] +name = "tracing-core" +version = "0.1.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" +dependencies = [ + "once_cell", + "valuable", +] + +[[package]] +name = "tracing-futures" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2" +dependencies = [ + "pin-project", + "tracing", +] + +[[package]] +name = "tracing-log" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f751112709b4e791d8ce53e32c4ed2d353565a795ce84da2285393f41557bdf2" +dependencies = [ + "log", + "once_cell", + "tracing-core", +] + +[[package]] +name = "tracing-log" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" +dependencies = [ + "log", + "once_cell", + "tracing-core", +] + +[[package]] +name = "tracing-subscriber" +version = "0.3.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b" +dependencies = [ + "matchers", + "nu-ansi-term", + "once_cell", + "regex", + "sharded-slab", + "smallvec", + "thread_local", + "tracing", + "tracing-core", + "tracing-log 0.2.0", +] + +[[package]] +name = "typenum" +version = "1.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" + +[[package]] +name = "unicode-bidi" +version = "0.3.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" + +[[package]] +name = "unicode-ident" +version = "1.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" + +[[package]] +name = "unicode-normalization" +version = "0.1.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5" +dependencies = [ + "tinyvec", +] + +[[package]] +name = "unicode-properties" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e4259d9d4425d9f0661581b804cb85fe66a4c631cadd8f490d1c13a35d5d9291" + +[[package]] +name = "unicode-segmentation" +version = "1.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202" + +[[package]] +name = "unicode_categories" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "39ec24b3121d976906ece63c9daad25b85969647682eee313cb5779fdd69e14e" + +[[package]] +name = "untrusted" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" + +[[package]] +name = "url" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633" +dependencies = [ + "form_urlencoded", + "idna", + "percent-encoding", +] + +[[package]] +name = "urlencoding" +version = "2.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da" + +[[package]] +name = "utf8parse" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" + +[[package]] +name = "uuid" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a183cf7feeba97b4dd1c0d46788634f6221d87fa961b305bed08c851829efcc0" +dependencies = [ + "getrandom", +] + +[[package]] +name = "valuable" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" + +[[package]] +name = "vcpkg" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" + +[[package]] +name = "version_check" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" + +[[package]] +name = "wasi" +version = "0.11.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" + +[[package]] +name = "wasite" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8dad83b4f25e74f184f64c43b150b91efe7647395b42289f38e50566d82855b" + +[[package]] +name = "webpki-roots" +version = "0.25.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1" + +[[package]] +name = "whoami" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a44ab49fad634e88f55bf8f9bb3abd2f27d7204172a112c7c9987e01c1c94ea9" +dependencies = [ + "redox_syscall 0.4.1", + "wasite", +] + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows-sys" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" +dependencies = [ + "windows-targets 0.48.5", +] + +[[package]] +name = "windows-sys" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" +dependencies = [ + "windows-targets 0.52.5", +] + +[[package]] +name = "windows-targets" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" +dependencies = [ + "windows_aarch64_gnullvm 0.48.5", + "windows_aarch64_msvc 0.48.5", + "windows_i686_gnu 0.48.5", + "windows_i686_msvc 0.48.5", + "windows_x86_64_gnu 0.48.5", + "windows_x86_64_gnullvm 0.48.5", + "windows_x86_64_msvc 0.48.5", +] + +[[package]] +name = "windows-targets" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb" +dependencies = [ + "windows_aarch64_gnullvm 0.52.5", + "windows_aarch64_msvc 0.52.5", + "windows_i686_gnu 0.52.5", + "windows_i686_gnullvm", + "windows_i686_msvc 0.52.5", + "windows_x86_64_gnu 0.52.5", + "windows_x86_64_gnullvm 0.52.5", + "windows_x86_64_msvc 0.52.5", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6" + +[[package]] +name = "windows_i686_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" + +[[package]] +name = "windows_i686_gnu" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9" + +[[package]] +name = "windows_i686_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" + +[[package]] +name = "windows_i686_msvc" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0" + +[[package]] +name = "winnow" +version = "0.5.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" +dependencies = [ + "memchr", +] + +[[package]] +name = "winnow" +version = "0.6.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59b5e5f6c299a3c7890b876a2a587f3115162487e704907d9b6cd29473052ba1" +dependencies = [ + "memchr", +] + +[[package]] +name = "xxhash-rust" +version = "0.8.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "927da81e25be1e1a2901d59b81b37dd2efd1fc9c9345a55007f09bf5a2d3ee03" + +[[package]] +name = "zerocopy" +version = "0.7.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae87e3fcd617500e5d106f0380cf7b77f3c6092aae37191433159dda23cfb087" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.7.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15e934569e47891f7d9411f1a451d947a60e000ab3bd24fbb970f000387d1b3b" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.66", +] + +[[package]] +name = "zeroize" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" + +[[package]] +name = "zeromq" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb0560d00172817b7f7c2265060783519c475702ae290b154115ca75e976d4d0" +dependencies = [ + "async-trait", + "asynchronous-codec", + "bytes", + "crossbeam-queue", + "dashmap 5.5.3", + "futures-channel", + "futures-io", + "futures-task", + "futures-util", + "log", + "num-traits", + "once_cell", + "parking_lot", + "rand", + "regex", + "thiserror", + "tokio", + "tokio-util", + "uuid", +] diff --git a/Cargo.toml b/Cargo.toml new file mode 100644 index 0000000..36119ed --- /dev/null +++ b/Cargo.toml @@ -0,0 +1,74 @@ +[workspace] +members = ["framework/common", "dispatch", "gateserver", "kcp", "hk4e_proto", "sdkserver", "dbgate", "gameserver", "hk4e_data"] +resolver = "2" + +[workspace.package] +version = "0.1.0" + +[workspace.dependencies] +thiserror = "1.0.61" +bytes = "1.6.0" + +axum = "0.7.4" +axum-server = "0.6.0" + +sqlx = { version = "0.7.4", features = ["postgres", "runtime-tokio-rustls"] } +redis = { version = "0.25.4", features = ["aio", "tokio-comp"] } +zeromq = "0.4.0" + +env_logger = "0.11.3" + +rbase64 = "2.0.3" +rand = "0.8.5" +rand_mt = "4.2.2" +rsa = { version = "0.9.6", features = [ + "sha1", + "nightly", + "pkcs5", + "serde", + "sha2", +] } + +prost = "0.12.3" +prost-types = "0.12.3" +prost-build = "0.12.3" + +dashmap = "6.0.1" +paste = "1.0.14" +sysinfo = "0.30.7" + +hex = "0.4.3" + +csv = "1.3.0" +num_enum = "0.7.3" +serde = { version = "1.0.197", features = ["derive"] } +serde_json = "1.0.114" + +parking_lot = "0.12.3" +tokio = { version = "1.36.0", features = ["full"] } +tokio-util = { version = "0.7.10", features = ["io"] } + +tracing = "0.1.40" +tracing-futures = "0.2.5" +tracing-log = { version = "0.2.0", features = ["std", "log-tracer"] } +tracing-subscriber = { version = "0.3.18", features = [ + "env-filter", + "registry", + "std", + "tracing", + "tracing-log", +] } +tracing-bunyan-formatter = "0.3.9" +toml = "0.8.14" + +proto = { path = "hk4e_proto/" } +proto_gen = { path = "hk4e_proto/proto_gen/" } +data = { path = "hk4e_data/" } +common = { path = "framework/common/" } +mhy-kcp = { path = "kcp/", features = ["tokio"] } + +[profile.release] +strip = true # Automatically strip symbols from the binary. +lto = true # Link-time optimization. +opt-level = 3 # Optimize for speed. +codegen-units = 1 # Maximum size reduction optimizations. diff --git a/README.md b/README.md index 9579d71..c11a6bc 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,77 @@ # MualaniImpact +### Current game version: 4.8.50 -Genshin Impact server reverse engineering project \ No newline at end of file +![screenshot](https://git.xeondev.com/ReversedRooms/MualaniImpact/raw/branch/master/screenshot.png) + +## What +**MualaniImpact** is an **open-source project reverse-engineering Genshin Impact server binaries**. This means that all logic and architecture code is being reimplemented according to decompiled pseudocode of official servers. + +## How +The original server binaries are written in C++. This project aims to rewrite them in rust. Because of that, some implementation details may be different (due to rust ownership model and so on).
We also use PostgreSQL instead of MySQL that is used by miHoYo. + +## Implemented services +- Dispatch +- Gateserver +- Dbgate +- Gameserver (work-in-progress) +- SDKServer (not part of game-specific services, but required for authentification, emulates miHoYo account API) + +## Getting started +#### Requirements: +- [Rust](https://www.rust-lang.org/tools/install) +- [PostgreSQL](https://www.postgresql.org/download/) +- [Redis](https://redis.io/downloads/) +##### NOTE: if you are using MS Windows, use [this version of Redis](https://github.com/tporadowski/redis/releases) + +### Setup +#### Server +##### a) building from sources +``` +git clone https://git.xeondev.com/ReversedRooms/MualaniImpact.git +cd MualaniImpact +cargo run --bin sdkserver +cargo run --bin dispatch +cargo run --bin dbgate +cargo run --bin gateserver +cargo run --bin gameserver +``` + +##### b) using pre-built binaries +Navigate to the [Releases](https://git.xeondev.com/ReversedRooms/MualaniImpact/releases) +page and download the latest release for your platform.
+Launch all services: `sdkserver`, `dispatch`, `dbgate`, `gateserver`, `gameserver` +##### NOTE: you don't have to install Rust if you're going to use pre-built binaries, although the preferred way is building from sources.
We don't provide support for pre-built binaries. + +#### Configuration +You should configure each service using their own config files. They're being created in current working directory upon first startup. + +##### Database section +You have to specify connection strings for **PostgreSQL** (`connection_string`) and **Redis** (`redis_url`) +``` +[database] +connection_string = "postgres://postgres:@localhost:5432/hk4e" +redis_url = "redis://127.0.0.1/" +``` + +##### Application entries +If you're going to host all services locally, you don't have to modify anything here.
If you're deploying services on different machines, you have to configure their `inner_ip`.
Every service should have its own unique `app_id`
Example of application entry for `Gateserver`: +``` +[[applications.Gateserver]] +app_id = 2 +inner_ip = "127.0.0.1:22002" +``` + +##### NOTE: the top most `app_id` line (before application entries) specifies `app_id` of current service. + +#### Data +The data files: TSV tables (`data/txt`) and JSON configs (`data/json`) are included in this repository. Keep in mind that you need to have the `data` subdirectory in current working directory. + +#### Connecting +You have to download client of **current supported game version** (at this moment it's 4.8.50, you can [get it here](https://git.xeondev.com/xeon/3/raw/branch/3/hk4e_oscbwin4.8.50_reversedrooms.torrent)), and apply the [encryption patch](https://git.xeondev.com/reversedrooms/hk4e-patch/releases). +##### NOTE: once you got all services up and running, you have to create game account.
By default, you can do so at http://127.0.0.1:21000/account/register + +### Troubleshooting +[Visit our discord](https://discord.gg/reversedrooms) if you have any questions/issues + +### Support +If you want to support this project, feel free to [send a tip via boosty](https://boosty.to/xeondev/donate) \ No newline at end of file diff --git a/data/json/avatar/ConfigAvatar_Albedo.json b/data/json/avatar/ConfigAvatar_Albedo.json new file mode 100644 index 0000000..fc54bec --- /dev/null +++ b/data/json/avatar/ConfigAvatar_Albedo.json @@ -0,0 +1,114 @@ +{ + "abilities": [ + { + "abilityID": "Avatar_Albedo_ExtraAttack", + "abilityName": "Avatar_Albedo_ExtraAttack", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Albedo_SkillHoldCharge", + "abilityName": "Avatar_Albedo_SkillHoldCharge", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Albedo_FullRockAlchemist", + "abilityName": "Avatar_Albedo_FullRockAlchemist", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Albedo_FullRockAlchemist_Custom", + "abilityName": "Avatar_Albedo_FullRockAlchemist_Custom", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Albedo_AlchemicalBreakOut", + "abilityName": "Avatar_Albedo_AlchemicalBreakOut", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Albedo_DamageHandler", + "abilityName": "Avatar_Albedo_DamageHandler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Albedo_FallingAnthem", + "abilityName": "Avatar_Albedo_FallingAnthem", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Albedo", + "abilityName": "Avatar_Albedo", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Albedo_Skill_ElementalArt", + "abilityName": "Avatar_Albedo_Skill_ElementalArt", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Albedo_Skill_ElementalArt_AS", + "abilityName": "Avatar_Albedo_Skill_ElementalArt_AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Albedo_Skill_ElementalArt_BS", + "abilityName": "Avatar_Albedo_Skill_ElementalArt_BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Albedo_TeamConfig_01BS", + "abilityName": "Avatar_Albedo_TeamConfig_01BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Albedo_TeamConfig_01Loop", + "abilityName": "Avatar_Albedo_TeamConfig_01Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Albedo_TeamConfig_01AS", + "abilityName": "Avatar_Albedo_TeamConfig_01AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Albedo_Skill_ElementalArt_Charge", + "abilityName": "Avatar_Albedo_Skill_ElementalArt_Charge", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Albedo_ElementalBurst_Spine", + "abilityName": "Avatar_Albedo_ElementalBurst_Spine", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Albedo_ElementalBurst_Spine_Hand", + "abilityName": "Avatar_Albedo_ElementalBurst_Spine_Hand", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Albedo_Spine", + "abilityName": "Avatar_Albedo_Spine", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Albedo_ElementalBurst_BS", + "abilityName": "Avatar_Albedo_ElementalBurst_BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Albedo_ElementalBurst_Hit", + "abilityName": "Avatar_Albedo_ElementalBurst_Hit", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Albedo_Spine_Loop", + "abilityName": "Avatar_Albedo_Spine_Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Albedo_Spine_Loop_Hand", + "abilityName": "Avatar_Albedo_Spine_Loop_Hand", + "abilityOverride": "" + } + ] +} \ No newline at end of file diff --git a/data/json/avatar/ConfigAvatar_Alhatham.json b/data/json/avatar/ConfigAvatar_Alhatham.json new file mode 100644 index 0000000..3247942 --- /dev/null +++ b/data/json/avatar/ConfigAvatar_Alhatham.json @@ -0,0 +1,154 @@ +{ + "abilities": [ + { + "abilityID": "Avatar_Alhatham_ExtraAttack", + "abilityName": "Avatar_Alhatham_ExtraAttack", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Alhatham_SkillHoldCharge", + "abilityName": "Avatar_Alhatham_SkillHoldCharge", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Alhatham_ElementalArt", + "abilityName": "Avatar_Alhatham_ElementalArt", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Alhatham_ElementalArt_SkillStart", + "abilityName": "Avatar_Alhatham_ElementalArt_SkillStart", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Alhatham_Constellation_6", + "abilityName": "Avatar_Alhatham_Constellation_6", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Alhatham_ElementalArt_Custom", + "abilityName": "Avatar_Alhatham_ElementalArt_Custom", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Alhatham_ForlornLotus", + "abilityName": "Avatar_Alhatham_ForlornLotus", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Alhatham_NormalAttack_Mark", + "abilityName": "Avatar_Alhatham_NormalAttack_Mark", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Alhatham_IN_ForlornLotus", + "abilityName": "Avatar_Alhatham_IN_ForlornLotus", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Alhatham_NormalMode", + "abilityName": "Avatar_Alhatham_NormalMode", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Alhatham_ForlornLotusMode", + "abilityName": "Avatar_Alhatham_ForlornLotusMode", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Alhatham_ForlornLotus_Attack", + "abilityName": "Avatar_Alhatham_ForlornLotus_Attack", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Alhatham_ForlornLotus_Attack_LV1", + "abilityName": "Avatar_Alhatham_ForlornLotus_Attack_LV1", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Alhatham_ForlornLotus_Attack_LV2", + "abilityName": "Avatar_Alhatham_ForlornLotus_Attack_LV2", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Alhatham_ForlornLotus_Attack_LV2_Helper", + "abilityName": "Avatar_Alhatham_ForlornLotus_Attack_LV2_Helper", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Alhatham_ForlornLotus_Attack_LV3", + "abilityName": "Avatar_Alhatham_ForlornLotus_Attack_LV3", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Alhatham_ForlornLotus_Attack_LV3_Helper", + "abilityName": "Avatar_Alhatham_ForlornLotus_Attack_LV3_Helper", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Alhatham_ElementalBurst", + "abilityName": "Avatar_Alhatham_ElementalBurst", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Alhatham_Constellation_6J", + "abilityName": "Avatar_Alhatham_Constellation_6J", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Alhatham_ElementalBurst_Aftermath", + "abilityName": "Avatar_Alhatham_ElementalBurst_Aftermath", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Alhatham_DamageHandler", + "abilityName": "Avatar_Alhatham_DamageHandler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Alhatham_PermanentSkill_2", + "abilityName": "Avatar_Alhatham_PermanentSkill_2", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Alhatham_PermanentSkill_1", + "abilityName": "Avatar_Alhatham_PermanentSkill_1", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Alhatham_PermanentSkill_1_CD", + "abilityName": "Avatar_Alhatham_PermanentSkill_1_CD", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Alhatham_Constellation_6_FX", + "abilityName": "Avatar_Alhatham_Constellation_6_FX", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Alhatham_FallingAnthem", + "abilityName": "Avatar_Alhatham_FallingAnthem", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Alhatham", + "abilityName": "Avatar_Alhatham", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Alhatham_TeamConfig_01BS", + "abilityName": "Avatar_Alhatham_TeamConfig_01BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Alhatham_TeamConfig_01Loop", + "abilityName": "Avatar_Alhatham_TeamConfig_01Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Alhatham_TeamConfig_01AS", + "abilityName": "Avatar_Alhatham_TeamConfig_01AS", + "abilityOverride": "" + } + ] +} \ No newline at end of file diff --git a/data/json/avatar/ConfigAvatar_Aloy.json b/data/json/avatar/ConfigAvatar_Aloy.json new file mode 100644 index 0000000..a39c16a --- /dev/null +++ b/data/json/avatar/ConfigAvatar_Aloy.json @@ -0,0 +1,214 @@ +{ + "abilities": [ + { + "abilityID": "Avatar_Aloy_PressShoot", + "abilityName": "Avatar_Aloy_PressShoot", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Aloy_AimPressShoot", + "abilityName": "Avatar_Aloy_AimPressShoot", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Aloy_PressShoot_Charge", + "abilityName": "Avatar_Aloy_PressShoot_Charge", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Aloy_PressShoot_Shooting", + "abilityName": "Avatar_Aloy_PressShoot_Shooting", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Aloy_ShootArrow_01_01", + "abilityName": "Avatar_Aloy_ShootArrow_01_01", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Aloy_ShootArrow_01_02", + "abilityName": "Avatar_Aloy_ShootArrow_01_02", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Aloy_ShootArrow_02", + "abilityName": "Avatar_Aloy_ShootArrow_02", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Aloy_ShootArrow_03", + "abilityName": "Avatar_Aloy_ShootArrow_03", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Aloy_ShootArrow_04", + "abilityName": "Avatar_Aloy_ShootArrow_04", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_AloyGadgetSkill_NormalAttack_LightEffect", + "abilityName": "Avatar_AloyGadgetSkill_NormalAttack_LightEffect", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_AloyGadgetSkill_NormalAttack_HeavyFX", + "abilityName": "Avatar_AloyGadgetSkill_NormalAttack_HeavyFX", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_AloyGadgetSkill_NormalAttack_LightEffect_UltraMode", + "abilityName": "Avatar_AloyGadgetSkill_NormalAttack_LightEffect_UltraMode", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_AloyGadgetSkill_NormalAttack_HeavyFX_UltraMode", + "abilityName": "Avatar_AloyGadgetSkill_NormalAttack_HeavyFX_UltraMode", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_AloyGadgetSkill_ExtraAttack_WithoutIce", + "abilityName": "Avatar_AloyGadgetSkill_ExtraAttack_WithoutIce", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_AloyGadgetSkill_ExtraAttack_Ice", + "abilityName": "Avatar_AloyGadgetSkill_ExtraAttack_Ice", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Aloy_Coil_Handler", + "abilityName": "Avatar_Aloy_Coil_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Aloy_ElementalArt", + "abilityName": "Avatar_Aloy_ElementalArt", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_AloyGadgetSkill_ElementalArt_Bullet", + "abilityName": "Avatar_AloyGadgetSkill_ElementalArt_Bullet", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_AloyGadgetSkill_ElementalArt_TriggerBullet", + "abilityName": "Avatar_AloyGadgetSkill_ElementalArt_TriggerBullet", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_AloyGadgetSkill_ElementalArt_Mine", + "abilityName": "Avatar_AloyGadgetSkill_ElementalArt_Mine", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Aloy_ElementalBurst_Camera", + "abilityName": "Avatar_Aloy_ElementalBurst_Camera", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Aloy_ElementalBurst", + "abilityName": "Avatar_Aloy_ElementalBurst", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_AloyGadgetSkill_ElementalBurst", + "abilityName": "Avatar_AloyGadgetSkill_ElementalBurst", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_AloyGadgetSkill_NormalAttack_01_01_Damage", + "abilityName": "Avatar_AloyGadgetSkill_NormalAttack_01_01_Damage", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_AloyGadgetSkill_NormalAttack_01_02_Damage", + "abilityName": "Avatar_AloyGadgetSkill_NormalAttack_01_02_Damage", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_AloyGadgetSkill_NormalAttack_02_Damage", + "abilityName": "Avatar_AloyGadgetSkill_NormalAttack_02_Damage", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_AloyGadgetSkill_NormalAttack_03_Damage", + "abilityName": "Avatar_AloyGadgetSkill_NormalAttack_03_Damage", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_AloyGadgetSkill_NormalAttack_04_Damage", + "abilityName": "Avatar_AloyGadgetSkill_NormalAttack_04_Damage", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Aloy_FallingAnthem", + "abilityName": "Avatar_Aloy_FallingAnthem", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Aloy", + "abilityName": "Avatar_Aloy", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_AloyGadgetSkill_NormalAttack_HeavyFX9Avatar_AloyGadgetSkill_NormalAttack_LightEffect_UltraMode5Avatar_AloyGadgetSkill_NormalAttack_HeavyFX_UltraMode", + "abilityName": "Avatar_AloyGadgetSkill_NormalAttack_HeavyFX9Avatar_AloyGadgetSkill_NormalAttack_LightEffect_UltraMode5Avatar_AloyGadgetSkill_NormalAttack_HeavyFX_UltraMode", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_AloyGadgetSkill_ElementalArt_Bullet1Avatar_AloyGadgetSkill_ElementalArt_TriggerBullet", + "abilityName": "Avatar_AloyGadgetSkill_ElementalArt_Bullet1Avatar_AloyGadgetSkill_ElementalArt_TriggerBullet", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_AloyGadgetSkill_ElementalBurst0Avatar_AloyGadgetSkill_NormalAttack_01_01_Damage0Avatar_AloyGadgetSkill_NormalAttack_01_02_Damage", + "abilityName": "Avatar_AloyGadgetSkill_ElementalBurst0Avatar_AloyGadgetSkill_NormalAttack_01_01_Damage0Avatar_AloyGadgetSkill_NormalAttack_01_02_Damage", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Aloy_Skill_ElementalArt_BS", + "abilityName": "Avatar_Aloy_Skill_ElementalArt_BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Aloy_Skill_ElementalArt", + "abilityName": "Avatar_Aloy_Skill_ElementalArt", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Aloy_TeamConfig_01BS", + "abilityName": "Avatar_Aloy_TeamConfig_01BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Aloy_TeamConfig_01Loop", + "abilityName": "Avatar_Aloy_TeamConfig_01Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Aloy_TeamConfig_01AS", + "abilityName": "Avatar_Aloy_TeamConfig_01AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Aloy_Skill_ElementalArt_AS", + "abilityName": "Avatar_Aloy_Skill_ElementalArt_AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_AloyGadgetSkill_NormalAttack_01_01_Damage0Avatar_AloyGadgetSkill_NormalAttack_01_01_Damage", + "abilityName": "Avatar_AloyGadgetSkill_NormalAttack_01_01_Damage0Avatar_AloyGadgetSkill_NormalAttack_01_01_Damage", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_AloyGadgetSkill_NormalAttack_01_02_Damage0Avatar_AloyGadgetSkill_NormalAttack_01_02_Damage", + "abilityName": "Avatar_AloyGadgetSkill_NormalAttack_01_02_Damage0Avatar_AloyGadgetSkill_NormalAttack_01_02_Damage", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_AloyGadgetSkill_ElementalArt_TriggerBullet1Avatar_AloyGadgetSkill_ElementalArt_TriggerBullet", + "abilityName": "Avatar_AloyGadgetSkill_ElementalArt_TriggerBullet1Avatar_AloyGadgetSkill_ElementalArt_TriggerBullet", + "abilityOverride": "" + } + ] +} \ No newline at end of file diff --git a/data/json/avatar/ConfigAvatar_Ambor.json b/data/json/avatar/ConfigAvatar_Ambor.json new file mode 100644 index 0000000..3b8dc3d --- /dev/null +++ b/data/json/avatar/ConfigAvatar_Ambor.json @@ -0,0 +1,314 @@ +{ + "abilities": [ + { + "abilityID": "Avatar_Ambor_Arrow_FX", + "abilityName": "Avatar_Ambor_Arrow_FX", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ambor_PressShoot", + "abilityName": "Avatar_Ambor_PressShoot", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ambor_AimPressShoot", + "abilityName": "Avatar_Ambor_AimPressShoot", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ambor_ShootAimingArrow_Charge", + "abilityName": "Avatar_Ambor_ShootAimingArrow_Charge", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ambor_ShootArrow_01", + "abilityName": "Avatar_Ambor_ShootArrow_01", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ambor_ShootArrow_02", + "abilityName": "Avatar_Ambor_ShootArrow_02", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ambor_ShootArrow_03", + "abilityName": "Avatar_Ambor_ShootArrow_03", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ambor_ShootArrow_04", + "abilityName": "Avatar_Ambor_ShootArrow_04", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ambor_ShootArrow_05", + "abilityName": "Avatar_Ambor_ShootArrow_05", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ambor_ShootArrow_Aiming", + "abilityName": "Avatar_Ambor_ShootArrow_Aiming", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ambor_BlowUpDummy", + "abilityName": "Avatar_Ambor_BlowUpDummy", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ambor_DoubleArrow_01", + "abilityName": "Avatar_Ambor_DoubleArrow_01", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ambor_DoubleArrow_02", + "abilityName": "Avatar_Ambor_DoubleArrow_02", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ambor_DummyTrigger", + "abilityName": "Avatar_Ambor_DummyTrigger", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ambor_ThrowDummy_UseSkill", + "abilityName": "Avatar_Ambor_ThrowDummy_UseSkill", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ambor_ThrowDummy_Short", + "abilityName": "Avatar_Ambor_ThrowDummy_Short", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ambor_ThrowDummy_4M", + "abilityName": "Avatar_Ambor_ThrowDummy_4M", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ambor_ThrowDummy_7M", + "abilityName": "Avatar_Ambor_ThrowDummy_7M", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ambor_ThrowDummy", + "abilityName": "Avatar_Ambor_ThrowDummy", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ambor_Dummy_Speed_Fix", + "abilityName": "Avatar_Ambor_Dummy_Speed_Fix", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ambor_CreateDummy", + "abilityName": "Avatar_Ambor_CreateDummy", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ambor_BlowUpByTrigger", + "abilityName": "Avatar_Ambor_BlowUpByTrigger", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ambor_CreateBlowUpTrigger", + "abilityName": "Avatar_Ambor_CreateBlowUpTrigger", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ambor_BlowUpByTriggerh", + "abilityName": "Avatar_Ambor_BlowUpByTriggerh", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ambor_DummyDropBall", + "abilityName": "Avatar_Ambor_DummyDropBall", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ambor_ArrowRain_Alert", + "abilityName": "Avatar_Ambor_ArrowRain_Alert", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ambor_ArrowRain", + "abilityName": "Avatar_Ambor_ArrowRain", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ambor_ArrowRainField", + "abilityName": "Avatar_Ambor_ArrowRainField", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ambor_AirShoot", + "abilityName": "Avatar_Ambor_AirShoot", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ambor_ChangeMainSkill", + "abilityName": "Avatar_Ambor_ChangeMainSkill", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ambor_FlyStamina_Reduction", + "abilityName": "Avatar_Ambor_FlyStamina_Reduction", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ambor_ProudSkill_21", + "abilityName": "Avatar_Ambor_ProudSkill_21", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ambor_FallingAnthem", + "abilityName": "Avatar_Ambor_FallingAnthem", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ambor", + "abilityName": "Avatar_Ambor", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ambor_Skill_Holdup", + "abilityName": "Avatar_Ambor_Skill_Holdup", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ambor_Skill_HoldupStandby", + "abilityName": "Avatar_Ambor_Skill_HoldupStandby", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ambor_Skill_Long_01", + "abilityName": "Avatar_Ambor_Skill_Long_01", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ambor_Skill_Long_02", + "abilityName": "Avatar_Ambor_Skill_Long_02", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ambor_Skill_Middle_01", + "abilityName": "Avatar_Ambor_Skill_Middle_01", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ambor_Skill_Middle_02", + "abilityName": "Avatar_Ambor_Skill_Middle_02", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ambor_Skill_PreForRun", + "abilityName": "Avatar_Ambor_Skill_PreForRun", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ambor_Skill_PreForWalk", + "abilityName": "Avatar_Ambor_Skill_PreForWalk", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ambor_Skill_Short", + "abilityName": "Avatar_Ambor_Skill_Short", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ambor_TeamConfig_01BS", + "abilityName": "Avatar_Ambor_TeamConfig_01BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ambor_TeamConfig_01Loop", + "abilityName": "Avatar_Ambor_TeamConfig_01Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ambor_TeamConfig_01AS", + "abilityName": "Avatar_Ambor_TeamConfig_01AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ambor_Skill_ArrowRain", + "abilityName": "Avatar_Ambor_Skill_ArrowRain", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ambor_ElementalBurst_Spine", + "abilityName": "Avatar_Ambor_ElementalBurst_Spine", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ambor_ElementalBurst_Hit", + "abilityName": "Avatar_Ambor_ElementalBurst_Hit", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ambor_ElementalBurst_BS", + "abilityName": "Avatar_Ambor_ElementalBurst_BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ambor_ElementalBurst_Hit_02", + "abilityName": "Avatar_Ambor_ElementalBurst_Hit_02", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ambor_Spine_Loop", + "abilityName": "Avatar_Ambor_Spine_Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ambor_VO_MDAQ020_Ambor_01", + "abilityName": "Avatar_Ambor_VO_MDAQ020_Ambor_01", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ambor_VO_Emotion_Ambor_Speculate_01", + "abilityName": "Avatar_Ambor_VO_Emotion_Ambor_Speculate_01", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ambor_VO_Emotion_Ambor_Hesitate_01", + "abilityName": "Avatar_Ambor_VO_Emotion_Ambor_Hesitate_01", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ambor_VO_Emotion_Ambor_Pity_01", + "abilityName": "Avatar_Ambor_VO_Emotion_Ambor_Pity_01", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ambor_VO_MDAQ020_Ambor_02", + "abilityName": "Avatar_Ambor_VO_MDAQ020_Ambor_02", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ambor_VO_Emotion_Ambor_Satisfaction_02", + "abilityName": "Avatar_Ambor_VO_Emotion_Ambor_Satisfaction_02", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ambor_Normal", + "abilityName": "Avatar_Ambor_Normal", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ambor_VO_MDAQ021_Ambor_01", + "abilityName": "Avatar_Ambor_VO_MDAQ021_Ambor_01", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ambor_VO_Emotion_Ambor_Vigilant_02", + "abilityName": "Avatar_Ambor_VO_Emotion_Ambor_Vigilant_02", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ambor_VO_Emotion_Ambor_Excited_02", + "abilityName": "Avatar_Ambor_VO_Emotion_Ambor_Excited_02", + "abilityOverride": "" + } + ] +} \ No newline at end of file diff --git a/data/json/avatar/ConfigAvatar_Arlecchino.json b/data/json/avatar/ConfigAvatar_Arlecchino.json new file mode 100644 index 0000000..1d49872 --- /dev/null +++ b/data/json/avatar/ConfigAvatar_Arlecchino.json @@ -0,0 +1,59 @@ +{ + "abilities": [ + { + "abilityID": "", + "abilityName": "Avatar_Arlecchino_ExtraAttack", + "abilityOverride": "" + }, + { + "abilityID": "", + "abilityName": "Avatar_Arlecchino_NormalAttack_Wing", + "abilityOverride": "" + }, + { + "abilityID": "", + "abilityName": "Avatar_Arlecchino_ElementalArt", + "abilityOverride": "" + }, + { + "abilityID": "", + "abilityName": "Avatar_Arlecchino_DropBall", + "abilityOverride": "" + }, + { + "abilityID": "", + "abilityName": "Avatar_Arlecchino_ElementalBurst", + "abilityOverride": "" + }, + { + "abilityID": "", + "abilityName": "Avatar_Arlecchino_ElementalBurst_Attack", + "abilityOverride": "" + }, + { + "abilityID": "", + "abilityName": "Avatar_Arlecchino_HPDebtsMark", + "abilityOverride": "" + }, + { + "abilityID": "", + "abilityName": "Avatar_Arlecchino_HealToHpDebts", + "abilityOverride": "" + }, + { + "abilityID": "", + "abilityName": "Avatar_Arlecchino_DamageHandler", + "abilityOverride": "" + }, + { + "abilityID": "", + "abilityName": "Avatar_Arlecchino_FallingAnthem", + "abilityOverride": "" + }, + { + "abilityID": "", + "abilityName": "Avatar_Arlecchino_Show_01", + "abilityOverride": "" + } + ] +} diff --git a/data/json/avatar/ConfigAvatar_Ayaka.json b/data/json/avatar/ConfigAvatar_Ayaka.json new file mode 100644 index 0000000..85d79ed --- /dev/null +++ b/data/json/avatar/ConfigAvatar_Ayaka.json @@ -0,0 +1,254 @@ +{ + "abilities": [ + { + "abilityID": "Avatar_Ayaka_ExtraAttack", + "abilityName": "Avatar_Ayaka_ExtraAttack", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ayaka_ExtraAttack_Damage", + "abilityName": "Avatar_Ayaka_ExtraAttack_Damage", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ayaka_ExtraAttack_Damage_Gadget", + "abilityName": "Avatar_Ayaka_ExtraAttack_Damage_Gadget", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ayaka_ExtraAttack_Damage_Handler", + "abilityName": "Avatar_Ayaka_ExtraAttack_Damage_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ayaka_ExtraAttack_Damage_Gadget_1", + "abilityName": "Avatar_Ayaka_ExtraAttack_Damage_Gadget_1", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ayaka_ExtraAttack_Damage_Gadget_2", + "abilityName": "Avatar_Ayaka_ExtraAttack_Damage_Gadget_2", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ayaka_NormalAttack05_CreateBullet", + "abilityName": "Avatar_Ayaka_NormalAttack05_CreateBullet", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ayaka_NormalAttack05_Bullet", + "abilityName": "Avatar_Ayaka_NormalAttack05_Bullet", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ayaka_IceSlash", + "abilityName": "Avatar_Ayaka_IceSlash", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ayaka_Liquid_TriggerAbility", + "abilityName": "Avatar_Ayaka_Liquid_TriggerAbility", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ayaka_LiquidStrike", + "abilityName": "Avatar_Ayaka_LiquidStrike", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ayaka_LiquidStrike_YayoiKaeshi", + "abilityName": "Avatar_Ayaka_LiquidStrike_YayoiKaeshi", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ayaka_EndLiquidStrike", + "abilityName": "Avatar_Ayaka_EndLiquidStrike", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ayaka_Icespine", + "abilityName": "Avatar_Ayaka_Icespine", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ayaka_Icespine_Sensu_Remover", + "abilityName": "Avatar_Ayaka_Icespine_Sensu_Remover", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ayaka_Icespine_Strike_New", + "abilityName": "Avatar_Ayaka_Icespine_Strike_New", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ayaka_FrozenWindmill_SkillStart", + "abilityName": "Avatar_Ayaka_FrozenWindmill_SkillStart", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ayaka_FrozenWindmill", + "abilityName": "Avatar_Ayaka_FrozenWindmill", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ayaka_Oboro", + "abilityName": "Avatar_Ayaka_Oboro", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ayaka_Windmill_CameraController", + "abilityName": "Avatar_Ayaka_Windmill_CameraController", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ayaka_Windmill_Sensu_Remover", + "abilityName": "Avatar_Ayaka_Windmill_Sensu_Remover", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ayaka_FrozenWindmillDamage", + "abilityName": "Avatar_Ayaka_FrozenWindmillDamage", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ayaka_FrozenWindmillDissipate", + "abilityName": "Avatar_Ayaka_FrozenWindmillDissipate", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ayaka_FrozenWindmill_Sub_Damage", + "abilityName": "Avatar_Ayaka_FrozenWindmill_Sub_Damage", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ayaka_FrozenWindmill_Sub_Dissipate", + "abilityName": "Avatar_Ayaka_FrozenWindmill_Sub_Dissipate", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ayaka_FrozenButterfly_Area", + "abilityName": "Avatar_Ayaka_FrozenButterfly_Area", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ayaka_FrostFall", + "abilityName": "Avatar_Ayaka_FrostFall", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ayaka_MagicSheathe_Add", + "abilityName": "Avatar_Ayaka_MagicSheathe_Add", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ayaka_MagicSheathe_Remove", + "abilityName": "Avatar_Ayaka_MagicSheathe_Remove", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ayaka_MagicSheathe_Attack05_Add", + "abilityName": "Avatar_Ayaka_MagicSheathe_Attack05_Add", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ayaka_MagicSheathe_NormalAttack_Remove", + "abilityName": "Avatar_Ayaka_MagicSheathe_NormalAttack_Remove", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ayaka_ChangeMainSkill", + "abilityName": "Avatar_Ayaka_ChangeMainSkill", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ayaka_CloseCollider", + "abilityName": "Avatar_Ayaka_CloseCollider", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ayaka_PermanentSkill_2", + "abilityName": "Avatar_Ayaka_PermanentSkill_2", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ayaka_Constellation_6", + "abilityName": "Avatar_Ayaka_Constellation_6", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ayaka_NormalAttack_DamageHandler", + "abilityName": "Avatar_Ayaka_NormalAttack_DamageHandler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ayaka_FallingAnthem", + "abilityName": "Avatar_Ayaka_FallingAnthem", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ayaka", + "abilityName": "Avatar_Ayaka", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ayaka_TeamConfig_01BS", + "abilityName": "Avatar_Ayaka_TeamConfig_01BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ayaka_TeamConfig_01Loop", + "abilityName": "Avatar_Ayaka_TeamConfig_01Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ayaka_TeamConfig_01AS", + "abilityName": "Avatar_Ayaka_TeamConfig_01AS", + "abilityOverride": "" + }, + { + "abilityID": "AvatarItem_Ayaka_Kitsune_Mask", + "abilityName": "AvatarItem_Ayaka_Kitsune_Mask", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ayaka_ElementalBurst_Spine", + "abilityName": "Avatar_Ayaka_ElementalBurst_Spine", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ayaka_ElementalBurst_BS", + "abilityName": "Avatar_Ayaka_ElementalBurst_BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ayaka_ElementalBurst", + "abilityName": "Avatar_Ayaka_ElementalBurst", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ayaka_ElementBurst", + "abilityName": "Avatar_Ayaka_ElementBurst", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ayaka_ElementalBurst_Hit", + "abilityName": "Avatar_Ayaka_ElementalBurst_Hit", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ayaka_Spine_Loop", + "abilityName": "Avatar_Ayaka_Spine_Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ayaka_Spine", + "abilityName": "Avatar_Ayaka_Spine", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ayaka_Normal", + "abilityName": "Avatar_Ayaka_Normal", + "abilityOverride": "" + } + ] +} \ No newline at end of file diff --git a/data/json/avatar/ConfigAvatar_Ayato.json b/data/json/avatar/ConfigAvatar_Ayato.json new file mode 100644 index 0000000..f67969c --- /dev/null +++ b/data/json/avatar/ConfigAvatar_Ayato.json @@ -0,0 +1,249 @@ +{ + "abilities": [ + { + "abilityID": "Avatar_Ayato_ExtraAttack", + "abilityName": "Avatar_Ayato_ExtraAttack", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ayato_ExtraAttack_CreateBullet", + "abilityName": "Avatar_Ayato_ExtraAttack_CreateBullet", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ayato_ExtraAttack_Bullet", + "abilityName": "Avatar_Ayato_ExtraAttack_Bullet", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ayato_ElementalArt", + "abilityName": "Avatar_Ayato_ElementalArt", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ayato_KendoPose_Buff_Level", + "abilityName": "Avatar_Ayato_KendoPose_Buff_Level", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ayato_KendoPose", + "abilityName": "Avatar_Ayato_KendoPose", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ayato_KendoPose_State", + "abilityName": "Avatar_Ayato_KendoPose_State", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ayato_KendoPose_Buff_Level_Remove", + "abilityName": "Avatar_Ayato_KendoPose_Buff_Level_Remove", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ayato_KendoPose_BuffAdd", + "abilityName": "Avatar_Ayato_KendoPose_BuffAdd", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ayato_KendoPose_Buff", + "abilityName": "Avatar_Ayato_KendoPose_Buff", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ayato_KendoPose_Click", + "abilityName": "Avatar_Ayato_KendoPose_Click", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ayato_Hold_SpecialAttack", + "abilityName": "Avatar_Ayato_Hold_SpecialAttack", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ayato_KendoPose_Buff0", + "abilityName": "Avatar_Ayato_KendoPose_Buff0", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ayato_KendoPose_Buff1", + "abilityName": "Avatar_Ayato_KendoPose_Buff1", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ayato_KendoPose_Buff2", + "abilityName": "Avatar_Ayato_KendoPose_Buff2", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ayato_KendoPose_Buff3", + "abilityName": "Avatar_Ayato_KendoPose_Buff3", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ayato_KendoPose_Buff4", + "abilityName": "Avatar_Ayato_KendoPose_Buff4", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ayato_KendoPose_Buff5", + "abilityName": "Avatar_Ayato_KendoPose_Buff5", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ayato_KendoPose_BuffTimer", + "abilityName": "Avatar_Ayato_KendoPose_BuffTimer", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ayato_KendoPose_HPBuff", + "abilityName": "Avatar_Ayato_KendoPose_HPBuff", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ayato_KendoPose_BuffEffect", + "abilityName": "Avatar_Ayato_KendoPose_BuffEffect", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ayato_KendoPose_BuffEffect_Delay", + "abilityName": "Avatar_Ayato_KendoPose_BuffEffect_Delay", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ayato_KendoPose_BuffTimerM", + "abilityName": "Avatar_Ayato_KendoPose_BuffTimerM", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ayato_ElementalArt_Gadget", + "abilityName": "Avatar_Ayato_ElementalArt_Gadget", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ayato_ElementalBurst", + "abilityName": "Avatar_Ayato_ElementalBurst", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ayato_ElementalBurst_Gadget", + "abilityName": "Avatar_Ayato_ElementalBurst_Gadget", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ayato_ElementalBurst_Gadget_Select", + "abilityName": "Avatar_Ayato_ElementalBurst_Gadget_Select", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ayato_ElementalBurst_NormalAttackUp", + "abilityName": "Avatar_Ayato_ElementalBurst_NormalAttackUp", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ayato_PermanentSkill_2_ReviveEnergy", + "abilityName": "Avatar_Ayato_PermanentSkill_2_ReviveEnergy", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ayato_IsOffStage", + "abilityName": "Avatar_Ayato_IsOffStage", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ayato_OffStage", + "abilityName": "Avatar_Ayato_OffStage", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ayato_ReviveEnergy_OffStage", + "abilityName": "Avatar_Ayato_ReviveEnergy_OffStage", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ayato_NormalAttack_DamageHandler", + "abilityName": "Avatar_Ayato_NormalAttack_DamageHandler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ayato_FallingAnthem", + "abilityName": "Avatar_Ayato_FallingAnthem", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ayato", + "abilityName": "Avatar_Ayato", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ayato_Skill_ElementalArt", + "abilityName": "Avatar_Ayato_Skill_ElementalArt", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ayato_Skill_ElementalArt_AS", + "abilityName": "Avatar_Ayato_Skill_ElementalArt_AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ayato_Skill_ElementalArt_Retreat", + "abilityName": "Avatar_Ayato_Skill_ElementalArt_Retreat", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ayato_Skill_ElementalArt_Retreat_AS", + "abilityName": "Avatar_Ayato_Skill_ElementalArt_Retreat_AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ayato_Skill_SpecialAttack_01", + "abilityName": "Avatar_Ayato_Skill_SpecialAttack_01", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ayato_Skill_SpecialAttack_02", + "abilityName": "Avatar_Ayato_Skill_SpecialAttack_02", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ayato_TeamConfig_01BS", + "abilityName": "Avatar_Ayato_TeamConfig_01BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ayato_TeamConfig_01Loop", + "abilityName": "Avatar_Ayato_TeamConfig_01Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ayato_TeamConfig_01AS", + "abilityName": "Avatar_Ayato_TeamConfig_01AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ayato_Skill_SpecialAttack_03", + "abilityName": "Avatar_Ayato_Skill_SpecialAttack_03", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ayato_ElementalBurst_Spine", + "abilityName": "Avatar_Ayato_ElementalBurst_Spine", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ayato_ElementalBurst_BS", + "abilityName": "Avatar_Ayato_ElementalBurst_BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ayato_ElementalBurst_Hit", + "abilityName": "Avatar_Ayato_ElementalBurst_Hit", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ayato_Spine_Loop", + "abilityName": "Avatar_Ayato_Spine_Loop", + "abilityOverride": "" + } + ] +} \ No newline at end of file diff --git a/data/json/avatar/ConfigAvatar_Baizhuer.json b/data/json/avatar/ConfigAvatar_Baizhuer.json new file mode 100644 index 0000000..276d1b5 --- /dev/null +++ b/data/json/avatar/ConfigAvatar_Baizhuer.json @@ -0,0 +1,204 @@ +{ + "abilities": [ + { + "abilityID": "Avatar_Baizhuer_ExtraAttack", + "abilityName": "Avatar_Baizhuer_ExtraAttack", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Baizhuer_ExtraAttack_Gadget", + "abilityName": "Avatar_Baizhuer_ExtraAttack_Gadget", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Baizhuer_ExtraAttack_Gadget_Fx", + "abilityName": "Avatar_Baizhuer_ExtraAttack_Gadget_Fx", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Baizhuer_ExtraAttack_Delay_Damage", + "abilityName": "Avatar_Baizhuer_ExtraAttack_Delay_Damage", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Baizhuer_Attack01", + "abilityName": "Avatar_Baizhuer_Attack01", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Baizhuer_Attack02", + "abilityName": "Avatar_Baizhuer_Attack02", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Baizhuer_Attack03", + "abilityName": "Avatar_Baizhuer_Attack03", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Baizhuer_Attack04", + "abilityName": "Avatar_Baizhuer_Attack04", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Baizhuer_ElementalArt", + "abilityName": "Avatar_Baizhuer_ElementalArt", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Baizhuer_ElementalArt_AngularVelocity", + "abilityName": "Avatar_Baizhuer_ElementalArt_AngularVelocity", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Baizhuer_ElementalBurst", + "abilityName": "Avatar_Baizhuer_ElementalBurst", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Baizhuer_ElementalArt_AngularVelocity_Timer", + "abilityName": "Avatar_Baizhuer_ElementalArt_AngularVelocity_Timer", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Baizhuer_ElementalArt_AvatarCheck", + "abilityName": "Avatar_Baizhuer_ElementalArt_AvatarCheck", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Baizhuer_Heal_ControlAbiilty", + "abilityName": "Avatar_Baizhuer_Heal_ControlAbiilty", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Baizhuer_ElementalBurst_Funnel_Handler", + "abilityName": "Avatar_Baizhuer_ElementalBurst_Funnel_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Baizhuer_ElementalBurst_Funnel_Trigger", + "abilityName": "Avatar_Baizhuer_ElementalBurst_Funnel_Trigger", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Baizhuer_ElementalBurst_GetLocalAvatarTarget", + "abilityName": "Avatar_Baizhuer_ElementalBurst_GetLocalAvatarTarget", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Baizhuer_ElementalBurst_Funnel_Shoot", + "abilityName": "Avatar_Baizhuer_ElementalBurst_Funnel_Shoot", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Baizhuer_Burst_HasTarget", + "abilityName": "Avatar_Baizhuer_Burst_HasTarget", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Baizhuer_Funnel_ShootPos", + "abilityName": "Avatar_Baizhuer_Funnel_ShootPos", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Baizhuer_ElementalBurst_AngularVelocity_Timer", + "abilityName": "Avatar_Baizhuer_ElementalBurst_AngularVelocity_Timer", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Baizhuer_ElementalBurst_AngularVelocity", + "abilityName": "Avatar_Baizhuer_ElementalBurst_AngularVelocity", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Baizhuer_PermanentSkill_1", + "abilityName": "Avatar_Baizhuer_PermanentSkill_1", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Baizhuer_HPRatio_Check", + "abilityName": "Avatar_Baizhuer_HPRatio_Check", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Baizhuer_Constellation_ShootPos", + "abilityName": "Avatar_Baizhuer_Constellation_ShootPos", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Baizhuer_HealWhenGather", + "abilityName": "Avatar_Baizhuer_HealWhenGather", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Baizhuer_FallingAnthem", + "abilityName": "Avatar_Baizhuer_FallingAnthem", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Baizhuer", + "abilityName": "Avatar_Baizhuer", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Baizhuer_TeamConfig_01BS", + "abilityName": "Avatar_Baizhuer_TeamConfig_01BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Baizhuer_TeamConfig_01Loop", + "abilityName": "Avatar_Baizhuer_TeamConfig_01Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Baizhuer_TeamConfig_01AS", + "abilityName": "Avatar_Baizhuer_TeamConfig_01AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Baizhuer_ElementalBurst_Spine", + "abilityName": "Avatar_Baizhuer_ElementalBurst_Spine", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Baizhuer_ElementalBurst_Spine_Hand", + "abilityName": "Avatar_Baizhuer_ElementalBurst_Spine_Hand", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Baizhuer_Spine", + "abilityName": "Avatar_Baizhuer_Spine", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Baizhuer_ElementalBurst_BS", + "abilityName": "Avatar_Baizhuer_ElementalBurst_BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Baizhuer_ElementalBurst_BuffBS", + "abilityName": "Avatar_Baizhuer_ElementalBurst_BuffBS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Baizhuer_ElementalBurst_Buff", + "abilityName": "Avatar_Baizhuer_ElementalBurst_Buff", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Baizhuer_ElementBurst", + "abilityName": "Avatar_Baizhuer_ElementBurst", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Baizhuer_ElementalBurst_BuffHit", + "abilityName": "Avatar_Baizhuer_ElementalBurst_BuffHit", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Baizhuer_Spine_Loop", + "abilityName": "Avatar_Baizhuer_Spine_Loop", + "abilityOverride": "" + } + ] +} \ No newline at end of file diff --git a/data/json/avatar/ConfigAvatar_Barbara.json b/data/json/avatar/ConfigAvatar_Barbara.json new file mode 100644 index 0000000..26ea021 --- /dev/null +++ b/data/json/avatar/ConfigAvatar_Barbara.json @@ -0,0 +1,144 @@ +{ + "abilities": [ + { + "abilityID": "Avatar_Barbara_ExtraAttack", + "abilityName": "Avatar_Barbara_ExtraAttack", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Barbara_ExtraAttack_FX", + "abilityName": "Avatar_Barbara_ExtraAttack_FX", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Barbara_ExtraAttack_Damage", + "abilityName": "Avatar_Barbara_ExtraAttack_Damage", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Barbara_Attack01", + "abilityName": "Avatar_Barbara_Attack01", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Barbara_Attack02", + "abilityName": "Avatar_Barbara_Attack02", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Barbara_Attack03", + "abilityName": "Avatar_Barbara_Attack03", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Barbara_Attack04", + "abilityName": "Avatar_Barbara_Attack04", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Barbara_Attack04Damage", + "abilityName": "Avatar_Barbara_Attack04Damage", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Barbara_WetShiled_Clear", + "abilityName": "Avatar_Barbara_WetShiled_Clear", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Barbara_WetShiled", + "abilityName": "Avatar_Barbara_WetShiled", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Barbara_WetShiled_Heal", + "abilityName": "Avatar_Barbara_WetShiled_Heal", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Barbara_WetShiled_Impact", + "abilityName": "Avatar_Barbara_WetShiled_Impact", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Barbara_IdolHeal", + "abilityName": "Avatar_Barbara_IdolHeal", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Barbara_Trigger_Weather", + "abilityName": "Avatar_Barbara_Trigger_Weather", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Barbara_ReviveElemEnergy", + "abilityName": "Avatar_Barbara_ReviveElemEnergy", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Barbara_ReBorn_Pre", + "abilityName": "Avatar_Barbara_ReBorn_Pre", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Barbara_ReBorn", + "abilityName": "Avatar_Barbara_ReBorn", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Barbara_ReBornEffect_01", + "abilityName": "Avatar_Barbara_ReBornEffect_01", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Barbara_ReBornEffect_02", + "abilityName": "Avatar_Barbara_ReBornEffect_02", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Barbara_FallingAnthem", + "abilityName": "Avatar_Barbara_FallingAnthem", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Barbara", + "abilityName": "Avatar_Barbara", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Barbara_TeamConfig_01BS", + "abilityName": "Avatar_Barbara_TeamConfig_01BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Barbara_TeamConfig_01Loop", + "abilityName": "Avatar_Barbara_TeamConfig_01Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Barbara_TeamConfig_01AS", + "abilityName": "Avatar_Barbara_TeamConfig_01AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Barbara_ElementalBurst_Spine", + "abilityName": "Avatar_Barbara_ElementalBurst_Spine", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Barbara_ElementalBurst", + "abilityName": "Avatar_Barbara_ElementalBurst", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Barbara_Spine_Loop", + "abilityName": "Avatar_Barbara_Spine_Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Barbara_VO_MDAQ054_Barbara_01", + "abilityName": "Avatar_Barbara_VO_MDAQ054_Barbara_01", + "abilityOverride": "" + } + ] +} \ No newline at end of file diff --git a/data/json/avatar/ConfigAvatar_Beidou.json b/data/json/avatar/ConfigAvatar_Beidou.json new file mode 100644 index 0000000..4f0c3bd --- /dev/null +++ b/data/json/avatar/ConfigAvatar_Beidou.json @@ -0,0 +1,109 @@ +{ + "abilities": [ + { + "abilityID": "Avatar_Beidou_ExtraAttack", + "abilityName": "Avatar_Beidou_ExtraAttack", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Beidou_ThunderCounter_Handler", + "abilityName": "Avatar_Beidou_ThunderCounter_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Beidou_ThunderCounter_Strike", + "abilityName": "Avatar_Beidou_ThunderCounter_Strike", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Beidou_ThunderShield_CameraHandler", + "abilityName": "Avatar_Beidou_ThunderShield_CameraHandler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Beidou_ThunderShield_Gadget", + "abilityName": "Avatar_Beidou_ThunderShield_Gadget", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Beidou_ThunderShield", + "abilityName": "Avatar_Beidou_ThunderShield", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Beidou_NormalAttackDamage", + "abilityName": "Avatar_Beidou_NormalAttackDamage", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Beidou_FallingAnthem", + "abilityName": "Avatar_Beidou_FallingAnthem", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Beidou_ProudSkill_FlashSlash", + "abilityName": "Avatar_Beidou_ProudSkill_FlashSlash", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Beidou_SwimStamina_Reduction", + "abilityName": "Avatar_Beidou_SwimStamina_Reduction", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Beidou_ExtraAttack_Chongyun", + "abilityName": "Avatar_Beidou_ExtraAttack_Chongyun", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Beidou", + "abilityName": "Avatar_Beidou", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Beidou_TeamConfig_01BS", + "abilityName": "Avatar_Beidou_TeamConfig_01BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Beidou_TeamConfig_01Loop", + "abilityName": "Avatar_Beidou_TeamConfig_01Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Beidou_TeamConfig_01AS", + "abilityName": "Avatar_Beidou_TeamConfig_01AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Beidou_ElementalBurst_Spine", + "abilityName": "Avatar_Beidou_ElementalBurst_Spine", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Beidou_Spine", + "abilityName": "Avatar_Beidou_Spine", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Beidou_ElementalBurst_Hit", + "abilityName": "Avatar_Beidou_ElementalBurst_Hit", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Beidou_ElementalBurst_Buff", + "abilityName": "Avatar_Beidou_ElementalBurst_Buff", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Beidou_Spine_Loop", + "abilityName": "Avatar_Beidou_Spine_Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Beidou_Spine_Loop_Water", + "abilityName": "Avatar_Beidou_Spine_Loop_Water", + "abilityOverride": "" + } + ] +} \ No newline at end of file diff --git a/data/json/avatar/ConfigAvatar_Bennett.json b/data/json/avatar/ConfigAvatar_Bennett.json new file mode 100644 index 0000000..63d9d78 --- /dev/null +++ b/data/json/avatar/ConfigAvatar_Bennett.json @@ -0,0 +1,134 @@ +{ + "abilities": [ + { + "abilityID": "Avatar_Bennett_ExtraAttack", + "abilityName": "Avatar_Bennett_ExtraAttack", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Bennett_Shake", + "abilityName": "Avatar_Bennett_Shake", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Bennett_ElementalArt_Handler", + "abilityName": "Avatar_Bennett_ElementalArt_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Bennett_ElementalArt_Strike01_01", + "abilityName": "Avatar_Bennett_ElementalArt_Strike01_01", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Bennett_ElementalArt_Strike02_01", + "abilityName": "Avatar_Bennett_ElementalArt_Strike02_01", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Bennett_ElementalArt_Strike02_02", + "abilityName": "Avatar_Bennett_ElementalArt_Strike02_02", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Bennett_ElementalArt_Strike02_03", + "abilityName": "Avatar_Bennett_ElementalArt_Strike02_03", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Bennett_ElementalArt_Strike03_01", + "abilityName": "Avatar_Bennett_ElementalArt_Strike03_01", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Bennett_ElementalArt_Strike03_02", + "abilityName": "Avatar_Bennett_ElementalArt_Strike03_02", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Bennett_ElementalArt_Explode", + "abilityName": "Avatar_Bennett_ElementalArt_Explode", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Bennett_ElementalBurst_Strike", + "abilityName": "Avatar_Bennett_ElementalBurst_Strike", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Bennett_ElementalBurst", + "abilityName": "Avatar_Bennett_ElementalBurst", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Bennett_ElementalBurst_Gadget", + "abilityName": "Avatar_Bennett_ElementalBurst_Gadget", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Bennett_NormalAttackDamage", + "abilityName": "Avatar_Bennett_NormalAttackDamage", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Bennett_FallingAnthem", + "abilityName": "Avatar_Bennett_FallingAnthem", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Bennett", + "abilityName": "Avatar_Bennett", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Bennett_TeamConfig_01BS", + "abilityName": "Avatar_Bennett_TeamConfig_01BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Bennett_TeamConfig_01Loop", + "abilityName": "Avatar_Bennett_TeamConfig_01Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Bennett_TeamConfig_01AS", + "abilityName": "Avatar_Bennett_TeamConfig_01AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Bennett_ElementalBurst_Spine", + "abilityName": "Avatar_Bennett_ElementalBurst_Spine", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Bennett_ElementalBurst_BS", + "abilityName": "Avatar_Bennett_ElementalBurst_BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Bennett_ElementalBurst_Hit", + "abilityName": "Avatar_Bennett_ElementalBurst_Hit", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Bennett_elementalBurst_BS_Normal", + "abilityName": "Avatar_Bennett_elementalBurst_BS_Normal", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Bennett_Spine_Loop", + "abilityName": "Avatar_Bennett_Spine_Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Bennett_Spine_Loop_Star", + "abilityName": "Avatar_Bennett_Spine_Loop_Star", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Bennett_Spine", + "abilityName": "Avatar_Bennett_Spine", + "abilityOverride": "" + } + ] +} \ No newline at end of file diff --git a/data/json/avatar/ConfigAvatar_Candace.json b/data/json/avatar/ConfigAvatar_Candace.json new file mode 100644 index 0000000..e5c8c3a --- /dev/null +++ b/data/json/avatar/ConfigAvatar_Candace.json @@ -0,0 +1,174 @@ +{ + "abilities": [ + { + "abilityID": "Avatar_Candace_ExtraAttack", + "abilityName": "Avatar_Candace_ExtraAttack", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Candace_ExtraAttack_CreateBullet", + "abilityName": "Avatar_Candace_ExtraAttack_CreateBullet", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Candace_ElementalArt_HoldCharge", + "abilityName": "Avatar_Candace_ElementalArt_HoldCharge", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Candace_ElementalArt_ChargeShield", + "abilityName": "Avatar_Candace_ElementalArt_ChargeShield", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Candace_ElementalArt_H", + "abilityName": "Avatar_Candace_ElementalArt_H", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Candace_ElementalArt_ElemBall_Handler", + "abilityName": "Avatar_Candace_ElementalArt_ElemBall_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Candace_ElementalArt_L", + "abilityName": "Avatar_Candace_ElementalArt_L", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Candace_ElementalBurst", + "abilityName": "Avatar_Candace_ElementalBurst", + "abilityOverride": "" + }, + { + "abilityID": "AvatarIn_Attack_Constellation_61Candace_ElementalBurst_WaterField_AvatarIn_Attack", + "abilityName": "AvatarIn_Attack_Constellation_61Candace_ElementalBurst_WaterField_AvatarIn_Attack", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Candace_NormalAttack_DamageHandler", + "abilityName": "Avatar_Candace_NormalAttack_DamageHandler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Candace_FallingAnthem", + "abilityName": "Avatar_Candace_FallingAnthem", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Candace_ClimbStamina_Reduction", + "abilityName": "Avatar_Candace_ClimbStamina_Reduction", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Candace", + "abilityName": "Avatar_Candace", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Candace_Skill_ElementalArt_BS", + "abilityName": "Avatar_Candace_Skill_ElementalArt_BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Candace_Skill_ElementalArt_Charge01", + "abilityName": "Avatar_Candace_Skill_ElementalArt_Charge01", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Candace_Skill_ElementalArt_Charge02", + "abilityName": "Avatar_Candace_Skill_ElementalArt_Charge02", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Candace_Skill_ElementalArt_Charge03", + "abilityName": "Avatar_Candace_Skill_ElementalArt_Charge03", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Candace_Skill_ElementalArt_L", + "abilityName": "Avatar_Candace_Skill_ElementalArt_L", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Candace_Skill_ElementalArt_H", + "abilityName": "Avatar_Candace_Skill_ElementalArt_H", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Candace_Skill_ElementalArt_L_AS", + "abilityName": "Avatar_Candace_Skill_ElementalArt_L_AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Candace_Skill_ElementalArt_H_AS", + "abilityName": "Avatar_Candace_Skill_ElementalArt_H_AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Candace_Skill_ElementalBurst", + "abilityName": "Avatar_Candace_Skill_ElementalBurst", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Candace_TeamConfig_01BS", + "abilityName": "Avatar_Candace_TeamConfig_01BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Candace_TeamConfig_01Loop", + "abilityName": "Avatar_Candace_TeamConfig_01Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Candace_TeamConfig_01AS", + "abilityName": "Avatar_Candace_TeamConfig_01AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Candace_Skill_ElementalBurst_AS", + "abilityName": "Avatar_Candace_Skill_ElementalBurst_AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Candace_ElementalBurst_Spine", + "abilityName": "Avatar_Candace_ElementalBurst_Spine", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Candace_Spine", + "abilityName": "Avatar_Candace_Spine", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Candace_ElementalBurst_BS", + "abilityName": "Avatar_Candace_ElementalBurst_BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Candace_ElementalBurst_Hit", + "abilityName": "Avatar_Candace_ElementalBurst_Hit", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Candace_ElementalBurst_Buff", + "abilityName": "Avatar_Candace_ElementalBurst_Buff", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Candace_Spine_Loop", + "abilityName": "Avatar_Candace_Spine_Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Candace_Spine_Loop_BG", + "abilityName": "Avatar_Candace_Spine_Loop_BG", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Candace_Sub_Spine", + "abilityName": "Avatar_Candace_Sub_Spine", + "abilityOverride": "" + } + ] +} \ No newline at end of file diff --git a/data/json/avatar/ConfigAvatar_Charlotte.json b/data/json/avatar/ConfigAvatar_Charlotte.json new file mode 100644 index 0000000..98bb070 --- /dev/null +++ b/data/json/avatar/ConfigAvatar_Charlotte.json @@ -0,0 +1,429 @@ +{ + "abilities": [ + { + "abilityID": "Avatar_Charlotte_ExtraAttack", + "abilityName": "Avatar_Charlotte_ExtraAttack", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Charlotte_ExtraAttack_BS_Check", + "abilityName": "Avatar_Charlotte_ExtraAttack_BS_Check", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Charlotte_Attack01", + "abilityName": "Avatar_Charlotte_Attack01", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Charlotte_Attack01_onMonster", + "abilityName": "Avatar_Charlotte_Attack01_onMonster", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Charlotte_Attack01_None", + "abilityName": "Avatar_Charlotte_Attack01_None", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Charlotte_Attack02", + "abilityName": "Avatar_Charlotte_Attack02", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Charlotte_Attack02_onMonster", + "abilityName": "Avatar_Charlotte_Attack02_onMonster", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Charlotte_Attack02_None", + "abilityName": "Avatar_Charlotte_Attack02_None", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Charlotte_Attack03", + "abilityName": "Avatar_Charlotte_Attack03", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Charlotte_ExtraAttack_DoAttack", + "abilityName": "Avatar_Charlotte_ExtraAttack_DoAttack", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Charlotte_ExtraAttack_Gadget", + "abilityName": "Avatar_Charlotte_ExtraAttack_Gadget", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Charlotte_ExtraAttack_GadgetEffect", + "abilityName": "Avatar_Charlotte_ExtraAttack_GadgetEffect", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Charlotte_ExtraAttack_Damage", + "abilityName": "Avatar_Charlotte_ExtraAttack_Damage", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Charlotte_ExtraAttack_Arkhe_Strike", + "abilityName": "Avatar_Charlotte_ExtraAttack_Arkhe_Strike", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Charlotte_ExtraAttack_Arkhe_CDTimer_", + "abilityName": "Avatar_Charlotte_ExtraAttack_Arkhe_CDTimer_", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Charlotte_ExtraAttack_Arkhe_CDTimer", + "abilityName": "Avatar_Charlotte_ExtraAttack_Arkhe_CDTimer", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Charlotte_ElementalArt", + "abilityName": "Avatar_Charlotte_ElementalArt", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Charlotte_ElementalArt_DropBall_Handler", + "abilityName": "Avatar_Charlotte_ElementalArt_DropBall_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Charlotte_ElementalArt_Click", + "abilityName": "Avatar_Charlotte_ElementalArt_Click", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Charlotte_ElementalArt_Click_Strike", + "abilityName": "Avatar_Charlotte_ElementalArt_Click_Strike", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Charlotte_ElementalArt_Click_CameraReborn", + "abilityName": "Avatar_Charlotte_ElementalArt_Click_CameraReborn", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Charlotte_ElementalArtHold_RayCast", + "abilityName": "Avatar_Charlotte_ElementalArtHold_RayCast", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Charlotte_RayCast_InAim_SetGV", + "abilityName": "Avatar_Charlotte_RayCast_InAim_SetGV", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Charlotte_RayCast_Trigger", + "abilityName": "Avatar_Charlotte_RayCast_Trigger", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Charlotte_RayCast_CloseFx", + "abilityName": "Avatar_Charlotte_RayCast_CloseFx", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Charlotte_RayCast_Handler", + "abilityName": "Avatar_Charlotte_RayCast_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Charlotte_RayCast_Camera_Fx", + "abilityName": "Avatar_Charlotte_RayCast_Camera_Fx", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Charlotte_HoldTimeChangeRayCast", + "abilityName": "Avatar_Charlotte_HoldTimeChangeRayCast", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Charlotte_InHoldTime", + "abilityName": "Avatar_Charlotte_InHoldTime", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Charlotte_MaxHoldTime_TriggerDot", + "abilityName": "Avatar_Charlotte_MaxHoldTime_TriggerDot", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Charlotte_RayCast_CloseFx_Detect", + "abilityName": "Avatar_Charlotte_RayCast_CloseFx_Detect", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Charlotte_RayCast_InterruptFx", + "abilityName": "Avatar_Charlotte_RayCast_InterruptFx", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Charlotte_RayCast_Bomb_OnMonster_CountLayerHandler", + "abilityName": "Avatar_Charlotte_RayCast_Bomb_OnMonster_CountLayerHandler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Charlotte_RayCast_Bomb_OnMonster_CountLayerHandler02", + "abilityName": "Avatar_Charlotte_RayCast_Bomb_OnMonster_CountLayerHandler02", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Charlotte_RayCast_Bomb_OnMonster_Damage", + "abilityName": "Avatar_Charlotte_RayCast_Bomb_OnMonster_Damage", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Charlotte_ElementalArt_ScreenEffect", + "abilityName": "Avatar_Charlotte_ElementalArt_ScreenEffect", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Charlotte_RayCast_Bomb_OnMonster_Dot_Handler", + "abilityName": "Avatar_Charlotte_RayCast_Bomb_OnMonster_Dot_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Charlotte_RayCast_Bomb_OnMonster_Effect_Weak", + "abilityName": "Avatar_Charlotte_RayCast_Bomb_OnMonster_Effect_Weak", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Charlotte_RayCast_Bomb_OnMonster_Effect_Strong", + "abilityName": "Avatar_Charlotte_RayCast_Bomb_OnMonster_Effect_Strong", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Charlotte_RayCast_Bomb_OnMonster_Weak", + "abilityName": "Avatar_Charlotte_RayCast_Bomb_OnMonster_Weak", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Charlotte_RayCast_Bomb_OnMonster_Strong", + "abilityName": "Avatar_Charlotte_RayCast_Bomb_OnMonster_Strong", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Charlotte_RayCast_Bomb_OnMonster_ToFullLayer", + "abilityName": "Avatar_Charlotte_RayCast_Bomb_OnMonster_ToFullLayer", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Charlotte_RayCast_Camera_Fx_OnTeam", + "abilityName": "Avatar_Charlotte_RayCast_Camera_Fx_OnTeam", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Charlotte_HoldTimeChangeRayCast_Trigger", + "abilityName": "Avatar_Charlotte_HoldTimeChangeRayCast_Trigger", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Charlotte_ElementalArt_TagNum_Clear", + "abilityName": "Avatar_Charlotte_ElementalArt_TagNum_Clear", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Charlotte_ElementalArt_Click_AddDotHandler", + "abilityName": "Avatar_Charlotte_ElementalArt_Click_AddDotHandler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Charlotte_ElementalArt_TagNum_Clear0Avatar_Charlotte_ElementalArt_Hold_AddDotHandler", + "abilityName": "Avatar_Charlotte_ElementalArt_TagNum_Clear0Avatar_Charlotte_ElementalArt_Hold_AddDotHandler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Charlotte_ElementalArt_Hold_AddDotHandler", + "abilityName": "Avatar_Charlotte_ElementalArt_Hold_AddDotHandler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Charlotte_ElementalArt_WidgetMode", + "abilityName": "Avatar_Charlotte_ElementalArt_WidgetMode", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Charlotte_ElementalArt_WidgetMode_Check", + "abilityName": "Avatar_Charlotte_ElementalArt_WidgetMode_Check", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Charlotte_ElementalArt_Loop_WidgetMode", + "abilityName": "Avatar_Charlotte_ElementalArt_Loop_WidgetMode", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Charlotte_ElementalBurst_Init", + "abilityName": "Avatar_Charlotte_ElementalBurst_Init", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Charlotte_ElementalBurst", + "abilityName": "Avatar_Charlotte_ElementalBurst", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Charlotte_FallingAnthem", + "abilityName": "Avatar_Charlotte_FallingAnthem", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Charlotte_WaistCamera_DisAppear", + "abilityName": "Avatar_Charlotte_WaistCamera_DisAppear", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Charlotte_WaistCamera_Appear", + "abilityName": "Avatar_Charlotte_WaistCamera_Appear", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Charlotte_PermanentSkill_1", + "abilityName": "Avatar_Charlotte_PermanentSkill_1", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Charlotte_PermanentSkill_1_Handler", + "abilityName": "Avatar_Charlotte_PermanentSkill_1_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Charlotte_PermanentSkill_2", + "abilityName": "Avatar_Charlotte_PermanentSkill_2", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Charlotte_PermanentSkill_2_IsNotFengdan", + "abilityName": "Avatar_Charlotte_PermanentSkill_2_IsNotFengdan", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Charlotte_PermanentSkill_2_NotFengdanCount", + "abilityName": "Avatar_Charlotte_PermanentSkill_2_NotFengdanCount", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Charlotte_Constellation_Extra_Hot", + "abilityName": "Avatar_Charlotte_Constellation_Extra_Hot", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Charlotte_Constellation_Extra_Hot_Handler", + "abilityName": "Avatar_Charlotte_Constellation_Extra_Hot_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Charlotte_Constellation_Extra_Hot_EffectHandler", + "abilityName": "Avatar_Charlotte_Constellation_Extra_Hot_EffectHandler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Charlotte_Constellation_Extra_Hot_Tick", + "abilityName": "Avatar_Charlotte_Constellation_Extra_Hot_Tick", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Charlotte_Constellation_ElementalArt_AddAtkUp", + "abilityName": "Avatar_Charlotte_Constellation_ElementalArt_AddAtkUp", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Charlotte_Constellation_ElementalArt_AddAtk_ClearCount", + "abilityName": "Avatar_Charlotte_Constellation_ElementalArt_AddAtk_ClearCount", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Charlotte_Constellation_ReviveElemEnergy", + "abilityName": "Avatar_Charlotte_Constellation_ReviveElemEnergy", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Charlotte_Constellation_ExtraCameraAttack", + "abilityName": "Avatar_Charlotte_Constellation_ExtraCameraAttack", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Charlotte_Constellation_ExtraCameraAttack_Handler", + "abilityName": "Avatar_Charlotte_Constellation_ExtraCameraAttack_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Charlotte_Constellation_ExtraCameraAttack_TeamHandler", + "abilityName": "Avatar_Charlotte_Constellation_ExtraCameraAttack_TeamHandler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Charlotte_Constellation_ExtraCameraAttack_TeamHandlerCUNIQUE_Avatar_Charlotte_Constellation_ExtraCameraAttack_TeamHandler", + "abilityName": "Avatar_Charlotte_Constellation_ExtraCameraAttack_TeamHandlerCUNIQUE_Avatar_Charlotte_Constellation_ExtraCameraAttack_TeamHandler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Charlotte_Constellation_ExtraCamera_Gadget", + "abilityName": "Avatar_Charlotte_Constellation_ExtraCamera_Gadget", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Charlotte_Constellation_ExtraCamera_Effect", + "abilityName": "Avatar_Charlotte_Constellation_ExtraCamera_Effect", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Charlotte", + "abilityName": "Avatar_Charlotte", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Charlotte_Constellation_Extra_Hot4Avatar_Charlotte_Constellation_ElementalArt_AddAtkUp", + "abilityName": "Avatar_Charlotte_Constellation_Extra_Hot4Avatar_Charlotte_Constellation_ElementalArt_AddAtkUp", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Charlotte_Skill_ElementalArt_BS", + "abilityName": "Avatar_Charlotte_Skill_ElementalArt_BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Charlotte_Skill_ElementalArt_Click0Emo_Avatar_Charlotte_Skill_ElementalArt_Click_AS0Emo_Avatar_Charlotte_Skill_ElementalArt_AimFocus1Emo_Avatar_Charlotte_Skill_ElementalArt_QuitFocus4Emo_Avatar_Charlotte_Skill_ElementalArt_QuitFocus_AS", + "abilityName": "Avatar_Charlotte_Skill_ElementalArt_Click0Emo_Avatar_Charlotte_Skill_ElementalArt_Click_AS0Emo_Avatar_Charlotte_Skill_ElementalArt_AimFocus1Emo_Avatar_Charlotte_Skill_ElementalArt_QuitFocus4Emo_Avatar_Charlotte_Skill_ElementalArt_QuitFocus_AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Charlotte_Skill_ElementalBurst", + "abilityName": "Avatar_Charlotte_Skill_ElementalBurst", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Charlotte_Skill_ElementalBurst_AS", + "abilityName": "Avatar_Charlotte_Skill_ElementalBurst_AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Charlotte_TeamConfig_01BS", + "abilityName": "Avatar_Charlotte_TeamConfig_01BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Charlotte_TeamConfig_01Loop", + "abilityName": "Avatar_Charlotte_TeamConfig_01Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Charlotte_TeamConfig_01AS", + "abilityName": "Avatar_Charlotte_TeamConfig_01AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Charlotte_Constellation_ExtraCamera_Gadget1Avatar_Charlotte_Constellation_ExtraCamera_Gadget", + "abilityName": "Avatar_Charlotte_Constellation_ExtraCamera_Gadget1Avatar_Charlotte_Constellation_ExtraCamera_Gadget", + "abilityOverride": "" + }, + { + "abilityID": "AvatarIcon_Charlotte", + "abilityName": "AvatarIcon_Charlotte", + "abilityOverride": "" + } + ] +} \ No newline at end of file diff --git a/data/json/avatar/ConfigAvatar_Chevreuse.json b/data/json/avatar/ConfigAvatar_Chevreuse.json new file mode 100644 index 0000000..f7858c8 --- /dev/null +++ b/data/json/avatar/ConfigAvatar_Chevreuse.json @@ -0,0 +1,174 @@ +{ + "abilities": [ + { + "abilityID": "Avatar_Chevreuse_ExtraAttack", + "abilityName": "Avatar_Chevreuse_ExtraAttack", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Chevreuse_ExtraAttack_Cast", + "abilityName": "Avatar_Chevreuse_ExtraAttack_Cast", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Chevreuse_ExtraAttack_Bullet", + "abilityName": "Avatar_Chevreuse_ExtraAttack_Bullet", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Chevreuse_ElementalArt", + "abilityName": "Avatar_Chevreuse_ElementalArt", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Chevreuse_Has_Target_Mark", + "abilityName": "Avatar_Chevreuse_Has_Target_Mark", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Chevreuse_ElementalArt_Click", + "abilityName": "Avatar_Chevreuse_ElementalArt_Click", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Chevreuse_ElementalArt_Shoot", + "abilityName": "Avatar_Chevreuse_ElementalArt_Shoot", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Chevreuse_Damage_Up", + "abilityName": "Avatar_Chevreuse_Damage_Up", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Chevreuse_ExtraArt_Chance", + "abilityName": "Avatar_Chevreuse_ExtraArt_Chance", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Chevreuse_ExtraBomb", + "abilityName": "Avatar_Chevreuse_ExtraBomb", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Chevreuse_DropBall", + "abilityName": "Avatar_Chevreuse_DropBall", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Chevreuse_ArkheGrade", + "abilityName": "Avatar_Chevreuse_ArkheGrade", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Chevreuse_ArkheGrade_CD", + "abilityName": "Avatar_Chevreuse_ArkheGrade_CD", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Chevreuse_ElementalBurst", + "abilityName": "Avatar_Chevreuse_ElementalBurst", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Chevreuse_ElementalArt_UpgradeBullet", + "abilityName": "Avatar_Chevreuse_ElementalArt_UpgradeBullet", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Chevreuse_ElementalArt_UpgradeBullet_Driver", + "abilityName": "Avatar_Chevreuse_ElementalArt_UpgradeBullet_Driver", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Chevreuse_SuperBullet_Buff", + "abilityName": "Avatar_Chevreuse_SuperBullet_Buff", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Chevreuse_ElementalArt_UpgradeBullet_Handler", + "abilityName": "Avatar_Chevreuse_ElementalArt_UpgradeBullet_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Chevreuse_ElementalArt_UpgradeBullet_Driver2Avatar_Chevreuse_ElementalArt_UpgradeBullet_Driver", + "abilityName": "Avatar_Chevreuse_ElementalArt_UpgradeBullet_Driver2Avatar_Chevreuse_ElementalArt_UpgradeBullet_Driver", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Chevreuse_ElementalArt_Feedback", + "abilityName": "Avatar_Chevreuse_ElementalArt_Feedback", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Chevreuse_SuperBullet_Eff", + "abilityName": "Avatar_Chevreuse_SuperBullet_Eff", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Chevreuse_Buff", + "abilityName": "Avatar_Chevreuse_Buff", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_ElementalArt_Buff_Chevreuse", + "abilityName": "Avatar_ElementalArt_Buff_Chevreuse", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_ElementalArt_Buff_Chevreuse_Driver", + "abilityName": "Avatar_ElementalArt_Buff_Chevreuse_Driver", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_ElementalArt_Buff_Chevreuse_Driver0UNIQUE_Avatar_ElementalArt_Buff_Chevreuse_Driver", + "abilityName": "Avatar_ElementalArt_Buff_Chevreuse_Driver0UNIQUE_Avatar_ElementalArt_Buff_Chevreuse_Driver", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_ElementalArt_Buff_Chevreuse_Feedback", + "abilityName": "Avatar_ElementalArt_Buff_Chevreuse_Feedback", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Chevreuse_CreateBomb", + "abilityName": "Avatar_Chevreuse_CreateBomb", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Chevreuse_DashStamina_Reduction", + "abilityName": "Avatar_Chevreuse_DashStamina_Reduction", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Chevreuse_NormalAttack_DamageHandler", + "abilityName": "Avatar_Chevreuse_NormalAttack_DamageHandler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Chevreuse_FallingAnthem", + "abilityName": "Avatar_Chevreuse_FallingAnthem", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Chevreuse", + "abilityName": "Avatar_Chevreuse", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Chevreuse_TeamConfig_01BS", + "abilityName": "Avatar_Chevreuse_TeamConfig_01BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Chevreuse_TeamConfig_01Loop", + "abilityName": "Avatar_Chevreuse_TeamConfig_01Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Chevreuse_TeamConfig_01AS", + "abilityName": "Avatar_Chevreuse_TeamConfig_01AS", + "abilityOverride": "" + } + ] +} \ No newline at end of file diff --git a/data/json/avatar/ConfigAvatar_Chiori.json b/data/json/avatar/ConfigAvatar_Chiori.json new file mode 100644 index 0000000..f55bb4a --- /dev/null +++ b/data/json/avatar/ConfigAvatar_Chiori.json @@ -0,0 +1,114 @@ +{ + "abilities": [ + { + "abilityID": "Avatar_Chiori_ExtraAttack", + "abilityName": "Avatar_Chiori_ExtraAttack", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Chiori_ElementalArt_PutTurret", + "abilityName": "Avatar_Chiori_ElementalArt_PutTurret", + "abilityOverride": "" + }, + { + "abilityID": "SkillObj_Chiori_ElementalArt_RockGadget_Turret", + "abilityName": "SkillObj_Chiori_ElementalArt_RockGadget_Turret", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Chiori_ElementalArt_Blink_HoldCharge", + "abilityName": "Avatar_Chiori_ElementalArt_Blink_HoldCharge", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Chiori_ElementalArt_Blink_OnStart", + "abilityName": "Avatar_Chiori_ElementalArt_Blink_OnStart", + "abilityOverride": "" + }, + { + "abilityID": "ElementalArt_Blink_Trail", + "abilityName": "ElementalArt_Blink_Trail", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Chiori_ElementalArt_Blink", + "abilityName": "Avatar_Chiori_ElementalArt_Blink", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Chiori_ElementalArt_Blink_SelectPos", + "abilityName": "Avatar_Chiori_ElementalArt_Blink_SelectPos", + "abilityOverride": "" + }, + { + "abilityID": "Chiori_ElementalArt_AfterRushMove_CameraRevise", + "abilityName": "Chiori_ElementalArt_AfterRushMove_CameraRevise", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Chiori_ElementalArt_JumpSwitch", + "abilityName": "Avatar_Chiori_ElementalArt_JumpSwitch", + "abilityOverride": "" + }, + { + "abilityID": "Bullet_Chiori_ElementalArt_Rush_Detect", + "abilityName": "Bullet_Chiori_ElementalArt_Rush_Detect", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Chiori_ElementalBurst", + "abilityName": "Avatar_Chiori_ElementalBurst", + "abilityOverride": "" + }, + { + "abilityID": "Bullet_Chiori_ElementalBurst_RockBomb", + "abilityName": "Bullet_Chiori_ElementalBurst_RockBomb", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Chiori_FallingAnthem", + "abilityName": "Avatar_Chiori_FallingAnthem", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Chiori_NormalAttack_DamageHandler", + "abilityName": "Avatar_Chiori_NormalAttack_DamageHandler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Chiori_Turret_Onkill_Handler", + "abilityName": "Avatar_Chiori_Turret_Onkill_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Chiori_PermanentSkill_2_OnCreateRockGadget", + "abilityName": "Avatar_Chiori_PermanentSkill_2_OnCreateRockGadget", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Chiori_Constellation_2_AttackLanded_CreateDoll", + "abilityName": "Avatar_Chiori_Constellation_2_AttackLanded_CreateDoll", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Chiori_Constellation_4_ElementalBurst_AddDoll", + "abilityName": "Avatar_Chiori_Constellation_4_ElementalBurst_AddDoll", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Chiori_Constellation_6_Strengthen", + "abilityName": "Avatar_Chiori_Constellation_6_Strengthen", + "abilityOverride": "" + }, + { + "abilityID": "SkillObj_Chiori_Turret_Constellation", + "abilityName": "SkillObj_Chiori_Turret_Constellation", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Chiori_PermanentSkill_3", + "abilityName": "Avatar_Chiori_PermanentSkill_3", + "abilityOverride": "" + } + ] +} \ No newline at end of file diff --git a/data/json/avatar/ConfigAvatar_Chongyun.json b/data/json/avatar/ConfigAvatar_Chongyun.json new file mode 100644 index 0000000..190666c --- /dev/null +++ b/data/json/avatar/ConfigAvatar_Chongyun.json @@ -0,0 +1,124 @@ +{ + "abilities": [ + { + "abilityID": "Avatar_Beidou_ExtraAttack_Chongyun", + "abilityName": "Avatar_Beidou_ExtraAttack_Chongyun", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Chongyun_ElementalArt_Initiate", + "abilityName": "Avatar_Chongyun_ElementalArt_Initiate", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Chongyun_ElementalArt_Damage", + "abilityName": "Avatar_Chongyun_ElementalArt_Damage", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Chongyun_IceCrystal", + "abilityName": "Avatar_Chongyun_IceCrystal", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Chongyun_IceCrystal_Dummy", + "abilityName": "Avatar_Chongyun_IceCrystal_Dummy", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Chongyun_SoulUnleash_Single_Initiate", + "abilityName": "Avatar_Chongyun_SoulUnleash_Single_Initiate", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Chongyun_SoulUnleash_Initiate", + "abilityName": "Avatar_Chongyun_SoulUnleash_Initiate", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Chongyun_SoulUnleash_SoulBlades_Quadra", + "abilityName": "Avatar_Chongyun_SoulUnleash_SoulBlades_Quadra", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Chongyun_SoulUnleash_SoulBlades", + "abilityName": "Avatar_Chongyun_SoulUnleash_SoulBlades", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Chongyun_SoulUnleash_Damage", + "abilityName": "Avatar_Chongyun_SoulUnleash_Damage", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Chongyun_SoulUnleash_Quadra_Damage", + "abilityName": "Avatar_Chongyun_SoulUnleash_Quadra_Damage", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Chongyun_HitReviveElemEnergy", + "abilityName": "Avatar_Chongyun_HitReviveElemEnergy", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Chongyun_NormalAttack_DamageHandler", + "abilityName": "Avatar_Chongyun_NormalAttack_DamageHandler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Chongyun_IceBlade", + "abilityName": "Avatar_Chongyun_IceBlade", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Chongyun_FallingAnthem", + "abilityName": "Avatar_Chongyun_FallingAnthem", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Chongyun", + "abilityName": "Avatar_Chongyun", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Chongyun_TeamConfig_01BS", + "abilityName": "Avatar_Chongyun_TeamConfig_01BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Chongyun_TeamConfig_01Loop", + "abilityName": "Avatar_Chongyun_TeamConfig_01Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Chongyun_TeamConfig_01AS", + "abilityName": "Avatar_Chongyun_TeamConfig_01AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Chongyun_ElementalBurst_Spine", + "abilityName": "Avatar_Chongyun_ElementalBurst_Spine", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Chongyun_ElementalBurst_Hit", + "abilityName": "Avatar_Chongyun_ElementalBurst_Hit", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Chongyun_ElementalBurst_BS", + "abilityName": "Avatar_Chongyun_ElementalBurst_BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Chongyun_ElementalBurst_Hit_NoSpine", + "abilityName": "Avatar_Chongyun_ElementalBurst_Hit_NoSpine", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Chongyun_Spine_Loop", + "abilityName": "Avatar_Chongyun_Spine_Loop", + "abilityOverride": "" + } + ] +} \ No newline at end of file diff --git a/data/json/avatar/ConfigAvatar_Clorinde.json b/data/json/avatar/ConfigAvatar_Clorinde.json new file mode 100644 index 0000000..5545bf8 --- /dev/null +++ b/data/json/avatar/ConfigAvatar_Clorinde.json @@ -0,0 +1,59 @@ +{ + "abilities": [ + { + "abilityID": "Avatar_Clorinde_ExtraAttack", + "abilityName": "Avatar_Clorinde_ExtraAttack", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Clorinde_ElementalArt_Activate", + "abilityName": "Avatar_Clorinde_ElementalArt_Activate", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Clorinde_ElementalArt_GunShot", + "abilityName": "Avatar_Clorinde_ElementalArt_GunShot", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Clorinde_ElementalArt_Dodge_Input", + "abilityName": "Avatar_Clorinde_ElementalArt_Dodge_Input", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Clorinde_ElementalArt_Dodge", + "abilityName": "Avatar_Clorinde_ElementalArt_Dodge", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Clorinde_ElementalBurst_Camera", + "abilityName": "Avatar_Clorinde_ElementalBurst_Camera", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Clorinde_ElementalBurst_Activate", + "abilityName": "Avatar_Clorinde_ElementalBurst_Activate", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Clorinde_FallingAnthem", + "abilityName": "Avatar_Clorinde_FallingAnthem", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Clorinde_Damage_Handler", + "abilityName": "Avatar_Clorinde_Damage_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Clorinde_Talent_PassiveSkill", + "abilityName": "Avatar_Clorinde_Talent_PassiveSkill", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Clorinde_Constellation_PassiveSkill", + "abilityName": "Avatar_Clorinde_Constellation_PassiveSkill", + "abilityOverride": "" + } + ] +} diff --git a/data/json/avatar/ConfigAvatar_Collei.json b/data/json/avatar/ConfigAvatar_Collei.json new file mode 100644 index 0000000..b3184bd --- /dev/null +++ b/data/json/avatar/ConfigAvatar_Collei.json @@ -0,0 +1,144 @@ +{ + "abilities": [ + { + "abilityID": "Avatar_Collei_PressShoot", + "abilityName": "Avatar_Collei_PressShoot", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Collei_AimPressShoot", + "abilityName": "Avatar_Collei_AimPressShoot", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Collei_Arrow_FX", + "abilityName": "Avatar_Collei_Arrow_FX", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Collei_ShootAimingArrow_Charge", + "abilityName": "Avatar_Collei_ShootAimingArrow_Charge", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Collei_ShootArrow_01", + "abilityName": "Avatar_Collei_ShootArrow_01", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Collei_ShootArrow_02", + "abilityName": "Avatar_Collei_ShootArrow_02", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Collei_ShootArrow_03", + "abilityName": "Avatar_Collei_ShootArrow_03", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Collei_ShootArrow_04", + "abilityName": "Avatar_Collei_ShootArrow_04", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Collei_ShootArrow_Aiming", + "abilityName": "Avatar_Collei_ShootArrow_Aiming", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Collei_ElementalArt", + "abilityName": "Avatar_Collei_ElementalArt", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Collei_ElementalBurst", + "abilityName": "Avatar_Collei_ElementalBurst", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Collei_FallingAnthem", + "abilityName": "Avatar_Collei_FallingAnthem", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Collei_FlyStamina_Reduction", + "abilityName": "Avatar_Collei_FlyStamina_Reduction", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Collei", + "abilityName": "Avatar_Collei", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Collei_PermanentSkill_2", + "abilityName": "Avatar_Collei_PermanentSkill_2", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Collei_Skill_ElementalArt", + "abilityName": "Avatar_Collei_Skill_ElementalArt", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Collei_Skill_ElementalArt_AS", + "abilityName": "Avatar_Collei_Skill_ElementalArt_AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Collei_Skill_ElementalBurst", + "abilityName": "Avatar_Collei_Skill_ElementalBurst", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Collei_Skill_ElementalBurst_AS", + "abilityName": "Avatar_Collei_Skill_ElementalBurst_AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Collei_TeamConfig_01BS", + "abilityName": "Avatar_Collei_TeamConfig_01BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Collei_TeamConfig_01Loop", + "abilityName": "Avatar_Collei_TeamConfig_01Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Collei_TeamConfig_01AS", + "abilityName": "Avatar_Collei_TeamConfig_01AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Collei_ElementalBurst_Spine", + "abilityName": "Avatar_Collei_ElementalBurst_Spine", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Collei_ElementalBurst_BS", + "abilityName": "Avatar_Collei_ElementalBurst_BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Collei_ElementBurst", + "abilityName": "Avatar_Collei_ElementBurst", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Collei_ElementalBurst_Hit", + "abilityName": "Avatar_Collei_ElementalBurst_Hit", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Collei_elementalBurst_BS_Normal", + "abilityName": "Avatar_Collei_elementalBurst_BS_Normal", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Collei_Spine_Loop", + "abilityName": "Avatar_Collei_Spine_Loop", + "abilityOverride": "" + } + ] +} \ No newline at end of file diff --git a/data/json/avatar/ConfigAvatar_Cyno.json b/data/json/avatar/ConfigAvatar_Cyno.json new file mode 100644 index 0000000..7b63c72 --- /dev/null +++ b/data/json/avatar/ConfigAvatar_Cyno.json @@ -0,0 +1,319 @@ +{ + "abilities": [ + { + "abilityID": "Avatar_Cyno_ExtraAttack", + "abilityName": "Avatar_Cyno_ExtraAttack", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Cyno_Attack05_TurndDirection", + "abilityName": "Avatar_Cyno_Attack05_TurndDirection", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Cyno_Attack03_FireHitEffect_Handler", + "abilityName": "Avatar_Cyno_Attack03_FireHitEffect_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Cyno_Attack03_Hit", + "abilityName": "Avatar_Cyno_Attack03_Hit", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Cyno_Attack03_Hit_0", + "abilityName": "Avatar_Cyno_Attack03_Hit_0", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Cyno_Attack03_Hit_1", + "abilityName": "Avatar_Cyno_Attack03_Hit_1", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Cyno_Attack03_Hit_2", + "abilityName": "Avatar_Cyno_Attack03_Hit_2", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Cyno_ExtraAttack_CreateBullet", + "abilityName": "Avatar_Cyno_ExtraAttack_CreateBullet", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Cyno_ExtraAttack_Bullet", + "abilityName": "Avatar_Cyno_ExtraAttack_Bullet", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Cyno_ElementalArt_DropBallCheck", + "abilityName": "Avatar_Cyno_ElementalArt_DropBallCheck", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Cyno_ElementalArt_DropBall", + "abilityName": "Avatar_Cyno_ElementalArt_DropBall", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Cyno_ElementalArt_Bullet", + "abilityName": "Avatar_Cyno_ElementalArt_Bullet", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Cyno_BurstMode_ElementalArt_Onstart", + "abilityName": "Avatar_Cyno_BurstMode_ElementalArt_Onstart", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Cyno_Constellation_6", + "abilityName": "Avatar_Cyno_Constellation_6", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Cyno_ElementalArt_Muya_Success_Handler", + "abilityName": "Avatar_Cyno_ElementalArt_Muya_Success_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Cyno_ElementalBurst", + "abilityName": "Avatar_Cyno_ElementalBurst", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Cyno_ElementalBurst_Invincible", + "abilityName": "Avatar_Cyno_ElementalBurst_Invincible", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Cyno_ElementalBurst_CameraBlur_Handler", + "abilityName": "Avatar_Cyno_ElementalBurst_CameraBlur_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Cyno_ElementalBurst_CameraBlur_Effect", + "abilityName": "Avatar_Cyno_ElementalBurst_CameraBlur_Effect", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Cyno_ElementalBurst_ChangeVisible", + "abilityName": "Avatar_Cyno_ElementalBurst_ChangeVisible", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Cyno_ElementalBurst_ResetInit", + "abilityName": "Avatar_Cyno_ElementalBurst_ResetInit", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Cyno_ElementalBurst_Fog_Handler", + "abilityName": "Avatar_Cyno_ElementalBurst_Fog_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Cyno_ElementalBurst_Weather_DisPlayHandler", + "abilityName": "Avatar_Cyno_ElementalBurst_Weather_DisPlayHandler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Cyno_ElementalBurst_Weather_LoopHandler", + "abilityName": "Avatar_Cyno_ElementalBurst_Weather_LoopHandler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Cyno_ElementalBurst_ChangeWeather", + "abilityName": "Avatar_Cyno_ElementalBurst_ChangeWeather", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Cyno_BigArmAppear", + "abilityName": "Avatar_Cyno_BigArmAppear", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Cyno_ArmBreak", + "abilityName": "Avatar_Cyno_ArmBreak", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Cyno_BurstMode_State_Badao", + "abilityName": "Avatar_Cyno_BurstMode_State_Badao", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Cyno_BigArmDisAppear", + "abilityName": "Avatar_Cyno_BigArmDisAppear", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Cyno_ElementalBurst_WarningCameraEffect", + "abilityName": "Avatar_Cyno_ElementalBurst_WarningCameraEffect", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Cyno_ElementalBurst_JackalMode", + "abilityName": "Avatar_Cyno_ElementalBurst_JackalMode", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Cyno_ElementalBurst_WarningCameraEffectM", + "abilityName": "Avatar_Cyno_ElementalBurst_WarningCameraEffectM", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Cyno_ElementalBurst_MuyaHandlerT", + "abilityName": "Avatar_Cyno_ElementalBurst_MuyaHandlerT", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Cyno_ElementalBurst_MuyaHandler", + "abilityName": "Avatar_Cyno_ElementalBurst_MuyaHandler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Cyno_ElementalBurst_Renderer_HandlerR", + "abilityName": "Avatar_Cyno_ElementalBurst_Renderer_HandlerR", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Cyno_Constellation_6_BulletHandlerR", + "abilityName": "Avatar_Cyno_Constellation_6_BulletHandlerR", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Cyno_ElementalBurst_EndMode", + "abilityName": "Avatar_Cyno_ElementalBurst_EndMode", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Cyno_ElementalBurst_Renderer_Handler", + "abilityName": "Avatar_Cyno_ElementalBurst_Renderer_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Cyno_ElementalBurst_Renderer_AttackHandler", + "abilityName": "Avatar_Cyno_ElementalBurst_Renderer_AttackHandler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Cyno_ElementalBurst_MuyaAddTime", + "abilityName": "Avatar_Cyno_ElementalBurst_MuyaAddTime", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Cyno_Constellation_6_BulletHandler", + "abilityName": "Avatar_Cyno_Constellation_6_BulletHandler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Cyno_ElementalBurst_EndHanlder", + "abilityName": "Avatar_Cyno_ElementalBurst_EndHanlder", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Cyno_ElementalBurst_Buff_AddDurability", + "abilityName": "Avatar_Cyno_ElementalBurst_Buff_AddDurability", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Cyno_FallingAnthem", + "abilityName": "Avatar_Cyno_FallingAnthem", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Cyno_ElementalBurst_onReconnectHandler", + "abilityName": "Avatar_Cyno_ElementalBurst_onReconnectHandler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Cyno_BigArm_DisAppear", + "abilityName": "Avatar_Cyno_BigArm_DisAppear", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Cyno_ExtraAttack_BurstMode_Damage", + "abilityName": "Avatar_Cyno_ExtraAttack_BurstMode_Damage", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Cyno_BurstMode_ExtraAttack_Bullet", + "abilityName": "Avatar_Cyno_BurstMode_ExtraAttack_Bullet", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Cyno_Attack_DamageHandler", + "abilityName": "Avatar_Cyno_Attack_DamageHandler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Cyno_Constellation_6_BulletCdHandler", + "abilityName": "Avatar_Cyno_Constellation_6_BulletCdHandler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Cyno", + "abilityName": "Avatar_Cyno", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Cyno_TeamConfig_01BS", + "abilityName": "Avatar_Cyno_TeamConfig_01BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Cyno_TeamConfig_01Loop", + "abilityName": "Avatar_Cyno_TeamConfig_01Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Cyno_TeamConfig_01AS", + "abilityName": "Avatar_Cyno_TeamConfig_01AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Cyno_BurstMode_ExtraAttack_Bulletr", + "abilityName": "Avatar_Cyno_BurstMode_ExtraAttack_Bulletr", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Cyno_ElementalBurst_Spine", + "abilityName": "Avatar_Cyno_ElementalBurst_Spine", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Cyno_ElementalBurst_BS", + "abilityName": "Avatar_Cyno_ElementalBurst_BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Cyno_ElementalBurst_Hit", + "abilityName": "Avatar_Cyno_ElementalBurst_Hit", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Cyno_Spine_Loop_01", + "abilityName": "Avatar_Cyno_Spine_Loop_01", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Cyno_Spine", + "abilityName": "Avatar_Cyno_Spine", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Cyno_Spine_Loop_02", + "abilityName": "Avatar_Cyno_Spine_Loop_02", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Cyno_02_Spine", + "abilityName": "Avatar_Cyno_02_Spine", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Cyno_Attack_DamageHandler1Cyno_PermanentSkill_2_Ratio_BurstModeNormalAttack", + "abilityName": "Avatar_Cyno_Attack_DamageHandler1Cyno_PermanentSkill_2_Ratio_BurstModeNormalAttack", + "abilityOverride": "" + } + ] +} \ No newline at end of file diff --git a/data/json/avatar/ConfigAvatar_Dehya.json b/data/json/avatar/ConfigAvatar_Dehya.json new file mode 100644 index 0000000..2858bc8 --- /dev/null +++ b/data/json/avatar/ConfigAvatar_Dehya.json @@ -0,0 +1,489 @@ +{ + "abilities": [ + { + "abilityID": "Avatar_Dehya_ExtraAttack", + "abilityName": "Avatar_Dehya_ExtraAttack", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dehya_ElementalArt_Insert", + "abilityName": "Avatar_Dehya_ElementalArt_Insert", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dehya_ElementalArt_Insert_Initialize", + "abilityName": "Avatar_Dehya_ElementalArt_Insert_Initialize", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dehya_PermanentSkill_1_B", + "abilityName": "Avatar_Dehya_PermanentSkill_1_B", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dehya_ElementalArt_DropBall_Handler", + "abilityName": "Avatar_Dehya_ElementalArt_DropBall_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dehya_ElementalArt_DropBall", + "abilityName": "Avatar_Dehya_ElementalArt_DropBall", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dehya_ElementalArt_Recycle", + "abilityName": "Avatar_Dehya_ElementalArt_Recycle", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dehya_ElementalArt_TriggerRecycle", + "abilityName": "Avatar_Dehya_ElementalArt_TriggerRecycle", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dehya_ElementalArt_RecycleDamage", + "abilityName": "Avatar_Dehya_ElementalArt_RecycleDamage", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dehya_ElementalArt_RecycleDamage_Remover", + "abilityName": "Avatar_Dehya_ElementalArt_RecycleDamage_Remover", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dehya_PermanentSkill_1_A", + "abilityName": "Avatar_Dehya_PermanentSkill_1_A", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dehya_ElementalArt_TriggerRecycle_Fx", + "abilityName": "Avatar_Dehya_ElementalArt_TriggerRecycle_Fx", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dehya_ElementalArt_RecycleDamageV", + "abilityName": "Avatar_Dehya_ElementalArt_RecycleDamageV", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dehya_ElementalArt_LoanHandler", + "abilityName": "Avatar_Dehya_ElementalArt_LoanHandler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dehya_ElementalArt_LoanFx", + "abilityName": "Avatar_Dehya_ElementalArt_LoanFx", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dehya_ElementalArt_LoanFx_Handler", + "abilityName": "Avatar_Dehya_ElementalArt_LoanFx_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dehya_ElementalArt_LoanFx_Lv1", + "abilityName": "Avatar_Dehya_ElementalArt_LoanFx_Lv1", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dehya_ElementalArt_LoanFx_Lv2", + "abilityName": "Avatar_Dehya_ElementalArt_LoanFx_Lv2", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dehya_ElementalArt_LoanFx_Lv1M", + "abilityName": "Avatar_Dehya_ElementalArt_LoanFx_Lv1M", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dehya_ElementalArt_Grave_Initialize", + "abilityName": "Avatar_Dehya_ElementalArt_Grave_Initialize", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dehya_ElementalArt_Grave_LifeTimer", + "abilityName": "Avatar_Dehya_ElementalArt_Grave_LifeTimer", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dehya_ElementalArt_Grave_CDInherit", + "abilityName": "Avatar_Dehya_ElementalArt_Grave_CDInherit", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dehya_ElementalArt_Grave_Fx", + "abilityName": "Avatar_Dehya_ElementalArt_Grave_Fx", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dehya_ElementalArt_Grave_Fx_01", + "abilityName": "Avatar_Dehya_ElementalArt_Grave_Fx_01", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dehya_ElementalArt_Grave_Fx_02", + "abilityName": "Avatar_Dehya_ElementalArt_Grave_Fx_02", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dehya_ElementalArt_Grave_Fx_LevelHandler", + "abilityName": "Avatar_Dehya_ElementalArt_Grave_Fx_LevelHandler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dehya_ElementalArt_Grave_CheckInField", + "abilityName": "Avatar_Dehya_ElementalArt_Grave_CheckInField", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dehya_ElementalArt_Grave_PermanentSkill_EndureUp", + "abilityName": "Avatar_Dehya_ElementalArt_Grave_PermanentSkill_EndureUp", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dehya_ElementalArt_Grave_OnDehya", + "abilityName": "Avatar_Dehya_ElementalArt_Grave_OnDehya", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dehya_ElementalArt_Grave_OnDehya_SwitchSkill", + "abilityName": "Avatar_Dehya_ElementalArt_Grave_OnDehya_SwitchSkill", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dehya_ElementalArt_Grave_AttackHandler", + "abilityName": "Avatar_Dehya_ElementalArt_Grave_AttackHandler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dehya_ElementalArt_Grave_OnMonster", + "abilityName": "Avatar_Dehya_ElementalArt_Grave_OnMonster", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dehya_ElementalArt_Grave_AttackByGrave", + "abilityName": "Avatar_Dehya_ElementalArt_Grave_AttackByGrave", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dehya_ElementalArt_Grave_CheckInFieldM", + "abilityName": "Avatar_Dehya_ElementalArt_Grave_CheckInFieldM", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dehya_ElementalArt_Grave_Bullet_Trail", + "abilityName": "Avatar_Dehya_ElementalArt_Grave_Bullet_Trail", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dehya_ElementalArt_Grave_Bullet_Timer", + "abilityName": "Avatar_Dehya_ElementalArt_Grave_Bullet_Timer", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dehya_ElementalArt_Recycleh", + "abilityName": "Avatar_Dehya_ElementalArt_Recycleh", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dehya_ElementalBurst", + "abilityName": "Avatar_Dehya_ElementalBurst", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dehya_ElementalBurst_Initialize", + "abilityName": "Avatar_Dehya_ElementalBurst_Initialize", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dehya_ElementalBurst_Starter", + "abilityName": "Avatar_Dehya_ElementalBurst_Starter", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dehya_ElementalBurst_Timer", + "abilityName": "Avatar_Dehya_ElementalBurst_Timer", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dehya_ElementalBurst_Fx", + "abilityName": "Avatar_Dehya_ElementalBurst_Fx", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dehya_ElementalBurst_EmotionControl", + "abilityName": "Avatar_Dehya_ElementalBurst_EmotionControl", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dehya_ElementalBurst_Camera_Handler", + "abilityName": "Avatar_Dehya_ElementalBurst_Camera_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dehya_ElementalBurst_Camera_PushTarget", + "abilityName": "Avatar_Dehya_ElementalBurst_Camera_PushTarget", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dehya_ElementalBurst_Invincible", + "abilityName": "Avatar_Dehya_ElementalBurst_Invincible", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dehya_ElementalBurst_WeatherChange", + "abilityName": "Avatar_Dehya_ElementalBurst_WeatherChange", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dehya_BladeStorm_SwitchSkill", + "abilityName": "Avatar_Dehya_BladeStorm_SwitchSkill", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dehya_ElementalBurst_BladeStorm", + "abilityName": "Avatar_Dehya_ElementalBurst_BladeStorm", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dehya_ElementalBurst_BladeStorm_Remover", + "abilityName": "Avatar_Dehya_ElementalBurst_BladeStorm_Remover", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dehya_ElementalBurst_Camera_DungeonEffect", + "abilityName": "Avatar_Dehya_ElementalBurst_Camera_DungeonEffect", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dehya_PermanentSkill_1_AR", + "abilityName": "Avatar_Dehya_PermanentSkill_1_AR", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dehya_ElementalBurst_SprintCancle", + "abilityName": "Avatar_Dehya_ElementalBurst_SprintCancle", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dehya_ElementalBurst_StandbyCancle", + "abilityName": "Avatar_Dehya_ElementalBurst_StandbyCancle", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dehya_ElementalBurst_Controller", + "abilityName": "Avatar_Dehya_ElementalBurst_Controller", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dehya_BladeStorm_ClearTrigger", + "abilityName": "Avatar_Dehya_BladeStorm_ClearTrigger", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dehya_BladeStorm_QTE_Success", + "abilityName": "Avatar_Dehya_BladeStorm_QTE_Success", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dehya_BladeStorm_Strike_A", + "abilityName": "Avatar_Dehya_BladeStorm_Strike_A", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dehya_BladeStorm_Strike_B", + "abilityName": "Avatar_Dehya_BladeStorm_Strike_B", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dehya_ElementalBurst_BladeStorm_TurnDir", + "abilityName": "Avatar_Dehya_ElementalBurst_BladeStorm_TurnDir", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dehya_ElementalBurst_BladeStorm_TurnDir_Last", + "abilityName": "Avatar_Dehya_ElementalBurst_BladeStorm_TurnDir_Last", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dehya_BladeStorm_Fx_Remover", + "abilityName": "Avatar_Dehya_BladeStorm_Fx_Remover", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dehya_BladeStorm_Speed_Handler", + "abilityName": "Avatar_Dehya_BladeStorm_Speed_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dehya_BladeStorm_SpeedUp", + "abilityName": "Avatar_Dehya_BladeStorm_SpeedUp", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dehya_PermanentSkill_1_Buff", + "abilityName": "Avatar_Dehya_PermanentSkill_1_Buff", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dehya_PermanentSkill_A_Timer", + "abilityName": "Avatar_Dehya_PermanentSkill_A_Timer", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dehya_PermanentSkill_B_Timer", + "abilityName": "Avatar_Dehya_PermanentSkill_B_Timer", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dehya_PermanentSkill_B_Buff", + "abilityName": "Avatar_Dehya_PermanentSkill_B_Buff", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dehya_PermanentSkill_2", + "abilityName": "Avatar_Dehya_PermanentSkill_2", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dehya_PermanentSkill_2_Handler", + "abilityName": "Avatar_Dehya_PermanentSkill_2_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dehya_PermanentSkill_2_HotBuff", + "abilityName": "Avatar_Dehya_PermanentSkill_2_HotBuff", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dehya_PermanentSkill_2_CDTimer", + "abilityName": "Avatar_Dehya_PermanentSkill_2_CDTimer", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dehya_Constellation_6", + "abilityName": "Avatar_Dehya_Constellation_6", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dehya_Constellation_6_CritUp", + "abilityName": "Avatar_Dehya_Constellation_6_CritUp", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dehya_Constellation_6_CritHurtUp", + "abilityName": "Avatar_Dehya_Constellation_6_CritHurtUp", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dehya_Constellation_6_Handler", + "abilityName": "Avatar_Dehya_Constellation_6_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dehya_Constellation_6_Initialize", + "abilityName": "Avatar_Dehya_Constellation_6_Initialize", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dehya_Constellation_6_Remover", + "abilityName": "Avatar_Dehya_Constellation_6_Remover", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dehya_Constellation_6_Crit_CountUp", + "abilityName": "Avatar_Dehya_Constellation_6_Crit_CountUp", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dehya_Attack_DamageHandler", + "abilityName": "Avatar_Dehya_Attack_DamageHandler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dehya_FallingAnthem", + "abilityName": "Avatar_Dehya_FallingAnthem", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dehya", + "abilityName": "Avatar_Dehya", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dehya_ElementalArt_Insert_AS", + "abilityName": "Avatar_Dehya_ElementalArt_Insert_AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dehya_ElementalArt_Recycle_AS", + "abilityName": "Avatar_Dehya_ElementalArt_Recycle_AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dehya_ElementalBurst_Loop_A", + "abilityName": "Avatar_Dehya_ElementalBurst_Loop_A", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dehya_ElementalBurst_Loop_B", + "abilityName": "Avatar_Dehya_ElementalBurst_Loop_B", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dehya_ElementalBurst_End", + "abilityName": "Avatar_Dehya_ElementalBurst_End", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dehya_ElementalBurst_AS", + "abilityName": "Avatar_Dehya_ElementalBurst_AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dehya_TeamConfig_01BS", + "abilityName": "Avatar_Dehya_TeamConfig_01BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dehya_TeamConfig_01Loop", + "abilityName": "Avatar_Dehya_TeamConfig_01Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dehya_TeamConfig_01AS", + "abilityName": "Avatar_Dehya_TeamConfig_01AS", + "abilityOverride": "" + }, + { + "abilityID": "AvatarItem_Dehya_SumeruHairpin", + "abilityName": "AvatarItem_Dehya_SumeruHairpin", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dehya_ElementalBurst_Spine", + "abilityName": "Avatar_Dehya_ElementalBurst_Spine", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dehya_ElementalBurst_BS", + "abilityName": "Avatar_Dehya_ElementalBurst_BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dehya_ElementalBurst_Hit", + "abilityName": "Avatar_Dehya_ElementalBurst_Hit", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dehya_ElementalBurst_Hit_02", + "abilityName": "Avatar_Dehya_ElementalBurst_Hit_02", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dehya_Spine_Loop", + "abilityName": "Avatar_Dehya_Spine_Loop", + "abilityOverride": "" + } + ] +} \ No newline at end of file diff --git a/data/json/avatar/ConfigAvatar_Diluc.json b/data/json/avatar/ConfigAvatar_Diluc.json new file mode 100644 index 0000000..ef37b64 --- /dev/null +++ b/data/json/avatar/ConfigAvatar_Diluc.json @@ -0,0 +1,174 @@ +{ + "abilities": [ + { + "abilityID": "Avatar_Diluc_ExtraAttack", + "abilityName": "Avatar_Diluc_ExtraAttack", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Diluc_Fire_Blade", + "abilityName": "Avatar_Diluc_Fire_Blade", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Diluc_Fire_BladeSet1", + "abilityName": "Avatar_Diluc_Fire_BladeSet1", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Diluc_AfterFireBlade", + "abilityName": "Avatar_Diluc_AfterFireBlade", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Diluc_Fire_BladeSet2", + "abilityName": "Avatar_Diluc_Fire_BladeSet2", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Diluc_Fire_BladeSet3", + "abilityName": "Avatar_Diluc_Fire_BladeSet3", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Diluc_Fire_Enhancement", + "abilityName": "Avatar_Diluc_Fire_Enhancement", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Diluc_FireCrossCamera", + "abilityName": "Avatar_Diluc_FireCrossCamera", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Diluc_FireCross_Push1", + "abilityName": "Avatar_Diluc_FireCross_Push1", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Diluc_FireCross_Strike", + "abilityName": "Avatar_Diluc_FireCross_Strike", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Diluc_FireCross", + "abilityName": "Avatar_Diluc_FireCross", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Diluc_FireCross_Explode", + "abilityName": "Avatar_Diluc_FireCross_Explode", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Diluc_NormalAttackDamage", + "abilityName": "Avatar_Diluc_NormalAttackDamage", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Diluc_ElementArt", + "abilityName": "Avatar_Diluc_ElementArt", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Diluc_GiantKiller", + "abilityName": "Avatar_Diluc_GiantKiller", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Diluc_FireHowl", + "abilityName": "Avatar_Diluc_FireHowl", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Diluc_AfterFireBladeCountDown", + "abilityName": "Avatar_Diluc_AfterFireBladeCountDown", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Diluc_NextFireBlade1", + "abilityName": "Avatar_Diluc_NextFireBlade1", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Diluc_NextFireBlade2", + "abilityName": "Avatar_Diluc_NextFireBlade2", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Diluc_FallingAnthem", + "abilityName": "Avatar_Diluc_FallingAnthem", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Diluc", + "abilityName": "Avatar_Diluc", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Diluc_TeamConfig_01BS", + "abilityName": "Avatar_Diluc_TeamConfig_01BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Diluc_TeamConfig_01Loop", + "abilityName": "Avatar_Diluc_TeamConfig_01Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Diluc_TeamConfig_01AS", + "abilityName": "Avatar_Diluc_TeamConfig_01AS", + "abilityOverride": "" + }, + { + "abilityID": "AvatarItem_Diluc_Mask", + "abilityName": "AvatarItem_Diluc_Mask", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Diluc_Fire_Enchantment", + "abilityName": "Avatar_Diluc_Fire_Enchantment", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Diluc_ElementalBurst_Spine", + "abilityName": "Avatar_Diluc_ElementalBurst_Spine", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Diluc_ElementalBurst_Spine_MotionBlur", + "abilityName": "Avatar_Diluc_ElementalBurst_Spine_MotionBlur", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Diluc_Spine", + "abilityName": "Avatar_Diluc_Spine", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Diluc_ElementalBurst", + "abilityName": "Avatar_Diluc_ElementalBurst", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Diluc_ElementBurst", + "abilityName": "Avatar_Diluc_ElementBurst", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Diluc_ElementalBurst_Hit", + "abilityName": "Avatar_Diluc_ElementalBurst_Hit", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Diluc_Spine_Loop", + "abilityName": "Avatar_Diluc_Spine_Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Diluc_Spine_BG", + "abilityName": "Avatar_Diluc_Spine_BG", + "abilityOverride": "" + } + ] +} \ No newline at end of file diff --git a/data/json/avatar/ConfigAvatar_Diona.json b/data/json/avatar/ConfigAvatar_Diona.json new file mode 100644 index 0000000..0b16ef0 --- /dev/null +++ b/data/json/avatar/ConfigAvatar_Diona.json @@ -0,0 +1,224 @@ +{ + "abilities": [ + { + "abilityID": "Avatar_Diona_Arrow_FX", + "abilityName": "Avatar_Diona_Arrow_FX", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Diona_ShootAimingArrow_Charge", + "abilityName": "Avatar_Diona_ShootAimingArrow_Charge", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Diona_PressShoot", + "abilityName": "Avatar_Diona_PressShoot", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Diona_ShootArrow_Aiming", + "abilityName": "Avatar_Diona_ShootArrow_Aiming", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Diona_ShootArrow_ResetGlobalValue", + "abilityName": "Avatar_Diona_ShootArrow_ResetGlobalValue", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Diona_AimPressShoot", + "abilityName": "Avatar_Diona_AimPressShoot", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Diona_ShootArrow_Enchanted_WithoutIce", + "abilityName": "Avatar_Diona_ShootArrow_Enchanted_WithoutIce", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Diona_ShootArrow_01", + "abilityName": "Avatar_Diona_ShootArrow_01", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Diona_ShootArrow_02", + "abilityName": "Avatar_Diona_ShootArrow_02", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Diona_ShootArrow_03", + "abilityName": "Avatar_Diona_ShootArrow_03", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Diona_ShootArrow_04", + "abilityName": "Avatar_Diona_ShootArrow_04", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Diona_ShootArrow_05", + "abilityName": "Avatar_Diona_ShootArrow_05", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Diona_NekoShoot_Press", + "abilityName": "Avatar_Diona_NekoShoot_Press", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Diona_NekoShoot_Holdup", + "abilityName": "Avatar_Diona_NekoShoot_Holdup", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Diona_ElementalArt_Shield", + "abilityName": "Avatar_Diona_ElementalArt_Shield", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Diona_ElementalArt_Bullet_Trail_01", + "abilityName": "Avatar_Diona_ElementalArt_Bullet_Trail_01", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Diona_ElementalArt_Bullet_Trail_02", + "abilityName": "Avatar_Diona_ElementalArt_Bullet_Trail_02", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Diona_Elemental_Burst_Attack", + "abilityName": "Avatar_Diona_Elemental_Burst_Attack", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Diona_Elemental_Art_Flask", + "abilityName": "Avatar_Diona_Elemental_Art_Flask", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Diona_Elemental_Burst_Creata_IceWine_Fog", + "abilityName": "Avatar_Diona_Elemental_Burst_Creata_IceWine_Fog", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Diona_IceWine_Fog", + "abilityName": "Avatar_Diona_IceWine_Fog", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Diona_ShootArrow_Damage", + "abilityName": "Avatar_Diona_ShootArrow_Damage", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Diona_FallingAnthem", + "abilityName": "Avatar_Diona_FallingAnthem", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Diona", + "abilityName": "Avatar_Diona", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Diona_Skill_ElementalArt_Short", + "abilityName": "Avatar_Diona_Skill_ElementalArt_Short", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Diona_Skill_ElementalArt_Short_AS", + "abilityName": "Avatar_Diona_Skill_ElementalArt_Short_AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Diona_Skill_ElementalArt_Short_BS", + "abilityName": "Avatar_Diona_Skill_ElementalArt_Short_BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Diona_Skill_ElementalArt_Throw", + "abilityName": "Avatar_Diona_Skill_ElementalArt_Throw", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Diona_Skill_ElementalArt_Throw_AS", + "abilityName": "Avatar_Diona_Skill_ElementalArt_Throw_AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Diona_Skill_ElementalArt_Throw_BS", + "abilityName": "Avatar_Diona_Skill_ElementalArt_Throw_BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Diona_Skill_ElementalBurst", + "abilityName": "Avatar_Diona_Skill_ElementalBurst", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Diona_Skill_ElementalBurst_AS", + "abilityName": "Avatar_Diona_Skill_ElementalBurst_AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Diona_TeamConfig_01BS", + "abilityName": "Avatar_Diona_TeamConfig_01BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Diona_TeamConfig_01Loop", + "abilityName": "Avatar_Diona_TeamConfig_01Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Diona_TeamConfig_01AS", + "abilityName": "Avatar_Diona_TeamConfig_01AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Diona_ElementalBurst_Spine_Trail", + "abilityName": "Avatar_Diona_ElementalBurst_Spine_Trail", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Diona_ElementalBurst_Spine", + "abilityName": "Avatar_Diona_ElementalBurst_Spine", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Diona_Spine", + "abilityName": "Avatar_Diona_Spine", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Diona_ElementalBurst_BS", + "abilityName": "Avatar_Diona_ElementalBurst_BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Diona_ElementalBurst", + "abilityName": "Avatar_Diona_ElementalBurst", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Diona_ElementBurst", + "abilityName": "Avatar_Diona_ElementBurst", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Diona_ElementalBurst_Hit", + "abilityName": "Avatar_Diona_ElementalBurst_Hit", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Diona_ElementalBurst_BS_Normal", + "abilityName": "Avatar_Diona_ElementalBurst_BS_Normal", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Diona_Spine_Loop", + "abilityName": "Avatar_Diona_Spine_Loop", + "abilityOverride": "" + } + ] +} \ No newline at end of file diff --git a/data/json/avatar/ConfigAvatar_Dori.json b/data/json/avatar/ConfigAvatar_Dori.json new file mode 100644 index 0000000..1708c25 --- /dev/null +++ b/data/json/avatar/ConfigAvatar_Dori.json @@ -0,0 +1,119 @@ +{ + "abilities": [ + { + "abilityID": "Avatar_Dori_ExtraAttack", + "abilityName": "Avatar_Dori_ExtraAttack", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dori_NormalAttack_Sprite_Controller", + "abilityName": "Avatar_Dori_NormalAttack_Sprite_Controller", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dori_ExtraAttack_Sprite_Remover", + "abilityName": "Avatar_Dori_ExtraAttack_Sprite_Remover", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dori_ElementalArt_Sprite_Remover", + "abilityName": "Avatar_Dori_ElementalArt_Sprite_Remover", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dori_ElementalArt_Sprite", + "abilityName": "Avatar_Dori_ElementalArt_Sprite", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dori_ElementalArt", + "abilityName": "Avatar_Dori_ElementalArt", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dori_ElementalBurst", + "abilityName": "Avatar_Dori_ElementalBurst", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dori_ChargingStation_Bullet_Bullet", + "abilityName": "Avatar_Dori_ChargingStation_Bullet_Bullet", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dori_ElementalBurst_CreateGadgeth", + "abilityName": "Avatar_Dori_ElementalBurst_CreateGadgeth", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dori_ElementalBurst_CreateGadget", + "abilityName": "Avatar_Dori_ElementalBurst_CreateGadget", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dori_ChargingStation", + "abilityName": "Avatar_Dori_ChargingStation", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dori_NormalAttack_DamageHandler", + "abilityName": "Avatar_Dori_NormalAttack_DamageHandler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dori_FallingAnthem", + "abilityName": "Avatar_Dori_FallingAnthem", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dori_Constellation_6", + "abilityName": "Avatar_Dori_Constellation_6", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dori", + "abilityName": "Avatar_Dori", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dori_TeamConfig_01BS", + "abilityName": "Avatar_Dori_TeamConfig_01BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dori_TeamConfig_01Loop", + "abilityName": "Avatar_Dori_TeamConfig_01Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dori_TeamConfig_01AS", + "abilityName": "Avatar_Dori_TeamConfig_01AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dori_ElementalBurst_Spine", + "abilityName": "Avatar_Dori_ElementalBurst_Spine", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dori_ElementalBurst_BS", + "abilityName": "Avatar_Dori_ElementalBurst_BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dori_ElementBurst", + "abilityName": "Avatar_Dori_ElementBurst", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dori_ElementalBurst_Hit", + "abilityName": "Avatar_Dori_ElementalBurst_Hit", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Dori_Spine_Loop", + "abilityName": "Avatar_Dori_Spine_Loop", + "abilityOverride": "" + } + ] +} \ No newline at end of file diff --git a/data/json/avatar/ConfigAvatar_Emilie.json b/data/json/avatar/ConfigAvatar_Emilie.json new file mode 100644 index 0000000..9a6d5f0 --- /dev/null +++ b/data/json/avatar/ConfigAvatar_Emilie.json @@ -0,0 +1,49 @@ +{ + "abilities": [ + { + "abilityID": "", + "abilityName": "Avatar_Emilie_ExtraAttack", + "abilityOverride": "" + }, + { + "abilityID": "", + "abilityName": "Avatar_Emilie_DropBall", + "abilityOverride": "" + }, + { + "abilityID": "", + "abilityName": "Avatar_Emilie_ArkheGrade", + "abilityOverride": "" + }, + { + "abilityID": "", + "abilityName": "Avatar_Emilie_ElementalArt", + "abilityOverride": "" + }, + { + "abilityID": "", + "abilityName": "Avatar_Emilie_ElementalBurst", + "abilityOverride": "" + }, + { + "abilityID": "", + "abilityName": "Avatar_Emilie_HideWeapon", + "abilityOverride": "" + }, + { + "abilityID": "", + "abilityName": "Avatar_Emilie_EmotionControl", + "abilityOverride": "" + }, + { + "abilityID": "", + "abilityName": "Avatar_Emilie_NormalAttack_DamageHandler", + "abilityOverride": "" + }, + { + "abilityID": "", + "abilityName": "Avatar_Emilie_FallingAnthem", + "abilityOverride": "" + } + ] +} diff --git a/data/json/avatar/ConfigAvatar_Eula.json b/data/json/avatar/ConfigAvatar_Eula.json new file mode 100644 index 0000000..1cbd3e9 --- /dev/null +++ b/data/json/avatar/ConfigAvatar_Eula.json @@ -0,0 +1,174 @@ +{ + "abilities": [ + { + "abilityID": "Avatar_Eula_ExtraAttack", + "abilityName": "Avatar_Eula_ExtraAttack", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Eula_ElementalArt_ExtraAttack_1", + "abilityName": "Avatar_Eula_ElementalArt_ExtraAttack_1", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Eula_ElementalArt_ExtraAttack_2", + "abilityName": "Avatar_Eula_ElementalArt_ExtraAttack_2", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Eula_ElementalArt", + "abilityName": "Avatar_Eula_ElementalArt", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Eula_ElementalArt_SetMark", + "abilityName": "Avatar_Eula_ElementalArt_SetMark", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Eula_ElementalArt_Click", + "abilityName": "Avatar_Eula_ElementalArt_Click", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Eula_ElementalArt_Burst", + "abilityName": "Avatar_Eula_ElementalArt_Burst", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Eula_ElementalBurst", + "abilityName": "Avatar_Eula_ElementalBurst", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Eula_ElementalBurst_PostEffect", + "abilityName": "Avatar_Eula_ElementalBurst_PostEffect", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Eula_ElementalBurst_ScreenEffect", + "abilityName": "Avatar_Eula_ElementalBurst_ScreenEffect", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Eula_ElementalBurst_Attack", + "abilityName": "Avatar_Eula_ElementalBurst_Attack", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Eula_ElementalBurst_Judgment", + "abilityName": "Avatar_Eula_ElementalBurst_Judgment", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Eula_NormalAttackDamage_Handler", + "abilityName": "Avatar_Eula_NormalAttackDamage_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Eula_FallingAnthem", + "abilityName": "Avatar_Eula_FallingAnthem", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Eula_Plot1", + "abilityName": "Avatar_Eula_Plot1", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Eula_Plot_NoHarm", + "abilityName": "Avatar_Eula_Plot_NoHarm", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Eula_Plot_Fail", + "abilityName": "Avatar_Eula_Plot_Fail", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Eula_Plot2", + "abilityName": "Avatar_Eula_Plot2", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Eula_Plot_Throw", + "abilityName": "Avatar_Eula_Plot_Throw", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Eula_Plot3", + "abilityName": "Avatar_Eula_Plot3", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Eula_Plot_Nofrozen", + "abilityName": "Avatar_Eula_Plot_Nofrozen", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Eula", + "abilityName": "Avatar_Eula", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Eula_plot", + "abilityName": "Avatar_Eula_plot", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Eula_ElementalArt_BS", + "abilityName": "Avatar_Eula_ElementalArt_BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Eula_ElementalArt_Click_AS", + "abilityName": "Avatar_Eula_ElementalArt_Click_AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Eula_ElementalArt_Charge", + "abilityName": "Avatar_Eula_ElementalArt_Charge", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Eula_TeamConfig_01BS", + "abilityName": "Avatar_Eula_TeamConfig_01BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Eula_TeamConfig_01Loop", + "abilityName": "Avatar_Eula_TeamConfig_01Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Eula_TeamConfig_01AS", + "abilityName": "Avatar_Eula_TeamConfig_01AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Eula_ElementalArt_Charge_AS", + "abilityName": "Avatar_Eula_ElementalArt_Charge_AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Eula_ElementalBurst_Spine", + "abilityName": "Avatar_Eula_ElementalBurst_Spine", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Eula_ElementalBurst_BS", + "abilityName": "Avatar_Eula_ElementalBurst_BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Eula_ElementalBurst_Hit", + "abilityName": "Avatar_Eula_ElementalBurst_Hit", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Eula_Spine_Loop", + "abilityName": "Avatar_Eula_Spine_Loop", + "abilityOverride": "" + } + ] +} \ No newline at end of file diff --git a/data/json/avatar/ConfigAvatar_Faruzan.json b/data/json/avatar/ConfigAvatar_Faruzan.json new file mode 100644 index 0000000..5d9128c --- /dev/null +++ b/data/json/avatar/ConfigAvatar_Faruzan.json @@ -0,0 +1,264 @@ +{ + "abilities": [ + { + "abilityID": "Avatar_Faruzan_PressShoot", + "abilityName": "Avatar_Faruzan_PressShoot", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Faruzan_AimPressShoot", + "abilityName": "Avatar_Faruzan_AimPressShoot", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Faruzan_ShootAimingArrow_Charge", + "abilityName": "Avatar_Faruzan_ShootAimingArrow_Charge", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Faruzan_ShootArrow_ResetGlobalValue", + "abilityName": "Avatar_Faruzan_ShootArrow_ResetGlobalValue", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Faruzan_Arrow_FX", + "abilityName": "Avatar_Faruzan_Arrow_FX", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Faruzan_ShootArrow_Aiming", + "abilityName": "Avatar_Faruzan_ShootArrow_Aiming", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Faruzan_ShootArrow_01", + "abilityName": "Avatar_Faruzan_ShootArrow_01", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Faruzan_ShootArrow_02", + "abilityName": "Avatar_Faruzan_ShootArrow_02", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Faruzan_ShootArrow_03", + "abilityName": "Avatar_Faruzan_ShootArrow_03", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Faruzan_ShootArrow_04", + "abilityName": "Avatar_Faruzan_ShootArrow_04", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Faruzan_ShootArrow_05", + "abilityName": "Avatar_Faruzan_ShootArrow_05", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Faruzan_ShootArrow_06", + "abilityName": "Avatar_Faruzan_ShootArrow_06", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Faruzan_ShootArrow_Enchanted_Wind", + "abilityName": "Avatar_Faruzan_ShootArrow_Enchanted_Wind", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Faruzan_ShootArrow_Enchanted_WithoutWind", + "abilityName": "Avatar_Faruzan_ShootArrow_Enchanted_WithoutWind", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Faruzan_FallingAnthem", + "abilityName": "Avatar_Faruzan_FallingAnthem", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Faruzan_Elemental_Art", + "abilityName": "Avatar_Faruzan_Elemental_Art", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Faruzan_Wind_Arashi", + "abilityName": "Avatar_Faruzan_Wind_Arashi", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Faruzan_Wind_Arashi_Bullet", + "abilityName": "Avatar_Faruzan_Wind_Arashi_Bullet", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Faruzan_Bullet_Landed_WindBlackHole", + "abilityName": "Avatar_Faruzan_Bullet_Landed_WindBlackHole", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Faruzan_WindZone_Avatar", + "abilityName": "Avatar_Faruzan_WindZone_Avatar", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Faruzan_WindZone_Monster", + "abilityName": "Avatar_Faruzan_WindZone_Monster", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Faruzan_WindZone_Monster_Constellation6", + "abilityName": "Avatar_Faruzan_WindZone_Monster_Constellation6", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Faruzan_WindBlackHole_Gadget", + "abilityName": "Avatar_Faruzan_WindBlackHole_Gadget", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Faruzan_Elemental_Burst_BS", + "abilityName": "Avatar_Faruzan_Elemental_Burst_BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Faruzan_ElementalBurst_GadgetLifeController", + "abilityName": "Avatar_Faruzan_ElementalBurst_GadgetLifeController", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Faruzan_Elemental_Burst", + "abilityName": "Avatar_Faruzan_Elemental_Burst", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Faruzan_PermanentSkill2_WindDamageExtraUp", + "abilityName": "Avatar_Faruzan_PermanentSkill2_WindDamageExtraUp", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Faruzan_ElementalBurst_WindDamageValueUp_ApplyRange", + "abilityName": "Avatar_Faruzan_ElementalBurst_WindDamageValueUp_ApplyRange", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Faruzan_ElementalBurst_WindAddHurtUp", + "abilityName": "Avatar_Faruzan_ElementalBurst_WindAddHurtUp", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Faruzan_ElementalBurst_WindAddHurtUp_EffOnAdd_Handler9UNIQUE_Avatar_Faruzan_ElementalBurst_GadgetLifeController", + "abilityName": "Avatar_Faruzan_ElementalBurst_WindAddHurtUp_EffOnAdd_Handler9UNIQUE_Avatar_Faruzan_ElementalBurst_GadgetLifeController", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Faruzan_ElementalBurst_WindAddHurtUp_LoopEff", + "abilityName": "Avatar_Faruzan_ElementalBurst_WindAddHurtUp_LoopEff", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Faruzan_ElementalBurst_WindDamageValueUp_Handler", + "abilityName": "Avatar_Faruzan_ElementalBurst_WindDamageValueUp_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Faruzan_ElementalBurst_WindCriticalHurtUp", + "abilityName": "Avatar_Faruzan_ElementalBurst_WindCriticalHurtUp", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Faruzan_ElementalBurst_AutoHurricaneArrow", + "abilityName": "Avatar_Faruzan_ElementalBurst_AutoHurricaneArrow", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Faruzan_ElementalBurst_WindDamageValueUp", + "abilityName": "Avatar_Faruzan_ElementalBurst_WindDamageValueUp", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Faruzan_ElementalBurst_WindDamageValueUp_CD9UNIQUE_Avatar_Faruzan_ElementalBurst_WindDamageValueUp_CD", + "abilityName": "Avatar_Faruzan_ElementalBurst_WindDamageValueUp_CD9UNIQUE_Avatar_Faruzan_ElementalBurst_WindDamageValueUp_CD", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Faruzan_ElementalBurst_AutoHurricaneArrow_CD", + "abilityName": "Avatar_Faruzan_ElementalBurst_AutoHurricaneArrow_CD", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Faruzan_ElementalBurst_WindAddHurtUp_EffOnAdd_Handler", + "abilityName": "Avatar_Faruzan_ElementalBurst_WindAddHurtUp_EffOnAdd_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Faruzan_ElementalBurst_WindAddHurtUp_EffOnAdd", + "abilityName": "Avatar_Faruzan_ElementalBurst_WindAddHurtUp_EffOnAdd", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Faruzan_Constellation4_ReviveEnergy", + "abilityName": "Avatar_Faruzan_Constellation4_ReviveEnergy", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Faruzan_Constellation6_AutoHurricaneArrow_BulletTrigger", + "abilityName": "Avatar_Faruzan_Constellation6_AutoHurricaneArrow_BulletTrigger", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Faruzan", + "abilityName": "Avatar_Faruzan", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Faruzan_Skill_ElementalArt", + "abilityName": "Avatar_Faruzan_Skill_ElementalArt", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Faruzan_Skill_ElementalArt_AS", + "abilityName": "Avatar_Faruzan_Skill_ElementalArt_AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Faruzan_Skill_ElementalBurst", + "abilityName": "Avatar_Faruzan_Skill_ElementalBurst", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Faruzan_TeamConfig_01BS", + "abilityName": "Avatar_Faruzan_TeamConfig_01BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Faruzan_TeamConfig_01Loop", + "abilityName": "Avatar_Faruzan_TeamConfig_01Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Faruzan_TeamConfig_01AS", + "abilityName": "Avatar_Faruzan_TeamConfig_01AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Faruzan_PermanentSkill2_WindDamageExtraUp0Avatar_Faruzan_PermanentSkill2_WindDamageExtraUp", + "abilityName": "Avatar_Faruzan_PermanentSkill2_WindDamageExtraUp0Avatar_Faruzan_PermanentSkill2_WindDamageExtraUp", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Faruzan_Skill_ElementalBurst_AS", + "abilityName": "Avatar_Faruzan_Skill_ElementalBurst_AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Faruzan_ElementalBurst_WindDamageValueUp_Remove", + "abilityName": "Avatar_Faruzan_ElementalBurst_WindDamageValueUp_Remove", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Faruzan_ElementalBurst_WindDamageValueUp_CD", + "abilityName": "Avatar_Faruzan_ElementalBurst_WindDamageValueUp_CD", + "abilityOverride": "" + } + ] +} \ No newline at end of file diff --git a/data/json/avatar/ConfigAvatar_Feiyan.json b/data/json/avatar/ConfigAvatar_Feiyan.json new file mode 100644 index 0000000..cd31d17 --- /dev/null +++ b/data/json/avatar/ConfigAvatar_Feiyan.json @@ -0,0 +1,154 @@ +{ + "abilities": [ + { + "abilityID": "Avatar_Feiyan_Attack01", + "abilityName": "Avatar_Feiyan_Attack01", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Feiyan_Attack02", + "abilityName": "Avatar_Feiyan_Attack02", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Feiyan_Attack03", + "abilityName": "Avatar_Feiyan_Attack03", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_FeiyanGadgetSkill_NormalAttackDamage01", + "abilityName": "Avatar_FeiyanGadgetSkill_NormalAttackDamage01", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_FeiyanGadgetSkill_NormalAttackDamage02", + "abilityName": "Avatar_FeiyanGadgetSkill_NormalAttackDamage02", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_FeiyanGadgetSkill_NormalAttackDamage03", + "abilityName": "Avatar_FeiyanGadgetSkill_NormalAttackDamage03", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_FeiyanGadgetSkill_Effect_Normal", + "abilityName": "Avatar_FeiyanGadgetSkill_Effect_Normal", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_FeiyanGadgetSkill_Effect_Last", + "abilityName": "Avatar_FeiyanGadgetSkill_Effect_Last", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Feiyan_ExtraAttack", + "abilityName": "Avatar_Feiyan_ExtraAttack", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Feiyan_ExtraAttack_Charge", + "abilityName": "Avatar_Feiyan_ExtraAttack_Charge", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Feiyan_ExtraAttack_DoAttack", + "abilityName": "Avatar_Feiyan_ExtraAttack_DoAttack", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_FeiyanGadgetSkill_ExtraAttack_Damage", + "abilityName": "Avatar_FeiyanGadgetSkill_ExtraAttack_Damage", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Feiyan_ExtraAttack_Weight_Clear", + "abilityName": "Avatar_Feiyan_ExtraAttack_Weight_Clear", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Feiyan_ExtraAttack_Weight_Handler", + "abilityName": "Avatar_Feiyan_ExtraAttack_Weight_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Feiyan_ExtraAttack_Weight_Timer", + "abilityName": "Avatar_Feiyan_ExtraAttack_Weight_Timer", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_FeiyanGadgetSkill_Weight_Count", + "abilityName": "Avatar_FeiyanGadgetSkill_Weight_Count", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Feiyan_ElementalArt_BS", + "abilityName": "Avatar_Feiyan_ElementalArt_BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Feiyan_ElementalArt", + "abilityName": "Avatar_Feiyan_ElementalArt", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Feiyan_ElementalBurst_BS", + "abilityName": "Avatar_Feiyan_ElementalBurst_BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Feiyan_ElementalBurst", + "abilityName": "Avatar_Feiyan_ElementalBurst", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Feiyan_FallingAnthem", + "abilityName": "Avatar_Feiyan_FallingAnthem", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Feiyan_Attack04", + "abilityName": "Avatar_Feiyan_Attack04", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Feiyan_Radar_Collectables_Liyue", + "abilityName": "Avatar_Feiyan_Radar_Collectables_Liyue", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Feiyan", + "abilityName": "Avatar_Feiyan", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Feiyan_TeamConfig_01BS", + "abilityName": "Avatar_Feiyan_TeamConfig_01BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Feiyan_TeamConfig_01Loop", + "abilityName": "Avatar_Feiyan_TeamConfig_01Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Feiyan_TeamConfig_01AS", + "abilityName": "Avatar_Feiyan_TeamConfig_01AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Feiyan_ElementalBurst_Spine", + "abilityName": "Avatar_Feiyan_ElementalBurst_Spine", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Feiyan_ElementalBurst_Hit", + "abilityName": "Avatar_Feiyan_ElementalBurst_Hit", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Feiyan_Spine_Loop", + "abilityName": "Avatar_Feiyan_Spine_Loop", + "abilityOverride": "" + } + ] +} \ No newline at end of file diff --git a/data/json/avatar/ConfigAvatar_Fischl.json b/data/json/avatar/ConfigAvatar_Fischl.json new file mode 100644 index 0000000..d506bad --- /dev/null +++ b/data/json/avatar/ConfigAvatar_Fischl.json @@ -0,0 +1,259 @@ +{ + "abilities": [ + { + "abilityID": "Avatar_Fischl_PressShoot", + "abilityName": "Avatar_Fischl_PressShoot", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Fischl_AimPressShoot", + "abilityName": "Avatar_Fischl_AimPressShoot", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Fischl_ShootAimingArrow_FX", + "abilityName": "Avatar_Fischl_ShootAimingArrow_FX", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Fischl_ShootAimingArrow_Charge", + "abilityName": "Avatar_Fischl_ShootAimingArrow_Charge", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Fischl_ShootArrow_Aiming", + "abilityName": "Avatar_Fischl_ShootArrow_Aiming", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Fischl_ExtraAttack_Element_Hit", + "abilityName": "Avatar_Fischl_ExtraAttack_Element_Hit", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Fischl_ProudSkill_21_ExteaAttackThunder", + "abilityName": "Avatar_Fischl_ProudSkill_21_ExteaAttackThunder", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Fischl_ExtraAttack_Element_FindCrow", + "abilityName": "Avatar_Fischl_ExtraAttack_Element_FindCrow", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Fischl_ExtraAttack_Element_BulletFx", + "abilityName": "Avatar_Fischl_ExtraAttack_Element_BulletFx", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Fischl_ExtraAttack_WithoutElement_Hit", + "abilityName": "Avatar_Fischl_ExtraAttack_WithoutElement_Hit", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Fischl_ExtraAttack_WithoutElement_BulletFx", + "abilityName": "Avatar_Fischl_ExtraAttack_WithoutElement_BulletFx", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Fischl_ShootArrow_01", + "abilityName": "Avatar_Fischl_ShootArrow_01", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Fischl_ShootArrow_02", + "abilityName": "Avatar_Fischl_ShootArrow_02", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Fischl_ShootArrow_03", + "abilityName": "Avatar_Fischl_ShootArrow_03", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Fischl_ShootArrow_04", + "abilityName": "Avatar_Fischl_ShootArrow_04", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Fischl_ShootArrow_05", + "abilityName": "Avatar_Fischl_ShootArrow_05", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Fischl_NormalAttack_Smoke", + "abilityName": "Avatar_Fischl_NormalAttack_Smoke", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Fischl_CrowSummon_Init", + "abilityName": "Avatar_Fischl_CrowSummon_Init", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Fischl_CrowSummon_InitJ", + "abilityName": "Avatar_Fischl_CrowSummon_InitJ", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Fischl_Crow_BeAttackedTrigger_Init", + "abilityName": "Avatar_Fischl_Crow_BeAttackedTrigger_Init", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Fischl_ElectricalCrow_Crow_Attack", + "abilityName": "Avatar_Fischl_ElectricalCrow_Crow_Attack", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Fischl_ProudSkill_22", + "abilityName": "Avatar_Fischl_ProudSkill_22", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Fischl_ProudSkill_ExteaAttackThunderh", + "abilityName": "Avatar_Fischl_ProudSkill_ExteaAttackThunderh", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Fischl_ProudSkill_ExteaAttackThunder", + "abilityName": "Avatar_Fischl_ProudSkill_ExteaAttackThunder", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Fischl_Skill_S_Crow_Handle", + "abilityName": "Avatar_Fischl_Skill_S_Crow_Handle", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Fischl_ProudSkill_ElementReactionAttackThunder", + "abilityName": "Avatar_Fischl_ProudSkill_ElementReactionAttackThunder", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Fischl_ProudSkill_ElementReaction", + "abilityName": "Avatar_Fischl_ProudSkill_ElementReaction", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Fischl_ProudSkill_21_ExteaAttackThunder7", + "abilityName": "Avatar_Fischl_ProudSkill_21_ExteaAttackThunder7", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Fischl_Skill_S_Crow_AutoAttack_Hit_01", + "abilityName": "Avatar_Fischl_Skill_S_Crow_AutoAttack_Hit_01", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Fischl_Skill_E_CrowQueen_ScreenEffect333", + "abilityName": "Avatar_Fischl_Skill_E_CrowQueen_ScreenEffect333", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Fischl_FallingAnthem", + "abilityName": "Avatar_Fischl_FallingAnthem", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Fischl", + "abilityName": "Avatar_Fischl", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Fischl_ExtraAttack_WithoutElement_Hit1Avatar_Fischl_ExtraAttack_WithoutElement_BulletFx", + "abilityName": "Avatar_Fischl_ExtraAttack_WithoutElement_Hit1Avatar_Fischl_ExtraAttack_WithoutElement_BulletFx", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Fischl_TeamConfig_01BS", + "abilityName": "Avatar_Fischl_TeamConfig_01BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Fischl_TeamConfig_01Loop", + "abilityName": "Avatar_Fischl_TeamConfig_01Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Fischl_TeamConfig_01AS", + "abilityName": "Avatar_Fischl_TeamConfig_01AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Fischl_ExtraAttack_WithoutElement_BulletFx1Avatar_Fischl_ExtraAttack_WithoutElement_BulletFx", + "abilityName": "Avatar_Fischl_ExtraAttack_WithoutElement_BulletFx1Avatar_Fischl_ExtraAttack_WithoutElement_BulletFx", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Fischl_ProudSkill_ElementReactionAttackThunder5Avatar_Fischl_ProudSkill_ElementReactionAttackThunder", + "abilityName": "Avatar_Fischl_ProudSkill_ElementReactionAttackThunder5Avatar_Fischl_ProudSkill_ElementReactionAttackThunder", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Fischl_ElementalBurst_Spine", + "abilityName": "Avatar_Fischl_ElementalBurst_Spine", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Fischl_ElementalBurst", + "abilityName": "Avatar_Fischl_ElementalBurst", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Fischl_ElementBurst", + "abilityName": "Avatar_Fischl_ElementBurst", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Fischl_ElementalBurst_BS", + "abilityName": "Avatar_Fischl_ElementalBurst_BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Fischl_ElementalBurst_Hit", + "abilityName": "Avatar_Fischl_ElementalBurst_Hit", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Fischl_ElementalBurst_Buff_Hit", + "abilityName": "Avatar_Fischl_ElementalBurst_Buff_Hit", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Fischl_elementalBurst_BS_Normal", + "abilityName": "Avatar_Fischl_elementalBurst_BS_Normal", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Fischl_ElementalBurst_Buff", + "abilityName": "Avatar_Fischl_ElementalBurst_Buff", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Fischl_Spine_Loop", + "abilityName": "Avatar_Fischl_Spine_Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Fischl_Skill_E_CrowQueen_ScreenEffect", + "abilityName": "Avatar_Fischl_Skill_E_CrowQueen_ScreenEffect", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Fischl_ProudSkill_ElementReactionAttackThunder9AS_Fischl_ProudSkill_22_ElementReactionAttack_AttackRatio", + "abilityName": "Avatar_Fischl_ProudSkill_ElementReactionAttackThunder9AS_Fischl_ProudSkill_22_ElementReactionAttack_AttackRatio", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Fischl_ExtraAttack_WithoutElement_HitDFischl_ProudSkill_31_P6_ExtraAttack_WithoutElement_Damage_Percentage", + "abilityName": "Avatar_Fischl_ExtraAttack_WithoutElement_HitDFischl_ProudSkill_31_P6_ExtraAttack_WithoutElement_Damage_Percentage", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Fischl_ExtraAttack_Element_Hit6Fischl_ProudSkill_31_P7_ChargeElementDamage_Percentage", + "abilityName": "Avatar_Fischl_ExtraAttack_Element_Hit6Fischl_ProudSkill_31_P7_ChargeElementDamage_Percentage", + "abilityOverride": "" + } + ] +} \ No newline at end of file diff --git a/data/json/avatar/ConfigAvatar_Freminet.json b/data/json/avatar/ConfigAvatar_Freminet.json new file mode 100644 index 0000000..614fef9 --- /dev/null +++ b/data/json/avatar/ConfigAvatar_Freminet.json @@ -0,0 +1,154 @@ +{ + "abilities": [ + { + "abilityID": "Avatar_Freminet_ExtraAttack", + "abilityName": "Avatar_Freminet_ExtraAttack", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Freminet_DropBall", + "abilityName": "Avatar_Freminet_DropBall", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Freminet_Attack04_Hide", + "abilityName": "Avatar_Freminet_Attack04_Hide", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Freminet_Attack04_HideEff", + "abilityName": "Avatar_Freminet_Attack04_HideEff", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Freminet_ElementalArt", + "abilityName": "Avatar_Freminet_ElementalArt", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Freminet_SkillBuff", + "abilityName": "Avatar_Freminet_SkillBuff", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Freminet_Attack01_Ice", + "abilityName": "Avatar_Freminet_Attack01_Ice", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Freminet_Attack02_IceB", + "abilityName": "Avatar_Freminet_Attack02_IceB", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Freminet_Attack03_IceJ", + "abilityName": "Avatar_Freminet_Attack03_IceJ", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Freminet_Attack04_Ice", + "abilityName": "Avatar_Freminet_Attack04_Ice", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Freminet_SkillBuff_EffEnd", + "abilityName": "Avatar_Freminet_SkillBuff_EffEnd", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Freminet_Attack02_Ice", + "abilityName": "Avatar_Freminet_Attack02_Ice", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Freminet_Attack03_Ice", + "abilityName": "Avatar_Freminet_Attack03_Ice", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Freminet_ElementalArt_Strike", + "abilityName": "Avatar_Freminet_ElementalArt_Strike", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Freminet_ArkheGrade", + "abilityName": "Avatar_Freminet_ArkheGrade", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Freminet_ArkheGrade_CD", + "abilityName": "Avatar_Freminet_ArkheGrade_CD", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Freminet_ElementalArt_2", + "abilityName": "Avatar_Freminet_ElementalArt_2", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Freminet_ElementalArt_3", + "abilityName": "Avatar_Freminet_ElementalArt_3", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Freminet_ElementalBurst_Strike", + "abilityName": "Avatar_Freminet_ElementalBurst_Strike", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Freminet_ElementalBurst", + "abilityName": "Avatar_Freminet_ElementalBurst", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Freminet_Utral_Buff", + "abilityName": "Avatar_Freminet_Utral_Buff", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Freminet_FallingAnthem", + "abilityName": "Avatar_Freminet_FallingAnthem", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Freminet_DamageHandler", + "abilityName": "Avatar_Freminet_DamageHandler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Freminet_PermanentSkill_2", + "abilityName": "Avatar_Freminet_PermanentSkill_2", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Freminet_Constellation_6", + "abilityName": "Avatar_Freminet_Constellation_6", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Freminet_DivingStamina_Reduction", + "abilityName": "Avatar_Freminet_DivingStamina_Reduction", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Freminet", + "abilityName": "Avatar_Freminet", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Freminet_TeamConfig_01BS", + "abilityName": "Avatar_Freminet_TeamConfig_01BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Freminet_TeamConfig_01Loop", + "abilityName": "Avatar_Freminet_TeamConfig_01Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Freminet_TeamConfig_01AS", + "abilityName": "Avatar_Freminet_TeamConfig_01AS", + "abilityOverride": "" + } + ] +} \ No newline at end of file diff --git a/data/json/avatar/ConfigAvatar_Furina.json b/data/json/avatar/ConfigAvatar_Furina.json new file mode 100644 index 0000000..b26f15b --- /dev/null +++ b/data/json/avatar/ConfigAvatar_Furina.json @@ -0,0 +1,144 @@ +{ + "abilities": [ + { + "abilityID": "Avatar_Furina_ExtraAttack", + "abilityName": "Avatar_Furina_ExtraAttack", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Furina_Attack04_CreateBullet", + "abilityName": "Avatar_Furina_Attack04_CreateBullet", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Furina_Attack04_WaterEnhanced_CreateBullet", + "abilityName": "Avatar_Furina_Attack04_WaterEnhanced_CreateBullet", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Furina_ArkheGrade_Handler", + "abilityName": "Avatar_Furina_ArkheGrade_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Furina_DamageHandler", + "abilityName": "Avatar_Furina_DamageHandler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Furina_ElementalArt", + "abilityName": "Avatar_Furina_ElementalArt", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Furina_ElementalBurst", + "abilityName": "Avatar_Furina_ElementalBurst", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Furina_ElementalBurst_Invincible", + "abilityName": "Avatar_Furina_ElementalBurst_Invincible", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Furina_ElementalBurst_BuffStart", + "abilityName": "Avatar_Furina_ElementalBurst_BuffStart", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Furina_ElementalBurst_Camera", + "abilityName": "Avatar_Furina_ElementalBurst_Camera", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Furina_ElementalBurst_EmotionControl", + "abilityName": "Avatar_Furina_ElementalBurst_EmotionControl", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Furina_ElementalBurst_FogM", + "abilityName": "Avatar_Furina_ElementalBurst_FogM", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Furina_ElementalBurst_FairyStage_ShadeM", + "abilityName": "Avatar_Furina_ElementalBurst_FairyStage_ShadeM", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Furina_ElementalBurst_FairyStageM", + "abilityName": "Avatar_Furina_ElementalBurst_FairyStageM", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Furina_ElementalBurst_FairyStage_3rdView", + "abilityName": "Avatar_Furina_ElementalBurst_FairyStage_3rdView", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Furina_ElementalBurst_FairyStage", + "abilityName": "Avatar_Furina_ElementalBurst_FairyStage", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Furina_ElementalBurst_FairyStage_Shade", + "abilityName": "Avatar_Furina_ElementalBurst_FairyStage_Shade", + "abilityOverride": "" + }, + { + "abilityID": "AvatarChangeHP_MinCount3_ABILITY_Furina_ElementalBurst_AvatarChangeHP_Count", + "abilityName": "AvatarChangeHP_MinCount3_ABILITY_Furina_ElementalBurst_AvatarChangeHP_Count", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Furina_ElementalBurst_Fog", + "abilityName": "Avatar_Furina_ElementalBurst_Fog", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Furina_PermanentSkill_1", + "abilityName": "Avatar_Furina_PermanentSkill_1", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Furina_PermanentSkill_2", + "abilityName": "Avatar_Furina_PermanentSkill_2", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Furina_FallingAnthem", + "abilityName": "Avatar_Furina_FallingAnthem", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Furina_MoveOnWater_FootRipple_Left", + "abilityName": "Avatar_Furina_MoveOnWater_FootRipple_Left", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Furina_MoveOnWater_FootRipple_Right", + "abilityName": "Avatar_Furina_MoveOnWater_FootRipple_Right", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Furina_PermanentSkill_3", + "abilityName": "Avatar_Furina_PermanentSkill_3", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Furina", + "abilityName": "Avatar_Furina", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Furina_Attack04_CreateBullet1Avatar_Furina_Attack04_WaterEnhanced_CreateBullet", + "abilityName": "Avatar_Furina_Attack04_CreateBullet1Avatar_Furina_Attack04_WaterEnhanced_CreateBullet", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Furina_Attack04_WaterEnhanced_CreateBullet1Avatar_Furina_Attack04_WaterEnhanced_CreateBullet", + "abilityName": "Avatar_Furina_Attack04_WaterEnhanced_CreateBullet1Avatar_Furina_Attack04_WaterEnhanced_CreateBullet", + "abilityOverride": "" + } + ] +} \ No newline at end of file diff --git a/data/json/avatar/ConfigAvatar_Gaming.json b/data/json/avatar/ConfigAvatar_Gaming.json new file mode 100644 index 0000000..b04a442 --- /dev/null +++ b/data/json/avatar/ConfigAvatar_Gaming.json @@ -0,0 +1,109 @@ +{ + "abilities": [ + { + "abilityID": "Avatar_Gaming_ExtraAttack", + "abilityName": "Avatar_Gaming_ExtraAttack", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Gaming_LionHead", + "abilityName": "Avatar_Gaming_LionHead", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Gaming_LionPet", + "abilityName": "Avatar_Gaming_LionPet", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Gaming_OutFit", + "abilityName": "Avatar_Gaming_OutFit", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Gaming_ElementalArt", + "abilityName": "Avatar_Gaming_ElementalArt", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Gaming_ElementalArt_Jump", + "abilityName": "Avatar_Gaming_ElementalArt_Jump", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Gaming_ElementalBurst_Cast", + "abilityName": "Avatar_Gaming_ElementalBurst_Cast", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Gaming_ElementalBurst_HasTarget", + "abilityName": "Avatar_Gaming_ElementalBurst_HasTarget", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Gaming_ElementalBurst_NoTarget", + "abilityName": "Avatar_Gaming_ElementalBurst_NoTarget", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Gaming_ElementalBurst_Handler", + "abilityName": "Avatar_Gaming_ElementalBurst_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Gaming_ElementalBurst_HandlerD", + "abilityName": "Avatar_Gaming_ElementalBurst_HandlerD", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Gaming_ElementalBurst_Bullet_01", + "abilityName": "Avatar_Gaming_ElementalBurst_Bullet_01", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Gaming_ElementalArti", + "abilityName": "Avatar_Gaming_ElementalArti", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Gaming_ElementalBurst_Bullet_02", + "abilityName": "Avatar_Gaming_ElementalBurst_Bullet_02", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Gaming_ElementalArtM", + "abilityName": "Avatar_Gaming_ElementalArtM", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Gaming_ElementalBurst_Bullet_03", + "abilityName": "Avatar_Gaming_ElementalBurst_Bullet_03", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Gaming_PermanentSkill_2", + "abilityName": "Avatar_Gaming_PermanentSkill_2", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Gaming_PermanentSkill_3", + "abilityName": "Avatar_Gaming_PermanentSkill_3", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Gaming_NormalAttack_Damage_Handler", + "abilityName": "Avatar_Gaming_NormalAttack_Damage_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Gaming_FallingAnthem", + "abilityName": "Avatar_Gaming_FallingAnthem", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Gaming", + "abilityName": "Avatar_Gaming", + "abilityOverride": "" + } + ] +} \ No newline at end of file diff --git a/data/json/avatar/ConfigAvatar_Ganyu.json b/data/json/avatar/ConfigAvatar_Ganyu.json new file mode 100644 index 0000000..e2a283e --- /dev/null +++ b/data/json/avatar/ConfigAvatar_Ganyu.json @@ -0,0 +1,189 @@ +{ + "abilities": [ + { + "abilityID": "Avatar_Ganyu_PressShoot", + "abilityName": "Avatar_Ganyu_PressShoot", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ganyu_AimPressShoot", + "abilityName": "Avatar_Ganyu_AimPressShoot", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ganyu_Arrow_FX", + "abilityName": "Avatar_Ganyu_Arrow_FX", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ganyu_ShootAimingArrow_Charge", + "abilityName": "Avatar_Ganyu_ShootAimingArrow_Charge", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ganyu_ShootArrow_01", + "abilityName": "Avatar_Ganyu_ShootArrow_01", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ganyu_ShootArrow_02", + "abilityName": "Avatar_Ganyu_ShootArrow_02", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ganyu_ShootArrow_03", + "abilityName": "Avatar_Ganyu_ShootArrow_03", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ganyu_ShootArrow_04", + "abilityName": "Avatar_Ganyu_ShootArrow_04", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ganyu_ShootArrow_05", + "abilityName": "Avatar_Ganyu_ShootArrow_05", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ganyu_ShootArrow_06", + "abilityName": "Avatar_Ganyu_ShootArrow_06", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ganyu_ShootArrow_Aiming", + "abilityName": "Avatar_Ganyu_ShootArrow_Aiming", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ganyu_ShootArrow_Enchanted_WithoutIce", + "abilityName": "Avatar_Ganyu_ShootArrow_Enchanted_WithoutIce", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ganyu_Fission_GainEnergy", + "abilityName": "Avatar_Ganyu_Fission_GainEnergy", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ganyu_EnchantedFission", + "abilityName": "Avatar_Ganyu_EnchantedFission", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ganyu_IceBreaker_PrePosCheck", + "abilityName": "Avatar_Ganyu_IceBreaker_PrePosCheck", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ganyu_IceBreaker_PosCheck", + "abilityName": "Avatar_Ganyu_IceBreaker_PosCheck", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ganyu_IceBreaker", + "abilityName": "Avatar_Ganyu_IceBreaker", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ganyu_UnbreakableIce", + "abilityName": "Avatar_Ganyu_UnbreakableIce", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ganyu_FallingAnthem", + "abilityName": "Avatar_Ganyu_FallingAnthem", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ganyu", + "abilityName": "Avatar_Ganyu", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ganyu_TeamConfig_01BS", + "abilityName": "Avatar_Ganyu_TeamConfig_01BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ganyu_TeamConfig_01Loop", + "abilityName": "Avatar_Ganyu_TeamConfig_01Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ganyu_TeamConfig_01AS", + "abilityName": "Avatar_Ganyu_TeamConfig_01AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ganyu_ElementalBurst_Spine", + "abilityName": "Avatar_Ganyu_ElementalBurst_Spine", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ganyu_ElementalBurst", + "abilityName": "Avatar_Ganyu_ElementalBurst", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ganyu_ElementalBurst_Areahit", + "abilityName": "Avatar_Ganyu_ElementalBurst_Areahit", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ganyu_elementalBurst_Areahit_Golden", + "abilityName": "Avatar_Ganyu_elementalBurst_Areahit_Golden", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ganyu_ElementalBurst_Hit", + "abilityName": "Avatar_Ganyu_ElementalBurst_Hit", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ganyu_ElementalArt_Special_BS", + "abilityName": "Avatar_Ganyu_ElementalArt_Special_BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ganyu_ElementalArt_Special_Bullet", + "abilityName": "Avatar_Ganyu_ElementalArt_Special_Bullet", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ganyu_ElementalArt_Special_Hit", + "abilityName": "Avatar_Ganyu_ElementalArt_Special_Hit", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ganyu_ElementalArt_Special_Bullet_Fission", + "abilityName": "Avatar_Ganyu_ElementalArt_Special_Bullet_Fission", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ganyu_ElementalArt_Special_Hit_Fission", + "abilityName": "Avatar_Ganyu_ElementalArt_Special_Hit_Fission", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ganyu_ElementalBurst_NoSpine", + "abilityName": "Avatar_Ganyu_ElementalBurst_NoSpine", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ganyu_elementalBurst_Areahit", + "abilityName": "Avatar_Ganyu_elementalBurst_Areahit", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ganyu_Spine_Loop", + "abilityName": "Avatar_Ganyu_Spine_Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ganyu_Spine", + "abilityName": "Avatar_Ganyu_Spine", + "abilityOverride": "" + } + ] +} \ No newline at end of file diff --git a/data/json/avatar/ConfigAvatar_Gorou.json b/data/json/avatar/ConfigAvatar_Gorou.json new file mode 100644 index 0000000..507414e --- /dev/null +++ b/data/json/avatar/ConfigAvatar_Gorou.json @@ -0,0 +1,234 @@ +{ + "abilities": [ + { + "abilityID": "Avatar_Gorou_Arrow_FX", + "abilityName": "Avatar_Gorou_Arrow_FX", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Gorou_PressShoot", + "abilityName": "Avatar_Gorou_PressShoot", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Gorou_AimPressShoot", + "abilityName": "Avatar_Gorou_AimPressShoot", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Gorou_ShootAimingArrow_Charge", + "abilityName": "Avatar_Gorou_ShootAimingArrow_Charge", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Gorou_ShootArrow_Aiming", + "abilityName": "Avatar_Gorou_ShootArrow_Aiming", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Gorou_ShootArrow_01", + "abilityName": "Avatar_Gorou_ShootArrow_01", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Gorou_ShootArrow_02", + "abilityName": "Avatar_Gorou_ShootArrow_02", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Gorou_ShootArrow_03", + "abilityName": "Avatar_Gorou_ShootArrow_03", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Gorou_ShootArrow_04", + "abilityName": "Avatar_Gorou_ShootArrow_04", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Gorou_ShootArrow_05", + "abilityName": "Avatar_Gorou_ShootArrow_05", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Gorou_ShootArrow_Damage", + "abilityName": "Avatar_Gorou_ShootArrow_Damage", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Gorou_ElementalArt_SkillHoldCharge", + "abilityName": "Avatar_Gorou_ElementalArt_SkillHoldCharge", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Gorou_ElementalArt_Layer", + "abilityName": "Avatar_Gorou_ElementalArt_Layer", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Layer3_Avatars4UNIQUE_Gorou_Constellation_RockAvatar_Layer1_Avatars", + "abilityName": "Avatar_Layer3_Avatars4UNIQUE_Gorou_Constellation_RockAvatar_Layer1_Avatars", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Gorou_ElementalArt", + "abilityName": "Avatar_Gorou_ElementalArt", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Gorou_ElementalArt_Layer1_Modifier", + "abilityName": "Avatar_Gorou_ElementalArt_Layer1_Modifier", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Gorou_ElementalArt_Layer2_Modifier", + "abilityName": "Avatar_Gorou_ElementalArt_Layer2_Modifier", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Gorou_ElementalArt_Layer3_Modifier", + "abilityName": "Avatar_Gorou_ElementalArt_Layer3_Modifier", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Gorou_ElementalArt_Layer_Controller", + "abilityName": "Avatar_Gorou_ElementalArt_Layer_Controller", + "abilityOverride": "" + }, + { + "abilityID": "Avatar1UNIQUE_Avatar_Gorou_ElementalArt_Layer_Controller", + "abilityName": "Avatar1UNIQUE_Avatar_Gorou_ElementalArt_Layer_Controller", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Gorou_ElementalArt_Layer1", + "abilityName": "Avatar_Gorou_ElementalArt_Layer1", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Gorou_ElementalArt_Layer2", + "abilityName": "Avatar_Gorou_ElementalArt_Layer2", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Gorou_ElementalArt_Layer3", + "abilityName": "Avatar_Gorou_ElementalArt_Layer3", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Gorou_ElementalBurst_PutAwayGadget", + "abilityName": "Avatar_Gorou_ElementalBurst_PutAwayGadget", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Gorou_ElementalBurst_KillGadget", + "abilityName": "Avatar_Gorou_ElementalBurst_KillGadget", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Gorou_ElementalBurst_KillSelf", + "abilityName": "Avatar_Gorou_ElementalBurst_KillSelf", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Gorou_ElementalBurst", + "abilityName": "Avatar_Gorou_ElementalBurst", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Gorou_ElementalBurst_Camera_Handler", + "abilityName": "Avatar_Gorou_ElementalBurst_Camera_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Gorou_ElementalBurst_Duration", + "abilityName": "Avatar_Gorou_ElementalBurst_Duration", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Gorou_ElementalBurst_SelfHanler", + "abilityName": "Avatar_Gorou_ElementalBurst_SelfHanler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Gorou_ElementalBurst_End_PutAwayGadget", + "abilityName": "Avatar_Gorou_ElementalBurst_End_PutAwayGadget", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Gorou_ElementalBurst_WindZone", + "abilityName": "Avatar_Gorou_ElementalBurst_WindZone", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Gorou_ElementalBurst_Heal_Handler", + "abilityName": "Avatar_Gorou_ElementalBurst_Heal_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Gorou_Radar_Collectables_Daoqi", + "abilityName": "Avatar_Gorou_Radar_Collectables_Daoqi", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Gorou_FallingAnthem", + "abilityName": "Avatar_Gorou_FallingAnthem", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Gorou", + "abilityName": "Avatar_Gorou", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Gorou_Skill_ElementalArt_BS", + "abilityName": "Avatar_Gorou_Skill_ElementalArt_BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Gorou_Skill_ElementalArt", + "abilityName": "Avatar_Gorou_Skill_ElementalArt", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Gorou_Skill_ElementalArt_AS", + "abilityName": "Avatar_Gorou_Skill_ElementalArt_AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Gorou_Skill_ElementalArt_Hold_Charge", + "abilityName": "Avatar_Gorou_Skill_ElementalArt_Hold_Charge", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Gorou_Skill_ElementalBurst", + "abilityName": "Avatar_Gorou_Skill_ElementalBurst", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Gorou_Skill_ElementalBurst_AS01", + "abilityName": "Avatar_Gorou_Skill_ElementalBurst_AS01", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Gorou_Skill_ElementalBurst_AS02", + "abilityName": "Avatar_Gorou_Skill_ElementalBurst_AS02", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Gorou_TeamConfig_01BS", + "abilityName": "Avatar_Gorou_TeamConfig_01BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Gorou_TeamConfig_01Loop", + "abilityName": "Avatar_Gorou_TeamConfig_01Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Gorou_TeamConfig_01AS", + "abilityName": "Avatar_Gorou_TeamConfig_01AS", + "abilityOverride": "" + } + ] +} \ No newline at end of file diff --git a/data/json/avatar/ConfigAvatar_Heizo.json b/data/json/avatar/ConfigAvatar_Heizo.json new file mode 100644 index 0000000..f6a6ca7 --- /dev/null +++ b/data/json/avatar/ConfigAvatar_Heizo.json @@ -0,0 +1,119 @@ +{ + "abilities": [ + { + "abilityID": "Avatar_Heizo_ExtraAttack", + "abilityName": "Avatar_Heizo_ExtraAttack", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Heizo_NormalAttack_Handler", + "abilityName": "Avatar_Heizo_NormalAttack_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Heizo_ElementalArt_Handler", + "abilityName": "Avatar_Heizo_ElementalArt_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Heizo_ElementalArt_Reset", + "abilityName": "Avatar_Heizo_ElementalArt_Reset", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Heizo_ElementalArt_Strike", + "abilityName": "Avatar_Heizo_ElementalArt_Strike", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Heizo_ElementalArt_Strike_Max", + "abilityName": "Avatar_Heizo_ElementalArt_Strike_Max", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Heizo_ElementalBurst_Strike", + "abilityName": "Avatar_Heizo_ElementalBurst_Strike", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Heizo_ElementalBurst_ScreenEffect", + "abilityName": "Avatar_Heizo_ElementalBurst_ScreenEffect", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Heizo_ElementalBurst_WindHole", + "abilityName": "Avatar_Heizo_ElementalBurst_WindHole", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Heizo_ElementalBurst_HitCheck", + "abilityName": "Avatar_Heizo_ElementalBurst_HitCheck", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Heizo_ElementalBurst_SetElementBomb", + "abilityName": "Avatar_Heizo_ElementalBurst_SetElementBomb", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Heizo_ElementalBurst_WindZone_Default_Handler", + "abilityName": "Avatar_Heizo_ElementalBurst_WindZone_Default_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Heizo_ElementalBurst_WindZone_Handler", + "abilityName": "Avatar_Heizo_ElementalBurst_WindZone_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Heizo_ElementalBurst_WindZone_Monster_Small", + "abilityName": "Avatar_Heizo_ElementalBurst_WindZone_Monster_Small", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Heizo_ElementalBurst_WindZone_Monster_Big", + "abilityName": "Avatar_Heizo_ElementalBurst_WindZone_Monster_Big", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Heizo_ElementalBurst_WindZone_Other2Avatar_Heizo_ElementalBurst_WindZone_Monster_Small", + "abilityName": "Avatar_Heizo_ElementalBurst_WindZone_Other2Avatar_Heizo_ElementalBurst_WindZone_Monster_Small", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Heizo_ElementalBurst_WindZone_Other", + "abilityName": "Avatar_Heizo_ElementalBurst_WindZone_Other", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Heizo_FallingAnthem", + "abilityName": "Avatar_Heizo_FallingAnthem", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Heizo_DashStamina_Reduction", + "abilityName": "Avatar_Heizo_DashStamina_Reduction", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Heizo", + "abilityName": "Avatar_Heizo", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Heizo_TeamConfig_01BS", + "abilityName": "Avatar_Heizo_TeamConfig_01BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Heizo_TeamConfig_01Loop", + "abilityName": "Avatar_Heizo_TeamConfig_01Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Heizo_TeamConfig_01AS", + "abilityName": "Avatar_Heizo_TeamConfig_01AS", + "abilityOverride": "" + } + ] +} \ No newline at end of file diff --git a/data/json/avatar/ConfigAvatar_Hutao.json b/data/json/avatar/ConfigAvatar_Hutao.json new file mode 100644 index 0000000..efe035f --- /dev/null +++ b/data/json/avatar/ConfigAvatar_Hutao.json @@ -0,0 +1,179 @@ +{ + "abilities": [ + { + "abilityID": "Avatar_Hutao_ExtraAttack", + "abilityName": "Avatar_Hutao_ExtraAttack", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Hutao_ExtraAttack_CreateBullet", + "abilityName": "Avatar_Hutao_ExtraAttack_CreateBullet", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Hutao_ExtraAttack_Bullet", + "abilityName": "Avatar_Hutao_ExtraAttack_Bullet", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Hutao_ExtraAttack_CrimsonPlum_CreateBullet", + "abilityName": "Avatar_Hutao_ExtraAttack_CrimsonPlum_CreateBullet", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Hutao_ExtraAttack_CrimsonPlum_Bullet", + "abilityName": "Avatar_Hutao_ExtraAttack_CrimsonPlum_Bullet", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Hutao_ExtraAttack_KillBullet", + "abilityName": "Avatar_Hutao_ExtraAttack_KillBullet", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Hutao_CrimsonPlum", + "abilityName": "Avatar_Hutao_CrimsonPlum", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Hutao_PermanentSkill_1", + "abilityName": "Avatar_Hutao_PermanentSkill_1", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Hutao_Constellation_Kill", + "abilityName": "Avatar_Hutao_Constellation_Kill", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Hutao_Constellation_LifeBonus", + "abilityName": "Avatar_Hutao_Constellation_LifeBonus", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Hutao_VermilionBite_CameraController", + "abilityName": "Avatar_Hutao_VermilionBite_CameraController", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Hutao_VermilionBite_PostEffect", + "abilityName": "Avatar_Hutao_VermilionBite_PostEffect", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Hutao_ElementalBurst_ScreenEffect", + "abilityName": "Avatar_Hutao_ElementalBurst_ScreenEffect", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Hutao_VermilionBite", + "abilityName": "Avatar_Hutao_VermilionBite", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Hutao_VermilionBite_BakeMesh", + "abilityName": "Avatar_Hutao_VermilionBite_BakeMesh", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Hutao_Sprint_CloseCollider", + "abilityName": "Avatar_Hutao_Sprint_CloseCollider", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Hutao_Constellation_Limbo", + "abilityName": "Avatar_Hutao_Constellation_Limbo", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Hutao_Constellation_Limbo_Trigger", + "abilityName": "Avatar_Hutao_Constellation_Limbo_Trigger", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Hutao_Constellation_Limbo_Trigger2UNIQUE_Hutao_Constellation_Limbo_Untriggered_Limbo", + "abilityName": "Avatar_Hutao_Constellation_Limbo_Trigger2UNIQUE_Hutao_Constellation_Limbo_Untriggered_Limbo", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Hutao_PermanentSkill_2", + "abilityName": "Avatar_Hutao_PermanentSkill_2", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Hutao_NormalAttack_DamageHandler", + "abilityName": "Avatar_Hutao_NormalAttack_DamageHandler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Hutao_FallingAnthem", + "abilityName": "Avatar_Hutao_FallingAnthem", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Hutao_DropBall", + "abilityName": "Avatar_Hutao_DropBall", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Hutao", + "abilityName": "Avatar_Hutao", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Hutao_ExtraAttack_Bullet1Avatar_Hutao_ExtraAttack_CrimsonPlum_CreateBullet", + "abilityName": "Avatar_Hutao_ExtraAttack_Bullet1Avatar_Hutao_ExtraAttack_CrimsonPlum_CreateBullet", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Hutao_TeamConfig_01BS", + "abilityName": "Avatar_Hutao_TeamConfig_01BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Hutao_TeamConfig_01Loop", + "abilityName": "Avatar_Hutao_TeamConfig_01Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Hutao_TeamConfig_01AS", + "abilityName": "Avatar_Hutao_TeamConfig_01AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Hutao_ElementalBurst_Spine", + "abilityName": "Avatar_Hutao_ElementalBurst_Spine", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Hutao_ElementalBurst_Hit", + "abilityName": "Avatar_Hutao_ElementalBurst_Hit", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Hutao_ElementArt_Buff", + "abilityName": "Avatar_Hutao_ElementArt_Buff", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Hutao_Spine_Loop", + "abilityName": "Avatar_Hutao_Spine_Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Hutao_CrimsonPlum1CrimsonPlum_Debuff_Constellation_LifeBonus_Factor", + "abilityName": "Avatar_Hutao_CrimsonPlum1CrimsonPlum_Debuff_Constellation_LifeBonus_Factor", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Hutao_CrimsonPlum4CrimsonPlum_Debuff_Constellation_Kill_Critical_Delta", + "abilityName": "Avatar_Hutao_CrimsonPlum4CrimsonPlum_Debuff_Constellation_Kill_Critical_Delta", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Hutao_CrimsonPlum3CrimsonPlum_PermanentSkill_CriticalUp_CriticalDelta", + "abilityName": "Avatar_Hutao_CrimsonPlum3CrimsonPlum_PermanentSkill_CriticalUp_CriticalDelta", + "abilityOverride": "" + } + ] +} \ No newline at end of file diff --git a/data/json/avatar/ConfigAvatar_Itto.json b/data/json/avatar/ConfigAvatar_Itto.json new file mode 100644 index 0000000..d19ffe0 --- /dev/null +++ b/data/json/avatar/ConfigAvatar_Itto.json @@ -0,0 +1,364 @@ +{ + "abilities": [ + { + "abilityID": "Avatar_Itto_ExtraAttack", + "abilityName": "Avatar_Itto_ExtraAttack", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Itto_ExtraHoldChargingM", + "abilityName": "Avatar_Itto_ExtraHoldChargingM", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Itto_ExtraAttackTrigger_HighTickFrequencyU", + "abilityName": "Avatar_Itto_ExtraAttackTrigger_HighTickFrequencyU", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Itto_ExtraHoldCharging", + "abilityName": "Avatar_Itto_ExtraHoldCharging", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Itto_ExtraAttackTrigger_HighTickFrequency", + "abilityName": "Avatar_Itto_ExtraAttackTrigger_HighTickFrequency", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Itto_ExtraAttackTrigger_HighTickFrequencyM", + "abilityName": "Avatar_Itto_ExtraAttackTrigger_HighTickFrequencyM", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Itto_SpecialExtra_Damage", + "abilityName": "Avatar_Itto_SpecialExtra_Damage", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Itto_SpecialExtra_Damage_Ghost", + "abilityName": "Avatar_Itto_SpecialExtra_Damage_Ghost", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Itto_Symbol_Handler", + "abilityName": "Avatar_Itto_Symbol_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Itto_Calculate_ExtraCombo", + "abilityName": "Avatar_Itto_Calculate_ExtraCombo", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Itto_Calculate_ClearExtraCombo", + "abilityName": "Avatar_Itto_Calculate_ClearExtraCombo", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Itto_SpecialExtra_TipEffect", + "abilityName": "Avatar_Itto_SpecialExtra_TipEffect", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Itto_ComboAddSymbol_Handler", + "abilityName": "Avatar_Itto_ComboAddSymbol_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Itto_2ndNormalAttack_AddSymbol", + "abilityName": "Avatar_Itto_2ndNormalAttack_AddSymbol", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Itto_LastNormalAttack_AddSymbol", + "abilityName": "Avatar_Itto_LastNormalAttack_AddSymbol", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Itto_ForeNormalAttack_AddSymbol", + "abilityName": "Avatar_Itto_ForeNormalAttack_AddSymbol", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Itto_Mask_Timer", + "abilityName": "Avatar_Itto_Mask_Timer", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Itto_ElementalArtAddSymbol_Handler", + "abilityName": "Avatar_Itto_ElementalArtAddSymbol_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Itto_SymbolEffect_Handler", + "abilityName": "Avatar_Itto_SymbolEffect_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Itto_Mask_Handler", + "abilityName": "Avatar_Itto_Mask_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Itto_Symbol_Cost", + "abilityName": "Avatar_Itto_Symbol_Cost", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Itto_ExtraAttack_Mask", + "abilityName": "Avatar_Itto_ExtraAttack_Mask", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Itto_ElementalArt", + "abilityName": "Avatar_Itto_ElementalArt", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Itto_ElementalArt_ChargeRune", + "abilityName": "Avatar_Itto_ElementalArt_ChargeRune", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Itto_ElementalArt_SaveNormalCombo", + "abilityName": "Avatar_Itto_ElementalArt_SaveNormalCombo", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Itto_ElementalArt_Strike", + "abilityName": "Avatar_Itto_ElementalArt_Strike", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Itto_ElementalArt_HitCheck", + "abilityName": "Avatar_Itto_ElementalArt_HitCheck", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Itto_ElementalArt_DropBall", + "abilityName": "Avatar_Itto_ElementalArt_DropBall", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Itto_ElementalArt_CreateBull", + "abilityName": "Avatar_Itto_ElementalArt_CreateBull", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Itto_ElementalArt_CreateBullM", + "abilityName": "Avatar_Itto_ElementalArt_CreateBullM", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Itto_ElementalArt_CreateGadget", + "abilityName": "Avatar_Itto_ElementalArt_CreateGadget", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Itto_Gadget_OniBull_Bullet", + "abilityName": "Avatar_Itto_Gadget_OniBull_Bullet", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Itto_ElementalArt_CreateGadgeth", + "abilityName": "Avatar_Itto_ElementalArt_CreateGadgeth", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Itto_Gadget_OniBull", + "abilityName": "Avatar_Itto_Gadget_OniBull", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Itto_Mask_TimerU", + "abilityName": "Avatar_Itto_Mask_TimerU", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Itto_ElementalBurst", + "abilityName": "Avatar_Itto_ElementalBurst", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Itto_ElementalBurst_Initialize", + "abilityName": "Avatar_Itto_ElementalBurst_Initialize", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Itto_ElementalBurst_Camera_Handler", + "abilityName": "Avatar_Itto_ElementalBurst_Camera_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Itto_ElementalBurst_Camera_PushTarget", + "abilityName": "Avatar_Itto_ElementalBurst_Camera_PushTarget", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Itto_ElementalBurst_CameraBlur", + "abilityName": "Avatar_Itto_ElementalBurst_CameraBlur", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Itto_ElementalBurst_EmotionControl", + "abilityName": "Avatar_Itto_ElementalBurst_EmotionControl", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Itto_ElementalBurst_WeatherChange_Pre", + "abilityName": "Avatar_Itto_ElementalBurst_WeatherChange_Pre", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Itto_ElementalBurst_Invincible", + "abilityName": "Avatar_Itto_ElementalBurst_Invincible", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Itto_ElementalBurst_Buff_AddDurability", + "abilityName": "Avatar_Itto_ElementalBurst_Buff_AddDurability", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Itto_ElementalBurst_Buff", + "abilityName": "Avatar_Itto_ElementalBurst_Buff", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Itto_ElementalBurst_CameraEffectS", + "abilityName": "Avatar_Itto_ElementalBurst_CameraEffectS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Itto_ElementalBurst_CameraEffect", + "abilityName": "Avatar_Itto_ElementalBurst_CameraEffect", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Itto_ElementalBurst_WeatherChange", + "abilityName": "Avatar_Itto_ElementalBurst_WeatherChange", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Itto_ElementalBurst_WeatherChangeJ", + "abilityName": "Avatar_Itto_ElementalBurst_WeatherChangeJ", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Itto_FallingAnthem", + "abilityName": "Avatar_Itto_FallingAnthem", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Itto_Attack_DamageHandler", + "abilityName": "Avatar_Itto_Attack_DamageHandler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Itto_PermanentSkill_1", + "abilityName": "Avatar_Itto_PermanentSkill_1", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Itto_ExtraAttack_AddEndure", + "abilityName": "Avatar_Itto_ExtraAttack_AddEndure", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Itto_ExtraAttack_ComboSpeed_Handler", + "abilityName": "Avatar_Itto_ExtraAttack_ComboSpeed_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Itto_ExtraAttack_ComboSpeed", + "abilityName": "Avatar_Itto_ExtraAttack_ComboSpeed", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Itto_PermanentSkill_2", + "abilityName": "Avatar_Itto_PermanentSkill_2", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Itto_ExtraAttack_DamageUp", + "abilityName": "Avatar_Itto_ExtraAttack_DamageUp", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Itto_Constellation_SymbolBurst", + "abilityName": "Avatar_Itto_Constellation_SymbolBurst", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Itto_Constellation_HotReviveSymbol_Delay", + "abilityName": "Avatar_Itto_Constellation_HotReviveSymbol_Delay", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Itto_Constellation_HotReviveSymbol", + "abilityName": "Avatar_Itto_Constellation_HotReviveSymbol", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Itto_Constellation_CalculateRockAvatar", + "abilityName": "Avatar_Itto_Constellation_CalculateRockAvatar", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Itto_Constellation_ReduceCD", + "abilityName": "Avatar_Itto_Constellation_ReduceCD", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Itto_Constellation_6", + "abilityName": "Avatar_Itto_Constellation_6", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Itto_Constellation_CritDamageUp", + "abilityName": "Avatar_Itto_Constellation_CritDamageUp", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Itto", + "abilityName": "Avatar_Itto", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Itto_TeamConfig_01BS", + "abilityName": "Avatar_Itto_TeamConfig_01BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Itto_TeamConfig_01Loop", + "abilityName": "Avatar_Itto_TeamConfig_01Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Itto_TeamConfig_01AS", + "abilityName": "Avatar_Itto_TeamConfig_01AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Itto_ElementalBurst_Spine", + "abilityName": "Avatar_Itto_ElementalBurst_Spine", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Itto_ElementalBurst_BS", + "abilityName": "Avatar_Itto_ElementalBurst_BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Itto_ElementalBurst_Hit", + "abilityName": "Avatar_Itto_ElementalBurst_Hit", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Itto_Spine_Loop", + "abilityName": "Avatar_Itto_Spine_Loop", + "abilityOverride": "" + } + ] +} \ No newline at end of file diff --git a/data/json/avatar/ConfigAvatar_Kachina.json b/data/json/avatar/ConfigAvatar_Kachina.json new file mode 100644 index 0000000..d2bb0ee --- /dev/null +++ b/data/json/avatar/ConfigAvatar_Kachina.json @@ -0,0 +1,54 @@ +{ + "abilities": [ + { + "abilityID": "Avatar_Kachina_ExtraAttack", + "abilityName": "Avatar_Kachina_ExtraAttack", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kachina_NormalAttack_DamageHandler", + "abilityName": "Avatar_Kachina_NormalAttack_DamageHandler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kachina_FallingAnthem", + "abilityName": "Avatar_Kachina_FallingAnthem", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kachina_ElementalArt", + "abilityName": "Avatar_Kachina_ElementalArt", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kachina_NyxCycle", + "abilityName": "Avatar_Kachina_NyxCycle", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kachina_SpecialJump", + "abilityName": "Avatar_Kachina_SpecialJump", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kachina_Level_Interaction", + "abilityName": "Avatar_Kachina_Level_Interaction", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kachina_Top_ShowHandler", + "abilityName": "Avatar_Kachina_Top_ShowHandler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kachina_ElementalBurst", + "abilityName": "Avatar_Kachina_ElementalBurst", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kachina_NyxSwitch", + "abilityName": "Avatar_Kachina_NyxSwitch", + "abilityOverride": "" + } + ] +} diff --git a/data/json/avatar/ConfigAvatar_Kaeya.json b/data/json/avatar/ConfigAvatar_Kaeya.json new file mode 100644 index 0000000..07ff731 --- /dev/null +++ b/data/json/avatar/ConfigAvatar_Kaeya.json @@ -0,0 +1,94 @@ +{ + "abilities": [ + { + "abilityID": "Avatar_Kaeya_ExtraAttack", + "abilityName": "Avatar_Kaeya_ExtraAttack", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kaeya_DamageHandler", + "abilityName": "Avatar_Kaeya_DamageHandler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kaeya_DashStamina_Reduction", + "abilityName": "Avatar_Kaeya_DashStamina_Reduction", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kaeya_FallingAnthem", + "abilityName": "Avatar_Kaeya_FallingAnthem", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kaeya", + "abilityName": "Avatar_Kaeya", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kaeya_TeamConfig_01BS", + "abilityName": "Avatar_Kaeya_TeamConfig_01BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kaeya_TeamConfig_01Loop", + "abilityName": "Avatar_Kaeya_TeamConfig_01Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kaeya_TeamConfig_01AS", + "abilityName": "Avatar_Kaeya_TeamConfig_01AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kaeya_ElementalBurst_Spine", + "abilityName": "Avatar_Kaeya_ElementalBurst_Spine", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kaeya_ElementalBurst_Spine_Coin", + "abilityName": "Avatar_Kaeya_ElementalBurst_Spine_Coin", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kaeya_Spine", + "abilityName": "Avatar_Kaeya_Spine", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kaeya_ElementalBurst_BS", + "abilityName": "Avatar_Kaeya_ElementalBurst_BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kaeya_ElementalBurst", + "abilityName": "Avatar_Kaeya_ElementalBurst", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kaeya_ElementBurst", + "abilityName": "Avatar_Kaeya_ElementBurst", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kaeya_ElementalBurst_Hit", + "abilityName": "Avatar_Kaeya_ElementalBurst_Hit", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kaeya_Spine_Loop", + "abilityName": "Avatar_Kaeya_Spine_Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kaeya_VO_Emotion_Kaeya_Deny_01", + "abilityName": "Avatar_Kaeya_VO_Emotion_Kaeya_Deny_01", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kaeya_VO_MDAQ036_Kaeya_01", + "abilityName": "Avatar_Kaeya_VO_MDAQ036_Kaeya_01", + "abilityOverride": "" + } + ] +} \ No newline at end of file diff --git a/data/json/avatar/ConfigAvatar_Kate.json b/data/json/avatar/ConfigAvatar_Kate.json new file mode 100644 index 0000000..84b0647 --- /dev/null +++ b/data/json/avatar/ConfigAvatar_Kate.json @@ -0,0 +1,3 @@ +{ + "abilities": [] +} \ No newline at end of file diff --git a/data/json/avatar/ConfigAvatar_Kaveh.json b/data/json/avatar/ConfigAvatar_Kaveh.json new file mode 100644 index 0000000..07ea704 --- /dev/null +++ b/data/json/avatar/ConfigAvatar_Kaveh.json @@ -0,0 +1,224 @@ +{ + "abilities": [ + { + "abilityID": "Avatar_Kaveh_ExtraAttack", + "abilityName": "Avatar_Kaveh_ExtraAttack", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kaveh_ExtraAttack_Flag", + "abilityName": "Avatar_Kaveh_ExtraAttack_Flag", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kaveh_Chest_Handler", + "abilityName": "Avatar_Kaveh_Chest_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kaveh_ElementalArt", + "abilityName": "Avatar_Kaveh_ElementalArt", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kaveh_ElementalArt_Strike", + "abilityName": "Avatar_Kaveh_ElementalArt_Strike", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kaveh_ElementalArt_ElementalBall_Handler", + "abilityName": "Avatar_Kaveh_ElementalArt_ElementalBall_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kaveh_ElementalArt_ElementalBall", + "abilityName": "Avatar_Kaveh_ElementalArt_ElementalBall", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kaveh_ElementalArt_HealBuff", + "abilityName": "Avatar_Kaveh_ElementalArt_HealBuff", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kaveh_OvergrowSeed_Trigger", + "abilityName": "Avatar_Kaveh_OvergrowSeed_Trigger", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kaveh_ElementalBurst", + "abilityName": "Avatar_Kaveh_ElementalBurst", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kaveh_ElementalBurst_Pre_Weather", + "abilityName": "Avatar_Kaveh_ElementalBurst_Pre_Weather", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kaveh_ElementalBurst_ExitCamera", + "abilityName": "Avatar_Kaveh_ElementalBurst_ExitCamera", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kaveh_ElementalBurst_VFX", + "abilityName": "Avatar_Kaveh_ElementalBurst_VFX", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kaveh_ElementalBurst_Invincible", + "abilityName": "Avatar_Kaveh_ElementalBurst_Invincible", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kaveh_ElementalBurst_Handler", + "abilityName": "Avatar_Kaveh_ElementalBurst_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kaveh_ElementalBurst_AtkSpeedBuff", + "abilityName": "Avatar_Kaveh_ElementalBurst_AtkSpeedBuff", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kaveh_ElementalBurst_ReactionDamageUp_TeamBuff", + "abilityName": "Avatar_Kaveh_ElementalBurst_ReactionDamageUp_TeamBuff", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kaveh_ElementalBurst_ElementMastery_Handler", + "abilityName": "Avatar_Kaveh_ElementalBurst_ElementMastery_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kaveh_ElementalBurst_ExtraStrike_Handler", + "abilityName": "Avatar_Kaveh_ElementalBurst_ExtraStrike_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kaveh_FallingAttack_Flag", + "abilityName": "Avatar_Kaveh_FallingAttack_Flag", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kaveh_FallingAttackVFX_Flag", + "abilityName": "Avatar_Kaveh_FallingAttackVFX_Flag", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kaveh_ElementalBurst_Handler5Avatar_Kaveh_ElementalBurst_ReactionDamageUp_TeamBuff", + "abilityName": "Avatar_Kaveh_ElementalBurst_Handler5Avatar_Kaveh_ElementalBurst_ReactionDamageUp_TeamBuff", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kaveh_ElementalBurst_ExtraStrike_Attack", + "abilityName": "Avatar_Kaveh_ElementalBurst_ExtraStrike_Attack", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kaveh_ElementalBurst_ExtraStrike_CD", + "abilityName": "Avatar_Kaveh_ElementalBurst_ExtraStrike_CD", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kaveh_ElementalBurst_ExtraStrike_CD2Avatar_Kaveh_ElementalBurst_ElementMastery_Handler", + "abilityName": "Avatar_Kaveh_ElementalBurst_ExtraStrike_CD2Avatar_Kaveh_ElementalBurst_ElementMastery_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kaveh_ElementalBurst_ElementMastery_Buff", + "abilityName": "Avatar_Kaveh_ElementalBurst_ElementMastery_Buff", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kaveh_ElementalBurst_ElementMastery_CD", + "abilityName": "Avatar_Kaveh_ElementalBurst_ElementMastery_CD", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kaveh_Overgrow_HealHP", + "abilityName": "Avatar_Kaveh_Overgrow_HealHP", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kaveh_Overgrow_HealHP_Handler", + "abilityName": "Avatar_Kaveh_Overgrow_HealHP_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kaveh_Overgrow_ReactionDamageUp", + "abilityName": "Avatar_Kaveh_Overgrow_ReactionDamageUp", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kaveh_Overgrow_ReactionDamageUp_Buff", + "abilityName": "Avatar_Kaveh_Overgrow_ReactionDamageUp_Buff", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kaveh_FallingAnthem", + "abilityName": "Avatar_Kaveh_FallingAnthem", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kaveh_FallingAttackVFX_Handler4Avatar_Kaveh_FallingAttackVFX_ElementalBurst_Handler", + "abilityName": "Avatar_Kaveh_FallingAttackVFX_Handler4Avatar_Kaveh_FallingAttackVFX_ElementalBurst_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kaveh_FallingAttackVFX_Handler", + "abilityName": "Avatar_Kaveh_FallingAttackVFX_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kaveh_FallingAttackVFX_ElementalBurst_Handler", + "abilityName": "Avatar_Kaveh_FallingAttackVFX_ElementalBurst_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kaveh_NormalAttack_DamageHandler", + "abilityName": "Avatar_Kaveh_NormalAttack_DamageHandler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kaveh", + "abilityName": "Avatar_Kaveh", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kaveh_TeamConfig_01BS", + "abilityName": "Avatar_Kaveh_TeamConfig_01BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kaveh_TeamConfig_01Loop", + "abilityName": "Avatar_Kaveh_TeamConfig_01Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kaveh_TeamConfig_01AS", + "abilityName": "Avatar_Kaveh_TeamConfig_01AS", + "abilityOverride": "" + }, + { + "abilityID": "AvatarItem_Kaveh_Spnotebook", + "abilityName": "AvatarItem_Kaveh_Spnotebook", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kaveh_ElementalBurst1Kaveh_ElementalBurst_ElementMastery_Buff_StackNum", + "abilityName": "Avatar_Kaveh_ElementalBurst1Kaveh_ElementalBurst_ElementMastery_Buff_StackNum", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kaveh_ElementalBurst9Kaveh_ElementalBurst_ElementMastery_Buff_ElemMasteryDelta", + "abilityName": "Avatar_Kaveh_ElementalBurst9Kaveh_ElementalBurst_ElementMastery_Buff_ElemMasteryDelta", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kaveh_ElementalBurstEKaveh_ElementalBurst_ReactionDamageUp_TeamBuff_ElemReactOvergrowDelta", + "abilityName": "Avatar_Kaveh_ElementalBurstEKaveh_ElementalBurst_ReactionDamageUp_TeamBuff_ElemReactOvergrowDelta", + "abilityOverride": "" + } + ] +} \ No newline at end of file diff --git a/data/json/avatar/ConfigAvatar_Kazuha.json b/data/json/avatar/ConfigAvatar_Kazuha.json new file mode 100644 index 0000000..837550c --- /dev/null +++ b/data/json/avatar/ConfigAvatar_Kazuha.json @@ -0,0 +1,634 @@ +{ + "abilities": [ + { + "abilityID": "Avatar_Kazuha_ExtraAttack", + "abilityName": "Avatar_Kazuha_ExtraAttack", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_NormalAttack_Handler", + "abilityName": "Avatar_Kazuha_NormalAttack_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_NormalAttack_05_Damage", + "abilityName": "Avatar_Kazuha_NormalAttack_05_Damage", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_Hide_Fx", + "abilityName": "Avatar_Kazuha_Hide_Fx", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_Hide", + "abilityName": "Avatar_Kazuha_Hide", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_NormalAttack_MagicSheath", + "abilityName": "Avatar_Kazuha_NormalAttack_MagicSheath", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_NormalAttack_05", + "abilityName": "Avatar_Kazuha_NormalAttack_05", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_NormalAttack_05_Handler", + "abilityName": "Avatar_Kazuha_NormalAttack_05_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_NormalAttack_05_Damage01", + "abilityName": "Avatar_Kazuha_NormalAttack_05_Damage01", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_NormalAttack_05_Damage02", + "abilityName": "Avatar_Kazuha_NormalAttack_05_Damage02", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_NormalAttack_05_Damage03", + "abilityName": "Avatar_Kazuha_NormalAttack_05_Damage03", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_ElementalArt_Check", + "abilityName": "Avatar_Kazuha_ElementalArt_Check", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_ElementalArt_ResetMixType", + "abilityName": "Avatar_Kazuha_ElementalArt_ResetMixType", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_ElementalArt_HitCheck", + "abilityName": "Avatar_Kazuha_ElementalArt_HitCheck", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_ElementalArt_AddHitMark", + "abilityName": "Avatar_Kazuha_ElementalArt_AddHitMark", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_ElementalArt_DropBall", + "abilityName": "Avatar_Kazuha_ElementalArt_DropBall", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_ElementalArt_MonsterTail", + "abilityName": "Avatar_Kazuha_ElementalArt_MonsterTail", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_ElementalArt_AirCheck", + "abilityName": "Avatar_Kazuha_ElementalArt_AirCheck", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_ElementalArt_Air_AddMark", + "abilityName": "Avatar_Kazuha_ElementalArt_Air_AddMark", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_ElementalArt_Air_RemoveMark", + "abilityName": "Avatar_Kazuha_ElementalArt_Air_RemoveMark", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_ElementalArt_ClearVelocity", + "abilityName": "Avatar_Kazuha_ElementalArt_ClearVelocity", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_ElementalArt_ChangeSkillButton", + "abilityName": "Avatar_Kazuha_ElementalArt_ChangeSkillButton", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_ElementalArt_Air_Handler", + "abilityName": "Avatar_Kazuha_ElementalArt_Air_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_ElementalArt_WindEffect_Delay", + "abilityName": "Avatar_Kazuha_ElementalArt_WindEffect_Delay", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_ElementalArt_WindEffect", + "abilityName": "Avatar_Kazuha_ElementalArt_WindEffect", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_ElementalArt_Charge", + "abilityName": "Avatar_Kazuha_ElementalArt_Charge", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_ElementalArt_Charge_WindZone", + "abilityName": "Avatar_Kazuha_ElementalArt_Charge_WindZone", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_ElementalArt_Charge_Remove", + "abilityName": "Avatar_Kazuha_ElementalArt_Charge_Remove", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_ElementalArt_EmptyJump", + "abilityName": "Avatar_Kazuha_ElementalArt_EmptyJump", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_EmptyJump_Effect", + "abilityName": "Avatar_Kazuha_EmptyJump_Effect", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_ElementalArt_EnterCD", + "abilityName": "Avatar_Kazuha_ElementalArt_EnterCD", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_ElementalArt_Click_Detect", + "abilityName": "Avatar_Kazuha_ElementalArt_Click_Detect", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_EmptyJump_Strike", + "abilityName": "Avatar_Kazuha_EmptyJump_Strike", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_EmptyJump_MixDetect", + "abilityName": "Avatar_Kazuha_EmptyJump_MixDetect", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_EmptyJump_CreateWindZone", + "abilityName": "Avatar_Kazuha_EmptyJump_CreateWindZone", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_EmptyJump_DragCamera", + "abilityName": "Avatar_Kazuha_EmptyJump_DragCamera", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_EmptyJump_MixDetectJ", + "abilityName": "Avatar_Kazuha_EmptyJump_MixDetectJ", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_PermanentSkill_1_MixJ", + "abilityName": "Avatar_Kazuha_PermanentSkill_1_MixJ", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_Constellation_6", + "abilityName": "Avatar_Kazuha_Constellation_6", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_EmptyJump_WindHole", + "abilityName": "Avatar_Kazuha_EmptyJump_WindHole", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_ElementalArt_WindZone_Monster_Small", + "abilityName": "Avatar_Kazuha_ElementalArt_WindZone_Monster_Small", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_ElementalArt_WindZone_Monster_Big", + "abilityName": "Avatar_Kazuha_ElementalArt_WindZone_Monster_Big", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_ElementalArt_WindZone_Other", + "abilityName": "Avatar_Kazuha_ElementalArt_WindZone_Other", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_ElementalArt_FlyAway", + "abilityName": "Avatar_Kazuha_ElementalArt_FlyAway", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_ElementalArt_Hold_EnterCD", + "abilityName": "Avatar_Kazuha_ElementalArt_Hold_EnterCD", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_ElementalArt_Hold_Detect", + "abilityName": "Avatar_Kazuha_ElementalArt_Hold_Detect", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_FlyAway_Strike", + "abilityName": "Avatar_Kazuha_FlyAway_Strike", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_FlyAway_MixDetect", + "abilityName": "Avatar_Kazuha_FlyAway_MixDetect", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_FlyAway_WindZone", + "abilityName": "Avatar_Kazuha_FlyAway_WindZone", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_FlyAway_CameraBlur", + "abilityName": "Avatar_Kazuha_FlyAway_CameraBlur", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_FlyAway_DragCamera", + "abilityName": "Avatar_Kazuha_FlyAway_DragCamera", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_FlyAway_MixDetectJ", + "abilityName": "Avatar_Kazuha_FlyAway_MixDetectJ", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_EmptyJump_Hold_WindHole", + "abilityName": "Avatar_Kazuha_EmptyJump_Hold_WindHole", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_ElementalArt_Hold_WindZone_Monster_Small", + "abilityName": "Avatar_Kazuha_ElementalArt_Hold_WindZone_Monster_Small", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_ElementalArt_Hold_WindZone_Monster_Big", + "abilityName": "Avatar_Kazuha_ElementalArt_Hold_WindZone_Monster_Big", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_ElementalArt_Hold_WindZone_Other", + "abilityName": "Avatar_Kazuha_ElementalArt_Hold_WindZone_Other", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_ElementalBurst", + "abilityName": "Avatar_Kazuha_ElementalBurst", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_ElementalBurst_Initialize", + "abilityName": "Avatar_Kazuha_ElementalBurst_Initialize", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_ElementalBurst_Camera_Handler", + "abilityName": "Avatar_Kazuha_ElementalBurst_Camera_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_ElementalBurst_EmotionControl", + "abilityName": "Avatar_Kazuha_ElementalBurst_EmotionControl", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_ElementalBurst_Camera_PushTarget", + "abilityName": "Avatar_Kazuha_ElementalBurst_Camera_PushTarget", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_ElementalBurst_WeatherChange", + "abilityName": "Avatar_Kazuha_ElementalBurst_WeatherChange", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_ElementalBurst_Invincible", + "abilityName": "Avatar_Kazuha_ElementalBurst_Invincible", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_ElementalBurst_CameraEffect", + "abilityName": "Avatar_Kazuha_ElementalBurst_CameraEffect", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_ElementalBurst_CameraBlur", + "abilityName": "Avatar_Kazuha_ElementalBurst_CameraBlur", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_ElementalBurst_Strike_Damage", + "abilityName": "Avatar_Kazuha_ElementalBurst_Strike_Damage", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_ElementalBurst_CreateMist", + "abilityName": "Avatar_Kazuha_ElementalBurst_CreateMist", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_Reconnect", + "abilityName": "Avatar_Kazuha_Reconnect", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_ElementalBurst_CreateMistJ", + "abilityName": "Avatar_Kazuha_ElementalBurst_CreateMistJ", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_ElementalBurst_ScreenEffect", + "abilityName": "Avatar_Kazuha_ElementalBurst_ScreenEffect", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_ElementalBurst_Strike_Mix", + "abilityName": "Avatar_Kazuha_ElementalBurst_Strike_Mix", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_ElementalBurst_Mist", + "abilityName": "Avatar_Kazuha_ElementalBurst_Mist", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_ElementalBurst_Mist_Initialize", + "abilityName": "Avatar_Kazuha_ElementalBurst_Mist_Initialize", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_ElementalBurst_Mist_FieldEffect", + "abilityName": "Avatar_Kazuha_ElementalBurst_Mist_FieldEffect", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_ElementalBurst_Mist_Dissipate", + "abilityName": "Avatar_Kazuha_ElementalBurst_Mist_Dissipate", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_ElementalBurst_MistStrike_Delay", + "abilityName": "Avatar_Kazuha_ElementalBurst_MistStrike_Delay", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_ElementalBurst_MistStrike", + "abilityName": "Avatar_Kazuha_ElementalBurst_MistStrike", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_ElementalBurst_MistStrike_Effect", + "abilityName": "Avatar_Kazuha_ElementalBurst_MistStrike_Effect", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_ElementalBurst_MistStrike_Fire", + "abilityName": "Avatar_Kazuha_ElementalBurst_MistStrike_Fire", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_ElementalBurst_MistStrike_Water", + "abilityName": "Avatar_Kazuha_ElementalBurst_MistStrike_Water", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_ElementalBurst_MistStrike_Electric", + "abilityName": "Avatar_Kazuha_ElementalBurst_MistStrike_Electric", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_ElementalBurst_MistStrike_Ice", + "abilityName": "Avatar_Kazuha_ElementalBurst_MistStrike_Ice", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_ElementalBurst_MistStrike_Wind", + "abilityName": "Avatar_Kazuha_ElementalBurst_MistStrike_Wind", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_ElementalBurst_Mist_Mix", + "abilityName": "Avatar_Kazuha_ElementalBurst_Mist_Mix", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_FallingAnthem", + "abilityName": "Avatar_Kazuha_FallingAnthem", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_ElementalArt_FallingAttack_HideCollider", + "abilityName": "Avatar_Kazuha_ElementalArt_FallingAttack_HideCollider", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_ElementalArt_FallingAttack_LoopDamage", + "abilityName": "Avatar_Kazuha_ElementalArt_FallingAttack_LoopDamage", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_ElementalArt_FallingAttack_DragCamera", + "abilityName": "Avatar_Kazuha_ElementalArt_FallingAttack_DragCamera", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_PermanentSkill_1", + "abilityName": "Avatar_Kazuha_PermanentSkill_1", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_NormalAttack_DamageHandler", + "abilityName": "Avatar_Kazuha_NormalAttack_DamageHandler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_PermanentSkill_1_Effect", + "abilityName": "Avatar_Kazuha_PermanentSkill_1_Effect", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_PermanentSkill_1_ExtraDamage", + "abilityName": "Avatar_Kazuha_PermanentSkill_1_ExtraDamage", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_PermanentSkill_1_Mix", + "abilityName": "Avatar_Kazuha_PermanentSkill_1_Mix", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_PermanentSkill_2", + "abilityName": "Avatar_Kazuha_PermanentSkill_2", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_PermanentSkill_2_Handler", + "abilityName": "Avatar_Kazuha_PermanentSkill_2_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_PermanentSkill_2_Fire", + "abilityName": "Avatar_Kazuha_PermanentSkill_2_Fire", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_PermanentSkill_2_Firec", + "abilityName": "Avatar_Kazuha_PermanentSkill_2_Firec", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_PermanentSkill_2_Water", + "abilityName": "Avatar_Kazuha_PermanentSkill_2_Water", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_PermanentSkill_2_Waterc", + "abilityName": "Avatar_Kazuha_PermanentSkill_2_Waterc", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_PermanentSkill_2_Electric", + "abilityName": "Avatar_Kazuha_PermanentSkill_2_Electric", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_PermanentSkill_2_Electricc", + "abilityName": "Avatar_Kazuha_PermanentSkill_2_Electricc", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_PermanentSkill_2_Ice", + "abilityName": "Avatar_Kazuha_PermanentSkill_2_Ice", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_Constellation_6_WindEnchant", + "abilityName": "Avatar_Kazuha_Constellation_6_WindEnchant", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_Constellation_6_DamageUp", + "abilityName": "Avatar_Kazuha_Constellation_6_DamageUp", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_DashStamina_Reduction", + "abilityName": "Avatar_Kazuha_DashStamina_Reduction", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_RegionAbility_Dreamland_KazuhaMovie", + "abilityName": "Avatar_RegionAbility_Dreamland_KazuhaMovie", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha", + "abilityName": "Avatar_Kazuha", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_ElementalBurst_Mist_Dissipate1Avatar_Kauzha_ElementalArt_FallingAttack_WindZone", + "abilityName": "Avatar_Kazuha_ElementalBurst_Mist_Dissipate1Avatar_Kauzha_ElementalArt_FallingAttack_WindZone", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_Skill_ElementalArt_BS", + "abilityName": "Avatar_Kazuha_Skill_ElementalArt_BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_Skill_ElementalArt_Charge", + "abilityName": "Avatar_Kazuha_Skill_ElementalArt_Charge", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_Skill_ElementalArt", + "abilityName": "Avatar_Kazuha_Skill_ElementalArt", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_Skill_ElementalArt_Hold", + "abilityName": "Avatar_Kazuha_Skill_ElementalArt_Hold", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_Skill_ElementalArt_Hold_AS5Emo_Avatar_Kazuha_Skill_ElementalArt_FallingAttack_BS7Emo_Avatar_Kazuha_Skill_ElementalArt_FallingAttack_Loop9Emo_Avatar_Kazuha_Skill_ElementalArt_FallingAttack_Strike", + "abilityName": "Avatar_Kazuha_Skill_ElementalArt_Hold_AS5Emo_Avatar_Kazuha_Skill_ElementalArt_FallingAttack_BS7Emo_Avatar_Kazuha_Skill_ElementalArt_FallingAttack_Loop9Emo_Avatar_Kazuha_Skill_ElementalArt_FallingAttack_Strike", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_TeamConfig_01BS", + "abilityName": "Avatar_Kazuha_TeamConfig_01BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_TeamConfig_01Loop", + "abilityName": "Avatar_Kazuha_TeamConfig_01Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_TeamConfig_01AS", + "abilityName": "Avatar_Kazuha_TeamConfig_01AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_Skill_ElementalArt_Hold_AS", + "abilityName": "Avatar_Kazuha_Skill_ElementalArt_Hold_AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_Skill_ElementalArt_FallingAttack_BS", + "abilityName": "Avatar_Kazuha_Skill_ElementalArt_FallingAttack_BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_Skill_ElementalArt_FallingAttack_Loop", + "abilityName": "Avatar_Kazuha_Skill_ElementalArt_FallingAttack_Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_Skill_ElementalArt_FallingAttack_Strike", + "abilityName": "Avatar_Kazuha_Skill_ElementalArt_FallingAttack_Strike", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_Skill_ElementalArt_FallingAttack_Strike_AS", + "abilityName": "Avatar_Kazuha_Skill_ElementalArt_FallingAttack_Strike_AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_ElementalBurst_Spine", + "abilityName": "Avatar_Kazuha_ElementalBurst_Spine", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_ElementalBurst_BS", + "abilityName": "Avatar_Kazuha_ElementalBurst_BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_ElementalBurst_Hit", + "abilityName": "Avatar_Kazuha_ElementalBurst_Hit", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_Spine_Loop", + "abilityName": "Avatar_Kazuha_Spine_Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kazuha_Spine", + "abilityName": "Avatar_Kazuha_Spine", + "abilityOverride": "" + } + ] +} \ No newline at end of file diff --git a/data/json/avatar/ConfigAvatar_Keqing.json b/data/json/avatar/ConfigAvatar_Keqing.json new file mode 100644 index 0000000..84df2d0 --- /dev/null +++ b/data/json/avatar/ConfigAvatar_Keqing.json @@ -0,0 +1,314 @@ +{ + "abilities": [ + { + "abilityID": "Avatar_Keqing_ExtraAttack", + "abilityName": "Avatar_Keqing_ExtraAttack", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Keqing_ExtraAttack_ExplodeGadget_Eff", + "abilityName": "Avatar_Keqing_ExtraAttack_ExplodeGadget_Eff", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Keqing_ExtraAttack_ExplodeGadget", + "abilityName": "Avatar_Keqing_ExtraAttack_ExplodeGadget", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Keqing_NormalAttack_Handler", + "abilityName": "Avatar_Keqing_NormalAttack_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Keqing_NormalAttack05_CreateBullet", + "abilityName": "Avatar_Keqing_NormalAttack05_CreateBullet", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Keqing_NormalAttack05_Bullet", + "abilityName": "Avatar_Keqing_NormalAttack05_Bullet", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Keqing_Electrans_Click", + "abilityName": "Avatar_Keqing_Electrans_Click", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Keqing_Electrans_Charge", + "abilityName": "Avatar_Keqing_Electrans_Charge", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Keqing_ElementalArt_Charge_Aim", + "abilityName": "Avatar_Keqing_ElementalArt_Charge_Aim", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Keqing_Electrans_SetGadget", + "abilityName": "Avatar_Keqing_Electrans_SetGadget", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Keqing_Electrans_Part2", + "abilityName": "Avatar_Keqing_Electrans_Part2", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Keqing_ElementalArt_HideSpark", + "abilityName": "Avatar_Keqing_ElementalArt_HideSpark", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Keqing_Break1_Buff", + "abilityName": "Avatar_Keqing_Break1_Buff", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Keqing_Electrans_Strike", + "abilityName": "Avatar_Keqing_Electrans_Strike", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Keqing_ElementalArt_Strike_Hit", + "abilityName": "Avatar_Keqing_ElementalArt_Strike_Hit", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Keqing_ElementalArt_Bullet", + "abilityName": "Avatar_Keqing_ElementalArt_Bullet", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Keqing_ElementalArt_Hit", + "abilityName": "Avatar_Keqing_ElementalArt_Hit", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Keqing_ElementalArt_Trap", + "abilityName": "Avatar_Keqing_ElementalArt_Trap", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Keqing_ElementalArt_Trap_Die", + "abilityName": "Avatar_Keqing_ElementalArt_Trap_Die", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Keqing_ElementalArt_TrapBurst", + "abilityName": "Avatar_Keqing_ElementalArt_TrapBurst", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Keqing_ElementalBurst_Camera", + "abilityName": "Avatar_Keqing_ElementalBurst_Camera", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Keqing_ElementalBurst_ScreenEffect_01", + "abilityName": "Avatar_Keqing_ElementalBurst_ScreenEffect_01", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Keqing_ElementalBurst_CameraEff", + "abilityName": "Avatar_Keqing_ElementalBurst_CameraEff", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Keqing_ElementalBurst_Field", + "abilityName": "Avatar_Keqing_ElementalBurst_Field", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Keqing_ElementalBurst", + "abilityName": "Avatar_Keqing_ElementalBurst", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Keqing_ElementalBurst_Attack00", + "abilityName": "Avatar_Keqing_ElementalBurst_Attack00", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Keqing_ElementalBurst_Attack01", + "abilityName": "Avatar_Keqing_ElementalBurst_Attack01", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Keqing_ElementalBurst_Attack02", + "abilityName": "Avatar_Keqing_ElementalBurst_Attack02", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Keqing_ElementalBurst_Attack03", + "abilityName": "Avatar_Keqing_ElementalBurst_Attack03", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Keqing_ElementalBurst_Attack03_NoCamera", + "abilityName": "Avatar_Keqing_ElementalBurst_Attack03_NoCamera", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Keqing_ElementalBurst_Attack_Hit", + "abilityName": "Avatar_Keqing_ElementalBurst_Attack_Hit", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Keqing_ElementalBurst_ScreenEffect_02", + "abilityName": "Avatar_Keqing_ElementalBurst_ScreenEffect_02", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Keqing_NormalAttack_DamageHandler", + "abilityName": "Avatar_Keqing_NormalAttack_DamageHandler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Keqing_FallingAnthem", + "abilityName": "Avatar_Keqing_FallingAnthem", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Keqing", + "abilityName": "Avatar_Keqing", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Keqing_TeamConfig_01BS", + "abilityName": "Avatar_Keqing_TeamConfig_01BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Keqing_TeamConfig_01Loop", + "abilityName": "Avatar_Keqing_TeamConfig_01Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Keqing_TeamConfig_01AS", + "abilityName": "Avatar_Keqing_TeamConfig_01AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Keqing_ElementalBurst_Spine", + "abilityName": "Avatar_Keqing_ElementalBurst_Spine", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Keqing_Spine", + "abilityName": "Avatar_Keqing_Spine", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Keqing_ElementalBurst_Hit", + "abilityName": "Avatar_Keqing_ElementalBurst_Hit", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Keqing_ElementalBurst_BS", + "abilityName": "Avatar_Keqing_ElementalBurst_BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Keqing_ElementalBurst_Hit_01", + "abilityName": "Avatar_Keqing_ElementalBurst_Hit_01", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Keqing_ElementalBurst_Hit_02", + "abilityName": "Avatar_Keqing_ElementalBurst_Hit_02", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Keqing_Spine_Loop", + "abilityName": "Avatar_Keqing_Spine_Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Keqing_Attack_01", + "abilityName": "Avatar_Keqing_Attack_01", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Keqing_Attack_02", + "abilityName": "Avatar_Keqing_Attack_02", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Keqing_Attack_03", + "abilityName": "Avatar_Keqing_Attack_03", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Keqing_Attack04_Dust", + "abilityName": "Avatar_Keqing_Attack04_Dust", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Keqing_Attack_04_01", + "abilityName": "Avatar_Keqing_Attack_04_01", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Keqing_Attack_04_02", + "abilityName": "Avatar_Keqing_Attack_04_02", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Keqing_Attack_HideSpark_04", + "abilityName": "Avatar_Keqing_Attack_HideSpark_04", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Keqing_Attack_HideSpark_05", + "abilityName": "Avatar_Keqing_Attack_HideSpark_05", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Keqing_Attack_05", + "abilityName": "Avatar_Keqing_Attack_05", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Keqing_Attack05_Dust", + "abilityName": "Avatar_Keqing_Attack05_Dust", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Keqing_ExtraAttack_SpeedLine", + "abilityName": "Avatar_Keqing_ExtraAttack_SpeedLine", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Keqing_Attack_ExtraAttack_00", + "abilityName": "Avatar_Keqing_Attack_ExtraAttack_00", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Keqing_ElementalArt_Cast", + "abilityName": "Avatar_Keqing_ElementalArt_Cast", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Keqing_ElementalArt_Charge_Cast", + "abilityName": "Avatar_Keqing_ElementalArt_Charge_Cast", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Keqing_ElementalArt_Fly_Attack", + "abilityName": "Avatar_Keqing_ElementalArt_Fly_Attack", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Keqing_ElementalArt_Charge_Lock", + "abilityName": "Avatar_Keqing_ElementalArt_Charge_Lock", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Keqing_ElementalBurst_Attack032Eff_Avatar_Keqing_ElementalBurst_Attack03_NoCamera", + "abilityName": "Avatar_Keqing_ElementalBurst_Attack032Eff_Avatar_Keqing_ElementalBurst_Attack03_NoCamera", + "abilityOverride": "" + } + ] +} \ No newline at end of file diff --git a/data/json/avatar/ConfigAvatar_Kinich.json b/data/json/avatar/ConfigAvatar_Kinich.json new file mode 100644 index 0000000..04429da --- /dev/null +++ b/data/json/avatar/ConfigAvatar_Kinich.json @@ -0,0 +1,99 @@ +{ + "abilities": [ + { + "abilityID": "Avatar_Kinich_ExtraAttack", + "abilityName": "Avatar_Kinich_ExtraAttack", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kinich_ElementalArt", + "abilityName": "Avatar_Kinich_ElementalArt", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kinich_ElementalArt_Start", + "abilityName": "Avatar_Kinich_ElementalArt_Start", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kinich_ElementalArt_Combat", + "abilityName": "Avatar_Kinich_ElementalArt_Combat", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kinich_ElementalArt_Combat_Over", + "abilityName": "Avatar_Kinich_ElementalArt_Combat_Over", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kinich_ElementalArt_HookMove", + "abilityName": "Avatar_Kinich_ElementalArt_HookMove", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kinich_ElementalArt_HookMoveAir", + "abilityName": "Avatar_Kinich_ElementalArt_HookMoveAir", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kinich_ElementalArt_Skill_Controller", + "abilityName": "Avatar_Kinich_ElementalArt_Skill_Controller", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kinich_ElementalArt_HookGrab", + "abilityName": "Avatar_Kinich_ElementalArt_HookGrab", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kinich_ElementalArt_HookFree", + "abilityName": "Avatar_Kinich_ElementalArt_HookFree", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kinich_ElementalArt_HookGrabShoot", + "abilityName": "Avatar_Kinich_ElementalArt_HookGrabShoot", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kinich_HookMove_Attack", + "abilityName": "Avatar_Kinich_HookMove_Attack", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kinich_ElementalBurst", + "abilityName": "Avatar_Kinich_ElementalBurst", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kinich_FallingAnthem", + "abilityName": "Avatar_Kinich_FallingAnthem", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kinich_Platform_ExtraAbility", + "abilityName": "Avatar_Kinich_Platform_ExtraAbility", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kinich_NyxSwitch", + "abilityName": "Avatar_Kinich_NyxSwitch", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kinich_Emotion_Controller", + "abilityName": "Avatar_Kinich_Emotion_Controller", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kinich_Elemball", + "abilityName": "Avatar_Kinich_Elemball", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kinich_NormalAttackDamage", + "abilityName": "Avatar_Kinich_NormalAttackDamage", + "abilityOverride": "" + } + ] +} diff --git a/data/json/avatar/ConfigAvatar_Klee.json b/data/json/avatar/ConfigAvatar_Klee.json new file mode 100644 index 0000000..3e33f25 --- /dev/null +++ b/data/json/avatar/ConfigAvatar_Klee.json @@ -0,0 +1,209 @@ +{ + "abilities": [ + { + "abilityID": "Avatar_Klee_ExtraAttack", + "abilityName": "Avatar_Klee_ExtraAttack", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Klee_ExtraAttack_CreateClover", + "abilityName": "Avatar_Klee_ExtraAttack_CreateClover", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Klee_ExtraAttack_Clover", + "abilityName": "Avatar_Klee_ExtraAttack_Clover", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Klee_ExtraAttack_Clover_Bullet", + "abilityName": "Avatar_Klee_ExtraAttack_Clover_Bullet", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Klee_NoarmalAttack_01_Damage", + "abilityName": "Avatar_Klee_NoarmalAttack_01_Damage", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Klee_NoarmalAttack_02_Damage", + "abilityName": "Avatar_Klee_NoarmalAttack_02_Damage", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Klee_NoarmalAttack_03_Damage", + "abilityName": "Avatar_Klee_NoarmalAttack_03_Damage", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Klee_ElementalArt_ClearTrigger", + "abilityName": "Avatar_Klee_ElementalArt_ClearTrigger", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Klee_Attack01", + "abilityName": "Avatar_Klee_Attack01", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Klee_Attack02", + "abilityName": "Avatar_Klee_Attack02", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Klee_Attack03", + "abilityName": "Avatar_Klee_Attack03", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Klee_NormalAttack", + "abilityName": "Avatar_Klee_NormalAttack", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Klee_JumpingBomb", + "abilityName": "Avatar_Klee_JumpingBomb", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Klee_ThrowMine", + "abilityName": "Avatar_Klee_ThrowMine", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Klee_Mine", + "abilityName": "Avatar_Klee_Mine", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Klee_Clover_Clear", + "abilityName": "Avatar_Klee_Clover_Clear", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Klee_CameraRadialBlur", + "abilityName": "Avatar_Klee_CameraRadialBlur", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Klee_Elemental_Burst", + "abilityName": "Avatar_Klee_Elemental_Burst", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Klee_Elemental_Burst_Trigger", + "abilityName": "Avatar_Klee_Elemental_Burst_Trigger", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Klee_ElementalBurst_CreateFunnel", + "abilityName": "Avatar_Klee_ElementalBurst_CreateFunnel", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Klee_Elemental_Burst_Explode", + "abilityName": "Avatar_Klee_Elemental_Burst_Explode", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Klee_Constellation_Explode", + "abilityName": "Avatar_Klee_Constellation_Explode", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Klee_Constellation_6", + "abilityName": "Avatar_Klee_Constellation_6", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Klee_PermanentSkill_1", + "abilityName": "Avatar_Klee_PermanentSkill_1", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Klee_PermanentSkill_Free_ExtraAttack_CD", + "abilityName": "Avatar_Klee_PermanentSkill_Free_ExtraAttack_CD", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Klee_PermanentSkill_2", + "abilityName": "Avatar_Klee_PermanentSkill_2", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Klee_FallingAnthem", + "abilityName": "Avatar_Klee_FallingAnthem", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Klee_Radar_Collectables_Mengde", + "abilityName": "Avatar_Klee_Radar_Collectables_Mengde", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Klee", + "abilityName": "Avatar_Klee", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Klee_Skill_ElementalArt", + "abilityName": "Avatar_Klee_Skill_ElementalArt", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Klee_Skill_ElementalArt_AS", + "abilityName": "Avatar_Klee_Skill_ElementalArt_AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Klee_TeamConfig_01BS", + "abilityName": "Avatar_Klee_TeamConfig_01BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Klee_TeamConfig_01Loop", + "abilityName": "Avatar_Klee_TeamConfig_01Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Klee_TeamConfig_01AS", + "abilityName": "Avatar_Klee_TeamConfig_01AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Klee_ElementalBurst_Spine", + "abilityName": "Avatar_Klee_ElementalBurst_Spine", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Klee_ElementalBurst", + "abilityName": "Avatar_Klee_ElementalBurst", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Klee_ElementBurst", + "abilityName": "Avatar_Klee_ElementBurst", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Klee_ElementBurst_02", + "abilityName": "Avatar_Klee_ElementBurst_02", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Klee_ElementalBurst_BS", + "abilityName": "Avatar_Klee_ElementalBurst_BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Klee_ElementalBurst_Hit", + "abilityName": "Avatar_Klee_ElementalBurst_Hit", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Klee_ElementalBurst_Buff", + "abilityName": "Avatar_Klee_ElementalBurst_Buff", + "abilityOverride": "" + } + ] +} \ No newline at end of file diff --git a/data/json/avatar/ConfigAvatar_Kokomi.json b/data/json/avatar/ConfigAvatar_Kokomi.json new file mode 100644 index 0000000..7f7dece --- /dev/null +++ b/data/json/avatar/ConfigAvatar_Kokomi.json @@ -0,0 +1,374 @@ +{ + "abilities": [ + { + "abilityID": "Avatar_Kokomi_ExtraAttack", + "abilityName": "Avatar_Kokomi_ExtraAttack", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kokomi_ExtraAttack_Charge", + "abilityName": "Avatar_Kokomi_ExtraAttack_Charge", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kokomi_ExtraAttack_BurstMark", + "abilityName": "Avatar_Kokomi_ExtraAttack_BurstMark", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kokomi_ExtraAttack_Charge_HasTarget", + "abilityName": "Avatar_Kokomi_ExtraAttack_Charge_HasTarget", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kokomi_ExtraAttack_Charge_NoTarget", + "abilityName": "Avatar_Kokomi_ExtraAttack_Charge_NoTarget", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kokomi_ExtraAttack_Initiate", + "abilityName": "Avatar_Kokomi_ExtraAttack_Initiate", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kokomi_Attack01", + "abilityName": "Avatar_Kokomi_Attack01", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kokomi_Attack02", + "abilityName": "Avatar_Kokomi_Attack02", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kokomi_Attack03", + "abilityName": "Avatar_Kokomi_Attack03", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kokomi_NormalAttack_BounceBullet", + "abilityName": "Avatar_Kokomi_NormalAttack_BounceBullet", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kokomi_NormalAttack_Bullet_1_Damage", + "abilityName": "Avatar_Kokomi_NormalAttack_Bullet_1_Damage", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kokomi_NormalAttack_AngularVelocity_Timer", + "abilityName": "Avatar_Kokomi_NormalAttack_AngularVelocity_Timer", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kokomi_NormalAttack_AngularVelocity", + "abilityName": "Avatar_Kokomi_NormalAttack_AngularVelocity", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kokomi_NormalAttack_Bullet_2_Damage", + "abilityName": "Avatar_Kokomi_NormalAttack_Bullet_2_Damage", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kokomi_NormalAttack_Bullet_3_Damage", + "abilityName": "Avatar_Kokomi_NormalAttack_Bullet_3_Damage", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kokomi_NormalAttack_Bullet_1_Burst_Damage", + "abilityName": "Avatar_Kokomi_NormalAttack_Bullet_1_Burst_Damage", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kokomi_NormalAttack_Heal_Handler", + "abilityName": "Avatar_Kokomi_NormalAttack_Heal_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kokomi_ElementalBurst_Heal", + "abilityName": "Avatar_Kokomi_ElementalBurst_Heal", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kokomi_ElementalBurst_AtkSpeeddBuff", + "abilityName": "Avatar_Kokomi_ElementalBurst_AtkSpeeddBuff", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kokomi_ElementalBurst_ReviveEnergy", + "abilityName": "Avatar_Kokomi_ElementalBurst_ReviveEnergy", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kokomi_NormalAttack_Bullet_2_Burst_Damage", + "abilityName": "Avatar_Kokomi_NormalAttack_Bullet_2_Burst_Damage", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kokomi_NormalAttack_Bullet_3_Burst_Damage", + "abilityName": "Avatar_Kokomi_NormalAttack_Bullet_3_Burst_Damage", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kokomi_ElementalArt", + "abilityName": "Avatar_Kokomi_ElementalArt", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kokomi_ElementalArt_KillGadget", + "abilityName": "Avatar_Kokomi_ElementalArt_KillGadget", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kokomi_ElementalArt_WaterBuff", + "abilityName": "Avatar_Kokomi_ElementalArt_WaterBuff", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kokomi_ElementalArt_ElemBall", + "abilityName": "Avatar_Kokomi_ElementalArt_ElemBall", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kokomi_ElementalArt_Heal", + "abilityName": "Avatar_Kokomi_ElementalArt_Heal", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kokomi_ElementalBurst_Hagoromo", + "abilityName": "Avatar_Kokomi_ElementalBurst_Hagoromo", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kokomi_ElementalBurst_Reset", + "abilityName": "Avatar_Kokomi_ElementalBurst_Reset", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kokomi_Hagoromo_Move", + "abilityName": "Avatar_Kokomi_Hagoromo_Move", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kokomi_Hagoromo_Attack01", + "abilityName": "Avatar_Kokomi_Hagoromo_Attack01", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kokomi_Hagoromo_Attack02", + "abilityName": "Avatar_Kokomi_Hagoromo_Attack02", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kokomi_Hagoromo_Attack03", + "abilityName": "Avatar_Kokomi_Hagoromo_Attack03", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kokomi_Hagoromo_ExtraAttack", + "abilityName": "Avatar_Kokomi_Hagoromo_ExtraAttack", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kokomi_Hagoromo_ElementalArt", + "abilityName": "Avatar_Kokomi_Hagoromo_ElementalArt", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kokomi_Hagoromo_Hide", + "abilityName": "Avatar_Kokomi_Hagoromo_Hide", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kokomi_Ripple_Hide", + "abilityName": "Avatar_Kokomi_Ripple_Hide", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kokomi_Hagoromo_ChangeFollowDampTime", + "abilityName": "Avatar_Kokomi_Hagoromo_ChangeFollowDampTime", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kokomi_Hagoromo", + "abilityName": "Avatar_Kokomi_Hagoromo", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kokomi_ElementalBurst_FootRipple_Left", + "abilityName": "Avatar_Kokomi_ElementalBurst_FootRipple_Left", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kokomi_ElementalBurst_FootRipple_Right", + "abilityName": "Avatar_Kokomi_ElementalBurst_FootRipple_Right", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kokomi_ElementalBurst_Initiate", + "abilityName": "Avatar_Kokomi_ElementalBurst_Initiate", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kokomi_ElementalBurst_States", + "abilityName": "Avatar_Kokomi_ElementalBurst_States", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kokomi_ElementalBurst_Camera", + "abilityName": "Avatar_Kokomi_ElementalBurst_Camera", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kokomi_ElementalBurst_Pre_Weather", + "abilityName": "Avatar_Kokomi_ElementalBurst_Pre_Weather", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kokomi_ElementalBurst_Emotion", + "abilityName": "Avatar_Kokomi_ElementalBurst_Emotion", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kokomi_ElementalBurst_Weathert", + "abilityName": "Avatar_Kokomi_ElementalBurst_Weathert", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kokomi_ElementalBurst_Weather", + "abilityName": "Avatar_Kokomi_ElementalBurst_Weather", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kokomi_ElementalBurst_DamageBuff_HealAdd", + "abilityName": "Avatar_Kokomi_ElementalBurst_DamageBuff_HealAdd", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kokomi_ElementalBurst_AtkSpeedBuff", + "abilityName": "Avatar_Kokomi_ElementalBurst_AtkSpeedBuff", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kokomi_Hagoromo_Remover", + "abilityName": "Avatar_Kokomi_Hagoromo_Remover", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kokomi_MoveOnWater_Remover", + "abilityName": "Avatar_Kokomi_MoveOnWater_Remover", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kokomi_Hagoromo6UNIQUE_Avatar_Kokomi_ElementalBurst_DamageBuff_HealAdd", + "abilityName": "Avatar_Kokomi_Hagoromo6UNIQUE_Avatar_Kokomi_ElementalBurst_DamageBuff_HealAdd", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kokomi_ElementalBurst_Heal_Predicate_LowHP", + "abilityName": "Avatar_Kokomi_ElementalBurst_Heal_Predicate_LowHP", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kokomi_ElementalBurst_Heal_LowHPTarget", + "abilityName": "Avatar_Kokomi_ElementalBurst_Heal_LowHPTarget", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kokomi_ElementalBurst_Heal_Predicate_Overheal", + "abilityName": "Avatar_Kokomi_ElementalBurst_Heal_Predicate_Overheal", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kokomi_ElementalBurst_Heal_Predicate_Overheal4Avatar_Kokomi_ElementalBurst_Heal_Predicate_Overheal", + "abilityName": "Avatar_Kokomi_ElementalBurst_Heal_Predicate_Overheal4Avatar_Kokomi_ElementalBurst_Heal_Predicate_Overheal", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kokomi_ExtraHeal_OverHeal", + "abilityName": "Avatar_Kokomi_ExtraHeal_OverHeal", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kokomi_ElementalBurst_OverHeal", + "abilityName": "Avatar_Kokomi_ElementalBurst_OverHeal", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kokomi_ElementalBurst_OverHeal_Buff1UNIQUE_Avatar_Kokomi_ElementalBurst_OverHeal_Buff", + "abilityName": "Avatar_Kokomi_ElementalBurst_OverHeal_Buff1UNIQUE_Avatar_Kokomi_ElementalBurst_OverHeal_Buff", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kokomi_FallingAnthem", + "abilityName": "Avatar_Kokomi_FallingAnthem", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kokomi_SwimStamina_Reduction", + "abilityName": "Avatar_Kokomi_SwimStamina_Reduction", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kokomi_CritRateDown", + "abilityName": "Avatar_Kokomi_CritRateDown", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kokomi_CritRate_Delta", + "abilityName": "Avatar_Kokomi_CritRate_Delta", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kokomi_HealAdd_Delta", + "abilityName": "Avatar_Kokomi_HealAdd_Delta", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kokomi", + "abilityName": "Avatar_Kokomi", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kokomi_NormalAttack_Bullet_3_Damage0Avatar_Kokomi_NormalAttack_Bullet_1_Burst_Damage0Avatar_Kokomi_NormalAttack_Bullet_2_Burst_Damage0Avatar_Kokomi_NormalAttack_Bullet_3_Burst_Damage", + "abilityName": "Avatar_Kokomi_NormalAttack_Bullet_3_Damage0Avatar_Kokomi_NormalAttack_Bullet_1_Burst_Damage0Avatar_Kokomi_NormalAttack_Bullet_2_Burst_Damage0Avatar_Kokomi_NormalAttack_Bullet_3_Burst_Damage", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kokomi_TeamConfig_01BS", + "abilityName": "Avatar_Kokomi_TeamConfig_01BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kokomi_TeamConfig_01Loop", + "abilityName": "Avatar_Kokomi_TeamConfig_01Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kokomi_TeamConfig_01AS", + "abilityName": "Avatar_Kokomi_TeamConfig_01AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kokomi_ElementalBurst_Spine", + "abilityName": "Avatar_Kokomi_ElementalBurst_Spine", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kokomi_ElementalBurst_BS", + "abilityName": "Avatar_Kokomi_ElementalBurst_BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kokomi_ElementalBurst_Hit", + "abilityName": "Avatar_Kokomi_ElementalBurst_Hit", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Kokomi_Spine_Loop", + "abilityName": "Avatar_Kokomi_Spine_Loop", + "abilityOverride": "" + } + ] +} \ No newline at end of file diff --git a/data/json/avatar/ConfigAvatar_Layla.json b/data/json/avatar/ConfigAvatar_Layla.json new file mode 100644 index 0000000..49494a5 --- /dev/null +++ b/data/json/avatar/ConfigAvatar_Layla.json @@ -0,0 +1,109 @@ +{ + "abilities": [ + { + "abilityID": "Avatar_Layla_ExtraAttack", + "abilityName": "Avatar_Layla_ExtraAttack", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Layla_ElementalArt", + "abilityName": "Avatar_Layla_ElementalArt", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Layla_HasTeamShield", + "abilityName": "Avatar_Layla_HasTeamShield", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Layla_ElementalArt_Handler", + "abilityName": "Avatar_Layla_ElementalArt_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Layla_IceShield_GV_Count", + "abilityName": "Avatar_Layla_IceShield_GV_Count", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Layla_IceShield_Can_Count", + "abilityName": "Avatar_Layla_IceShield_Can_Count", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Layla_ToughShield_Level", + "abilityName": "Avatar_Layla_ToughShield_Level", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Layla_ElementalArt_Gadget", + "abilityName": "Avatar_Layla_ElementalArt_Gadget", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Layla_IceShield_GV_Gadget", + "abilityName": "Avatar_Layla_IceShield_GV_Gadget", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Layla_Shoot_TeamBuff", + "abilityName": "Avatar_Layla_Shoot_TeamBuff", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Layla_ArtAndBurst_ReviveEnergy", + "abilityName": "Avatar_Layla_ArtAndBurst_ReviveEnergy", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Layla_ElementalBurst", + "abilityName": "Avatar_Layla_ElementalBurst", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Layla_ElementalBurst_Gadget", + "abilityName": "Avatar_Layla_ElementalBurst_Gadget", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Layla_NormalAttack_DamageHandler", + "abilityName": "Avatar_Layla_NormalAttack_DamageHandler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Layla_ArtAndBurst_DamageExtra", + "abilityName": "Avatar_Layla_ArtAndBurst_DamageExtra", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Layla_ArtAndBurst_DamageUp", + "abilityName": "Avatar_Layla_ArtAndBurst_DamageUp", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Layla_FallingAnthem", + "abilityName": "Avatar_Layla_FallingAnthem", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Layla", + "abilityName": "Avatar_Layla", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Layla_TeamConfig_01BS", + "abilityName": "Avatar_Layla_TeamConfig_01BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Layla_TeamConfig_01Loop", + "abilityName": "Avatar_Layla_TeamConfig_01Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Layla_TeamConfig_01AS", + "abilityName": "Avatar_Layla_TeamConfig_01AS", + "abilityOverride": "" + } + ] +} \ No newline at end of file diff --git a/data/json/avatar/ConfigAvatar_Linette.json b/data/json/avatar/ConfigAvatar_Linette.json new file mode 100644 index 0000000..451af12 --- /dev/null +++ b/data/json/avatar/ConfigAvatar_Linette.json @@ -0,0 +1,169 @@ +{ + "abilities": [ + { + "abilityID": "Avatar_Linette_ExtraAttack", + "abilityName": "Avatar_Linette_ExtraAttack", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Linette_ArkheGrade", + "abilityName": "Avatar_Linette_ArkheGrade", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Linette_ArkheGrade_CD", + "abilityName": "Avatar_Linette_ArkheGrade_CD", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Linette_ElementalArt", + "abilityName": "Avatar_Linette_ElementalArt", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Linette_ElementalArt_DropBall_Handler", + "abilityName": "Avatar_Linette_ElementalArt_DropBall_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Linette_ElementalArt_Executed", + "abilityName": "Avatar_Linette_ElementalArt_Executed", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Linette_ElementalArt_Short_Strike", + "abilityName": "Avatar_Linette_ElementalArt_Short_Strike", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Linette_ElementalArt_Executed_Strike", + "abilityName": "Avatar_Linette_ElementalArt_Executed_Strike", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Linette_ElementalArt_RushMove", + "abilityName": "Avatar_Linette_ElementalArt_RushMove", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Linette_Constellation_6", + "abilityName": "Avatar_Linette_Constellation_6", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Linette_Constellation_6_WindEnchant", + "abilityName": "Avatar_Linette_Constellation_6_WindEnchant", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Linette_Constellation_6_DamageUp", + "abilityName": "Avatar_Linette_Constellation_6_DamageUp", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Linette_ElementalArt_Executed_Bullet", + "abilityName": "Avatar_Linette_ElementalArt_Executed_Bullet", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Linette_ElementalBurst", + "abilityName": "Avatar_Linette_ElementalBurst", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Linette_PermanentSkill_1", + "abilityName": "Avatar_Linette_PermanentSkill_1", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Linette_ElementalBurst_Strike", + "abilityName": "Avatar_Linette_ElementalBurst_Strike", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Linette_ElementalBurst_MagicBox", + "abilityName": "Avatar_Linette_ElementalBurst_MagicBox", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Linette_ElementalBurst_MagicBox_Bullet_Ice", + "abilityName": "Avatar_Linette_ElementalBurst_MagicBox_Bullet_Ice", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Linette_ElementalBurst_MagicBox_Bullet_Fire", + "abilityName": "Avatar_Linette_ElementalBurst_MagicBox_Bullet_Fire", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Linette_ElementalBurst_MagicBox_Bullet_Water", + "abilityName": "Avatar_Linette_ElementalBurst_MagicBox_Bullet_Water", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Linette_ElementalBurst_MagicBox_Bullet_Electric", + "abilityName": "Avatar_Linette_ElementalBurst_MagicBox_Bullet_Electric", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Linette_ElementalBurst_HitBox", + "abilityName": "Avatar_Linette_ElementalBurst_HitBox", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Linette_Constellation_WindZone", + "abilityName": "Avatar_Linette_Constellation_WindZone", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Linette_PermanentSkill_1_AttackUp", + "abilityName": "Avatar_Linette_PermanentSkill_1_AttackUp", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Linette_NormalAttack_DamageHandler", + "abilityName": "Avatar_Linette_NormalAttack_DamageHandler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Linette_FallingAnthem", + "abilityName": "Avatar_Linette_FallingAnthem", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Linette_ElementalBurst_MagicBox_Bullet_Wind", + "abilityName": "Avatar_Linette_ElementalBurst_MagicBox_Bullet_Wind", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Linette_PermanentSkill_3", + "abilityName": "Avatar_Linette_PermanentSkill_3", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Linette", + "abilityName": "Avatar_Linette", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Linette_ElementalBurst_MagicBox1Avatar_Linette_ElementalBurst_MagicBox_Bullet_Ice2Avatar_Linette_ElementalBurst_MagicBox_Bullet_Fire3Avatar_Linette_ElementalBurst_MagicBox_Bullet_Water6Avatar_Linette_ElementalBurst_MagicBox_Bullet_Electric", + "abilityName": "Avatar_Linette_ElementalBurst_MagicBox1Avatar_Linette_ElementalBurst_MagicBox_Bullet_Ice2Avatar_Linette_ElementalBurst_MagicBox_Bullet_Fire3Avatar_Linette_ElementalBurst_MagicBox_Bullet_Water6Avatar_Linette_ElementalBurst_MagicBox_Bullet_Electric", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Linette_TeamConfig_01BS", + "abilityName": "Avatar_Linette_TeamConfig_01BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Linette_TeamConfig_01Loop", + "abilityName": "Avatar_Linette_TeamConfig_01Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Linette_TeamConfig_01AS", + "abilityName": "Avatar_Linette_TeamConfig_01AS", + "abilityOverride": "" + } + ] +} \ No newline at end of file diff --git a/data/json/avatar/ConfigAvatar_Liney.json b/data/json/avatar/ConfigAvatar_Liney.json new file mode 100644 index 0000000..76a44dd --- /dev/null +++ b/data/json/avatar/ConfigAvatar_Liney.json @@ -0,0 +1,129 @@ +{ + "abilities": [ + { + "abilityID": "Avatar_Liney_PressShoot", + "abilityName": "Avatar_Liney_PressShoot", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Liney_AimPressShoot", + "abilityName": "Avatar_Liney_AimPressShoot", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Liney_Arrow_FX", + "abilityName": "Avatar_Liney_Arrow_FX", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Liney_ShootAimingArrow_Charge", + "abilityName": "Avatar_Liney_ShootAimingArrow_Charge", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Liney_ShootArrow_01", + "abilityName": "Avatar_Liney_ShootArrow_01", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Liney_ShootArrow_02", + "abilityName": "Avatar_Liney_ShootArrow_02", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Liney_ShootArrow_03_01", + "abilityName": "Avatar_Liney_ShootArrow_03_01", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Liney_ShootArrow_03_02", + "abilityName": "Avatar_Liney_ShootArrow_03_02", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Liney_ShootArrow_04", + "abilityName": "Avatar_Liney_ShootArrow_04", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Liney_ShootArrow_Aiming", + "abilityName": "Avatar_Liney_ShootArrow_Aiming", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Liney_ShootArrow_Enchanted_WithoutFire", + "abilityName": "Avatar_Liney_ShootArrow_Enchanted_WithoutFire", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Liney_ExtraAttack", + "abilityName": "Avatar_Liney_ExtraAttack", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Liney_ElementalArt", + "abilityName": "Avatar_Liney_ElementalArt", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Liney_ElementalBurst", + "abilityName": "Avatar_Liney_ElementalBurst", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Liney_ExitSpecialMove", + "abilityName": "Avatar_Liney_ExitSpecialMove", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Liney_FallingAnthem", + "abilityName": "Avatar_Liney_FallingAnthem", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Liney_PermanentSkill_3", + "abilityName": "Avatar_Liney_PermanentSkill_3", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Liney_PermanentSkill_2", + "abilityName": "Avatar_Liney_PermanentSkill_2", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Liney_CriticalHurt_GrandHandler", + "abilityName": "Avatar_Liney_CriticalHurt_GrandHandler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Liney_CriticalHurt_Handler", + "abilityName": "Avatar_Liney_CriticalHurt_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Liney_CriticalHurt_Buff", + "abilityName": "Avatar_Liney_CriticalHurt_Buff", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Liney", + "abilityName": "Avatar_Liney", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Liney_TeamConfig_01BS", + "abilityName": "Avatar_Liney_TeamConfig_01BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Liney_TeamConfig_01Loop", + "abilityName": "Avatar_Liney_TeamConfig_01Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Liney_TeamConfig_01AS", + "abilityName": "Avatar_Liney_TeamConfig_01AS", + "abilityOverride": "" + } + ] +} \ No newline at end of file diff --git a/data/json/avatar/ConfigAvatar_Lisa.json b/data/json/avatar/ConfigAvatar_Lisa.json new file mode 100644 index 0000000..622600b --- /dev/null +++ b/data/json/avatar/ConfigAvatar_Lisa.json @@ -0,0 +1,189 @@ +{ + "abilities": [ + { + "abilityID": "Avatar_Lisa_ExtraAttack", + "abilityName": "Avatar_Lisa_ExtraAttack", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Lisa_ExtraAttack_Damage", + "abilityName": "Avatar_Lisa_ExtraAttack_Damage", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Lisa_NormalAttack04_Blink", + "abilityName": "Avatar_Lisa_NormalAttack04_Blink", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Lisa_TriggerAbility2", + "abilityName": "Avatar_Lisa_TriggerAbility2", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Lisa_Weather_Trigger", + "abilityName": "Avatar_Lisa_Weather_Trigger", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Lisa_Weather_Remove", + "abilityName": "Avatar_Lisa_Weather_Remove", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Lisa_Attack01", + "abilityName": "Avatar_Lisa_Attack01", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Lisa_Attack02", + "abilityName": "Avatar_Lisa_Attack02", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Lisa_Attack03", + "abilityName": "Avatar_Lisa_Attack03", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Lisa_Attack04", + "abilityName": "Avatar_Lisa_Attack04", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Lisa_NormalAttack_Burst", + "abilityName": "Avatar_Lisa_NormalAttack_Burst", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Lisa_NormalAttack_Hit_Fx", + "abilityName": "Avatar_Lisa_NormalAttack_Hit_Fx", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Lisa_FlickerWave_Hit_Fx", + "abilityName": "Avatar_Lisa_FlickerWave_Hit_Fx", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Lisa_FlickerWave", + "abilityName": "Avatar_Lisa_FlickerWave", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Lisa_FlickerWaveDamage", + "abilityName": "Avatar_Lisa_FlickerWaveDamage", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Lisa_StaticElecFieldh", + "abilityName": "Avatar_Lisa_StaticElecFieldh", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Lisa_StaticElecField", + "abilityName": "Avatar_Lisa_StaticElecField", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Lisa_Constellation_6", + "abilityName": "Avatar_Lisa_Constellation_6", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Lisa_ThunderFall", + "abilityName": "Avatar_Lisa_ThunderFall", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Lisa_PierceLightning", + "abilityName": "Avatar_Lisa_PierceLightning", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Lisa_PierceLightning_Ball", + "abilityName": "Avatar_Lisa_PierceLightning_Ball", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Lisa_PierceLightning_Ball_Attack", + "abilityName": "Avatar_Lisa_PierceLightning_Ball_Attack", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Lisa_PierceLightning_Ball_FX", + "abilityName": "Avatar_Lisa_PierceLightning_Ball_FX", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Lisa_Captain", + "abilityName": "Avatar_Lisa_Captain", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Lisa_FallingAnthem", + "abilityName": "Avatar_Lisa_FallingAnthem", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Lisa", + "abilityName": "Avatar_Lisa", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Lisa_PierceLightning_AS", + "abilityName": "Avatar_Lisa_PierceLightning_AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Lisa_TeamConfig_01BS", + "abilityName": "Avatar_Lisa_TeamConfig_01BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Lisa_TeamConfig_01Loop", + "abilityName": "Avatar_Lisa_TeamConfig_01Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Lisa_TeamConfig_01AS", + "abilityName": "Avatar_Lisa_TeamConfig_01AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Lisa_ElementalBurst_Spine", + "abilityName": "Avatar_Lisa_ElementalBurst_Spine", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Lisa_ElementalBurst_Hit", + "abilityName": "Avatar_Lisa_ElementalBurst_Hit", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Lisa_ElementalBurst_BS", + "abilityName": "Avatar_Lisa_ElementalBurst_BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Lisa_Spine_Loop", + "abilityName": "Avatar_Lisa_Spine_Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Lisa_VO_Emotion_Lisa_Strange_01", + "abilityName": "Avatar_Lisa_VO_Emotion_Lisa_Strange_01", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Lisa_VO_Emotion_Lisa_Wu_03", + "abilityName": "Avatar_Lisa_VO_Emotion_Lisa_Wu_03", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Lisa_VO_Emotion_Lisa_Deny_01", + "abilityName": "Avatar_Lisa_VO_Emotion_Lisa_Deny_01", + "abilityOverride": "" + } + ] +} \ No newline at end of file diff --git a/data/json/avatar/ConfigAvatar_Liuyun.json b/data/json/avatar/ConfigAvatar_Liuyun.json new file mode 100644 index 0000000..aeeff60 --- /dev/null +++ b/data/json/avatar/ConfigAvatar_Liuyun.json @@ -0,0 +1,129 @@ +{ + "abilities": [ + { + "abilityID": "Avatar_Liuyun_ExtraAttack", + "abilityName": "Avatar_Liuyun_ExtraAttack", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Liuyun_ExtraAttack_Bullet", + "abilityName": "Avatar_Liuyun_ExtraAttack_Bullet", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Liuyun_Attack01", + "abilityName": "Avatar_Liuyun_Attack01", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Liuyun_NormalAttack_Bullet_01", + "abilityName": "Avatar_Liuyun_NormalAttack_Bullet_01", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Liuyun_Attack02", + "abilityName": "Avatar_Liuyun_Attack02", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Liuyun_NormalAttack_Bullet_02", + "abilityName": "Avatar_Liuyun_NormalAttack_Bullet_02", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Liuyun_Attack03", + "abilityName": "Avatar_Liuyun_Attack03", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Liuyun_NormalAttack_Bullet_03", + "abilityName": "Avatar_Liuyun_NormalAttack_Bullet_03", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Liuyun_Attack04", + "abilityName": "Avatar_Liuyun_Attack04", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Liuyun_NormalAttack_Bullet_04", + "abilityName": "Avatar_Liuyun_NormalAttack_Bullet_04", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Liuyun_ElementalArt", + "abilityName": "Avatar_Liuyun_ElementalArt", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Liuyun_ElementalArt_CameraControl", + "abilityName": "Avatar_Liuyun_ElementalArt_CameraControl", + "abilityOverride": "" + }, + { + "abilityID": "Liuyun_ElementalArt_Move_Collider", + "abilityName": "Liuyun_ElementalArt_Move_Collider", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Liuyun_ElementalArt_ExtraFallingAttack", + "abilityName": "Avatar_Liuyun_ElementalArt_ExtraFallingAttack", + "abilityOverride": "" + }, + { + "abilityID": "Liuyun_ElementalArt_Crane_Collider", + "abilityName": "Liuyun_ElementalArt_Crane_Collider", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Liuyun_ElementBurst", + "abilityName": "Avatar_Liuyun_ElementBurst", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Liuyun_ElementBurst_Drone", + "abilityName": "Avatar_Liuyun_ElementBurst_Drone", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Liuyun_ElementBurst_HealHandler", + "abilityName": "Avatar_Liuyun_ElementBurst_HealHandler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Liuyun_FallingAnthem", + "abilityName": "Avatar_Liuyun_FallingAnthem", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Liuyun_PermanentSkill_1", + "abilityName": "Avatar_Liuyun_PermanentSkill_1", + "abilityOverride": "" + }, + { + "abilityID": "Liuyun_ElementalArt_WindHole", + "abilityName": "Liuyun_ElementalArt_WindHole", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Liuyun_Constellation_2", + "abilityName": "Avatar_Liuyun_Constellation_2", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Liuyun_Constellation_4", + "abilityName": "Avatar_Liuyun_Constellation_4", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Liuyun_Constellation_6", + "abilityName": "Avatar_Liuyun_Constellation_6", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Liuyun_PermanentSkill_3", + "abilityName": "Avatar_Liuyun_PermanentSkill_3", + "abilityOverride": "" + } + ] +} \ No newline at end of file diff --git a/data/json/avatar/ConfigAvatar_Mika.json b/data/json/avatar/ConfigAvatar_Mika.json new file mode 100644 index 0000000..7c2b399 --- /dev/null +++ b/data/json/avatar/ConfigAvatar_Mika.json @@ -0,0 +1,254 @@ +{ + "abilities": [ + { + "abilityID": "Avatar_Mika_ExtraAttack", + "abilityName": "Avatar_Mika_ExtraAttack", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Mika_ExtraAttack_CreateBullet", + "abilityName": "Avatar_Mika_ExtraAttack_CreateBullet", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Mika_ExtraAttack_Bullet", + "abilityName": "Avatar_Mika_ExtraAttack_Bullet", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Mika_ElementalArt", + "abilityName": "Avatar_Mika_ElementalArt", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Mika_ElementalArt_Buff_Controller", + "abilityName": "Avatar_Mika_ElementalArt_Buff_Controller", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Mika_Attack_Speed_Up", + "abilityName": "Avatar_Mika_Attack_Speed_Up", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Mika_ElementalArt_Buff_Team_Ratio", + "abilityName": "Avatar_Mika_ElementalArt_Buff_Team_Ratio", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Mika_Attack_Speed_Up_Sub_Controller", + "abilityName": "Avatar_Mika_Attack_Speed_Up_Sub_Controller", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Mika_ElementalArt_Buff_Mark", + "abilityName": "Avatar_Mika_ElementalArt_Buff_Mark", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Mika_C6_Sub_LocalAvatar", + "abilityName": "Avatar_Mika_C6_Sub_LocalAvatar", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Mika_Attack_Speed_Up_Sub_1", + "abilityName": "Avatar_Mika_Attack_Speed_Up_Sub_1", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Mika_Attack_Speed_Up_Sub_2", + "abilityName": "Avatar_Mika_Attack_Speed_Up_Sub_2", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Mika_Attack_Speed_Up_Sub_3", + "abilityName": "Avatar_Mika_Attack_Speed_Up_Sub_3", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Mika_Attack_Speed_Up_Sub_4", + "abilityName": "Avatar_Mika_Attack_Speed_Up_Sub_4", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Mika_Attack_Speed_Up_Sub_5", + "abilityName": "Avatar_Mika_Attack_Speed_Up_Sub_5", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Mika_P2_Mark", + "abilityName": "Avatar_Mika_P2_Mark", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Mika_Buff_Eff_Trigger_Mode", + "abilityName": "Avatar_Mika_Buff_Eff_Trigger_Mode", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Mika_Sub_Buff_GV_AddOne", + "abilityName": "Avatar_Mika_Sub_Buff_GV_AddOne", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Mika_Attack_Speed_Up_Sub_1_LocalAvatar", + "abilityName": "Avatar_Mika_Attack_Speed_Up_Sub_1_LocalAvatar", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Mika_Attack_Speed_Up_Sub_2_LocalAvatar", + "abilityName": "Avatar_Mika_Attack_Speed_Up_Sub_2_LocalAvatar", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Mika_Attack_Speed_Up_Sub_3_LocalAvatar", + "abilityName": "Avatar_Mika_Attack_Speed_Up_Sub_3_LocalAvatar", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Mika_Attack_Speed_Up_Sub_4_LocalAvatar", + "abilityName": "Avatar_Mika_Attack_Speed_Up_Sub_4_LocalAvatar", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Mika_Attack_Speed_Up_Sub_5_LocalAvatar", + "abilityName": "Avatar_Mika_Attack_Speed_Up_Sub_5_LocalAvatar", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Mika_C6_Sub_1_LocalAvatar", + "abilityName": "Avatar_Mika_C6_Sub_1_LocalAvatar", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Mika_C6_Sub_2_LocalAvatar", + "abilityName": "Avatar_Mika_C6_Sub_2_LocalAvatar", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Mika_C6_Sub_3_LocalAvatar", + "abilityName": "Avatar_Mika_C6_Sub_3_LocalAvatar", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Mika_C6_Sub_4_LocalAvatar", + "abilityName": "Avatar_Mika_C6_Sub_4_LocalAvatar", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Mika_C6_Sub_5_LocalAvatar", + "abilityName": "Avatar_Mika_C6_Sub_5_LocalAvatar", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Mika_Sub_Buff_Trigger_Eff_Mode_1", + "abilityName": "Avatar_Mika_Sub_Buff_Trigger_Eff_Mode_1", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Mika_Buff_Eff_Trigger_Mode_In_1", + "abilityName": "Avatar_Mika_Buff_Eff_Trigger_Mode_In_1", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Mika_Buff_Eff_Trigger_Mode_In_2", + "abilityName": "Avatar_Mika_Buff_Eff_Trigger_Mode_In_2", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Mika_Sub_Buff_Trigger_Eff", + "abilityName": "Avatar_Mika_Sub_Buff_Trigger_Eff", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Mika_Sub_Buff_Trigger_Eff_Mode_2", + "abilityName": "Avatar_Mika_Sub_Buff_Trigger_Eff_Mode_2", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Mika_ElementalArt_NoChargeShoot", + "abilityName": "Avatar_Mika_ElementalArt_NoChargeShoot", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Mika_ElementalArt_Buff_Controller_", + "abilityName": "Avatar_Mika_ElementalArt_Buff_Controller_", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Mika_ElementalArt_Sub_Bullet_Launch", + "abilityName": "Avatar_Mika_ElementalArt_Sub_Bullet_Launch", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Mika_ElementalArt_ChargeShoot", + "abilityName": "Avatar_Mika_ElementalArt_ChargeShoot", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Mika_Aim_Mixin", + "abilityName": "Avatar_Mika_Aim_Mixin", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Mika_RayCast_CloseFx", + "abilityName": "Avatar_Mika_RayCast_CloseFx", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Mika_EArt_Has_Target_Mark", + "abilityName": "Avatar_Mika_EArt_Has_Target_Mark", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Mika_ElementBurst", + "abilityName": "Avatar_Mika_ElementBurst", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Mika_C4_Stack", + "abilityName": "Avatar_Mika_C4_Stack", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Mika_Burst_Energy_Revive", + "abilityName": "Avatar_Mika_Burst_Energy_Revive", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Mika_FallingAnthem", + "abilityName": "Avatar_Mika_FallingAnthem", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Mika_Attack_DamageHandler", + "abilityName": "Avatar_Mika_Attack_DamageHandler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Mika_Radar_Collectables_Mengde", + "abilityName": "Avatar_Mika_Radar_Collectables_Mengde", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Mika", + "abilityName": "Avatar_Mika", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Mika_TeamConfig_01BS", + "abilityName": "Avatar_Mika_TeamConfig_01BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Mika_TeamConfig_01Loop", + "abilityName": "Avatar_Mika_TeamConfig_01Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Mika_TeamConfig_01AS", + "abilityName": "Avatar_Mika_TeamConfig_01AS", + "abilityOverride": "" + } + ] +} \ No newline at end of file diff --git a/data/json/avatar/ConfigAvatar_Momoka.json b/data/json/avatar/ConfigAvatar_Momoka.json new file mode 100644 index 0000000..0d80fc3 --- /dev/null +++ b/data/json/avatar/ConfigAvatar_Momoka.json @@ -0,0 +1,134 @@ +{ + "abilities": [ + { + "abilityID": "Avatar_Momoka_ExtraAttack", + "abilityName": "Avatar_Momoka_ExtraAttack", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Momoka_ElementalArt_Check", + "abilityName": "Avatar_Momoka_ElementalArt_Check", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Momoka_ElementalArt_Click", + "abilityName": "Avatar_Momoka_ElementalArt_Click", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Momoka_ElementalArt_DropBall_Handler", + "abilityName": "Avatar_Momoka_ElementalArt_DropBall_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Momoka_AddShieldMode", + "abilityName": "Avatar_Momoka_AddShieldMode", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Momoka_ElementalArt_Hold", + "abilityName": "Avatar_Momoka_ElementalArt_Hold", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Momoka_ElementalArt_Inactive_Detect", + "abilityName": "Avatar_Momoka_ElementalArt_Inactive_Detect", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Momoka_ElementalArt_onReconnect", + "abilityName": "Avatar_Momoka_ElementalArt_onReconnect", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Momoka_HasTeamShield", + "abilityName": "Avatar_Momoka_HasTeamShield", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Momoka_Constellation_AddAttack", + "abilityName": "Avatar_Momoka_Constellation_AddAttack", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Momoka_ElementalArt_Charge_Strike", + "abilityName": "Avatar_Momoka_ElementalArt_Charge_Strike", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Momoka_ElementalBurst", + "abilityName": "Avatar_Momoka_ElementalBurst", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Momoka_ElementalBurst_ExpressDamage", + "abilityName": "Avatar_Momoka_ElementalBurst_ExpressDamage", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Momoka_NormalAttack_DamageHandler", + "abilityName": "Avatar_Momoka_NormalAttack_DamageHandler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Momoka_FallingAnthem", + "abilityName": "Avatar_Momoka_FallingAnthem", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Momoka_PermanentSkill_2", + "abilityName": "Avatar_Momoka_PermanentSkill_2", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Momoka_PermanentSkill_2_Handler", + "abilityName": "Avatar_Momoka_PermanentSkill_2_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Momoka_Constellation_6", + "abilityName": "Avatar_Momoka_Constellation_6", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Momoka_Constellation_6_ElemDamageUp_Effect", + "abilityName": "Avatar_Momoka_Constellation_6_ElemDamageUp_Effect", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Momoka_Constellation_AddAttack_CDHandler", + "abilityName": "Avatar_Momoka_Constellation_AddAttack_CDHandler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Momoka_Constellation_AddAttack_Effect", + "abilityName": "Avatar_Momoka_Constellation_AddAttack_Effect", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Momoka_PermanentSkill_3", + "abilityName": "Avatar_Momoka_PermanentSkill_3", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Momoka", + "abilityName": "Avatar_Momoka", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Momoka_TeamConfig_01BS", + "abilityName": "Avatar_Momoka_TeamConfig_01BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Momoka_TeamConfig_01Loop", + "abilityName": "Avatar_Momoka_TeamConfig_01Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Momoka_TeamConfig_01AS", + "abilityName": "Avatar_Momoka_TeamConfig_01AS", + "abilityOverride": "" + } + ] +} \ No newline at end of file diff --git a/data/json/avatar/ConfigAvatar_Mona.json b/data/json/avatar/ConfigAvatar_Mona.json new file mode 100644 index 0000000..bc1c3ec --- /dev/null +++ b/data/json/avatar/ConfigAvatar_Mona.json @@ -0,0 +1,169 @@ +{ + "abilities": [ + { + "abilityID": "Avatar_Mona_Liquid_TriggerAbility", + "abilityName": "Avatar_Mona_Liquid_TriggerAbility", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Mona_LiquidStrike", + "abilityName": "Avatar_Mona_LiquidStrike", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Mona_EndLiquidStrike", + "abilityName": "Avatar_Mona_EndLiquidStrike", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Mona_ExtraAttack", + "abilityName": "Avatar_Mona_ExtraAttack", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Mona_ExtraAttack_FX", + "abilityName": "Avatar_Mona_ExtraAttack_FX", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Mona_ExtraAttack_Damage", + "abilityName": "Avatar_Mona_ExtraAttack_Damage", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Mona_NormalAttack_01", + "abilityName": "Avatar_Mona_NormalAttack_01", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Mona_NormalAttack_02", + "abilityName": "Avatar_Mona_NormalAttack_02", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Mona_NormalAttack_03_BS", + "abilityName": "Avatar_Mona_NormalAttack_03_BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Mona_NormalAttack_03_Blink", + "abilityName": "Avatar_Mona_NormalAttack_03_Blink", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Mona_NormalAttack_03", + "abilityName": "Avatar_Mona_NormalAttack_03", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Mona_NormalAttack_04", + "abilityName": "Avatar_Mona_NormalAttack_04", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Mona_NormalAttack_04_Hit", + "abilityName": "Avatar_Mona_NormalAttack_04_Hit", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Mona_Phantom_BS", + "abilityName": "Avatar_Mona_Phantom_BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Mona_Phantom_Blink_BS", + "abilityName": "Avatar_Mona_Phantom_Blink_BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Mona_Phantom", + "abilityName": "Avatar_Mona_Phantom", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Mona_Phantom_Blink", + "abilityName": "Avatar_Mona_Phantom_Blink", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Mona_Phantom_Blink_SetVisible", + "abilityName": "Avatar_Mona_Phantom_Blink_SetVisible", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_MonaGadgetSkill_Phantom", + "abilityName": "Avatar_MonaGadgetSkill_Phantom", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_MonaGadgetSkill_PhantomLastAttack", + "abilityName": "Avatar_MonaGadgetSkill_PhantomLastAttack", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Mona_StarChart_Camera", + "abilityName": "Avatar_Mona_StarChart_Camera", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Mona_StarChart", + "abilityName": "Avatar_Mona_StarChart", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Mona_FallingAnthem", + "abilityName": "Avatar_Mona_FallingAnthem", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Mona", + "abilityName": "Avatar_Mona", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Mona_TeamConfig_01BS", + "abilityName": "Avatar_Mona_TeamConfig_01BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Mona_TeamConfig_01Loop", + "abilityName": "Avatar_Mona_TeamConfig_01Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Mona_TeamConfig_01AS", + "abilityName": "Avatar_Mona_TeamConfig_01AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Mona_elementalBurst_BS_Normal", + "abilityName": "Avatar_Mona_elementalBurst_BS_Normal", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Mona_ElementalBurst_Spine", + "abilityName": "Avatar_Mona_ElementalBurst_Spine", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Mona_ElementalBurst_Hit", + "abilityName": "Avatar_Mona_ElementalBurst_Hit", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Mona_ElementalBurst_BS", + "abilityName": "Avatar_Mona_ElementalBurst_BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Mona_Spine_Loop", + "abilityName": "Avatar_Mona_Spine_Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Mona_StarChart1AS_Mona_StarChart_RemovedDamage_HurtUp_DamageRate", + "abilityName": "Avatar_Mona_StarChart1AS_Mona_StarChart_RemovedDamage_HurtUp_DamageRate", + "abilityOverride": "" + } + ] +} \ No newline at end of file diff --git a/data/json/avatar/ConfigAvatar_Mualani.json b/data/json/avatar/ConfigAvatar_Mualani.json new file mode 100644 index 0000000..c2e0708 --- /dev/null +++ b/data/json/avatar/ConfigAvatar_Mualani.json @@ -0,0 +1,94 @@ +{ + "abilities": [ + { + "abilityID": "", + "abilityName": "Avatar_Mualani_ExtraAttack_Launch", + "abilityOverride": "" + }, + { + "abilityID": "", + "abilityName": "Avatar_Mualani_Attack01", + "abilityOverride": "" + }, + { + "abilityID": "", + "abilityName": "Avatar_Mualani_Attack02", + "abilityOverride": "" + }, + { + "abilityID": "", + "abilityName": "Avatar_Mualani_Attack03", + "abilityOverride": "" + }, + { + "abilityID": "", + "abilityName": "Avatar_Mualani_ExtraAttack", + "abilityOverride": "" + }, + { + "abilityID": "", + "abilityName": "Avatar_Mualani_Gadgets_Misc_Handler", + "abilityOverride": "" + }, + { + "abilityID": "", + "abilityName": "Avatar_Mualani_NyxSwitch", + "abilityOverride": "" + }, + { + "abilityID": "", + "abilityName": "Avatar_Mualani_ElementalArt_Launch", + "abilityOverride": "" + }, + { + "abilityID": "", + "abilityName": "Avatar_Mualani_ElementalArt_Combat", + "abilityOverride": "" + }, + { + "abilityID": "", + "abilityName": "Avatar_Mualani_ElementalArt_Surfing", + "abilityOverride": "" + }, + { + "abilityID": "", + "abilityName": "Avatar_Mualani_ElementalArt_Surfing_Dash", + "abilityOverride": "" + }, + { + "abilityID": "", + "abilityName": "Avatar_Mualani_ElementalArt_Exit", + "abilityOverride": "" + }, + { + "abilityID": "", + "abilityName": "Avatar_Mualani_ElementalArt_ArcLight", + "abilityOverride": "" + }, + { + "abilityID": "", + "abilityName": "Avatar_Mualani_ElementalBurst", + "abilityOverride": "" + }, + { + "abilityID": "", + "abilityName": "Avatar_Mualani_FallingAnthem", + "abilityOverride": "" + }, + { + "abilityID": "", + "abilityName": "Avatar_Mualani_Surfing_Attack_SelectTarget", + "abilityOverride": "" + }, + { + "abilityID": "", + "abilityName": "Avatar_Mualani_Surfing_AddSurfingCount", + "abilityOverride": "" + }, + { + "abilityID": "", + "abilityName": "Avatar_Mualani_Surfing_DropFugu", + "abilityOverride": "" + } + ] +} diff --git a/data/json/avatar/ConfigAvatar_Nahida.json b/data/json/avatar/ConfigAvatar_Nahida.json new file mode 100644 index 0000000..152598a --- /dev/null +++ b/data/json/avatar/ConfigAvatar_Nahida.json @@ -0,0 +1,454 @@ +{ + "abilities": [ + { + "abilityID": "Avatar_Nahida_ExtraAttack", + "abilityName": "Avatar_Nahida_ExtraAttack", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nahida_ExtraAttack_BS_Check", + "abilityName": "Avatar_Nahida_ExtraAttack_BS_Check", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nahida_ExtraAttack_Damage", + "abilityName": "Avatar_Nahida_ExtraAttack_Damage", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nahida_ExtraAttack_Hand_FX", + "abilityName": "Avatar_Nahida_ExtraAttack_Hand_FX", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nahida_ExtraAttack_Block_FXy", + "abilityName": "Avatar_Nahida_ExtraAttack_Block_FXy", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nahida_ExtraAttack_Initialize", + "abilityName": "Avatar_Nahida_ExtraAttack_Initialize", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nahida_ExtraAttack_Block_FX", + "abilityName": "Avatar_Nahida_ExtraAttack_Block_FX", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nahida_ExtraAttack_Gadget", + "abilityName": "Avatar_Nahida_ExtraAttack_Gadget", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nahida_ExtraAttack_Delay_Damage", + "abilityName": "Avatar_Nahida_ExtraAttack_Delay_Damage", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nahida_Attack01", + "abilityName": "Avatar_Nahida_Attack01", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nahida_Block_Die_01", + "abilityName": "Avatar_Nahida_Block_Die_01", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nahida_Attack02", + "abilityName": "Avatar_Nahida_Attack02", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nahida_Block_Die_02D", + "abilityName": "Avatar_Nahida_Block_Die_02D", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nahida_Block_Die_02", + "abilityName": "Avatar_Nahida_Block_Die_02", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nahida_Attack03", + "abilityName": "Avatar_Nahida_Attack03", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nahida_Block_Die_03", + "abilityName": "Avatar_Nahida_Block_Die_03", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nahida_Attack04", + "abilityName": "Avatar_Nahida_Attack04", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nahida_ElementalArt", + "abilityName": "Avatar_Nahida_ElementalArt", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nahida_ElementalArt_HairEmission", + "abilityName": "Avatar_Nahida_ElementalArt_HairEmission", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nahida_ElementalArt_HairEmission_Remover", + "abilityName": "Avatar_Nahida_ElementalArt_HairEmission_Remover", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nahida_ElementalArt_Tag_Handler", + "abilityName": "Avatar_Nahida_ElementalArt_Tag_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nahida_RayTag_OnMonster", + "abilityName": "Avatar_Nahida_RayTag_OnMonster", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nahida_ElementalArt_Tag_ClearTimer", + "abilityName": "Avatar_Nahida_ElementalArt_Tag_ClearTimer", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nahida_ElementalArt_ChainCD_Handler", + "abilityName": "Avatar_Nahida_ElementalArt_ChainCD_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nahida_ElementalArt_DropBall_Handler", + "abilityName": "Avatar_Nahida_ElementalArt_DropBall_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nahida_ElementalArt_DropBall", + "abilityName": "Avatar_Nahida_ElementalArt_DropBall", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nahida_ElementalArt_Click", + "abilityName": "Avatar_Nahida_ElementalArt_Click", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nahida_ElementalArt_Click_Strike", + "abilityName": "Avatar_Nahida_ElementalArt_Click_Strike", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nahida_ElementalArt_Click_Effect", + "abilityName": "Avatar_Nahida_ElementalArt_Click_Effect", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nahida_ElementalArt_RayCast", + "abilityName": "Avatar_Nahida_ElementalArt_RayCast", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nahida_RayCast_Trigger", + "abilityName": "Avatar_Nahida_RayCast_Trigger", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nahida_RayCast_CloseFx", + "abilityName": "Avatar_Nahida_RayCast_CloseFx", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nahida_RayCast_Handler", + "abilityName": "Avatar_Nahida_RayCast_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nahida_RayCast_Camera_Fx", + "abilityName": "Avatar_Nahida_RayCast_Camera_Fx", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nahida_RayCast_HitBoxOffset", + "abilityName": "Avatar_Nahida_RayCast_HitBoxOffset", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nahida_RayCast_Bomb_OnMonster_Fx", + "abilityName": "Avatar_Nahida_RayCast_Bomb_OnMonster_Fx", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nahida_RayCast_Bomb_OnMonster_Damage", + "abilityName": "Avatar_Nahida_RayCast_Bomb_OnMonster_Damage", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nahida_ElementalArt_ScreenEffect", + "abilityName": "Avatar_Nahida_ElementalArt_ScreenEffect", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nahida_Reconnect_Handler", + "abilityName": "Avatar_Nahida_Reconnect_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nahida_RayCast_Camera_Fx_OnTeam", + "abilityName": "Avatar_Nahida_RayCast_Camera_Fx_OnTeam", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nahida_ElementalBurst", + "abilityName": "Avatar_Nahida_ElementalBurst", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nahida_ElementalBurst_Initialize", + "abilityName": "Avatar_Nahida_ElementalBurst_Initialize", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nahida_ElementalBurst_EmotionControl", + "abilityName": "Avatar_Nahida_ElementalBurst_EmotionControl", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nahida_ElementalBurst_Camera_Effect", + "abilityName": "Avatar_Nahida_ElementalBurst_Camera_Effect", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nahida_ElementalBurst_Camera_Handler", + "abilityName": "Avatar_Nahida_ElementalBurst_Camera_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nahida_ElementalBurst_Camera_PushTarget333", + "abilityName": "Avatar_Nahida_ElementalBurst_Camera_PushTarget333", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nahida_ElementalBurst_Invincible", + "abilityName": "Avatar_Nahida_ElementalBurst_Invincible", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nahida_ElementalBurst_WeatherChange", + "abilityName": "Avatar_Nahida_ElementalBurst_WeatherChange", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nahida_ElementalBurst_CreateHollow", + "abilityName": "Avatar_Nahida_ElementalBurst_CreateHollow", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nahida_ElementalBurst_Camera_DungeonEffect", + "abilityName": "Avatar_Nahida_ElementalBurst_Camera_DungeonEffect", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nahida_ElementalBurst_Camera_PushTarget", + "abilityName": "Avatar_Nahida_ElementalBurst_Camera_PushTarget", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nahida_ElementalBurst_CheckAvatarElement", + "abilityName": "Avatar_Nahida_ElementalBurst_CheckAvatarElement", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nahida_ElementalBurst_GVinitialize", + "abilityName": "Avatar_Nahida_ElementalBurst_GVinitialize", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nahida_ElementalBurst_Hollow_Gadget", + "abilityName": "Avatar_Nahida_ElementalBurst_Hollow_Gadget", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nahida_ElementalBurst_Hollow_TeamFormula", + "abilityName": "Avatar_Nahida_ElementalBurst_Hollow_TeamFormula", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nahida_ElementalBurst_Hollow_Fx", + "abilityName": "Avatar_Nahida_ElementalBurst_Hollow_Fx", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nahida_ElementalBurst_Hollow_LifeTimer", + "abilityName": "Avatar_Nahida_ElementalBurst_Hollow_LifeTimer", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nahida_ElementalBurst_CheckInHollowh", + "abilityName": "Avatar_Nahida_ElementalBurst_CheckInHollowh", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nahida_ElementalBurst_CheckInHollow", + "abilityName": "Avatar_Nahida_ElementalBurst_CheckInHollow", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nahida_ElementalBurst_Hollow_InDistance_Keeper5UNIQUE_Nahida_ElementalBurst_Hollow_InDistance_OnTeam", + "abilityName": "Avatar_Nahida_ElementalBurst_Hollow_InDistance_Keeper5UNIQUE_Nahida_ElementalBurst_Hollow_InDistance_OnTeam", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nahida_ElementalBurst_Hollow_InDistance_Keeper", + "abilityName": "Avatar_Nahida_ElementalBurst_Hollow_InDistance_Keeper", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nahida_ElementalBurst_HairEmission", + "abilityName": "Avatar_Nahida_ElementalBurst_HairEmission", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nahida_FallingAnthem", + "abilityName": "Avatar_Nahida_FallingAnthem", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nahida_PermanentSkill_1", + "abilityName": "Avatar_Nahida_PermanentSkill_1", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nahida_PermanentSkill_2", + "abilityName": "Avatar_Nahida_PermanentSkill_2", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nahida_PermanentSkill_EnhanceChainDamage", + "abilityName": "Avatar_Nahida_PermanentSkill_EnhanceChainDamage", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nahida_Constellation_6", + "abilityName": "Avatar_Nahida_Constellation_6", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nahida_Constellation_6_AttackState", + "abilityName": "Avatar_Nahida_Constellation_6_AttackState", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nahida_Constellation_6_Trigger", + "abilityName": "Avatar_Nahida_Constellation_6_Trigger", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nahida_Constellation_6_Fx", + "abilityName": "Avatar_Nahida_Constellation_6_Fx", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nahida_Constellation_6_Timer", + "abilityName": "Avatar_Nahida_Constellation_6_Timer", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nahida_Constellation_6_ReduceNum", + "abilityName": "Avatar_Nahida_Constellation_6_ReduceNum", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nahida_RayCast_Quest_Gadget_Call", + "abilityName": "Avatar_Nahida_RayCast_Quest_Gadget_Call", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nahida", + "abilityName": "Avatar_Nahida", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nahida_Skill_ElementalArt_BS", + "abilityName": "Avatar_Nahida_Skill_ElementalArt_BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nahida_Skill_ElementalArt_Click", + "abilityName": "Avatar_Nahida_Skill_ElementalArt_Click", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nahida_Skill_ElementalArt_Click_AS", + "abilityName": "Avatar_Nahida_Skill_ElementalArt_Click_AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nahida_Skill_ElementalArt_Move", + "abilityName": "Avatar_Nahida_Skill_ElementalArt_Move", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nahida_Skill_ElementalArt_Loop", + "abilityName": "Avatar_Nahida_Skill_ElementalArt_Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nahida_Skill_ElementalArt_Hold", + "abilityName": "Avatar_Nahida_Skill_ElementalArt_Hold", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nahida_Skill_ElementalArt_Hold_AS", + "abilityName": "Avatar_Nahida_Skill_ElementalArt_Hold_AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nahida_TeamConfig_01BS", + "abilityName": "Avatar_Nahida_TeamConfig_01BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nahida_TeamConfig_01Loop", + "abilityName": "Avatar_Nahida_TeamConfig_01Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nahida_TeamConfig_01AS", + "abilityName": "Avatar_Nahida_TeamConfig_01AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nahida_ElementalBurst_Spine", + "abilityName": "Avatar_Nahida_ElementalBurst_Spine", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nahida_ElementalBurst_BS", + "abilityName": "Avatar_Nahida_ElementalBurst_BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nahida_ElementalBurst_Hit", + "abilityName": "Avatar_Nahida_ElementalBurst_Hit", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nahida_ElementArt_Buff", + "abilityName": "Avatar_Nahida_ElementArt_Buff", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nahida_Spine_Loop", + "abilityName": "Avatar_Nahida_Spine_Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nahida_Spine", + "abilityName": "Avatar_Nahida_Spine", + "abilityOverride": "" + } + ] +} \ No newline at end of file diff --git a/data/json/avatar/ConfigAvatar_Navia.json b/data/json/avatar/ConfigAvatar_Navia.json new file mode 100644 index 0000000..242001e --- /dev/null +++ b/data/json/avatar/ConfigAvatar_Navia.json @@ -0,0 +1,94 @@ +{ + "abilities": [ + { + "abilityID": "Avatar_Navia_ExtraAttack", + "abilityName": "Avatar_Navia_ExtraAttack", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Navia_Attack_3_Create_Gadget", + "abilityName": "Avatar_Navia_Attack_3_Create_Gadget", + "abilityOverride": "" + }, + { + "abilityID": "Navia_NormalAttack_3_Claymore", + "abilityName": "Navia_NormalAttack_3_Claymore", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Navia_WeaponHide_Driver", + "abilityName": "Avatar_Navia_WeaponHide_Driver", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Navia_Crystal_Seed_Get_Controller", + "abilityName": "Avatar_Navia_Crystal_Seed_Get_Controller", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Navia_ElementalArt", + "abilityName": "Avatar_Navia_ElementalArt", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Navia_ElementalArt_Pneuma", + "abilityName": "Avatar_Navia_ElementalArt_Pneuma", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Navia_ElementalArt_ShotGun_Bullet", + "abilityName": "Avatar_Navia_ElementalArt_ShotGun_Bullet", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Navia_ElementalBurst", + "abilityName": "Avatar_Navia_ElementalBurst", + "abilityOverride": "" + }, + { + "abilityID": "Navia_Burst_Bullet_Upon", + "abilityName": "Navia_Burst_Bullet_Upon", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Navia_NormalAttackDamage", + "abilityName": "Avatar_Navia_NormalAttackDamage", + "abilityOverride": "" + }, + { + "abilityID": "Navia_PermanentSkill_2_Driver", + "abilityName": "Navia_PermanentSkill_2_Driver", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Navia_PermanentSkill_1", + "abilityName": "Avatar_Navia_PermanentSkill_1", + "abilityOverride": "" + }, + { + "abilityID": "Navia_Talent_1_Driver", + "abilityName": "Navia_Talent_1_Driver", + "abilityOverride": "" + }, + { + "abilityID": "Navia_Talent_2_Driver", + "abilityName": "Navia_Talent_2_Driver", + "abilityOverride": "" + }, + { + "abilityID": "Navia_Talent_4_Driver", + "abilityName": "Navia_Talent_4_Driver", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Navia_FallingAnthem", + "abilityName": "Avatar_Navia_FallingAnthem", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Navia_Show_WindZone", + "abilityName": "Avatar_Navia_Show_WindZone", + "abilityOverride": "" + } + ] +} \ No newline at end of file diff --git a/data/json/avatar/ConfigAvatar_Neuvillette.json b/data/json/avatar/ConfigAvatar_Neuvillette.json new file mode 100644 index 0000000..4955378 --- /dev/null +++ b/data/json/avatar/ConfigAvatar_Neuvillette.json @@ -0,0 +1,504 @@ +{ + "abilities": [ + { + "abilityID": "Avatar_Neuvillette_Attack01", + "abilityName": "Avatar_Neuvillette_Attack01", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Neuvillette_Attack02", + "abilityName": "Avatar_Neuvillette_Attack02", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Neuvillette_Attack03", + "abilityName": "Avatar_Neuvillette_Attack03", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Neuvillette_Stick_Handler", + "abilityName": "Avatar_Neuvillette_Stick_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Neuvillette_ExtraAttack_StickRemover", + "abilityName": "Avatar_Neuvillette_ExtraAttack_StickRemover", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Neuvillette_ExtraAttack", + "abilityName": "Avatar_Neuvillette_ExtraAttack", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Neuvillette_ExtraAttack_Levitate", + "abilityName": "Avatar_Neuvillette_ExtraAttack_Levitate", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Neuvillette_Levitate_HitBoxOffset", + "abilityName": "Avatar_Neuvillette_Levitate_HitBoxOffset", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Neuvillette_ExtraAttack_CountFx", + "abilityName": "Avatar_Neuvillette_ExtraAttack_CountFx", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Neuvillette_ExtraAttack_Absorb", + "abilityName": "Avatar_Neuvillette_ExtraAttack_Absorb", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Neuvillette_ExtraAttack_Attack", + "abilityName": "Avatar_Neuvillette_ExtraAttack_Attack", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Neuvillette_ExtraAttack_Attack_StateMark", + "abilityName": "Avatar_Neuvillette_ExtraAttack_Attack_StateMark", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Neuvillette_ExtraAttack_Attack_UnreadyF", + "abilityName": "Avatar_Neuvillette_ExtraAttack_Attack_UnreadyF", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Neuvillette_ExtraAttack_Charge_Handler", + "abilityName": "Avatar_Neuvillette_ExtraAttack_Charge_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Neuvillette_ExtraAttack_Trans_CameraShake", + "abilityName": "Avatar_Neuvillette_ExtraAttack_Trans_CameraShake", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Neuvillette_ExtraAttack_Wing_FxFadeR", + "abilityName": "Avatar_Neuvillette_ExtraAttack_Wing_FxFadeR", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Neuvillette_ExtraAttack_Wing_FxFade", + "abilityName": "Avatar_Neuvillette_ExtraAttack_Wing_FxFade", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Neuvillette_ExtraAttack_ScreenEffect", + "abilityName": "Avatar_Neuvillette_ExtraAttack_ScreenEffect", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Neuvillette_ElementalBurst_WeatherChange", + "abilityName": "Avatar_Neuvillette_ElementalBurst_WeatherChange", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Neuvillette_ExtraAttack_Attack_Unready", + "abilityName": "Avatar_Neuvillette_ExtraAttack_Attack_Unready", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Neuvillette_Core_Handler", + "abilityName": "Avatar_Neuvillette_Core_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Neuvillette_AddCore", + "abilityName": "Avatar_Neuvillette_AddCore", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Neuvillette_CostCore", + "abilityName": "Avatar_Neuvillette_CostCore", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Neuvillette_AddCore_DelayTimer", + "abilityName": "Avatar_Neuvillette_AddCore_DelayTimer", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Neuvillette_AddCore_DelayTimer7", + "abilityName": "Avatar_Neuvillette_AddCore_DelayTimer7", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Neuvillette_FullAttack_Delay", + "abilityName": "Avatar_Neuvillette_FullAttack_Delay", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Neuvillette_ExtraAttack_Absorb_Gadget", + "abilityName": "Avatar_Neuvillette_ExtraAttack_Absorb_Gadget", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Neuvillette_Core_GadgetJ", + "abilityName": "Avatar_Neuvillette_Core_GadgetJ", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Neuvillette_ExtraAttack_Attack_Gadget", + "abilityName": "Avatar_Neuvillette_ExtraAttack_Attack_Gadget", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Neuvillette_ExtraAttack_Camera_Shake", + "abilityName": "Avatar_Neuvillette_ExtraAttack_Camera_Shake", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Neuvillette_ExtraAttack_StateCheck", + "abilityName": "Avatar_Neuvillette_ExtraAttack_StateCheck", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Neuvillette_ExtraAttack_Wing_FxFadeM", + "abilityName": "Avatar_Neuvillette_ExtraAttack_Wing_FxFadeM", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Neuvillette_ExtraAttack_LoseHp", + "abilityName": "Avatar_Neuvillette_ExtraAttack_LoseHp", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Neuvillette_ExtraAttack_Buff_Handler", + "abilityName": "Avatar_Neuvillette_ExtraAttack_Buff_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Neuvillette_ExtraAttack_StateCheckM", + "abilityName": "Avatar_Neuvillette_ExtraAttack_StateCheckM", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Neuvillette_Core_Gadget", + "abilityName": "Avatar_Neuvillette_Core_Gadget", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Neuvillette_Core_Gadget_Eff", + "abilityName": "Avatar_Neuvillette_Core_Gadget_Eff", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Neuvillette_Core_Fx", + "abilityName": "Avatar_Neuvillette_Core_Fx", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Neuvillette_Core_Bullet", + "abilityName": "Avatar_Neuvillette_Core_Bullet", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Neuvillette_ElementalArt", + "abilityName": "Avatar_Neuvillette_ElementalArt", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Neuvillette_ElementalArt_DropCore_Handler", + "abilityName": "Avatar_Neuvillette_ElementalArt_DropCore_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Neuvillette_ElementalArt_DropCore", + "abilityName": "Avatar_Neuvillette_ElementalArt_DropCore", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Neuvillette_ElementalArt_DropBall", + "abilityName": "Avatar_Neuvillette_ElementalArt_DropBall", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Neuvillette_ElementalArt_Camera", + "abilityName": "Avatar_Neuvillette_ElementalArt_Camera", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Neuvillette_ElementalArt_Arkhe_Handler", + "abilityName": "Avatar_Neuvillette_ElementalArt_Arkhe_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Neuvillette_ElementalArt_Arkhe_CDTimer", + "abilityName": "Avatar_Neuvillette_ElementalArt_Arkhe_CDTimer", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Neuvillette_ElementalArt_Arkhe_DelayStrike", + "abilityName": "Avatar_Neuvillette_ElementalArt_Arkhe_DelayStrike", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Neuvillette_ElementalBurst", + "abilityName": "Avatar_Neuvillette_ElementalBurst", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Neuvillette_ElementalBurst_Initialize", + "abilityName": "Avatar_Neuvillette_ElementalBurst_Initialize", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Neuvillette_ElementalBurst_EmotionControl", + "abilityName": "Avatar_Neuvillette_ElementalBurst_EmotionControl", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Neuvillette_ElementalBurst_Camera_Fx", + "abilityName": "Avatar_Neuvillette_ElementalBurst_Camera_Fx", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Neuvillette_ElementalBurst_Camera_Handler", + "abilityName": "Avatar_Neuvillette_ElementalBurst_Camera_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Neuvillette_ElementalBurst_CameraShakeB", + "abilityName": "Avatar_Neuvillette_ElementalBurst_CameraShakeB", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Neuvillette_ElementalBurst_ExitCamera", + "abilityName": "Avatar_Neuvillette_ElementalBurst_ExitCamera", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Neuvillette_ElementalBurst_Camera_PushTarget333", + "abilityName": "Avatar_Neuvillette_ElementalBurst_Camera_PushTarget333", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Neuvillette_ElementalBurst_Invincible", + "abilityName": "Avatar_Neuvillette_ElementalBurst_Invincible", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Neuvillette_ElementalBurst_Camera_FogEffect", + "abilityName": "Avatar_Neuvillette_ElementalBurst_Camera_FogEffect", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Neuvillette_ElementalBurst_ScreenEffect", + "abilityName": "Avatar_Neuvillette_ElementalBurst_ScreenEffect", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Neuvillette_ElementalBurst_Camera_PushTarget", + "abilityName": "Avatar_Neuvillette_ElementalBurst_Camera_PushTarget", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Neuvillette_ElementalBurst_CameraShake", + "abilityName": "Avatar_Neuvillette_ElementalBurst_CameraShake", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Neuvillette_ElementalBurst_Strike_Once", + "abilityName": "Avatar_Neuvillette_ElementalBurst_Strike_Once", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Neuvillette_ElementalBurst_Strike_Twice", + "abilityName": "Avatar_Neuvillette_ElementalBurst_Strike_Twice", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Neuvillette_ElementalBurst_Strike_Thrice", + "abilityName": "Avatar_Neuvillette_ElementalBurst_Strike_Thrice", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Neuvillette_ElementalBurst_WeatherChange6UNIQUE_Avatar_Neuvillette_ElementalBurst_WeatherChange", + "abilityName": "Avatar_Neuvillette_ElementalBurst_WeatherChange6UNIQUE_Avatar_Neuvillette_ElementalBurst_WeatherChange", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Neuvillette_FallingAnthem", + "abilityName": "Avatar_Neuvillette_FallingAnthem", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Neuvillette_PermanentSkill_1", + "abilityName": "Avatar_Neuvillette_PermanentSkill_1", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Neuvillette_PermanentSkill_1_BuffHandler", + "abilityName": "Avatar_Neuvillette_PermanentSkill_1_BuffHandler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Neuvillette_PermanentSkill_1_Handler", + "abilityName": "Avatar_Neuvillette_PermanentSkill_1_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Neuvillette_CheckWaterReaction_OnAvatar", + "abilityName": "Avatar_Neuvillette_CheckWaterReaction_OnAvatar", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Neuvillette_ReactionType_Streamc", + "abilityName": "Avatar_Neuvillette_ReactionType_Streamc", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Neuvillette_ReactionType_Overgrowc", + "abilityName": "Avatar_Neuvillette_ReactionType_Overgrowc", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Neuvillette_ReactionType_Freezec", + "abilityName": "Avatar_Neuvillette_ReactionType_Freezec", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Neuvillette_ReactionType_Shockc", + "abilityName": "Avatar_Neuvillette_ReactionType_Shockc", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Neuvillette_ReactionType_SwirlWaterc", + "abilityName": "Avatar_Neuvillette_ReactionType_SwirlWaterc", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Neuvillette_ReactionType_CrystallizeWater", + "abilityName": "Avatar_Neuvillette_ReactionType_CrystallizeWater", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Neuvillette_ReactionType_Stream", + "abilityName": "Avatar_Neuvillette_ReactionType_Stream", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Neuvillette_ReactionType_Overgrow", + "abilityName": "Avatar_Neuvillette_ReactionType_Overgrow", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Neuvillette_ReactionType_Freeze", + "abilityName": "Avatar_Neuvillette_ReactionType_Freeze", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Neuvillette_ReactionType_Shock", + "abilityName": "Avatar_Neuvillette_ReactionType_Shock", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Neuvillette_ReactionType_SwirlWater", + "abilityName": "Avatar_Neuvillette_ReactionType_SwirlWater", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Neuvillette_PermanentSkill_Lv1", + "abilityName": "Avatar_Neuvillette_PermanentSkill_Lv1", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Neuvillette_PermanentSkill_Lv2", + "abilityName": "Avatar_Neuvillette_PermanentSkill_Lv2", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Neuvillette_PermanentSkill_Lv3", + "abilityName": "Avatar_Neuvillette_PermanentSkill_Lv3", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Neuvillette_PermanentSkill_2", + "abilityName": "Avatar_Neuvillette_PermanentSkill_2", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Neuvillette_PermanentSkill_2_Handler", + "abilityName": "Avatar_Neuvillette_PermanentSkill_2_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Neuvillette_PermanentSkill_2_CalculatorM", + "abilityName": "Avatar_Neuvillette_PermanentSkill_2_CalculatorM", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Neuvillette_PermanentSkill_2_Buff", + "abilityName": "Avatar_Neuvillette_PermanentSkill_2_Buff", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Neuvillette_PermanentSkill_2_Calculator", + "abilityName": "Avatar_Neuvillette_PermanentSkill_2_Calculator", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Neuvillette_Constellation_6", + "abilityName": "Avatar_Neuvillette_Constellation_6", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Neuvillette_Constellation_6_Handler", + "abilityName": "Avatar_Neuvillette_Constellation_6_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Neuvillette_Constellation_6_Attack", + "abilityName": "Avatar_Neuvillette_Constellation_6_Attack", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Neuvillette_Constellation_6_Absorb", + "abilityName": "Avatar_Neuvillette_Constellation_6_Absorb", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Neuvillette_Core_HandlerD", + "abilityName": "Avatar_Neuvillette_Core_HandlerD", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Neuvillette_Constellation_6_CDTimer", + "abilityName": "Avatar_Neuvillette_Constellation_6_CDTimer", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Neuvillette_Constellation_6_Bullet", + "abilityName": "Avatar_Neuvillette_Constellation_6_Bullet", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Neuvillette_DiveDashSpeedUp", + "abilityName": "Avatar_Neuvillette_DiveDashSpeedUp", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Neuvillette", + "abilityName": "Avatar_Neuvillette", + "abilityOverride": "" + }, + { + "abilityID": "AvatarItem_Neuvillette_Stick", + "abilityName": "AvatarItem_Neuvillette_Stick", + "abilityOverride": "" + }, + { + "abilityID": "AvatarItem_Neuvillette_Stick_Nolight", + "abilityName": "AvatarItem_Neuvillette_Stick_Nolight", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Neuvillette_ExtraAttack_HitOnEnemy", + "abilityName": "Avatar_Neuvillette_ExtraAttack_HitOnEnemy", + "abilityOverride": "" + } + ] +} \ No newline at end of file diff --git a/data/json/avatar/ConfigAvatar_Nilou.json b/data/json/avatar/ConfigAvatar_Nilou.json new file mode 100644 index 0000000..ad7e1a1 --- /dev/null +++ b/data/json/avatar/ConfigAvatar_Nilou.json @@ -0,0 +1,264 @@ +{ + "abilities": [ + { + "abilityID": "Avatar_Nilou_ExtraAttack", + "abilityName": "Avatar_Nilou_ExtraAttack", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nilou_Attack_01_Spec", + "abilityName": "Avatar_Nilou_Attack_01_Spec", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nilou_Recombo_Mark", + "abilityName": "Avatar_Nilou_Recombo_Mark", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nilou_Attack_02_Spec", + "abilityName": "Avatar_Nilou_Attack_02_Spec", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nilou_ElementalDance", + "abilityName": "Avatar_Nilou_ElementalDance", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nilou_In_NormalAttack_Mark", + "abilityName": "Avatar_Nilou_In_NormalAttack_Mark", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_NilouAllCount_1", + "abilityName": "Avatar_NilouAllCount_1", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_NilouAllCount_2", + "abilityName": "Avatar_NilouAllCount_2", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nilou_Change_ECount_To_4", + "abilityName": "Avatar_Nilou_Change_ECount_To_4", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nilou_Combo_Complete_Mark", + "abilityName": "Avatar_Nilou_Combo_Complete_Mark", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nilou_Keep_Attack_Combo_Handler", + "abilityName": "Avatar_Nilou_Keep_Attack_Combo_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nilou_Elemental_Art_ElemBall_Handler", + "abilityName": "Avatar_Nilou_Elemental_Art_ElemBall_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nilou_Keep_Attack_Combo_Handler_", + "abilityName": "Avatar_Nilou_Keep_Attack_Combo_Handler_", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nilou_ElementalDanceFake", + "abilityName": "Avatar_Nilou_ElementalDanceFake", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nilou_Spec_Attack_Count_Add1", + "abilityName": "Avatar_Nilou_Spec_Attack_Count_Add1", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nilou_Spec_E_2", + "abilityName": "Avatar_Nilou_Spec_E_2", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nilou_Spec_E_3", + "abilityName": "Avatar_Nilou_Spec_E_3", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nilou_Spec_Attack_Over", + "abilityName": "Avatar_Nilou_Spec_Attack_Over", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nilou_AOver_Dance_Buff", + "abilityName": "Avatar_Nilou_AOver_Dance_Buff", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nilou_AOver_Dance_Buff_Driver", + "abilityName": "Avatar_Nilou_AOver_Dance_Buff_Driver", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nilou_ElementalArt_Buff_Controller", + "abilityName": "Avatar_Nilou_ElementalArt_Buff_Controller", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nilou_Spec_EArt_Over", + "abilityName": "Avatar_Nilou_Spec_EArt_Over", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nilou_ElementalArt_Buff_ControllerM", + "abilityName": "Avatar_Nilou_ElementalArt_Buff_ControllerM", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_ElementalArt_Buff_Nilou", + "abilityName": "Avatar_ElementalArt_Buff_Nilou", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_ElementalArt_Buff_Nilou_Driver", + "abilityName": "Avatar_ElementalArt_Buff_Nilou_Driver", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nilou_Resistance_Reduce_Avatar", + "abilityName": "Avatar_Nilou_Resistance_Reduce_Avatar", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nilou_Overgrow_Damage_Up", + "abilityName": "Avatar_Nilou_Overgrow_Damage_Up", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nilou_Max_HP_Refresh", + "abilityName": "Avatar_Nilou_Max_HP_Refresh", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nilou_SpecE_Energy_Revive", + "abilityName": "Avatar_Nilou_SpecE_Energy_Revive", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nilou_Water_Bubble_Bullet", + "abilityName": "Avatar_Nilou_Water_Bubble_Bullet", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nilou_Recombo_Mark_Bullet", + "abilityName": "Avatar_Nilou_Recombo_Mark_Bullet", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nilou_ElementalBurst_Camera", + "abilityName": "Avatar_Nilou_ElementalBurst_Camera", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nilou_ElementalBurst_ScreenEffect", + "abilityName": "Avatar_Nilou_ElementalBurst_ScreenEffect", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nilou_Burst_Attacker", + "abilityName": "Avatar_Nilou_Burst_Attacker", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nilou_Burst_Delay_Attacker", + "abilityName": "Avatar_Nilou_Burst_Delay_Attacker", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nilou_NormalAttack_DamageHandler", + "abilityName": "Avatar_Nilou_NormalAttack_DamageHandler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nilou_MaxHP_Trans_Crit", + "abilityName": "Avatar_Nilou_MaxHP_Trans_Crit", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nilou_FallingAnthem", + "abilityName": "Avatar_Nilou_FallingAnthem", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_QuestAbility_NilouFullMP", + "abilityName": "Avatar_QuestAbility_NilouFullMP", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_NilouFullMP", + "abilityName": "Avatar_NilouFullMP", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nilou", + "abilityName": "Avatar_Nilou", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nilou_TeamConfig_01BS", + "abilityName": "Avatar_Nilou_TeamConfig_01BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nilou_TeamConfig_01Loop", + "abilityName": "Avatar_Nilou_TeamConfig_01Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nilou_TeamConfig_01AS", + "abilityName": "Avatar_Nilou_TeamConfig_01AS", + "abilityOverride": "" + }, + { + "abilityID": "AvatarItem_Nilou_HushangWreaths", + "abilityName": "AvatarItem_Nilou_HushangWreaths", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nilou_ElementalBurst_Spine", + "abilityName": "Avatar_Nilou_ElementalBurst_Spine", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nilou_ElementalBurst_BS", + "abilityName": "Avatar_Nilou_ElementalBurst_BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nilou_ElementalBurst_Hit", + "abilityName": "Avatar_Nilou_ElementalBurst_Hit", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nilou_ElementalBurst_Buff", + "abilityName": "Avatar_Nilou_ElementalBurst_Buff", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nilou_Spine_Loop", + "abilityName": "Avatar_Nilou_Spine_Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nilou_Spine_Loop_Floor", + "abilityName": "Avatar_Nilou_Spine_Loop_Floor", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Nilou_Spine", + "abilityName": "Avatar_Nilou_Spine", + "abilityOverride": "" + } + ] +} \ No newline at end of file diff --git a/data/json/avatar/ConfigAvatar_Ningguang.json b/data/json/avatar/ConfigAvatar_Ningguang.json new file mode 100644 index 0000000..7ce965f --- /dev/null +++ b/data/json/avatar/ConfigAvatar_Ningguang.json @@ -0,0 +1,289 @@ +{ + "abilities": [ + { + "abilityID": "Avatar_Ningguang_Roulette", + "abilityName": "Avatar_Ningguang_Roulette", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ningguang_ExtraAttack", + "abilityName": "Avatar_Ningguang_ExtraAttack", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ningguang_ExtraAttack_Fx", + "abilityName": "Avatar_Ningguang_ExtraAttack_Fx", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ningguang_ExtraAttack_BulletTrigger", + "abilityName": "Avatar_Ningguang_ExtraAttack_BulletTrigger", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ningguang_Constellation_Attack_Up_BulletTrigger", + "abilityName": "Avatar_Ningguang_Constellation_Attack_Up_BulletTrigger", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ningguang_ExtraAttack_GemBullet_Handler", + "abilityName": "Avatar_Ningguang_ExtraAttack_GemBullet_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ningguang_ExtraAttack_Damage", + "abilityName": "Avatar_Ningguang_ExtraAttack_Damage", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ningguang_NormalAttack_Dummy", + "abilityName": "Avatar_Ningguang_NormalAttack_Dummy", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ningguang_NormalAttackDamage", + "abilityName": "Avatar_Ningguang_NormalAttackDamage", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ningguang_NormalAttack_LifeOver_Fx", + "abilityName": "Avatar_Ningguang_NormalAttack_LifeOver_Fx", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ningguang_Elemental_Burst_LifeOver_Orange", + "abilityName": "Avatar_Ningguang_Elemental_Burst_LifeOver_Orange", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ningguang_Elemental_Burst_LifeOver_Red", + "abilityName": "Avatar_Ningguang_Elemental_Burst_LifeOver_Red", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ningguang_Elemental_Burst_LifeOver_Yellow", + "abilityName": "Avatar_Ningguang_Elemental_Burst_LifeOver_Yellow", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ningguang_Attack01", + "abilityName": "Avatar_Ningguang_Attack01", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ningguang_Attack02", + "abilityName": "Avatar_Ningguang_Attack02", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ningguang_Attack03", + "abilityName": "Avatar_Ningguang_Attack03", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ningguang_Attack04", + "abilityName": "Avatar_Ningguang_Attack04", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ningguang_ServantStone", + "abilityName": "Avatar_Ningguang_ServantStone", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ningguang_Charge_ServantStone", + "abilityName": "Avatar_Ningguang_Charge_ServantStone", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ningguang_Change_Gadget_BornState", + "abilityName": "Avatar_Ningguang_Change_Gadget_BornState", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ningguang_ServantStone_Switch", + "abilityName": "Avatar_Ningguang_ServantStone_Switch", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ningguang_Trigger_ElementalArt_CD", + "abilityName": "Avatar_Ningguang_Trigger_ElementalArt_CD", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ningguang_GemStone_Impact", + "abilityName": "Avatar_Ningguang_GemStone_Impact", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ningguang_ElementalBurst_BulletTrigger", + "abilityName": "Avatar_Ningguang_ElementalBurst_BulletTrigger", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ningguang_ElementalBurst_BulletTrigger_WithOutTarget", + "abilityName": "Avatar_Ningguang_ElementalBurst_BulletTrigger_WithOutTarget", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ningguang_ElementalBurst_ServantStoneTrigger", + "abilityName": "Avatar_Ningguang_ElementalBurst_ServantStoneTrigger", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ningguang_ElementalBurst_Bullet_Hit_Fx_1", + "abilityName": "Avatar_Ningguang_ElementalBurst_Bullet_Hit_Fx_1", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ningguang_ElementalBurst_Bullet_Hit_Fx_2", + "abilityName": "Avatar_Ningguang_ElementalBurst_Bullet_Hit_Fx_2", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ningguang_ElementalBurst_Bullet_Hit_Fx_3", + "abilityName": "Avatar_Ningguang_ElementalBurst_Bullet_Hit_Fx_3", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ningguang_ReviveElemEnergy", + "abilityName": "Avatar_Ningguang_ReviveElemEnergy", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ningguang_Constellation_6", + "abilityName": "Avatar_Ningguang_Constellation_6", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ningguang_PermanentSkill_2", + "abilityName": "Avatar_Ningguang_PermanentSkill_2", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ningguang_SkillUpgrade_3", + "abilityName": "Avatar_Ningguang_SkillUpgrade_3", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ningguang_GemBullet_Damage", + "abilityName": "Avatar_Ningguang_GemBullet_Damage", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ningguang_FallingAnthem", + "abilityName": "Avatar_Ningguang_FallingAnthem", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ningguang_Radar_Ore", + "abilityName": "Avatar_Ningguang_Radar_Ore", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ningguang", + "abilityName": "Avatar_Ningguang", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ningguang_NormalAttack_LifeOver_Fx0Avatar_Ningguang_Elemental_Burst_LifeOver_Orange", + "abilityName": "Avatar_Ningguang_NormalAttack_LifeOver_Fx0Avatar_Ningguang_Elemental_Burst_LifeOver_Orange", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ningguang_Elemental_Burst_LifeOver_Red0Avatar_Ningguang_Elemental_Burst_LifeOver_Yellow", + "abilityName": "Avatar_Ningguang_Elemental_Burst_LifeOver_Red0Avatar_Ningguang_Elemental_Burst_LifeOver_Yellow", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ningguang_ElementalBurst_BulletTrigger_WithOutTarget3Avatar_Ningguang_ElementalBurst_ServantStoneTrigger", + "abilityName": "Avatar_Ningguang_ElementalBurst_BulletTrigger_WithOutTarget3Avatar_Ningguang_ElementalBurst_ServantStoneTrigger", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ningguang_TeamConfig_01BS", + "abilityName": "Avatar_Ningguang_TeamConfig_01BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ningguang_TeamConfig_01Loop", + "abilityName": "Avatar_Ningguang_TeamConfig_01Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ningguang_TeamConfig_01AS", + "abilityName": "Avatar_Ningguang_TeamConfig_01AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ningguang_ElementalBurst_Spine", + "abilityName": "Avatar_Ningguang_ElementalBurst_Spine", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ningguang_ElementalBurst_BS", + "abilityName": "Avatar_Ningguang_ElementalBurst_BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ningguang_ElementalBurst_Yellow", + "abilityName": "Avatar_Ningguang_ElementalBurst_Yellow", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ningguang_ElementBurst_01", + "abilityName": "Avatar_Ningguang_ElementBurst_01", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ningguang_ElementBurst_04", + "abilityName": "Avatar_Ningguang_ElementBurst_04", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ningguang_ElementalBurst_Orange", + "abilityName": "Avatar_Ningguang_ElementalBurst_Orange", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ningguang_ElementBurst_02", + "abilityName": "Avatar_Ningguang_ElementBurst_02", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ningguang_ElementBurst_05", + "abilityName": "Avatar_Ningguang_ElementBurst_05", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ningguang_ElementalBurst_Red", + "abilityName": "Avatar_Ningguang_ElementalBurst_Red", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ningguang_ElementBurst_03", + "abilityName": "Avatar_Ningguang_ElementBurst_03", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ningguang_ElementBurst_06", + "abilityName": "Avatar_Ningguang_ElementBurst_06", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ningguang_ElementalBurst_Hit", + "abilityName": "Avatar_Ningguang_ElementalBurst_Hit", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ningguang_elementalBurst_BS_Normal", + "abilityName": "Avatar_Ningguang_elementalBurst_BS_Normal", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Ningguang_Spine_Loop", + "abilityName": "Avatar_Ningguang_Spine_Loop", + "abilityOverride": "" + } + ] +} \ No newline at end of file diff --git a/data/json/avatar/ConfigAvatar_Noel.json b/data/json/avatar/ConfigAvatar_Noel.json new file mode 100644 index 0000000..6931f06 --- /dev/null +++ b/data/json/avatar/ConfigAvatar_Noel.json @@ -0,0 +1,119 @@ +{ + "abilities": [ + { + "abilityID": "Avatar_Noel_ExtraAttack", + "abilityName": "Avatar_Noel_ExtraAttack", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Noel_Skill_S", + "abilityName": "Avatar_Noel_Skill_S", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Noel_Skill_E", + "abilityName": "Avatar_Noel_Skill_E", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Noel_Skill_E_ExitCamera", + "abilityName": "Avatar_Noel_Skill_E_ExitCamera", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Noel_ProudSkill_NormalAttack_DamageHandler", + "abilityName": "Avatar_Noel_ProudSkill_NormalAttack_DamageHandler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Noel_ProudSkill_21", + "abilityName": "Avatar_Noel_ProudSkill_21", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Noel_ProudSkill_21_Shield", + "abilityName": "Avatar_Noel_ProudSkill_21_Shield", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Noel_ProudSkill_22", + "abilityName": "Avatar_Noel_ProudSkill_22", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Noel_FallingAnthem", + "abilityName": "Avatar_Noel_FallingAnthem", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Noel", + "abilityName": "Avatar_Noel", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Noel_Skill_E_ExitCamera1Avatar_Noel_ProudSkill_NormalAttack_DamageHandler", + "abilityName": "Avatar_Noel_Skill_E_ExitCamera1Avatar_Noel_ProudSkill_NormalAttack_DamageHandler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Noel_TeamConfig_01BS", + "abilityName": "Avatar_Noel_TeamConfig_01BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Noel_TeamConfig_01Loop", + "abilityName": "Avatar_Noel_TeamConfig_01Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Noel_TeamConfig_01AS", + "abilityName": "Avatar_Noel_TeamConfig_01AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Noel_ProudSkill_NormalAttack_DamageHandler1Avatar_Noel_ProudSkill_NormalAttack_DamageHandler", + "abilityName": "Avatar_Noel_ProudSkill_NormalAttack_DamageHandler1Avatar_Noel_ProudSkill_NormalAttack_DamageHandler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Noel_Spine", + "abilityName": "Avatar_Noel_Spine", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Noel_ElementalBurst_Spine", + "abilityName": "Avatar_Noel_ElementalBurst_Spine", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Noel_ElementalBurst", + "abilityName": "Avatar_Noel_ElementalBurst", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Noel_ElementalBurst_BS", + "abilityName": "Avatar_Noel_ElementalBurst_BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Noel_ElementalBurst_Hit", + "abilityName": "Avatar_Noel_ElementalBurst_Hit", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Noel_ElementalBurst_Buff", + "abilityName": "Avatar_Noel_ElementalBurst_Buff", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Noel_ElementalBurst_Buff_Hit", + "abilityName": "Avatar_Noel_ElementalBurst_Buff_Hit", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Noel_Spine_Loop", + "abilityName": "Avatar_Noel_Spine_Loop", + "abilityOverride": "" + } + ] +} \ No newline at end of file diff --git a/data/json/avatar/ConfigAvatar_PlayerBoy.json b/data/json/avatar/ConfigAvatar_PlayerBoy.json new file mode 100644 index 0000000..17cff34 --- /dev/null +++ b/data/json/avatar/ConfigAvatar_PlayerBoy.json @@ -0,0 +1,5 @@ +{ + "abilities": [ + + ] +} \ No newline at end of file diff --git a/data/json/avatar/ConfigAvatar_PlayerGirl.json b/data/json/avatar/ConfigAvatar_PlayerGirl.json new file mode 100644 index 0000000..84b0647 --- /dev/null +++ b/data/json/avatar/ConfigAvatar_PlayerGirl.json @@ -0,0 +1,3 @@ +{ + "abilities": [] +} \ No newline at end of file diff --git a/data/json/avatar/ConfigAvatar_Qin.json b/data/json/avatar/ConfigAvatar_Qin.json new file mode 100644 index 0000000..65dc141 --- /dev/null +++ b/data/json/avatar/ConfigAvatar_Qin.json @@ -0,0 +1,304 @@ +{ + "abilities": [ + { + "abilityID": "Avatar_Qin_ExtraAttack", + "abilityName": "Avatar_Qin_ExtraAttack", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Qin_VortexSmash", + "abilityName": "Avatar_Qin_VortexSmash", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Qin_DandelionWind_Camera", + "abilityName": "Avatar_Qin_DandelionWind_Camera", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Qin_DandelionWind", + "abilityName": "Avatar_Qin_DandelionWind", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Qin_DandelionWind_Heal", + "abilityName": "Avatar_Qin_DandelionWind_Heal", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Qin_DandelionWind_Harm", + "abilityName": "Avatar_Qin_DandelionWind_Harm", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Qin_DandelionWind_Harm_FieldDamage", + "abilityName": "Avatar_Qin_DandelionWind_Harm_FieldDamage", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Qin_DandelionWind_Push", + "abilityName": "Avatar_Qin_DandelionWind_Push", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Qin_HinowaSlash", + "abilityName": "Avatar_Qin_HinowaSlash", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Qin_GreaterSelfHeal", + "abilityName": "Avatar_Qin_GreaterSelfHeal", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Qin_AttackCritic", + "abilityName": "Avatar_Qin_AttackCritic", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Qin_TeamSpeedWhenGetElementBall", + "abilityName": "Avatar_Qin_TeamSpeedWhenGetElementBall", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Qin_NormalAttackDamage", + "abilityName": "Avatar_Qin_NormalAttackDamage", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Qin_AutoDefend", + "abilityName": "Avatar_Qin_AutoDefend", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Qin_FallingAnthem", + "abilityName": "Avatar_Qin_FallingAnthem", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Qin", + "abilityName": "Avatar_Qin", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_PlayQin01BS_0", + "abilityName": "Avatar_PlayQin01BS_0", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_PlayQin01Loop_0", + "abilityName": "Avatar_PlayQin01Loop_0", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_PlayQin01AS_0", + "abilityName": "Avatar_PlayQin01AS_0", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Common_PlayMusic_Qin", + "abilityName": "Avatar_Common_PlayMusic_Qin", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_KeQing_Skill_ElementalArt", + "abilityName": "Avatar_KeQing_Skill_ElementalArt", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_KeQing_Skill_ElementalArt_AS", + "abilityName": "Avatar_KeQing_Skill_ElementalArt_AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_KeQing_Skill_ElementalArt_BS", + "abilityName": "Avatar_KeQing_Skill_ElementalArt_BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_KeQing_Skill_ElementalArt_Charge", + "abilityName": "Avatar_KeQing_Skill_ElementalArt_Charge", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_KeQing_Skill_ElementalArt_Charge_02", + "abilityName": "Avatar_KeQing_Skill_ElementalArt_Charge_02", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_KeQing_Skill_ElementalArt_Charge_AS", + "abilityName": "Avatar_KeQing_Skill_ElementalArt_Charge_AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_KeQing_Skill_ElementalArt_Fly", + "abilityName": "Avatar_KeQing_Skill_ElementalArt_Fly", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_KeQing_Skill_ElementalArt_Fly_AS", + "abilityName": "Avatar_KeQing_Skill_ElementalArt_Fly_AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_KeQing_Skill_ElementalArt_FlyAir", + "abilityName": "Avatar_KeQing_Skill_ElementalArt_FlyAir", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Qin_TeamConfig_01BS", + "abilityName": "Avatar_Qin_TeamConfig_01BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Qin_TeamConfig_01Loop", + "abilityName": "Avatar_Qin_TeamConfig_01Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Qin_TeamConfig_01AS", + "abilityName": "Avatar_Qin_TeamConfig_01AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_PlayMusic_Qin_AS", + "abilityName": "Avatar_PlayMusic_Qin_AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_PlayMusic_Qin", + "abilityName": "Avatar_PlayMusic_Qin", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_KeQing_Skill_ElementalArt_FlyAir_AS", + "abilityName": "Avatar_KeQing_Skill_ElementalArt_FlyAir_AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Qin_ElementalBurst_Spine", + "abilityName": "Avatar_Qin_ElementalBurst_Spine", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Qin_ElementalBurst", + "abilityName": "Avatar_Qin_ElementalBurst", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Qin_Spine_Loop", + "abilityName": "Avatar_Qin_Spine_Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Qin_VO_MDAQ037_Qin_01", + "abilityName": "Avatar_Qin_VO_MDAQ037_Qin_01", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Qin_VO_Emotion_Qin_Hesitate_01", + "abilityName": "Avatar_Qin_VO_Emotion_Qin_Hesitate_01", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Qin_VO_Emotion_Qin_Vigilant_01", + "abilityName": "Avatar_Qin_VO_Emotion_Qin_Vigilant_01", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Qin_VO_Emotion_Qin_Affirm_01", + "abilityName": "Avatar_Qin_VO_Emotion_Qin_Affirm_01", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Qin_VO_Emotion_Qin_Satisfaction_01", + "abilityName": "Avatar_Qin_VO_Emotion_Qin_Satisfaction_01", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Qin_VO_MDAQ053_Qin_01", + "abilityName": "Avatar_Qin_VO_MDAQ053_Qin_01", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Qin_4901001", + "abilityName": "Avatar_Qin_4901001", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Qin_4901004", + "abilityName": "Avatar_Qin_4901004", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Qin_4901006", + "abilityName": "Avatar_Qin_4901006", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Qin_4901008", + "abilityName": "Avatar_Qin_4901008", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Qin_4901010", + "abilityName": "Avatar_Qin_4901010", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Qin_4901011", + "abilityName": "Avatar_Qin_4901011", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Qin_4901013", + "abilityName": "Avatar_Qin_4901013", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Qin_4901014", + "abilityName": "Avatar_Qin_4901014", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Qin_4901015", + "abilityName": "Avatar_Qin_4901015", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Qin_4901017", + "abilityName": "Avatar_Qin_4901017", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Qin_4901019", + "abilityName": "Avatar_Qin_4901019", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_PlayMusic_Qin_01_AS", + "abilityName": "Avatar_PlayMusic_Qin_01_AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_PlayMusic_Qin_01", + "abilityName": "Avatar_PlayMusic_Qin_01", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_PlayMusic_Qin_01_Loli", + "abilityName": "Avatar_PlayMusic_Qin_01_Loli", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_PlayMusic_Qin_Loli", + "abilityName": "Avatar_PlayMusic_Qin_Loli", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_PlayMusic_Qin_Loli_AS", + "abilityName": "Avatar_PlayMusic_Qin_Loli_AS", + "abilityOverride": "" + } + ] +} \ No newline at end of file diff --git a/data/json/avatar/ConfigAvatar_Qiqi.json b/data/json/avatar/ConfigAvatar_Qiqi.json new file mode 100644 index 0000000..fde3584 --- /dev/null +++ b/data/json/avatar/ConfigAvatar_Qiqi.json @@ -0,0 +1,139 @@ +{ + "abilities": [ + { + "abilityID": "Avatar_Qiqi_ExtraAttack", + "abilityName": "Avatar_Qiqi_ExtraAttack", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Qiqi_ElementalArt_Clear", + "abilityName": "Avatar_Qiqi_ElementalArt_Clear", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Qiqi_ElementalArt", + "abilityName": "Avatar_Qiqi_ElementalArt", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Qiqi_ElementalArt_CD", + "abilityName": "Avatar_Qiqi_ElementalArt_CD", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Qiqi_ElementalArt_Bullet", + "abilityName": "Avatar_Qiqi_ElementalArt_Bullet", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Qiqi_ElementalBurst", + "abilityName": "Avatar_Qiqi_ElementalBurst", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Qiqi_ElementalBurst_PostEffect", + "abilityName": "Avatar_Qiqi_ElementalBurst_PostEffect", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Qiqi_ElementalBurst_ScreenEffect", + "abilityName": "Avatar_Qiqi_ElementalBurst_ScreenEffect", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Qiqi_Revive", + "abilityName": "Avatar_Qiqi_Revive", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Qiqi_ElementalBurst_ApplyModifier", + "abilityName": "Avatar_Qiqi_ElementalBurst_ApplyModifier", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Qiqi_ElementalBurst_TriggerAttack", + "abilityName": "Avatar_Qiqi_ElementalBurst_TriggerAttack", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Qiqi_ElementalBurst_CameraRadialBlur", + "abilityName": "Avatar_Qiqi_ElementalBurst_CameraRadialBlur", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Qiqi_NormalAttackDamage", + "abilityName": "Avatar_Qiqi_NormalAttackDamage", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Qiqi_ElementalArt_Damage", + "abilityName": "Avatar_Qiqi_ElementalArt_Damage", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Qiqi_Frozen_AttackUp", + "abilityName": "Avatar_Qiqi_Frozen_AttackUp", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Qiqi_FallingAnthem", + "abilityName": "Avatar_Qiqi_FallingAnthem", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Qiqi_Radar_Collectables_Liyue", + "abilityName": "Avatar_Qiqi_Radar_Collectables_Liyue", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Qiqi", + "abilityName": "Avatar_Qiqi", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Qiqi_Skill_ElementalArt", + "abilityName": "Avatar_Qiqi_Skill_ElementalArt", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Qiqi_TeamConfig_01BS", + "abilityName": "Avatar_Qiqi_TeamConfig_01BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Qiqi_TeamConfig_01Loop", + "abilityName": "Avatar_Qiqi_TeamConfig_01Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Qiqi_TeamConfig_01AS", + "abilityName": "Avatar_Qiqi_TeamConfig_01AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Qiqi_Skill_ElementalArt_AS", + "abilityName": "Avatar_Qiqi_Skill_ElementalArt_AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Qiqi_ElementalBurst_Spine", + "abilityName": "Avatar_Qiqi_ElementalBurst_Spine", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Qiqi_ElementalBurst_BS", + "abilityName": "Avatar_Qiqi_ElementalBurst_BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Qiqi_ElementalBurst_Hit", + "abilityName": "Avatar_Qiqi_ElementalBurst_Hit", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Qiqi_Spine_Loop", + "abilityName": "Avatar_Qiqi_Spine_Loop", + "abilityOverride": "" + } + ] +} \ No newline at end of file diff --git a/data/json/avatar/ConfigAvatar_Razor.json b/data/json/avatar/ConfigAvatar_Razor.json new file mode 100644 index 0000000..dc58358 --- /dev/null +++ b/data/json/avatar/ConfigAvatar_Razor.json @@ -0,0 +1,139 @@ +{ + "abilities": [ + { + "abilityID": "Avatar_Razor_ExtraAttack", + "abilityName": "Avatar_Razor_ExtraAttack", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Razor_General_Handler", + "abilityName": "Avatar_Razor_General_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Razor_ClawMark_Main", + "abilityName": "Avatar_Razor_ClawMark_Main", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Razor_ClawMark_Click", + "abilityName": "Avatar_Razor_ClawMark_Click", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Razor_ClawMark_SetMark", + "abilityName": "Avatar_Razor_ClawMark_SetMark", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Razor_ClawMark_Charging", + "abilityName": "Avatar_Razor_ClawMark_Charging", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Razor_ClawMark_Weather_Remove", + "abilityName": "Avatar_Razor_ClawMark_Weather_Remove", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Razor_ClawMark_Burst", + "abilityName": "Avatar_Razor_ClawMark_Burst", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Razor_ClawMark_EnergyRegain", + "abilityName": "Avatar_Razor_ClawMark_EnergyRegain", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Razor_LycanMode", + "abilityName": "Avatar_Razor_LycanMode", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Razor_LycanMode_LycanSimulator", + "abilityName": "Avatar_Razor_LycanMode_LycanSimulator", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Razor_LycanMode_FirstAttackGuaranteer", + "abilityName": "Avatar_Razor_LycanMode_FirstAttackGuaranteer", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Razor_DashStamina_Reduction", + "abilityName": "Avatar_Razor_DashStamina_Reduction", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Razor_NormalAttack_DamageHandler", + "abilityName": "Avatar_Razor_NormalAttack_DamageHandler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Razor_FallingAnthem", + "abilityName": "Avatar_Razor_FallingAnthem", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Razor", + "abilityName": "Avatar_Razor", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Razor_TeamConfig_01BS", + "abilityName": "Avatar_Razor_TeamConfig_01BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Razor_TeamConfig_01Loop", + "abilityName": "Avatar_Razor_TeamConfig_01Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Razor_TeamConfig_01AS", + "abilityName": "Avatar_Razor_TeamConfig_01AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Razor_ElementalBurst_Spine", + "abilityName": "Avatar_Razor_ElementalBurst_Spine", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Razor_ElementalBurst_01", + "abilityName": "Avatar_Razor_ElementalBurst_01", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Razor_ElementalBurst_Hit_01", + "abilityName": "Avatar_Razor_ElementalBurst_Hit_01", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Razor_ElementalBurst_Hit_02", + "abilityName": "Avatar_Razor_ElementalBurst_Hit_02", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Razor_ElementalBurst_02", + "abilityName": "Avatar_Razor_ElementalBurst_02", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Razor_ElementalBurst_03", + "abilityName": "Avatar_Razor_ElementalBurst_03", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Razor_Spine_Loop", + "abilityName": "Avatar_Razor_Spine_Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Razor_Spine", + "abilityName": "Avatar_Razor_Spine", + "abilityOverride": "" + } + ] +} \ No newline at end of file diff --git a/data/json/avatar/ConfigAvatar_Rosaria.json b/data/json/avatar/ConfigAvatar_Rosaria.json new file mode 100644 index 0000000..e48f979 --- /dev/null +++ b/data/json/avatar/ConfigAvatar_Rosaria.json @@ -0,0 +1,114 @@ +{ + "abilities": [ + { + "abilityID": "Avatar_Rosaria_ExtraAttack", + "abilityName": "Avatar_Rosaria_ExtraAttack", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Rosaria_ExtraAttack_CreateBullet", + "abilityName": "Avatar_Rosaria_ExtraAttack_CreateBullet", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Rosaria_ExtraAttack_Bullet", + "abilityName": "Avatar_Rosaria_ExtraAttack_Bullet", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Rosaria_ElementalArt", + "abilityName": "Avatar_Rosaria_ElementalArt", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Rosaria_ElementalArt_Strike_01", + "abilityName": "Avatar_Rosaria_ElementalArt_Strike_01", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Rosaria_ElementalArt_Strike_02", + "abilityName": "Avatar_Rosaria_ElementalArt_Strike_02", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Rosaria_ElementalBurst_Camera", + "abilityName": "Avatar_Rosaria_ElementalBurst_Camera", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Rosaria_ElementalBurst_Strike_01", + "abilityName": "Avatar_Rosaria_ElementalBurst_Strike_01", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Rosaria_ElementalBurst_Create_Gadget", + "abilityName": "Avatar_Rosaria_ElementalBurst_Create_Gadget", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Rosaria_GadgetEndEffect_Played", + "abilityName": "Avatar_Rosaria_GadgetEndEffect_Played", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Rosaria_NormalAttack_DamageHandler", + "abilityName": "Avatar_Rosaria_NormalAttack_DamageHandler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Rosaria_FallingAnthem", + "abilityName": "Avatar_Rosaria_FallingAnthem", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Rosaria", + "abilityName": "Avatar_Rosaria", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Rosaria_Skill_ElementalArt_BS", + "abilityName": "Avatar_Rosaria_Skill_ElementalArt_BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Rosaria_Skill_ElementalArt", + "abilityName": "Avatar_Rosaria_Skill_ElementalArt", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Rosaria_Skill_ElementalArt_AS", + "abilityName": "Avatar_Rosaria_Skill_ElementalArt_AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Rosaria_Skill_ElementalBurst_BS", + "abilityName": "Avatar_Rosaria_Skill_ElementalBurst_BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Rosaria_Skill_ElementalBurst", + "abilityName": "Avatar_Rosaria_Skill_ElementalBurst", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Rosaria_TeamConfig_01BS", + "abilityName": "Avatar_Rosaria_TeamConfig_01BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Rosaria_TeamConfig_01Loop", + "abilityName": "Avatar_Rosaria_TeamConfig_01Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Rosaria_TeamConfig_01AS", + "abilityName": "Avatar_Rosaria_TeamConfig_01AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Rosaria_Skill_ElementalBurst_AS", + "abilityName": "Avatar_Rosaria_Skill_ElementalBurst_AS", + "abilityOverride": "" + } + ] +} \ No newline at end of file diff --git a/data/json/avatar/ConfigAvatar_Sara.json b/data/json/avatar/ConfigAvatar_Sara.json new file mode 100644 index 0000000..65006a9 --- /dev/null +++ b/data/json/avatar/ConfigAvatar_Sara.json @@ -0,0 +1,179 @@ +{ + "abilities": [ + { + "abilityID": "Avatar_Sara_Arrow_FX", + "abilityName": "Avatar_Sara_Arrow_FX", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sara_PressShoot", + "abilityName": "Avatar_Sara_PressShoot", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sara_AimPressShoot", + "abilityName": "Avatar_Sara_AimPressShoot", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sara_ShootAimingArrow_Charge", + "abilityName": "Avatar_Sara_ShootAimingArrow_Charge", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sara_ShootArrow_ResetGlobalValue", + "abilityName": "Avatar_Sara_ShootArrow_ResetGlobalValue", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sara_ShootArrow_Aiming", + "abilityName": "Avatar_Sara_ShootArrow_Aiming", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sara_ShootArrow_01", + "abilityName": "Avatar_Sara_ShootArrow_01", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sara_ShootArrow_02", + "abilityName": "Avatar_Sara_ShootArrow_02", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sara_ShootArrow_03", + "abilityName": "Avatar_Sara_ShootArrow_03", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sara_ShootArrow_04", + "abilityName": "Avatar_Sara_ShootArrow_04", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sara_Hide_Fxo", + "abilityName": "Avatar_Sara_Hide_Fxo", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sara_Hide_Fx", + "abilityName": "Avatar_Sara_Hide_Fx", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sara_ShootArrow_05", + "abilityName": "Avatar_Sara_ShootArrow_05", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sara_Elemental_Art", + "abilityName": "Avatar_Sara_Elemental_Art", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sara_KarasShoot_DelayAttack", + "abilityName": "Avatar_Sara_KarasShoot_DelayAttack", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sara_Elemental_Burst", + "abilityName": "Avatar_Sara_Elemental_Burst", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sara_Elemental_Burst_AttackWave_Trigger", + "abilityName": "Avatar_Sara_Elemental_Burst_AttackWave_Trigger", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sara_Elemental_Burst_AttackWave", + "abilityName": "Avatar_Sara_Elemental_Burst_AttackWave", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sara_ElementalBurst_PostEffect", + "abilityName": "Avatar_Sara_ElementalBurst_PostEffect", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sara_ElementalBurst_ScreenEffect", + "abilityName": "Avatar_Sara_ElementalBurst_ScreenEffect", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sara_AttackUp", + "abilityName": "Avatar_Sara_AttackUp", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sara_BaseAttack", + "abilityName": "Avatar_Sara_BaseAttack", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sara_PermanentSkill_1", + "abilityName": "Avatar_Sara_PermanentSkill_1", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sara_ShootArrow_Damage", + "abilityName": "Avatar_Sara_ShootArrow_Damage", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sara_PermanentSkill_1_ReduceColdDown", + "abilityName": "Avatar_Sara_PermanentSkill_1_ReduceColdDown", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sara_PermanentSkill_2", + "abilityName": "Avatar_Sara_PermanentSkill_2", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sara_FallingAnthem", + "abilityName": "Avatar_Sara_FallingAnthem", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sara", + "abilityName": "Avatar_Sara", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sara_TeamConfig_01BS", + "abilityName": "Avatar_Sara_TeamConfig_01BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sara_TeamConfig_01Loop", + "abilityName": "Avatar_Sara_TeamConfig_01Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sara_TeamConfig_01AS", + "abilityName": "Avatar_Sara_TeamConfig_01AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sara_ElementalBurst_Spine", + "abilityName": "Avatar_Sara_ElementalBurst_Spine", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sara_ElementalBurst_BS", + "abilityName": "Avatar_Sara_ElementalBurst_BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sara_ElementalBurst_Hit", + "abilityName": "Avatar_Sara_ElementalBurst_Hit", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sara_Spine_Loop", + "abilityName": "Avatar_Sara_Spine_Loop", + "abilityOverride": "" + } + ] +} \ No newline at end of file diff --git a/data/json/avatar/ConfigAvatar_Sayu.json b/data/json/avatar/ConfigAvatar_Sayu.json new file mode 100644 index 0000000..53a35ba --- /dev/null +++ b/data/json/avatar/ConfigAvatar_Sayu.json @@ -0,0 +1,239 @@ +{ + "abilities": [ + { + "abilityID": "Avatar_Sayu_ExtraAttack", + "abilityName": "Avatar_Sayu_ExtraAttack", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sayu_NormalAttack_Handler", + "abilityName": "Avatar_Sayu_NormalAttack_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sayu_NormalAttack_Hide", + "abilityName": "Avatar_Sayu_NormalAttack_Hide", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sayu_ElementalArt_Check", + "abilityName": "Avatar_Sayu_ElementalArt_Check", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sayu_ElementalArt_DropBall_Handler", + "abilityName": "Avatar_Sayu_ElementalArt_DropBall_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sayu_ElementalArt_Click", + "abilityName": "Avatar_Sayu_ElementalArt_Click", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sayu_ElementalArt_Click_EnterCD", + "abilityName": "Avatar_Sayu_ElementalArt_Click_EnterCD", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sayu_ElementalArt_Click_TriggerBullet", + "abilityName": "Avatar_Sayu_ElementalArt_Click_TriggerBullet", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sayu_ElementalArt_Click_Effect", + "abilityName": "Avatar_Sayu_ElementalArt_Click_Effect", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sayu_ElementalArt_Bullet", + "abilityName": "Avatar_Sayu_ElementalArt_Bullet", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sayu_ElementalArt_Hold", + "abilityName": "Avatar_Sayu_ElementalArt_Hold", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sayu_ElementalArt_Roll_CDHandler", + "abilityName": "Avatar_Sayu_ElementalArt_Roll_CDHandler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sayu_ElementalArt_Roll_Handler", + "abilityName": "Avatar_Sayu_ElementalArt_Roll_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sayu_ElementalArt_Roll_CloseCollider", + "abilityName": "Avatar_Sayu_ElementalArt_Roll_CloseCollider", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sayu_ElementalArt_Roll_Effect", + "abilityName": "Avatar_Sayu_ElementalArt_Roll_Effect", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sayu_ElementalArt_Roll_TriggerBullet", + "abilityName": "Avatar_Sayu_ElementalArt_Roll_TriggerBullet", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sayu_ElementalArt_Hold_Strike", + "abilityName": "Avatar_Sayu_ElementalArt_Hold_Strike", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sayu_ElementalArt_Roll_TriggerFire", + "abilityName": "Avatar_Sayu_ElementalArt_Roll_TriggerFire", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sayu_ElementalArt_Roll_TriggerWater", + "abilityName": "Avatar_Sayu_ElementalArt_Roll_TriggerWater", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sayu_ElementalArt_Roll_TriggerElectric", + "abilityName": "Avatar_Sayu_ElementalArt_Roll_TriggerElectric", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sayu_ElementalArt_Roll_TriggerIce", + "abilityName": "Avatar_Sayu_ElementalArt_Roll_TriggerIce", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sayu_ElementalArt_Roll_Bullet", + "abilityName": "Avatar_Sayu_ElementalArt_Roll_Bullet", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sayu_ElementalArt_Roll_Mix", + "abilityName": "Avatar_Sayu_ElementalArt_Roll_Mix", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sayu_ElementalBurst", + "abilityName": "Avatar_Sayu_ElementalBurst", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sayu_ElementalBurst_Initialize", + "abilityName": "Avatar_Sayu_ElementalBurst_Initialize", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sayu_ElementalBurst_Camera_Handler", + "abilityName": "Avatar_Sayu_ElementalBurst_Camera_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sayu_ElementalBurst_Strike", + "abilityName": "Avatar_Sayu_ElementalBurst_Strike", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sayu_ElementalBurst_Heal", + "abilityName": "Avatar_Sayu_ElementalBurst_Heal", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sayu_ElementalBurst_EmotionControl", + "abilityName": "Avatar_Sayu_ElementalBurst_EmotionControl", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sayu_ElementalBurst_Invincible", + "abilityName": "Avatar_Sayu_ElementalBurst_Invincible", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sayu_ElementalBurst_CameraBlur", + "abilityName": "Avatar_Sayu_ElementalBurst_CameraBlur", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sayu_ElementalBurst_TriggerDaruma", + "abilityName": "Avatar_Sayu_ElementalBurst_TriggerDaruma", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sayu_ElementalBurst_Phantom", + "abilityName": "Avatar_Sayu_ElementalBurst_Phantom", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sayu_ElementalBurst_Phantom_Delay", + "abilityName": "Avatar_Sayu_ElementalBurst_Phantom_Delay", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sayu_ElementalBurst_Phantom_Handler", + "abilityName": "Avatar_Sayu_ElementalBurst_Phantom_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sayu_ElementalBurst_Phantom_PlayAnim", + "abilityName": "Avatar_Sayu_ElementalBurst_Phantom_PlayAnim", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sayu_ElementalBurst_Phantom_Heal", + "abilityName": "Avatar_Sayu_ElementalBurst_Phantom_Heal", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sayu_ElementalBurst_Phantom_Attack", + "abilityName": "Avatar_Sayu_ElementalBurst_Phantom_Attack", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sayu_ElementalBurst_Phantom_AttackAndHeal", + "abilityName": "Avatar_Sayu_ElementalBurst_Phantom_AttackAndHeal", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sayu_Constellation_6_Handler", + "abilityName": "Avatar_Sayu_Constellation_6_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sayu_FallingAnthem", + "abilityName": "Avatar_Sayu_FallingAnthem", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sayu_NormalAttack_DamageHandler", + "abilityName": "Avatar_Sayu_NormalAttack_DamageHandler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sayu_PermanentSkill_1", + "abilityName": "Avatar_Sayu_PermanentSkill_1", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sayu", + "abilityName": "Avatar_Sayu", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sayu_TeamConfig_01BS", + "abilityName": "Avatar_Sayu_TeamConfig_01BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sayu_TeamConfig_01Loop", + "abilityName": "Avatar_Sayu_TeamConfig_01Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sayu_TeamConfig_01AS", + "abilityName": "Avatar_Sayu_TeamConfig_01AS", + "abilityOverride": "" + } + ] +} \ No newline at end of file diff --git a/data/json/avatar/ConfigAvatar_Sethos.json b/data/json/avatar/ConfigAvatar_Sethos.json new file mode 100644 index 0000000..650dfee --- /dev/null +++ b/data/json/avatar/ConfigAvatar_Sethos.json @@ -0,0 +1,69 @@ +{ + "abilities": [ + { + "abilityID": "Avatar_Sethos_PressShoot", + "abilityName": "Avatar_Sethos_PressShoot", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sethos_AimPressShoot", + "abilityName": "Avatar_Sethos_AimPressShoot", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sethos_Arrow_FX", + "abilityName": "Avatar_Sethos_Arrow_FX", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sethos_ShootAimingArrow_Charge", + "abilityName": "Avatar_Sethos_ShootAimingArrow_Charge", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sethos_ShootArrow_01", + "abilityName": "Avatar_Sethos_ShootArrow_01", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sethos_ShootArrow_02", + "abilityName": "Avatar_Sethos_ShootArrow_02", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sethos_ShootArrow_03", + "abilityName": "Avatar_Sethos_ShootArrow_03", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sethos_ShootArrow_04", + "abilityName": "Avatar_Sethos_ShootArrow_04", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sethos_ShootArrow_Aiming", + "abilityName": "Avatar_Sethos_ShootArrow_Aiming", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sethos_ElementalArt", + "abilityName": "Avatar_Sethos_ElementalArt", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sethos_ElementalBurst", + "abilityName": "Avatar_Sethos_ElementalBurst", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sethos_HideWeaponControl", + "abilityName": "Avatar_Sethos_HideWeaponControl", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sethos_FallingAnthem", + "abilityName": "Avatar_Sethos_FallingAnthem", + "abilityOverride": "" + } + ] +} diff --git a/data/json/avatar/ConfigAvatar_Shenhe.json b/data/json/avatar/ConfigAvatar_Shenhe.json new file mode 100644 index 0000000..e134fd0 --- /dev/null +++ b/data/json/avatar/ConfigAvatar_Shenhe.json @@ -0,0 +1,134 @@ +{ + "abilities": [ + { + "abilityID": "Avatar_Shenhe_ExtraAttack", + "abilityName": "Avatar_Shenhe_ExtraAttack", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Shenhe_CreateBullet", + "abilityName": "Avatar_Shenhe_CreateBullet", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Shenhe_ExtraAttack_Bullet", + "abilityName": "Avatar_Shenhe_ExtraAttack_Bullet", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Shenhe_ElementalArt_Bullet", + "abilityName": "Avatar_Shenhe_ElementalArt_Bullet", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Shenhe_ElementalArt_FX", + "abilityName": "Avatar_Shenhe_ElementalArt_FX", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Shenhe_ElementalArt_Attack_L", + "abilityName": "Avatar_Shenhe_ElementalArt_Attack_L", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Shenhe_ElementalArt_Attack_H", + "abilityName": "Avatar_Shenhe_ElementalArt_Attack_H", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Shenhe_ElementalBurst", + "abilityName": "Avatar_Shenhe_ElementalBurst", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Shenhe_ElementalBurst_ScreenEffect", + "abilityName": "Avatar_Shenhe_ElementalBurst_ScreenEffect", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Shenhe_NormalAttack_DamageHandler", + "abilityName": "Avatar_Shenhe_NormalAttack_DamageHandler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Shenhe_FallingAnthem", + "abilityName": "Avatar_Shenhe_FallingAnthem", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Shenhe", + "abilityName": "Avatar_Shenhe", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Shenhe_Skill_ElementalArt_BS", + "abilityName": "Avatar_Shenhe_Skill_ElementalArt_BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Shenhe_Skill_ElementalArt_L", + "abilityName": "Avatar_Shenhe_Skill_ElementalArt_L", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Shenhe_Skill_ElementalArt_H", + "abilityName": "Avatar_Shenhe_Skill_ElementalArt_H", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Shenhe_Skill_ElementalArt_L_AS", + "abilityName": "Avatar_Shenhe_Skill_ElementalArt_L_AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Shenhe_Skill_ElementalArt_H_AS", + "abilityName": "Avatar_Shenhe_Skill_ElementalArt_H_AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Shenhe_Skill_ElementalBurst_BS", + "abilityName": "Avatar_Shenhe_Skill_ElementalBurst_BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Shenhe_Skill_ElementalBurst", + "abilityName": "Avatar_Shenhe_Skill_ElementalBurst", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Shenhe_TeamConfig_01BS", + "abilityName": "Avatar_Shenhe_TeamConfig_01BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Shenhe_TeamConfig_01Loop", + "abilityName": "Avatar_Shenhe_TeamConfig_01Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Shenhe_TeamConfig_01AS", + "abilityName": "Avatar_Shenhe_TeamConfig_01AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Shenhe_ElementalBurst_Spine", + "abilityName": "Avatar_Shenhe_ElementalBurst_Spine", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Shenhe_ElementalBurst_BS", + "abilityName": "Avatar_Shenhe_ElementalBurst_BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Shenhe_ElementalBurst_Hit", + "abilityName": "Avatar_Shenhe_ElementalBurst_Hit", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Shenhe_Spine_Loop", + "abilityName": "Avatar_Shenhe_Spine_Loop", + "abilityOverride": "" + } + ] +} \ No newline at end of file diff --git a/data/json/avatar/ConfigAvatar_Shinobu.json b/data/json/avatar/ConfigAvatar_Shinobu.json new file mode 100644 index 0000000..6ead00b --- /dev/null +++ b/data/json/avatar/ConfigAvatar_Shinobu.json @@ -0,0 +1,139 @@ +{ + "abilities": [ + { + "abilityID": "Avatar_Shinobu_ExtraAttack", + "abilityName": "Avatar_Shinobu_ExtraAttack", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Shinobu_NormalAttack_Handler", + "abilityName": "Avatar_Shinobu_NormalAttack_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Shinobu_ElementalArt_Init", + "abilityName": "Avatar_Shinobu_ElementalArt_Init", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Shinobu_ElementalArt_ElemBall_Handler", + "abilityName": "Avatar_Shinobu_ElementalArt_ElemBall_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Shinobu_ElementalArt", + "abilityName": "Avatar_Shinobu_ElementalArt", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Shinobu_ElementalArt_Constellation_Attack_Handler", + "abilityName": "Avatar_Shinobu_ElementalArt_Constellation_Attack_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Shinobu_ElementalArt_Bullet_KillGadget", + "abilityName": "Avatar_Shinobu_ElementalArt_Bullet_KillGadget", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Shinobu_ElementalArt_ElemBall", + "abilityName": "Avatar_Shinobu_ElementalArt_ElemBall", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Shinobu_Constellation_Attack_Detect", + "abilityName": "Avatar_Shinobu_Constellation_Attack_Detect", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Shinobu_Constellation_AddAttack", + "abilityName": "Avatar_Shinobu_Constellation_AddAttack", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Shinobu_ElementalArt_TickLogic", + "abilityName": "Avatar_Shinobu_ElementalArt_TickLogic", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Shinobu_ElementalArt_TickLogic_Effect", + "abilityName": "Avatar_Shinobu_ElementalArt_TickLogic_Effect", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Shinobu_Constellation_AddAttack_IntoCD", + "abilityName": "Avatar_Shinobu_Constellation_AddAttack_IntoCD", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Shinobu_Constellation_AddAttack_Effect", + "abilityName": "Avatar_Shinobu_Constellation_AddAttack_Effect", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Shinobu_ElementalBurst", + "abilityName": "Avatar_Shinobu_ElementalBurst", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Shinobu_ElementalBurst_Init", + "abilityName": "Avatar_Shinobu_ElementalBurst_Init", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Shinobu_NormalAttack_DamageHandler", + "abilityName": "Avatar_Shinobu_NormalAttack_DamageHandler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Shinobu_FallingAnthem", + "abilityName": "Avatar_Shinobu_FallingAnthem", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Shinobu_PermanentSkill_WhenLowHp", + "abilityName": "Avatar_Shinobu_PermanentSkill_WhenLowHp", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Shinobu_PermanentSkill_HealUpWhenLowHp", + "abilityName": "Avatar_Shinobu_PermanentSkill_HealUpWhenLowHp", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Shinobu_Constellation6_Limbo", + "abilityName": "Avatar_Shinobu_Constellation6_Limbo", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Shinobu_Constellation6_Limbo_Trigger_Protect", + "abilityName": "Avatar_Shinobu_Constellation6_Limbo_Trigger_Protect", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Shinobu_Constellation6_Limbo_Trigger_ElemMastery", + "abilityName": "Avatar_Shinobu_Constellation6_Limbo_Trigger_ElemMastery", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Shinobu", + "abilityName": "Avatar_Shinobu", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Shinobu_TeamConfig_01BS", + "abilityName": "Avatar_Shinobu_TeamConfig_01BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Shinobu_TeamConfig_01Loop", + "abilityName": "Avatar_Shinobu_TeamConfig_01Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Shinobu_TeamConfig_01AS", + "abilityName": "Avatar_Shinobu_TeamConfig_01AS", + "abilityOverride": "" + } + ] +} \ No newline at end of file diff --git a/data/json/avatar/ConfigAvatar_Shougun.json b/data/json/avatar/ConfigAvatar_Shougun.json new file mode 100644 index 0000000..80d204d --- /dev/null +++ b/data/json/avatar/ConfigAvatar_Shougun.json @@ -0,0 +1,124 @@ +{ + "abilities": [ + { + "abilityID": "Avatar_Shougun_ExtraAttack", + "abilityName": "Avatar_Shougun_ExtraAttack", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Shougun_ElementalArt", + "abilityName": "Avatar_Shougun_ElementalArt", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Shougun_Elfh", + "abilityName": "Avatar_Shougun_Elfh", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Shougun_Elf", + "abilityName": "Avatar_Shougun_Elf", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Shougun_ChargeLevel", + "abilityName": "Avatar_Shougun_ChargeLevel", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Shougun_ElementalBurst", + "abilityName": "Avatar_Shougun_ElementalBurst", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Shougun_FallingAnthem", + "abilityName": "Avatar_Shougun_FallingAnthem", + "abilityOverride": "" + }, + { + "abilityID": "AvatarOMonster_Shougun_Mitakenarukami_Mitakenarukami_BurstAtk02_AbsorbEnergyFromAvatar", + "abilityName": "AvatarOMonster_Shougun_Mitakenarukami_Mitakenarukami_BurstAtk02_AbsorbEnergyFromAvatar", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Shougun", + "abilityName": "Avatar_Shougun", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Shougun_Skill_ElementalArt", + "abilityName": "Avatar_Shougun_Skill_ElementalArt", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Shougun_Skill_ElementalArt_AS", + "abilityName": "Avatar_Shougun_Skill_ElementalArt_AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Shougun_FallingAttack_AS_01", + "abilityName": "Avatar_Shougun_FallingAttack_AS_01", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Shougun_FallingAttack_AS_02", + "abilityName": "Avatar_Shougun_FallingAttack_AS_02", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Shougun_Katana_FallingAttack_AS_01", + "abilityName": "Avatar_Shougun_Katana_FallingAttack_AS_01", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Shougun_TeamConfig_01BS", + "abilityName": "Avatar_Shougun_TeamConfig_01BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Shougun_TeamConfig_01Loop", + "abilityName": "Avatar_Shougun_TeamConfig_01Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Shougun_TeamConfig_01AS", + "abilityName": "Avatar_Shougun_TeamConfig_01AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Shougun_Katana_FallingAttack_AS_02", + "abilityName": "Avatar_Shougun_Katana_FallingAttack_AS_02", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Shougun_Spine", + "abilityName": "Avatar_Shougun_Spine", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Shougun_ElementalBurst_Spine", + "abilityName": "Avatar_Shougun_ElementalBurst_Spine", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Shougun_ElementalBurst_BS", + "abilityName": "Avatar_Shougun_ElementalBurst_BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Shougun_ElementalBurst_Hit", + "abilityName": "Avatar_Shougun_ElementalBurst_Hit", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Shougun_Spine_Loop", + "abilityName": "Avatar_Shougun_Spine_Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Shougun_ChargeLevel0BurstSkillEnergy_ExtraChargeLevel_OtherElemRatio", + "abilityName": "Avatar_Shougun_ChargeLevel0BurstSkillEnergy_ExtraChargeLevel_OtherElemRatio", + "abilityOverride": "" + } + ] +} \ No newline at end of file diff --git a/data/json/avatar/ConfigAvatar_Sigewinne.json b/data/json/avatar/ConfigAvatar_Sigewinne.json new file mode 100644 index 0000000..73dcada --- /dev/null +++ b/data/json/avatar/ConfigAvatar_Sigewinne.json @@ -0,0 +1,109 @@ +{ + "abilities": [ + { + "abilityID": "Avatar_Sigewinne_ShootAimingArrow_Charge", + "abilityName": "Avatar_Sigewinne_ShootAimingArrow_Charge", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sigewinne_PressShoot", + "abilityName": "Avatar_Sigewinne_PressShoot", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sigewinne_Arrow_FX", + "abilityName": "Avatar_Sigewinne_Arrow_FX", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sigewinne_ShootArrow_Aiming", + "abilityName": "Avatar_Sigewinne_ShootArrow_Aiming", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sigewinne_AimPressShoot", + "abilityName": "Avatar_Sigewinne_AimPressShoot", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sigewinne_ShootArrow_01", + "abilityName": "Avatar_Sigewinne_ShootArrow_01", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sigewinne_ShootArrow_02", + "abilityName": "Avatar_Sigewinne_ShootArrow_02", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sigewinne_ShootArrow_03", + "abilityName": "Avatar_Sigewinne_ShootArrow_03", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sigewinne_ElementalArt", + "abilityName": "Avatar_Sigewinne_ElementalArt", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sigewinne_EArt_Heal_Other", + "abilityName": "Avatar_Sigewinne_EArt_Heal_Other", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sigewinne_EArt_Heal_Self", + "abilityName": "Avatar_Sigewinne_EArt_Heal_Self", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sigewinne_ElementalArt_Core_Trigger_OnAvatar", + "abilityName": "Avatar_Sigewinne_ElementalArt_Core_Trigger_OnAvatar", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sigewinne_ElementalArt_Shoot_Short", + "abilityName": "Avatar_Sigewinne_ElementalArt_Shoot_Short", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sigewinne_ElementalArt_Shoot_Hold", + "abilityName": "Avatar_Sigewinne_ElementalArt_Shoot_Hold", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sigewinne_ElementalArt_Pneuma", + "abilityName": "Avatar_Sigewinne_ElementalArt_Pneuma", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sigewinne_ElementalBurst", + "abilityName": "Avatar_Sigewinne_ElementalBurst", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sigewinne_PermanentSkill_2", + "abilityName": "Avatar_Sigewinne_PermanentSkill_2", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sigewinne_ShootArrow_Damage", + "abilityName": "Avatar_Sigewinne_ShootArrow_Damage", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sigewinne_FallingAnthem", + "abilityName": "Avatar_Sigewinne_FallingAnthem", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sigewinne_ElementalArt_Core_Add_Debts", + "abilityName": "Avatar_Sigewinne_ElementalArt_Core_Add_Debts", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sigewinne_EArt_Elemball_Driver", + "abilityName": "Avatar_Sigewinne_EArt_Elemball_Driver", + "abilityOverride": "" + } + ] +} diff --git a/data/json/avatar/ConfigAvatar_Sucrose.json b/data/json/avatar/ConfigAvatar_Sucrose.json new file mode 100644 index 0000000..be5bebc --- /dev/null +++ b/data/json/avatar/ConfigAvatar_Sucrose.json @@ -0,0 +1,244 @@ +{ + "abilities": [ + { + "abilityID": "Avatar_Sucrose_ExtraAttack", + "abilityName": "Avatar_Sucrose_ExtraAttack", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sucrose_Attack01", + "abilityName": "Avatar_Sucrose_Attack01", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sucrose_Attack02", + "abilityName": "Avatar_Sucrose_Attack02", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sucrose_Attack03", + "abilityName": "Avatar_Sucrose_Attack03", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sucrose_Attack04_Pre", + "abilityName": "Avatar_Sucrose_Attack04_Pre", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sucrose_Attack04_Gadget", + "abilityName": "Avatar_Sucrose_Attack04_Gadget", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sucrose_Attack04", + "abilityName": "Avatar_Sucrose_Attack04", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sucrose_WindBlackHole", + "abilityName": "Avatar_Sucrose_WindBlackHole", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sucrose_WindBlackHole_Gadget", + "abilityName": "Avatar_Sucrose_WindBlackHole_Gadget", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sucrose_DemiHurricane", + "abilityName": "Avatar_Sucrose_DemiHurricane", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sucrose_DemiHurricane_Flusk", + "abilityName": "Avatar_Sucrose_DemiHurricane_Flusk", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sucrose_DemiHurricane_Gadget", + "abilityName": "Avatar_Sucrose_DemiHurricane_Gadget", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sucrose_DemiHurricane_Dissipate", + "abilityName": "Avatar_Sucrose_DemiHurricane_Dissipate", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sucrose_DemiHurricane_Damage", + "abilityName": "Avatar_Sucrose_DemiHurricane_Damage", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sucrose_DemiHurricane_Mix", + "abilityName": "Avatar_Sucrose_DemiHurricane_Mix", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sucrose_Contellation_6", + "abilityName": "Avatar_Sucrose_Contellation_6", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sucrose_FallingAnthem", + "abilityName": "Avatar_Sucrose_FallingAnthem", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sucrose_PermanentSkill_Catalysa", + "abilityName": "Avatar_Sucrose_PermanentSkill_Catalysa", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sucrose_PermanentSkill_Catalysa_Handler", + "abilityName": "Avatar_Sucrose_PermanentSkill_Catalysa_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sucrose_PermanentSkill_Catalysa_Fire", + "abilityName": "Avatar_Sucrose_PermanentSkill_Catalysa_Fire", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sucrose_PermanentSkill_Catalysa_Firec", + "abilityName": "Avatar_Sucrose_PermanentSkill_Catalysa_Firec", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sucrose_PermanentSkill_Catalysa_Water", + "abilityName": "Avatar_Sucrose_PermanentSkill_Catalysa_Water", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sucrose_PermanentSkill_Catalysa_Waterc", + "abilityName": "Avatar_Sucrose_PermanentSkill_Catalysa_Waterc", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sucrose_PermanentSkill_Catalysa_Ice", + "abilityName": "Avatar_Sucrose_PermanentSkill_Catalysa_Ice", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sucrose_PermanentSkill_Catalysa_Icec", + "abilityName": "Avatar_Sucrose_PermanentSkill_Catalysa_Icec", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sucrose_PermanentSkill_Catalysa_Electric", + "abilityName": "Avatar_Sucrose_PermanentSkill_Catalysa_Electric", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sucrose_PermanentSkill_Catalysa_Electric2UNIQUE_Avatar_Sucrose_PermanentSkill_Catalysa_Fire", + "abilityName": "Avatar_Sucrose_PermanentSkill_Catalysa_Electric2UNIQUE_Avatar_Sucrose_PermanentSkill_Catalysa_Fire", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sucrose_PermanentSkill_NetherWind", + "abilityName": "Avatar_Sucrose_PermanentSkill_NetherWind", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sucrose_PermanentSkill_NetherWind_Handler", + "abilityName": "Avatar_Sucrose_PermanentSkill_NetherWind_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sucrose_PermanentSkill_NetherWind_Buff", + "abilityName": "Avatar_Sucrose_PermanentSkill_NetherWind_Buff", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sucrose_PermanentSkill_NetherWind_Buff4UNIQUE_Avatar_Sucrose_PermanentSkill_NetherWind_Buff", + "abilityName": "Avatar_Sucrose_PermanentSkill_NetherWind_Buff4UNIQUE_Avatar_Sucrose_PermanentSkill_NetherWind_Buff", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sucrose_NormalAttack_DamageHandler", + "abilityName": "Avatar_Sucrose_NormalAttack_DamageHandler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sucrose_NormalAttack_DamageHandler_Paranoid", + "abilityName": "Avatar_Sucrose_NormalAttack_DamageHandler_Paranoid", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sucrose_NormalAttack_DamageHandler_Paranoid_AddCount", + "abilityName": "Avatar_Sucrose_NormalAttack_DamageHandler_Paranoid_AddCount", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sucrose_NormalAttack_DamageHandler_Paranoid_ReduceColdDown", + "abilityName": "Avatar_Sucrose_NormalAttack_DamageHandler_Paranoid_ReduceColdDown", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sucrose_Contellation_4", + "abilityName": "Avatar_Sucrose_Contellation_4", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sucrose", + "abilityName": "Avatar_Sucrose", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sucrose_TeamConfig_01BS", + "abilityName": "Avatar_Sucrose_TeamConfig_01BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sucrose_TeamConfig_01Loop", + "abilityName": "Avatar_Sucrose_TeamConfig_01Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sucrose_TeamConfig_01AS", + "abilityName": "Avatar_Sucrose_TeamConfig_01AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sucrose_ElementalBurst_Spine", + "abilityName": "Avatar_Sucrose_ElementalBurst_Spine", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sucrose_ElementalBurst_BS", + "abilityName": "Avatar_Sucrose_ElementalBurst_BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sucrose_ElementalBurst", + "abilityName": "Avatar_Sucrose_ElementalBurst", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sucrose_ElementBurst", + "abilityName": "Avatar_Sucrose_ElementBurst", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sucrose_ElementalBurst_Hit", + "abilityName": "Avatar_Sucrose_ElementalBurst_Hit", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sucrose_elementalBurst_BS_Normal", + "abilityName": "Avatar_Sucrose_elementalBurst_BS_Normal", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sucrose_Spine_Loop", + "abilityName": "Avatar_Sucrose_Spine_Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Sucrose_PermanentSkill_Catalysa0Sucrose_PermanentSkill_Catalysa_ElemMasteryDelta", + "abilityName": "Avatar_Sucrose_PermanentSkill_Catalysa0Sucrose_PermanentSkill_Catalysa_ElemMasteryDelta", + "abilityOverride": "" + } + ] +} \ No newline at end of file diff --git a/data/json/avatar/ConfigAvatar_Tartaglia.json b/data/json/avatar/ConfigAvatar_Tartaglia.json new file mode 100644 index 0000000..87ca33f --- /dev/null +++ b/data/json/avatar/ConfigAvatar_Tartaglia.json @@ -0,0 +1,239 @@ +{ + "abilities": [ + { + "abilityID": "Avatar_Tartaglia_Arrow_FX", + "abilityName": "Avatar_Tartaglia_Arrow_FX", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tartaglia_PressShoot", + "abilityName": "Avatar_Tartaglia_PressShoot", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tartaglia_AimPressShoot", + "abilityName": "Avatar_Tartaglia_AimPressShoot", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tartaglia_ShootArrow_01", + "abilityName": "Avatar_Tartaglia_ShootArrow_01", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tartaglia_ShootArrow_02", + "abilityName": "Avatar_Tartaglia_ShootArrow_02", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tartaglia_ShootArrow_03", + "abilityName": "Avatar_Tartaglia_ShootArrow_03", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tartaglia_ShootArrow_04", + "abilityName": "Avatar_Tartaglia_ShootArrow_04", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tartaglia_ShootArrow_05", + "abilityName": "Avatar_Tartaglia_ShootArrow_05", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tartaglia_ShootArrow_06", + "abilityName": "Avatar_Tartaglia_ShootArrow_06", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tartaglia_ShootArrow_Aiming", + "abilityName": "Avatar_Tartaglia_ShootArrow_Aiming", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tartaglia_ShootArrow_Enchanted_Water", + "abilityName": "Avatar_Tartaglia_ShootArrow_Enchanted_Water", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tartaglia_ShootArrow_Enchanted_WithoutWater", + "abilityName": "Avatar_Tartaglia_ShootArrow_Enchanted_WithoutWater", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tartaglia_ShootAimingArrow_Charge", + "abilityName": "Avatar_Tartaglia_ShootAimingArrow_Charge", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tartaglia_ChangeMainSkill", + "abilityName": "Avatar_Tartaglia_ChangeMainSkill", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tartaglia_WaterFlower_Handler", + "abilityName": "Avatar_Tartaglia_WaterFlower_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tartaglia_EddyBlade", + "abilityName": "Avatar_Tartaglia_EddyBlade", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tartaglia_Ripple", + "abilityName": "Avatar_Tartaglia_Ripple", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tartaglia_EndOfIris", + "abilityName": "Avatar_Tartaglia_EndOfIris", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tartaglia_Gandalfr", + "abilityName": "Avatar_Tartaglia_Gandalfr", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tartaglia_Gandalfr_Remover", + "abilityName": "Avatar_Tartaglia_Gandalfr_Remover", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tartaglia_Gandalfr_Attack05", + "abilityName": "Avatar_Tartaglia_Gandalfr_Attack05", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tartaglia_Gandalfr_Trigger", + "abilityName": "Avatar_Tartaglia_Gandalfr_Trigger", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tartaglia_GandalfrU", + "abilityName": "Avatar_Tartaglia_GandalfrU", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tartaglia_Gandalfr_TriggerOff", + "abilityName": "Avatar_Tartaglia_Gandalfr_TriggerOff", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tartaglia_Gandalfr_RemoverU", + "abilityName": "Avatar_Tartaglia_Gandalfr_RemoverU", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tartaglia_AquariaBlade_Melee", + "abilityName": "Avatar_Tartaglia_AquariaBlade_Melee", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tartaglia_ThousandWithers7", + "abilityName": "Avatar_Tartaglia_ThousandWithers7", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tartaglia_AquariaBlade_Range", + "abilityName": "Avatar_Tartaglia_AquariaBlade_Range", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tartaglia_AquariaBlade_Range_Gadget", + "abilityName": "Avatar_Tartaglia_AquariaBlade_Range_Gadget", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tartaglia_Blade_Manager", + "abilityName": "Avatar_Tartaglia_Blade_Manager", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tartaglia_AquariaBlade_CameraController", + "abilityName": "Avatar_Tartaglia_AquariaBlade_CameraController", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tartaglia_FallingAnthem", + "abilityName": "Avatar_Tartaglia_FallingAnthem", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tartaglia", + "abilityName": "Avatar_Tartaglia", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tartaglia_ShootArrow_Enchanted_Water2Avatar_Tartaglia_ShootArrow_Enchanted_WithoutWater", + "abilityName": "Avatar_Tartaglia_ShootArrow_Enchanted_Water2Avatar_Tartaglia_ShootArrow_Enchanted_WithoutWater", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tartaglia_TeamConfig_01BS", + "abilityName": "Avatar_Tartaglia_TeamConfig_01BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tartaglia_TeamConfig_01Loop", + "abilityName": "Avatar_Tartaglia_TeamConfig_01Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tartaglia_TeamConfig_01AS", + "abilityName": "Avatar_Tartaglia_TeamConfig_01AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tartaglia_ElementalBurst_01_Spine", + "abilityName": "Avatar_Tartaglia_ElementalBurst_01_Spine", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tartaglia_ElementalBurst_01_Hit", + "abilityName": "Avatar_Tartaglia_ElementalBurst_01_Hit", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tartaglia_ElementalBurst_01_BS", + "abilityName": "Avatar_Tartaglia_ElementalBurst_01_BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tartaglia_ElementalBurst_02_Spine", + "abilityName": "Avatar_Tartaglia_ElementalBurst_02_Spine", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tartaglia_ElementalBurst_02_Hit", + "abilityName": "Avatar_Tartaglia_ElementalBurst_02_Hit", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tartaglia_ElementalBurst_02_BS", + "abilityName": "Avatar_Tartaglia_ElementalBurst_02_BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tartaglia_Spine_Loop", + "abilityName": "Avatar_Tartaglia_Spine_Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tartaglia_Spine", + "abilityName": "Avatar_Tartaglia_Spine", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tartaglia_02_Spine", + "abilityName": "Avatar_Tartaglia_02_Spine", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tartaglia_ThousandWithers", + "abilityName": "Avatar_Tartaglia_ThousandWithers", + "abilityOverride": "" + } + ] +} \ No newline at end of file diff --git a/data/json/avatar/ConfigAvatar_Tighnari.json b/data/json/avatar/ConfigAvatar_Tighnari.json new file mode 100644 index 0000000..08f8586 --- /dev/null +++ b/data/json/avatar/ConfigAvatar_Tighnari.json @@ -0,0 +1,194 @@ +{ + "abilities": [ + { + "abilityID": "Avatar_Tighnari_PressShoot", + "abilityName": "Avatar_Tighnari_PressShoot", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tighnari_AimPressShoot", + "abilityName": "Avatar_Tighnari_AimPressShoot", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tighnari_ShootAimingArrow_Charge", + "abilityName": "Avatar_Tighnari_ShootAimingArrow_Charge", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tighnari_ShootArrow_Aiming", + "abilityName": "Avatar_Tighnari_ShootArrow_Aiming", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tighnari_PermanentSkill_1P", + "abilityName": "Avatar_Tighnari_PermanentSkill_1P", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tighnari_PermanentSkill_1", + "abilityName": "Avatar_Tighnari_PermanentSkill_1", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tighnari_ShootArrow_01", + "abilityName": "Avatar_Tighnari_ShootArrow_01", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tighnari_ShootArrow_02", + "abilityName": "Avatar_Tighnari_ShootArrow_02", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tighnari_ShootArrow_03", + "abilityName": "Avatar_Tighnari_ShootArrow_03", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tighnari_ShootArrow_03_01", + "abilityName": "Avatar_Tighnari_ShootArrow_03_01", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tighnari_ShootArrow_04", + "abilityName": "Avatar_Tighnari_ShootArrow_04", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tighnari_ElementalArt", + "abilityName": "Avatar_Tighnari_ElementalArt", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tighnari_ElementalBurst", + "abilityName": "Avatar_Tighnari_ElementalBurst", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tighnari_ElementalBurst_ScreenEffect", + "abilityName": "Avatar_Tighnari_ElementalBurst_ScreenEffect", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tighnari_ElementalBurst_BulletTrigger", + "abilityName": "Avatar_Tighnari_ElementalBurst_BulletTrigger", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tighnari_ElementalBurst_Bullet_Damage1", + "abilityName": "Avatar_Tighnari_ElementalBurst_Bullet_Damage1", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tighnari_ElementalBurst_Bullet_Damage2", + "abilityName": "Avatar_Tighnari_ElementalBurst_Bullet_Damage2", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tighnari_PermanentSkill_2", + "abilityName": "Avatar_Tighnari_PermanentSkill_2", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tighnari_FallingAnthem", + "abilityName": "Avatar_Tighnari_FallingAnthem", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tighnari_Radar_Collectables_Sumeru", + "abilityName": "Avatar_Tighnari_Radar_Collectables_Sumeru", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tighnari", + "abilityName": "Avatar_Tighnari", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tighnari_SetGadget", + "abilityName": "Avatar_Tighnari_SetGadget", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tighnari_TeamConfig_01BS", + "abilityName": "Avatar_Tighnari_TeamConfig_01BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tighnari_TeamConfig_01Loop", + "abilityName": "Avatar_Tighnari_TeamConfig_01Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tighnari_TeamConfig_01AS", + "abilityName": "Avatar_Tighnari_TeamConfig_01AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tighnari_ElementalBurst_Spine", + "abilityName": "Avatar_Tighnari_ElementalBurst_Spine", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tighnari_Spine", + "abilityName": "Avatar_Tighnari_Spine", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tighnari_ElementalBurst_BS", + "abilityName": "Avatar_Tighnari_ElementalBurst_BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tighnari_ElementBurst_01", + "abilityName": "Avatar_Tighnari_ElementBurst_01", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tighnari_ElementBurst_05", + "abilityName": "Avatar_Tighnari_ElementBurst_05", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tighnari_ElementBurst_02", + "abilityName": "Avatar_Tighnari_ElementBurst_02", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tighnari_ElementBurst_06", + "abilityName": "Avatar_Tighnari_ElementBurst_06", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tighnari_ElementBurst_03", + "abilityName": "Avatar_Tighnari_ElementBurst_03", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tighnari_ElementBurst_07", + "abilityName": "Avatar_Tighnari_ElementBurst_07", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tighnari_ElementBurst_04", + "abilityName": "Avatar_Tighnari_ElementBurst_04", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tighnari_ElementBurst_08", + "abilityName": "Avatar_Tighnari_ElementBurst_08", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tighnari_ElementalBurst_Hit", + "abilityName": "Avatar_Tighnari_ElementalBurst_Hit", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tighnari_Spine_Loop", + "abilityName": "Avatar_Tighnari_Spine_Loop", + "abilityOverride": "" + } + ] +} \ No newline at end of file diff --git a/data/json/avatar/ConfigAvatar_Tohma.json b/data/json/avatar/ConfigAvatar_Tohma.json new file mode 100644 index 0000000..6b3ec97 --- /dev/null +++ b/data/json/avatar/ConfigAvatar_Tohma.json @@ -0,0 +1,114 @@ +{ + "abilities": [ + { + "abilityID": "Avatar_Tohma_ExtraAttack", + "abilityName": "Avatar_Tohma_ExtraAttack", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tohma_ExtraAttack_CreateBullet", + "abilityName": "Avatar_Tohma_ExtraAttack_CreateBullet", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tohma_ExtraAttack_Bullet", + "abilityName": "Avatar_Tohma_ExtraAttack_Bullet", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tohma_ElementalArt_Handler", + "abilityName": "Avatar_Tohma_ElementalArt_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tohma_HasTeamShield", + "abilityName": "Avatar_Tohma_HasTeamShield", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tohma_Has_ELementalBurstBuff", + "abilityName": "Avatar_Tohma_Has_ELementalBurstBuff", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tohma_ElementalArt_Strike", + "abilityName": "Avatar_Tohma_ElementalArt_Strike", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tohma_ElementalBurst_Start", + "abilityName": "Avatar_Tohma_ElementalBurst_Start", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tohma_ElementalBurst_Buff_Handler", + "abilityName": "Avatar_Tohma_ElementalBurst_Buff_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tohma_ElementalBurstPos", + "abilityName": "Avatar_Tohma_ElementalBurstPos", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tohma_ElementalBurstDir", + "abilityName": "Avatar_Tohma_ElementalBurstDir", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tohma_ElementalBurst_TriggerAttack", + "abilityName": "Avatar_Tohma_ElementalBurst_TriggerAttack", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tohma_NormalAttack_DamageHandler", + "abilityName": "Avatar_Tohma_NormalAttack_DamageHandler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tohma_FallingAnthem", + "abilityName": "Avatar_Tohma_FallingAnthem", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tohma", + "abilityName": "Avatar_Tohma", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tohma_Skill_ElementalArt", + "abilityName": "Avatar_Tohma_Skill_ElementalArt", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tohma_Skill_ElementalArt_AS", + "abilityName": "Avatar_Tohma_Skill_ElementalArt_AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tohma_Skill_ElementalBurst", + "abilityName": "Avatar_Tohma_Skill_ElementalBurst", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tohma_TeamConfig_01BS", + "abilityName": "Avatar_Tohma_TeamConfig_01BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tohma_TeamConfig_01Loop", + "abilityName": "Avatar_Tohma_TeamConfig_01Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tohma_TeamConfig_01AS", + "abilityName": "Avatar_Tohma_TeamConfig_01AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Tohma_Skill_ElementalBurst_AS", + "abilityName": "Avatar_Tohma_Skill_ElementalBurst_AS", + "abilityOverride": "" + } + ] +} \ No newline at end of file diff --git a/data/json/avatar/ConfigAvatar_Venti.json b/data/json/avatar/ConfigAvatar_Venti.json new file mode 100644 index 0000000..3a00424 --- /dev/null +++ b/data/json/avatar/ConfigAvatar_Venti.json @@ -0,0 +1,194 @@ +{ + "abilities": [ + { + "abilityID": "Avatar_Venti_WindBlade_Test", + "abilityName": "Avatar_Venti_WindBlade_Test", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Venti_WindBlade", + "abilityName": "Avatar_Venti_WindBlade", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Venti_Arrow_FX", + "abilityName": "Avatar_Venti_Arrow_FX", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Venti_PressShoot", + "abilityName": "Avatar_Venti_PressShoot", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Venti_AimPressShoot", + "abilityName": "Avatar_Venti_AimPressShoot", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Venti_ShootArrow_01", + "abilityName": "Avatar_Venti_ShootArrow_01", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Venti_ShootArrow_02", + "abilityName": "Avatar_Venti_ShootArrow_02", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Venti_ShootArrow_03", + "abilityName": "Avatar_Venti_ShootArrow_03", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Venti_ShootArrow_04", + "abilityName": "Avatar_Venti_ShootArrow_04", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Venti_ShootArrow_05", + "abilityName": "Avatar_Venti_ShootArrow_05", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Venti_ShootArrow_06", + "abilityName": "Avatar_Venti_ShootArrow_06", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Venti_ShootArrow_Aiming", + "abilityName": "Avatar_Venti_ShootArrow_Aiming", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Venti_ShootArrow_Enchanted_Wind", + "abilityName": "Avatar_Venti_ShootArrow_Enchanted_Wind", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Venti_ShootArrow_Enchanted_WithoutWind", + "abilityName": "Avatar_Venti_ShootArrow_Enchanted_WithoutWind", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Venti_ShootAimingArrow_Charge", + "abilityName": "Avatar_Venti_ShootAimingArrow_Charge", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Venti_ChangeMainSkill", + "abilityName": "Avatar_Venti_ChangeMainSkill", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Venti_Hurricane", + "abilityName": "Avatar_Venti_Hurricane", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Venti_Hurricane_Mix", + "abilityName": "Avatar_Venti_Hurricane_Mix", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Venti_Hurricane_Dissipate", + "abilityName": "Avatar_Venti_Hurricane_Dissipate", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Venti_Hurricane_DropBall", + "abilityName": "Avatar_Venti_Hurricane_DropBall", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Venti_FlyChampion", + "abilityName": "Avatar_Venti_FlyChampion", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Venti_FlyStamina_Reduction", + "abilityName": "Avatar_Venti_FlyStamina_Reduction", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Venti_Talnet_ShootArrow_Enchanted_Wind", + "abilityName": "Avatar_Venti_Talnet_ShootArrow_Enchanted_Wind", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Venti_Talnet_ShootArrow_Enchanted_WithoutWind", + "abilityName": "Avatar_Venti_Talnet_ShootArrow_Enchanted_WithoutWind", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Venti_WindField", + "abilityName": "Avatar_Venti_WindField", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Venti_FallingAnthem", + "abilityName": "Avatar_Venti_FallingAnthem", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Venti", + "abilityName": "Avatar_Venti", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Venti_Talnet_ShootArrow_Enchanted_Wind4Avatar_Venti_Talnet_ShootArrow_Enchanted_WithoutWind", + "abilityName": "Avatar_Venti_Talnet_ShootArrow_Enchanted_Wind4Avatar_Venti_Talnet_ShootArrow_Enchanted_WithoutWind", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Venti_TeamConfig_01BS", + "abilityName": "Avatar_Venti_TeamConfig_01BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Venti_TeamConfig_01Loop", + "abilityName": "Avatar_Venti_TeamConfig_01Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Venti_TeamConfig_01AS", + "abilityName": "Avatar_Venti_TeamConfig_01AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Venti_ElementalBurst_Spine", + "abilityName": "Avatar_Venti_ElementalBurst_Spine", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Venti_ElementalBurst_BS", + "abilityName": "Avatar_Venti_ElementalBurst_BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Venti_ElementalBurst", + "abilityName": "Avatar_Venti_ElementalBurst", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Venti_ElementBurst", + "abilityName": "Avatar_Venti_ElementBurst", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Venti_ElementalBurst_Hit", + "abilityName": "Avatar_Venti_ElementalBurst_Hit", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Venti_Spine_Loop", + "abilityName": "Avatar_Venti_Spine_Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Venti_FlyStamina_Reduction_", + "abilityName": "Avatar_Venti_FlyStamina_Reduction_", + "abilityOverride": "" + } + ] +} \ No newline at end of file diff --git a/data/json/avatar/ConfigAvatar_Wanderer.json b/data/json/avatar/ConfigAvatar_Wanderer.json new file mode 100644 index 0000000..831c98f --- /dev/null +++ b/data/json/avatar/ConfigAvatar_Wanderer.json @@ -0,0 +1,569 @@ +{ + "abilities": [ + { + "abilityID": "Avatar_Wanderer_ElementalArt_HoverAir_Handler", + "abilityName": "Avatar_Wanderer_ElementalArt_HoverAir_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_ExtraAttack", + "abilityName": "Avatar_Wanderer_ExtraAttack", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_ExtraAttack_Charge", + "abilityName": "Avatar_Wanderer_ExtraAttack_Charge", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_ExtraAttack_Charge_HasTarget", + "abilityName": "Avatar_Wanderer_ExtraAttack_Charge_HasTarget", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_ExtraAttack_Charge_NoTarget", + "abilityName": "Avatar_Wanderer_ExtraAttack_Charge_NoTarget", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_ExtraAttack_Initiate", + "abilityName": "Avatar_Wanderer_ExtraAttack_Initiate", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_ExtraAttack_Air_Charge", + "abilityName": "Avatar_Wanderer_ExtraAttack_Air_Charge", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_ExtraAttack_Air_Charge_HasTarget", + "abilityName": "Avatar_Wanderer_ExtraAttack_Air_Charge_HasTarget", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_ExtraAttack_Air_Charge_NoTarget", + "abilityName": "Avatar_Wanderer_ExtraAttack_Air_Charge_NoTarget", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_ExtraAttack_Air_Initiate", + "abilityName": "Avatar_Wanderer_ExtraAttack_Air_Initiate", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_HoverAir_Flag", + "abilityName": "Avatar_Wanderer_HoverAir_Flag", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_HatVisible_Flag", + "abilityName": "Avatar_Wanderer_HatVisible_Flag", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_HatVisible_Hide_Handler", + "abilityName": "Avatar_Wanderer_HatVisible_Hide_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_HatVisible_SetGV", + "abilityName": "Avatar_Wanderer_HatVisible_SetGV", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_Attack01", + "abilityName": "Avatar_Wanderer_Attack01", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_Attack02", + "abilityName": "Avatar_Wanderer_Attack02", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_Attack03", + "abilityName": "Avatar_Wanderer_Attack03", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_NormalAttack_Bullet_1", + "abilityName": "Avatar_Wanderer_NormalAttack_Bullet_1", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_NormalAttack_01_Bullet_VFX", + "abilityName": "Avatar_Wanderer_NormalAttack_01_Bullet_VFX", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_NormalAttack_01_Bullet_AngularVelocity_Timer", + "abilityName": "Avatar_Wanderer_NormalAttack_01_Bullet_AngularVelocity_Timer", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_NormalAttack_01_Bullet_AngularVelocity6Avatar_Wanderer_NormalAttack_01_Bullet_AngularVelocity", + "abilityName": "Avatar_Wanderer_NormalAttack_01_Bullet_AngularVelocity6Avatar_Wanderer_NormalAttack_01_Bullet_AngularVelocity", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_NormalAttack_Bullet_2", + "abilityName": "Avatar_Wanderer_NormalAttack_Bullet_2", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_NormalAttack_02_Bullet_VFX", + "abilityName": "Avatar_Wanderer_NormalAttack_02_Bullet_VFX", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_NormalAttack_02_Bullet_AngularVelocity_Timer", + "abilityName": "Avatar_Wanderer_NormalAttack_02_Bullet_AngularVelocity_Timer", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_NormalAttack_02_Bullet_AngularVelocity6Avatar_Wanderer_NormalAttack_02_Bullet_AngularVelocity", + "abilityName": "Avatar_Wanderer_NormalAttack_02_Bullet_AngularVelocity6Avatar_Wanderer_NormalAttack_02_Bullet_AngularVelocity", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_NormalAttack_Bullet_3", + "abilityName": "Avatar_Wanderer_NormalAttack_Bullet_3", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_NormalAttack_03_Bullet_VFX", + "abilityName": "Avatar_Wanderer_NormalAttack_03_Bullet_VFX", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_NormalAttack_03_Bullet_AngularVelocity_Timer", + "abilityName": "Avatar_Wanderer_NormalAttack_03_Bullet_AngularVelocity_Timer", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_NormalAttack_03_Bullet_AngularVelocity6Avatar_Wanderer_NormalAttack_03_Bullet_AngularVelocity", + "abilityName": "Avatar_Wanderer_NormalAttack_03_Bullet_AngularVelocity6Avatar_Wanderer_NormalAttack_03_Bullet_AngularVelocity", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_NormalAttack_Bullet_4", + "abilityName": "Avatar_Wanderer_NormalAttack_Bullet_4", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_NormalAttack_04_Bullet_VFX", + "abilityName": "Avatar_Wanderer_NormalAttack_04_Bullet_VFX", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_NormalAttack_04_Bullet_AngularVelocity_Timer", + "abilityName": "Avatar_Wanderer_NormalAttack_04_Bullet_AngularVelocity_Timer", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_NormalAttack_04_Bullet_AngularVelocity6Avatar_Wanderer_NormalAttack_04_Bullet_AngularVelocity", + "abilityName": "Avatar_Wanderer_NormalAttack_04_Bullet_AngularVelocity6Avatar_Wanderer_NormalAttack_04_Bullet_AngularVelocity", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_ElementalArt_Launch", + "abilityName": "Avatar_Wanderer_ElementalArt_Launch", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_ElementalArt_HoverAir_", + "abilityName": "Avatar_Wanderer_ElementalArt_HoverAir_", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_ElementalArt_Ring_Handler", + "abilityName": "Avatar_Wanderer_ElementalArt_Ring_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_Kasa_Ring_Idle", + "abilityName": "Avatar_Wanderer_Kasa_Ring_Idle", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_Kasa_Ring_Move", + "abilityName": "Avatar_Wanderer_Kasa_Ring_Move", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_Kasa_Ring_Dash", + "abilityName": "Avatar_Wanderer_Kasa_Ring_Dash", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_Kasa_Ring_DashHold", + "abilityName": "Avatar_Wanderer_Kasa_Ring_DashHold", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_Kasa_Ring_Recovery", + "abilityName": "Avatar_Wanderer_Kasa_Ring_Recovery", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_HoverAir_Mark", + "abilityName": "Avatar_Wanderer_HoverAir_Mark", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_ElementalArt_Ring", + "abilityName": "Avatar_Wanderer_ElementalArt_Ring", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_ElementalArt_HoverAir", + "abilityName": "Avatar_Wanderer_ElementalArt_HoverAir", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_ElementalArt_HoverAir_Remover", + "abilityName": "Avatar_Wanderer_ElementalArt_HoverAir_Remover", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_Constellation_6_Handler", + "abilityName": "Avatar_Wanderer_Constellation_6_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_Constellation_6_Count", + "abilityName": "Avatar_Wanderer_Constellation_6_Count", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_Constellation_6_Buff", + "abilityName": "Avatar_Wanderer_Constellation_6_Buff", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_ElementalArt_HoverAir_Dash", + "abilityName": "Avatar_Wanderer_ElementalArt_HoverAir_Dash", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_ElementalArt_HoverAir_Up", + "abilityName": "Avatar_Wanderer_ElementalArt_HoverAir_Up", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_ElementalArt_Recovery", + "abilityName": "Avatar_Wanderer_ElementalArt_Recovery", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_HitFallToGround_Visible_Handler", + "abilityName": "Avatar_Wanderer_HitFallToGround_Visible_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_Recovery_Handler", + "abilityName": "Avatar_Wanderer_Recovery_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_Recovery_AddEndure", + "abilityName": "Avatar_Wanderer_Recovery_AddEndure", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_ElementalArt_HoverAir_Shoot", + "abilityName": "Avatar_Wanderer_ElementalArt_HoverAir_Shoot", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_ElementalArt_HoverAir_Shoot_1", + "abilityName": "Avatar_Wanderer_ElementalArt_HoverAir_Shoot_1", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_ElementalArt_HoverAir_Shoot_2", + "abilityName": "Avatar_Wanderer_ElementalArt_HoverAir_Shoot_2", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_ElementalArt_HoverAir_Shoot_3", + "abilityName": "Avatar_Wanderer_ElementalArt_HoverAir_Shoot_3", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_ElementalArt_Bullet_1", + "abilityName": "Avatar_Wanderer_ElementalArt_Bullet_1", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_HoverAttack_01_Bullet_VFX", + "abilityName": "Avatar_Wanderer_HoverAttack_01_Bullet_VFX", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_HoverAttack_01_Bullet_AngularVelocity_Timer", + "abilityName": "Avatar_Wanderer_HoverAttack_01_Bullet_AngularVelocity_Timer", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_HoverAttack_01_Bullet_AngularVelocity5Avatar_Wanderer_HoverAttack_01_Bullet_AngularVelocity", + "abilityName": "Avatar_Wanderer_HoverAttack_01_Bullet_AngularVelocity5Avatar_Wanderer_HoverAttack_01_Bullet_AngularVelocity", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_ElementalArt_Bullet_2", + "abilityName": "Avatar_Wanderer_ElementalArt_Bullet_2", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_HoverAttack_02_Bullet_VFX", + "abilityName": "Avatar_Wanderer_HoverAttack_02_Bullet_VFX", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_HoverAttack_02_Bullet_AngularVelocity_Timer", + "abilityName": "Avatar_Wanderer_HoverAttack_02_Bullet_AngularVelocity_Timer", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_HoverAttack_02_Bullet_AngularVelocity5Avatar_Wanderer_HoverAttack_02_Bullet_AngularVelocity", + "abilityName": "Avatar_Wanderer_HoverAttack_02_Bullet_AngularVelocity5Avatar_Wanderer_HoverAttack_02_Bullet_AngularVelocity", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_ElementalArt_Bullet_3", + "abilityName": "Avatar_Wanderer_ElementalArt_Bullet_3", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_HoverAttack_03_Bullet_VFX", + "abilityName": "Avatar_Wanderer_HoverAttack_03_Bullet_VFX", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_HoverAttack_03_Bullet_AngularVelocity_Timer", + "abilityName": "Avatar_Wanderer_HoverAttack_03_Bullet_AngularVelocity_Timer", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_HoverAttack_03_Bullet_AngularVelocity5Avatar_Wanderer_HoverAttack_03_Bullet_AngularVelocity", + "abilityName": "Avatar_Wanderer_HoverAttack_03_Bullet_AngularVelocity5Avatar_Wanderer_HoverAttack_03_Bullet_AngularVelocity", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_ElementalArt_Bullet_4", + "abilityName": "Avatar_Wanderer_ElementalArt_Bullet_4", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_HoverAttack_04_Bullet_VFX", + "abilityName": "Avatar_Wanderer_HoverAttack_04_Bullet_VFX", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_HoverAttack_04_Bullet_AngularVelocity_Timer", + "abilityName": "Avatar_Wanderer_HoverAttack_04_Bullet_AngularVelocity_Timer", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_HoverAttack_04_Bullet_AngularVelocity5Avatar_Wanderer_HoverAttack_04_Bullet_AngularVelocity", + "abilityName": "Avatar_Wanderer_HoverAttack_04_Bullet_AngularVelocity5Avatar_Wanderer_HoverAttack_04_Bullet_AngularVelocity", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_ElementalArt_Bullet_1_Extra", + "abilityName": "Avatar_Wanderer_ElementalArt_Bullet_1_Extra", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_ElementalArt_Bullet_2_Extra", + "abilityName": "Avatar_Wanderer_ElementalArt_Bullet_2_Extra", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_ElementalArt_Bullet_3_Extra", + "abilityName": "Avatar_Wanderer_ElementalArt_Bullet_3_Extra", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_ElementalArt_Bullet_4_Extra", + "abilityName": "Avatar_Wanderer_ElementalArt_Bullet_4_Extra", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_ElementalBurst", + "abilityName": "Avatar_Wanderer_ElementalBurst", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_ElementalBurst_Emotion", + "abilityName": "Avatar_Wanderer_ElementalBurst_Emotion", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_ElementalBurst_SkinControl", + "abilityName": "Avatar_Wanderer_ElementalBurst_SkinControl", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_ElementalBurst_Invincible", + "abilityName": "Avatar_Wanderer_ElementalBurst_Invincible", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_ElementalBurst_FogFX01", + "abilityName": "Avatar_Wanderer_ElementalBurst_FogFX01", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_ElementalBurst_Bullet", + "abilityName": "Avatar_Wanderer_ElementalBurst_Bullet", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_PermanentSkill_1", + "abilityName": "Avatar_Wanderer_PermanentSkill_1", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_ElementalArt_ResetMixTypey", + "abilityName": "Avatar_Wanderer_ElementalArt_ResetMixTypey", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_ElementalArt_ResetMixType", + "abilityName": "Avatar_Wanderer_ElementalArt_ResetMixType", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_PermanentSkill_2", + "abilityName": "Avatar_Wanderer_PermanentSkill_2", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_PermanentSkill_2_HasTarget", + "abilityName": "Avatar_Wanderer_PermanentSkill_2_HasTarget", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_PermanentSkill_2_NoTarget", + "abilityName": "Avatar_Wanderer_PermanentSkill_2_NoTarget", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_PermanentSkill_2_RandomCheck", + "abilityName": "Avatar_Wanderer_PermanentSkill_2_RandomCheck", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_ElementalArt_Bullet_HoverDash", + "abilityName": "Avatar_Wanderer_ElementalArt_Bullet_HoverDash", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_ElementalArt_Bullet_Extra_Trail", + "abilityName": "Avatar_Wanderer_ElementalArt_Bullet_Extra_Trail", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_ElementalArt_Bullet_Extra_Core", + "abilityName": "Avatar_Wanderer_ElementalArt_Bullet_Extra_Core", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_ElementalArt_Bullet_Extra_Hit", + "abilityName": "Avatar_Wanderer_ElementalArt_Bullet_Extra_Hit", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_FallingAnthem", + "abilityName": "Avatar_Wanderer_FallingAnthem", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_FallAnthem_BS_Wind", + "abilityName": "Avatar_Wanderer_FallAnthem_BS_Wind", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_FallAnthem_Self_Wind", + "abilityName": "Avatar_Wanderer_FallAnthem_Self_Wind", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_FallAnthem_Strike_01_Wind", + "abilityName": "Avatar_Wanderer_FallAnthem_Strike_01_Wind", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_FallAnthem_Strike_02_Wind", + "abilityName": "Avatar_Wanderer_FallAnthem_Strike_02_Wind", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer", + "abilityName": "Avatar_Wanderer", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_TeamConfig_01BS", + "abilityName": "Avatar_Wanderer_TeamConfig_01BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_TeamConfig_01Loop", + "abilityName": "Avatar_Wanderer_TeamConfig_01Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_TeamConfig_01AS", + "abilityName": "Avatar_Wanderer_TeamConfig_01AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_ElementalArt_Bullet_HoverDash_Trigger5Avatar_Wanderer_ElementalArt_Bullet_HoverDash_Trigger", + "abilityName": "Avatar_Wanderer_ElementalArt_Bullet_HoverDash_Trigger5Avatar_Wanderer_ElementalArt_Bullet_HoverDash_Trigger", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_ElementalBurst_Spine", + "abilityName": "Avatar_Wanderer_ElementalBurst_Spine", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_ElementalBurst_Spine_Foot", + "abilityName": "Avatar_Wanderer_ElementalBurst_Spine_Foot", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_Spine", + "abilityName": "Avatar_Wanderer_Spine", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_02_Spine", + "abilityName": "Avatar_Wanderer_02_Spine", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_ElementalBurst_BS", + "abilityName": "Avatar_Wanderer_ElementalBurst_BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_ElementalBurst_Hit", + "abilityName": "Avatar_Wanderer_ElementalBurst_Hit", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_Spine_Loop_Hand", + "abilityName": "Avatar_Wanderer_Spine_Loop_Hand", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wanderer_Spine_Loop", + "abilityName": "Avatar_Wanderer_Spine_Loop", + "abilityOverride": "" + } + ] +} \ No newline at end of file diff --git a/data/json/avatar/ConfigAvatar_Wriothesley.json b/data/json/avatar/ConfigAvatar_Wriothesley.json new file mode 100644 index 0000000..1374037 --- /dev/null +++ b/data/json/avatar/ConfigAvatar_Wriothesley.json @@ -0,0 +1,264 @@ +{ + "abilities": [ + { + "abilityID": "Avatar_Wriothesley_ExtraAttack", + "abilityName": "Avatar_Wriothesley_ExtraAttack", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wriothesley_ExtraAttack_Strike", + "abilityName": "Avatar_Wriothesley_ExtraAttack_Strike", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wriothesley_NormalAttack_Damage_Handler", + "abilityName": "Avatar_Wriothesley_NormalAttack_Damage_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wriothesley_AttackSpeed_Buff", + "abilityName": "Avatar_Wriothesley_AttackSpeed_Buff", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wriothesley_AttackSpeed_Handler", + "abilityName": "Avatar_Wriothesley_AttackSpeed_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wriothesley_AttackSpeed_Buff_Self_Handler0Avatar_Wriothesley_AttackSpeed_Buff_Team_Handler", + "abilityName": "Avatar_Wriothesley_AttackSpeed_Buff_Self_Handler0Avatar_Wriothesley_AttackSpeed_Buff_Team_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wriothesley_AttackSpeed_Buff_Self_Timer", + "abilityName": "Avatar_Wriothesley_AttackSpeed_Buff_Self_Timer", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wriothesley_AttackSpeed_Buff_Team_Timer", + "abilityName": "Avatar_Wriothesley_AttackSpeed_Buff_Team_Timer", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wriothesley_AttackSpeed_Buff_Self_Handler", + "abilityName": "Avatar_Wriothesley_AttackSpeed_Buff_Self_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wriothesley_AttackSpeed_Buff_Self0Avatar_Wriothesley_AttackSpeed_Buff_Team_Handler", + "abilityName": "Avatar_Wriothesley_AttackSpeed_Buff_Self0Avatar_Wriothesley_AttackSpeed_Buff_Team_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wriothesley_AttackSpeed_Buff_Team", + "abilityName": "Avatar_Wriothesley_AttackSpeed_Buff_Team", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wriothesley_AttackSpeed_Buff_Self", + "abilityName": "Avatar_Wriothesley_AttackSpeed_Buff_Self", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wriothesley_ElementalArt_Buff", + "abilityName": "Avatar_Wriothesley_ElementalArt_Buff", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wriothesley_ElementalArt_Buff_Handler", + "abilityName": "Avatar_Wriothesley_ElementalArt_Buff_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wriothesley_NormalAttack_Buff_Handler", + "abilityName": "Avatar_Wriothesley_NormalAttack_Buff_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wriothesley_ElementalArt_LoseHP", + "abilityName": "Avatar_Wriothesley_ElementalArt_LoseHP", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wriothesley_ElementalArt_GenerateEnergy", + "abilityName": "Avatar_Wriothesley_ElementalArt_GenerateEnergy", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wriothesley_ExtraAttack_Buff_CD_Handler", + "abilityName": "Avatar_Wriothesley_ExtraAttack_Buff_CD_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wriothesley_ExtraAttack_Buff_Predicate", + "abilityName": "Avatar_Wriothesley_ExtraAttack_Buff_Predicate", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wriothesley_ExtraAttack_Buff_CD", + "abilityName": "Avatar_Wriothesley_ExtraAttack_Buff_CD", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wriothesley_ExtraAttack_Buff_Trigger", + "abilityName": "Avatar_Wriothesley_ExtraAttack_Buff_Trigger", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wriothesley_ExtraAttack_Buff_Handler", + "abilityName": "Avatar_Wriothesley_ExtraAttack_Buff_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wriothesley_ExtraAttack_Buff_HealHP", + "abilityName": "Avatar_Wriothesley_ExtraAttack_Buff_HealHP", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wriothesley_ElementalArt_Buff_HandlerM", + "abilityName": "Avatar_Wriothesley_ElementalArt_Buff_HandlerM", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wriothesley_ElementalBurst_Cast", + "abilityName": "Avatar_Wriothesley_ElementalBurst_Cast", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wriothesley_ElementalBurst_ScreenEffect", + "abilityName": "Avatar_Wriothesley_ElementalBurst_ScreenEffect", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wriothesley_ElementalBurst_Bullet", + "abilityName": "Avatar_Wriothesley_ElementalBurst_Bullet", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wriothesley_ElementalBurst_Arkhe_CD_Handler2Avatar_Wriothesley_ElementalBurst_Arkhe_CD_Handler", + "abilityName": "Avatar_Wriothesley_ElementalBurst_Arkhe_CD_Handler2Avatar_Wriothesley_ElementalBurst_Arkhe_CD_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wriothesley_FallingAnthem", + "abilityName": "Avatar_Wriothesley_FallingAnthem", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wriothesley_Gauntlet_Handler3", + "abilityName": "Avatar_Wriothesley_Gauntlet_Handler3", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wriothesley_Gauntlet_L_Handler", + "abilityName": "Avatar_Wriothesley_Gauntlet_L_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wriothesley_Gauntlet_R_Handler", + "abilityName": "Avatar_Wriothesley_Gauntlet_R_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wriothesley_Gauntlet_L_Dissolve", + "abilityName": "Avatar_Wriothesley_Gauntlet_L_Dissolve", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wriothesley_Gauntlet_R_Dissolve", + "abilityName": "Avatar_Wriothesley_Gauntlet_R_Dissolve", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wriothesley_Gauntlet_L_Enable", + "abilityName": "Avatar_Wriothesley_Gauntlet_L_Enable", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wriothesley_Gauntlet_R_Enable", + "abilityName": "Avatar_Wriothesley_Gauntlet_R_Enable", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wriothesley_Gauntlet_ElementalBurst_Dissolveff", + "abilityName": "Avatar_Wriothesley_Gauntlet_ElementalBurst_Dissolveff", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wriothesley_Gauntlet_Handler_VFX", + "abilityName": "Avatar_Wriothesley_Gauntlet_Handler_VFX", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wriothesley_Gauntlet_Initialize_2", + "abilityName": "Avatar_Wriothesley_Gauntlet_Initialize_2", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wriothesley_Gauntlet_L_Disable", + "abilityName": "Avatar_Wriothesley_Gauntlet_L_Disable", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wriothesley_Gauntlet_R_Disable", + "abilityName": "Avatar_Wriothesley_Gauntlet_R_Disable", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wriothesley_Gauntlet_L_Disabler", + "abilityName": "Avatar_Wriothesley_Gauntlet_L_Disabler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wriothesley_Gauntlet_R_Disabler", + "abilityName": "Avatar_Wriothesley_Gauntlet_R_Disabler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wriothesley_Gauntlet_ElementalBurst_Dissolve", + "abilityName": "Avatar_Wriothesley_Gauntlet_ElementalBurst_Dissolve", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wriothesley_Gauntlet_Initialize", + "abilityName": "Avatar_Wriothesley_Gauntlet_Initialize", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wriothesley", + "abilityName": "Avatar_Wriothesley", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wriothesley_TeamConfig_01BS", + "abilityName": "Avatar_Wriothesley_TeamConfig_01BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wriothesley_TeamConfig_01Loop", + "abilityName": "Avatar_Wriothesley_TeamConfig_01Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wriothesley_TeamConfig_01AS", + "abilityName": "Avatar_Wriothesley_TeamConfig_01AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wriothesley_Gauntlet_Handler", + "abilityName": "Avatar_Wriothesley_Gauntlet_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wriothesley_ExtraAttack_Strike0Wriothesley_ExtraAttack_Constellation_6_CritRate", + "abilityName": "Avatar_Wriothesley_ExtraAttack_Strike0Wriothesley_ExtraAttack_Constellation_6_CritRate", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Wriothesley_ExtraAttack_Strike0Wriothesley_ExtraAttack_Constellation_6_CritHurt", + "abilityName": "Avatar_Wriothesley_ExtraAttack_Strike0Wriothesley_ExtraAttack_Constellation_6_CritHurt", + "abilityOverride": "" + } + ] +} \ No newline at end of file diff --git a/data/json/avatar/ConfigAvatar_Xiangling.json b/data/json/avatar/ConfigAvatar_Xiangling.json new file mode 100644 index 0000000..b11c016 --- /dev/null +++ b/data/json/avatar/ConfigAvatar_Xiangling.json @@ -0,0 +1,169 @@ +{ + "abilities": [ + { + "abilityID": "Avatar_Xiangling_ExtraAttack_Damage", + "abilityName": "Avatar_Xiangling_ExtraAttack_Damage", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xiangling_ExtraAttack", + "abilityName": "Avatar_Xiangling_ExtraAttack", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xiangling_ExtraAttack_CreateBullet", + "abilityName": "Avatar_Xiangling_ExtraAttack_CreateBullet", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xiangling_ExtraAttack_Bullet", + "abilityName": "Avatar_Xiangling_ExtraAttack_Bullet", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xiangling_Eff_Attack_04", + "abilityName": "Avatar_Xiangling_Eff_Attack_04", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xiangling_PandaBornEffect", + "abilityName": "Avatar_Xiangling_PandaBornEffect", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xiangling_PandaBornEffect_Run", + "abilityName": "Avatar_Xiangling_PandaBornEffect_Run", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xiangling_PandaFire", + "abilityName": "Avatar_Xiangling_PandaFire", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xiangling_PandaFire_Run", + "abilityName": "Avatar_Xiangling_PandaFire_Run", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xiangling_PandaFireAim", + "abilityName": "Avatar_Xiangling_PandaFireAim", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xiangling_PandaFire_Effect", + "abilityName": "Avatar_Xiangling_PandaFire_Effect", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xiangling_PandaFire_Attack", + "abilityName": "Avatar_Xiangling_PandaFire_Attack", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xiangling_PandaPepper", + "abilityName": "Avatar_Xiangling_PandaPepper", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xiangling_FireCircleSkillStart", + "abilityName": "Avatar_Xiangling_FireCircleSkillStart", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xiangling_FireCircle01", + "abilityName": "Avatar_Xiangling_FireCircle01", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xiangling_FireCircle02", + "abilityName": "Avatar_Xiangling_FireCircle02", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xiangling_FireCircle03", + "abilityName": "Avatar_Xiangling_FireCircle03", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xiangling_FireCircle", + "abilityName": "Avatar_Xiangling_FireCircle", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xiangling_NormalAttackDamage", + "abilityName": "Avatar_Xiangling_NormalAttackDamage", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xiangling_FallingAnthem", + "abilityName": "Avatar_Xiangling_FallingAnthem", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xiangling", + "abilityName": "Avatar_Xiangling", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xiangling_TeamConfig_01BS", + "abilityName": "Avatar_Xiangling_TeamConfig_01BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xiangling_TeamConfig_01Loop", + "abilityName": "Avatar_Xiangling_TeamConfig_01Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xiangling_TeamConfig_01AS", + "abilityName": "Avatar_Xiangling_TeamConfig_01AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xiangling_ElementalBurst_Spine", + "abilityName": "Avatar_Xiangling_ElementalBurst_Spine", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xiangling_ElementalBurst_BS", + "abilityName": "Avatar_Xiangling_ElementalBurst_BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xiangling_ElementalBurst", + "abilityName": "Avatar_Xiangling_ElementalBurst", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xiangling_ElementBurst", + "abilityName": "Avatar_Xiangling_ElementBurst", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xiangling_ElementalBurst_Hit", + "abilityName": "Avatar_Xiangling_ElementalBurst_Hit", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xiangling_elementalBurst_Normal", + "abilityName": "Avatar_Xiangling_elementalBurst_Normal", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xiangling_Spine_Loop", + "abilityName": "Avatar_Xiangling_Spine_Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xiangling_Spine_Loop_BG", + "abilityName": "Avatar_Xiangling_Spine_Loop_BG", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xiangling_Spine", + "abilityName": "Avatar_Xiangling_Spine", + "abilityOverride": "" + } + ] +} \ No newline at end of file diff --git a/data/json/avatar/ConfigAvatar_Xiao.json b/data/json/avatar/ConfigAvatar_Xiao.json new file mode 100644 index 0000000..f90ccc7 --- /dev/null +++ b/data/json/avatar/ConfigAvatar_Xiao.json @@ -0,0 +1,134 @@ +{ + "abilities": [ + { + "abilityID": "Avatar_Xiao_ExtraAttack", + "abilityName": "Avatar_Xiao_ExtraAttack", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xiao_DevilDash_Handler", + "abilityName": "Avatar_Xiao_DevilDash_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xiao_DevilDash_Bullet", + "abilityName": "Avatar_Xiao_DevilDash_Bullet", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xiao_CloseCollider", + "abilityName": "Avatar_Xiao_CloseCollider", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xiao_FallingAnthem", + "abilityName": "Avatar_Xiao_FallingAnthem", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xiao_HowlingSoul_CameraController", + "abilityName": "Avatar_Xiao_HowlingSoul_CameraController", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xiao_HowlingSoul", + "abilityName": "Avatar_Xiao_HowlingSoul", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xiao_NormalAttack_DamageHandler", + "abilityName": "Avatar_Xiao_NormalAttack_DamageHandler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xiao_CoreSkill", + "abilityName": "Avatar_Xiao_CoreSkill", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xiao_FallingDamageReduction", + "abilityName": "Avatar_Xiao_FallingDamageReduction", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xiao_ClimbStamina_Reduction", + "abilityName": "Avatar_Xiao_ClimbStamina_Reduction", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_QuestAbility_XiaoTriggerElementalBurst", + "abilityName": "Avatar_QuestAbility_XiaoTriggerElementalBurst", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xiao", + "abilityName": "Avatar_Xiao", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xiao_Skill_DevilDash", + "abilityName": "Avatar_Xiao_Skill_DevilDash", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xiao_Skill_DevilDash_AS", + "abilityName": "Avatar_Xiao_Skill_DevilDash_AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xiao_Skill_DevilDashAir", + "abilityName": "Avatar_Xiao_Skill_DevilDashAir", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xiao_Skill_DevilDashAir_AS", + "abilityName": "Avatar_Xiao_Skill_DevilDashAir_AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xiao_TeamConfig_01BS", + "abilityName": "Avatar_Xiao_TeamConfig_01BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xiao_TeamConfig_01Loop", + "abilityName": "Avatar_Xiao_TeamConfig_01Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xiao_TeamConfig_01AS", + "abilityName": "Avatar_Xiao_TeamConfig_01AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xiao_ElementalBurst_Spine", + "abilityName": "Avatar_Xiao_ElementalBurst_Spine", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xiao_ElementalBurst_BS", + "abilityName": "Avatar_Xiao_ElementalBurst_BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xiao_ElementalBurst_Hit", + "abilityName": "Avatar_Xiao_ElementalBurst_Hit", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xiao_Spine_Loop", + "abilityName": "Avatar_Xiao_Spine_Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xiao_Spine", + "abilityName": "Avatar_Xiao_Spine", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xiao_02_Spine", + "abilityName": "Avatar_Xiao_02_Spine", + "abilityOverride": "" + } + ] +} \ No newline at end of file diff --git a/data/json/avatar/ConfigAvatar_Xingqiu.json b/data/json/avatar/ConfigAvatar_Xingqiu.json new file mode 100644 index 0000000..812ca6e --- /dev/null +++ b/data/json/avatar/ConfigAvatar_Xingqiu.json @@ -0,0 +1,189 @@ +{ + "abilities": [ + { + "abilityID": "Avatar_Xingqiu_ExtraAttack", + "abilityName": "Avatar_Xingqiu_ExtraAttack", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xingqiu_Spoondrift", + "abilityName": "Avatar_Xingqiu_Spoondrift", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xingqiu_PhantomShield", + "abilityName": "Avatar_Xingqiu_PhantomShield", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xingqiu_Minazuki", + "abilityName": "Avatar_Xingqiu_Minazuki", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xingqiu_Minazuki_Attack01", + "abilityName": "Avatar_Xingqiu_Minazuki_Attack01", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xingqiu_Minazuki_Attack02", + "abilityName": "Avatar_Xingqiu_Minazuki_Attack02", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xingqiu_Minazuki_Attack03", + "abilityName": "Avatar_Xingqiu_Minazuki_Attack03", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xingqiu_PhantomBurst_GainEnergy", + "abilityName": "Avatar_Xingqiu_PhantomBurst_GainEnergy", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xingqiu_PhantomBurst_Debuff", + "abilityName": "Avatar_Xingqiu_PhantomBurst_Debuff", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xingqiu_DamageHandler", + "abilityName": "Avatar_Xingqiu_DamageHandler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xingqiu_FallingAnthem", + "abilityName": "Avatar_Xingqiu_FallingAnthem", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xingqiu", + "abilityName": "Avatar_Xingqiu", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xingqiu_Skill_ElmentalArt_01", + "abilityName": "Avatar_Xingqiu_Skill_ElmentalArt_01", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xingqiu_Skill_ElmentalArt_01_AS", + "abilityName": "Avatar_Xingqiu_Skill_ElmentalArt_01_AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xingqiu_Skill_ElmentalBurst", + "abilityName": "Avatar_Xingqiu_Skill_ElmentalBurst", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xingqiu_Skill_ElmentalBurst_AS", + "abilityName": "Avatar_Xingqiu_Skill_ElmentalBurst_AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xingqiu_TeamConfig_01BS", + "abilityName": "Avatar_Xingqiu_TeamConfig_01BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xingqiu_TeamConfig_01Loop", + "abilityName": "Avatar_Xingqiu_TeamConfig_01Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xingqiu_TeamConfig_01AS", + "abilityName": "Avatar_Xingqiu_TeamConfig_01AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xingqiu_ElementalBurst_Spine", + "abilityName": "Avatar_Xingqiu_ElementalBurst_Spine", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xingqiu_ElementalBurst_BS", + "abilityName": "Avatar_Xingqiu_ElementalBurst_BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xingqiu_ElementalBurst", + "abilityName": "Avatar_Xingqiu_ElementalBurst", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xingqiu_ElementBurst_01", + "abilityName": "Avatar_Xingqiu_ElementBurst_01", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xingqiu_ElementBurst_06", + "abilityName": "Avatar_Xingqiu_ElementBurst_06", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xingqiu_ElementBurst_02", + "abilityName": "Avatar_Xingqiu_ElementBurst_02", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xingqiu_ElementBurst_07", + "abilityName": "Avatar_Xingqiu_ElementBurst_07", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xingqiu_ElementBurst_03", + "abilityName": "Avatar_Xingqiu_ElementBurst_03", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xingqiu_ElementBurst_08", + "abilityName": "Avatar_Xingqiu_ElementBurst_08", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xingqiu_ElementBurst_04", + "abilityName": "Avatar_Xingqiu_ElementBurst_04", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xingqiu_ElementBurst_09", + "abilityName": "Avatar_Xingqiu_ElementBurst_09", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xingqiu_ElementBurst_05", + "abilityName": "Avatar_Xingqiu_ElementBurst_05", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xingqiu_ElementBurst_10", + "abilityName": "Avatar_Xingqiu_ElementBurst_10", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xingqiu_ElementalBurst_Hit", + "abilityName": "Avatar_Xingqiu_ElementalBurst_Hit", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xingqiu_elementalBurst_normal", + "abilityName": "Avatar_Xingqiu_elementalBurst_normal", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xingqiu_elementalBurst_buff", + "abilityName": "Avatar_Xingqiu_elementalBurst_buff", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xingqiu_Spine_Loop", + "abilityName": "Avatar_Xingqiu_Spine_Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xingqiu_Spine", + "abilityName": "Avatar_Xingqiu_Spine", + "abilityOverride": "" + } + ] +} \ No newline at end of file diff --git a/data/json/avatar/ConfigAvatar_Xinyan.json b/data/json/avatar/ConfigAvatar_Xinyan.json new file mode 100644 index 0000000..3245e11 --- /dev/null +++ b/data/json/avatar/ConfigAvatar_Xinyan.json @@ -0,0 +1,99 @@ +{ + "abilities": [ + { + "abilityID": "Avatar_Xinyan_ExtraAttack", + "abilityName": "Avatar_Xinyan_ExtraAttack", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xinyan_ElementalArt_Hit", + "abilityName": "Avatar_Xinyan_ElementalArt_Hit", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xinyan_ElementalArt_Shield_1", + "abilityName": "Avatar_Xinyan_ElementalArt_Shield_1", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xinyan_ElementalArt_Shield_2", + "abilityName": "Avatar_Xinyan_ElementalArt_Shield_2", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xinyan_ElementalArt_Shield_3", + "abilityName": "Avatar_Xinyan_ElementalArt_Shield_3", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xinyan_ElementalArt", + "abilityName": "Avatar_Xinyan_ElementalArt", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xinyan_ElementalArt_Shield_3_Explosion", + "abilityName": "Avatar_Xinyan_ElementalArt_Shield_3_Explosion", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xinyan_ElementalBurst_Initiate", + "abilityName": "Avatar_Xinyan_ElementalBurst_Initiate", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xinyan_ElementalBurst_Hit", + "abilityName": "Avatar_Xinyan_ElementalBurst_Hit", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xinyan_ElementalBurst_Effect", + "abilityName": "Avatar_Xinyan_ElementalBurst_Effect", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xinyan_ElementalBurst_Fire", + "abilityName": "Avatar_Xinyan_ElementalBurst_Fire", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xinyan_ElementalBurst_CameraExit", + "abilityName": "Avatar_Xinyan_ElementalBurst_CameraExit", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xinyan_FallingAnthem", + "abilityName": "Avatar_Xinyan_FallingAnthem", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xinyan_NormalAttack_DamageHandler", + "abilityName": "Avatar_Xinyan_NormalAttack_DamageHandler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xinyan", + "abilityName": "Avatar_Xinyan", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xinyan_TeamConfig_01BS", + "abilityName": "Avatar_Xinyan_TeamConfig_01BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xinyan_TeamConfig_01Loop", + "abilityName": "Avatar_Xinyan_TeamConfig_01Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Xinyan_TeamConfig_01AS", + "abilityName": "Avatar_Xinyan_TeamConfig_01AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_PlayGuitar01_Xinyan", + "abilityName": "Avatar_PlayGuitar01_Xinyan", + "abilityOverride": "" + } + ] +} \ No newline at end of file diff --git a/data/json/avatar/ConfigAvatar_Yae.json b/data/json/avatar/ConfigAvatar_Yae.json new file mode 100644 index 0000000..0589344 --- /dev/null +++ b/data/json/avatar/ConfigAvatar_Yae.json @@ -0,0 +1,224 @@ +{ + "abilities": [ + { + "abilityID": "Avatar_Yae_ExtraAttack", + "abilityName": "Avatar_Yae_ExtraAttack", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yae_ExtraAttack_TriggerBullet", + "abilityName": "Avatar_Yae_ExtraAttack_TriggerBullet", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yae_ExtraAttack_Damage_1", + "abilityName": "Avatar_Yae_ExtraAttack_Damage_1", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yae_ExtraAttack_Damage_2", + "abilityName": "Avatar_Yae_ExtraAttack_Damage_2", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yae_ExtraAttack_Damage_3", + "abilityName": "Avatar_Yae_ExtraAttack_Damage_3", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yae_ExtraAttack_Damage_4", + "abilityName": "Avatar_Yae_ExtraAttack_Damage_4", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yae_ExtraAttack_Damage_5", + "abilityName": "Avatar_Yae_ExtraAttack_Damage_5", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yae_Attack_Hit", + "abilityName": "Avatar_Yae_Attack_Hit", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yae_Attack01", + "abilityName": "Avatar_Yae_Attack01", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yae_Attack02", + "abilityName": "Avatar_Yae_Attack02", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yae_Attack03", + "abilityName": "Avatar_Yae_Attack03", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yae_Attack01_Damage", + "abilityName": "Avatar_Yae_Attack01_Damage", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yae_Attack02_Damage", + "abilityName": "Avatar_Yae_Attack02_Damage", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yae_Attack03_Damage", + "abilityName": "Avatar_Yae_Attack03_Damage", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yae_ElementalArt_ElderBrain", + "abilityName": "Avatar_Yae_ElementalArt_ElderBrain", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yae_ElementalArt", + "abilityName": "Avatar_Yae_ElementalArt", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yae_ElementalArt_Foxtail", + "abilityName": "Avatar_Yae_ElementalArt_Foxtail", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yae_ElementalArt_Retreat_Foxtail", + "abilityName": "Avatar_Yae_ElementalArt_Retreat_Foxtail", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yae_ElementalArt_Foxtail_Remover", + "abilityName": "Avatar_Yae_ElementalArt_Foxtail_Remover", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yae_ElementalArt_Air", + "abilityName": "Avatar_Yae_ElementalArt_Air", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yae_FoxTower_ThunderFall_Level1", + "abilityName": "Avatar_Yae_FoxTower_ThunderFall_Level1", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yae_FoxTower_ThunderFall_Level2", + "abilityName": "Avatar_Yae_FoxTower_ThunderFall_Level2", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yae_FoxTower_ThunderFall_Level3", + "abilityName": "Avatar_Yae_FoxTower_ThunderFall_Level3", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yae_FoxTower_ThunderFall_Level4", + "abilityName": "Avatar_Yae_FoxTower_ThunderFall_Level4", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yae_ElementalBurst_CameraController", + "abilityName": "Avatar_Yae_ElementalBurst_CameraController", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yae_ElementalBurst_PostEffect", + "abilityName": "Avatar_Yae_ElementalBurst_PostEffect", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yae_ElementalBurst_ScreenEffect", + "abilityName": "Avatar_Yae_ElementalBurst_ScreenEffect", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yae_ElementalBurst_Mark_Tower", + "abilityName": "Avatar_Yae_ElementalBurst_Mark_Tower", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yae_ElementalBurst_Clear_Tower", + "abilityName": "Avatar_Yae_ElementalBurst_Clear_Tower", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yae_PermanentSkill_1", + "abilityName": "Avatar_Yae_PermanentSkill_1", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yae_PermanentSkill_2", + "abilityName": "Avatar_Yae_PermanentSkill_2", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yae_Constellation_6", + "abilityName": "Avatar_Yae_Constellation_6", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yae_FallingAnthem_Foxtail", + "abilityName": "Avatar_Yae_FallingAnthem_Foxtail", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yae_FallingAnthem", + "abilityName": "Avatar_Yae_FallingAnthem", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yae", + "abilityName": "Avatar_Yae", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yae_TeamConfig_01BS", + "abilityName": "Avatar_Yae_TeamConfig_01BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yae_TeamConfig_01Loop", + "abilityName": "Avatar_Yae_TeamConfig_01Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yae_TeamConfig_01AS", + "abilityName": "Avatar_Yae_TeamConfig_01AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yae_ElementalBurst_Spine", + "abilityName": "Avatar_Yae_ElementalBurst_Spine", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yae_ElementalBurst_BS", + "abilityName": "Avatar_Yae_ElementalBurst_BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yae_ElementalBurst_Hit", + "abilityName": "Avatar_Yae_ElementalBurst_Hit", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yae_ElementalBurst_Buff", + "abilityName": "Avatar_Yae_ElementalBurst_Buff", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yae_Spine_Loop", + "abilityName": "Avatar_Yae_Spine_Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_YaeMiko", + "abilityName": "Avatar_YaeMiko", + "abilityOverride": "" + } + ] +} \ No newline at end of file diff --git a/data/json/avatar/ConfigAvatar_Yaoyao.json b/data/json/avatar/ConfigAvatar_Yaoyao.json new file mode 100644 index 0000000..bd6c35f --- /dev/null +++ b/data/json/avatar/ConfigAvatar_Yaoyao.json @@ -0,0 +1,209 @@ +{ + "abilities": [ + { + "abilityID": "Avatar_Yaoyao_ExtraAttack", + "abilityName": "Avatar_Yaoyao_ExtraAttack", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yaoyao_ExtraAttack_CreateBullet", + "abilityName": "Avatar_Yaoyao_ExtraAttack_CreateBullet", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yaoyao_ExtraAttack_Bullet", + "abilityName": "Avatar_Yaoyao_ExtraAttack_Bullet", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yaoyao_ElementalArt", + "abilityName": "Avatar_Yaoyao_ElementalArt", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yaoyao_ElementalArt_CreateRabbit", + "abilityName": "Avatar_Yaoyao_ElementalArt_CreateRabbit", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yaoyao_ElementalArt_CreateRabbitM", + "abilityName": "Avatar_Yaoyao_ElementalArt_CreateRabbitM", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yaoyao_ElementalArt_CreateGadget", + "abilityName": "Avatar_Yaoyao_ElementalArt_CreateGadget", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yaoyao_ElementalBurst", + "abilityName": "Avatar_Yaoyao_ElementalBurst", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yaoyao_ElementalBurst_StrikeL7", + "abilityName": "Avatar_Yaoyao_ElementalBurst_StrikeL7", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yaoyao_ElementalBurst_Strike", + "abilityName": "Avatar_Yaoyao_ElementalBurst_Strike", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yaoyao_ElementalBurst_CreateGadget", + "abilityName": "Avatar_Yaoyao_ElementalBurst_CreateGadget", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yaoyao_NormalAttack_DamageHandler", + "abilityName": "Avatar_Yaoyao_NormalAttack_DamageHandler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yaoyao_FallingAnthem", + "abilityName": "Avatar_Yaoyao_FallingAnthem", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yaoyao_Turnip_Bullet", + "abilityName": "Avatar_Yaoyao_Turnip_Bullet", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yaoyao_Turnip", + "abilityName": "Avatar_Yaoyao_Turnip", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yaoyao_Golden_Turnip_Bullet", + "abilityName": "Avatar_Yaoyao_Golden_Turnip_Bullet", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yaoyao_Golden_Turnip", + "abilityName": "Avatar_Yaoyao_Golden_Turnip", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yaoyao_Turnip_Bullet_Parabola", + "abilityName": "Avatar_Yaoyao_Turnip_Bullet_Parabola", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yaoyao_ElementalArt_Rabbit", + "abilityName": "Avatar_Yaoyao_ElementalArt_Rabbit", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yaoyao_ElementalArt_Rabbit_Throw", + "abilityName": "Avatar_Yaoyao_ElementalArt_Rabbit_Throw", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yaoyao_ElementalArt_CreateGadgeth", + "abilityName": "Avatar_Yaoyao_ElementalArt_CreateGadgeth", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yaoyao_ElementalArt_Rabbit_Throw_Speed_Fix", + "abilityName": "Avatar_Yaoyao_ElementalArt_Rabbit_Throw_Speed_Fix", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yaoyao_ElementalBurst_Rabbit", + "abilityName": "Avatar_Yaoyao_ElementalBurst_Rabbit", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yaoyao_ElementalBurst_Rabbit_Throw_Pre", + "abilityName": "Avatar_Yaoyao_ElementalBurst_Rabbit_Throw_Pre", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yaoyao_ElementalBurst_Rabbit_Throw_Pre_BulletTrigger", + "abilityName": "Avatar_Yaoyao_ElementalBurst_Rabbit_Throw_Pre_BulletTrigger", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yaoyao_ElementalBurst_CreateGadgeth", + "abilityName": "Avatar_Yaoyao_ElementalBurst_CreateGadgeth", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yaoyao_ElementalBurst_Rabbit_Throw", + "abilityName": "Avatar_Yaoyao_ElementalBurst_Rabbit_Throw", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yaoyao_PermanentSkill_1", + "abilityName": "Avatar_Yaoyao_PermanentSkill_1", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yaoyao_PermanentSkill_2", + "abilityName": "Avatar_Yaoyao_PermanentSkill_2", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yaoyao", + "abilityName": "Avatar_Yaoyao", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yaoyao_ElementalArt_Rabbit_Throw1Avatar_Yaoyao_ElementalArt_Rabbit_Throw_Speed_Fix", + "abilityName": "Avatar_Yaoyao_ElementalArt_Rabbit_Throw1Avatar_Yaoyao_ElementalArt_Rabbit_Throw_Speed_Fix", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yaoyao_TeamConfig_01BS", + "abilityName": "Avatar_Yaoyao_TeamConfig_01BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yaoyao_TeamConfig_01Loop", + "abilityName": "Avatar_Yaoyao_TeamConfig_01Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yaoyao_TeamConfig_01AS", + "abilityName": "Avatar_Yaoyao_TeamConfig_01AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yaoyao_ElementalBurst_Spine", + "abilityName": "Avatar_Yaoyao_ElementalBurst_Spine", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yaoyao_ElementalBurst_BS_Rabbit", + "abilityName": "Avatar_Yaoyao_ElementalBurst_BS_Rabbit", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yaoyao_ElementalBurst_BS", + "abilityName": "Avatar_Yaoyao_ElementalBurst_BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yaoyao_ElementBurst", + "abilityName": "Avatar_Yaoyao_ElementBurst", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yaoyao_ElementalBurst_Hit", + "abilityName": "Avatar_Yaoyao_ElementalBurst_Hit", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yaoyao_ElementalBurst_Buff", + "abilityName": "Avatar_Yaoyao_ElementalBurst_Buff", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yaoyao_Spine_Loop", + "abilityName": "Avatar_Yaoyao_Spine_Loop", + "abilityOverride": "" + } + ] +} \ No newline at end of file diff --git a/data/json/avatar/ConfigAvatar_Yelan.json b/data/json/avatar/ConfigAvatar_Yelan.json new file mode 100644 index 0000000..fcc89aa --- /dev/null +++ b/data/json/avatar/ConfigAvatar_Yelan.json @@ -0,0 +1,474 @@ +{ + "abilities": [ + { + "abilityID": "Avatar_Activity_CharAmusement_Yelan_ResetCD", + "abilityName": "Avatar_Activity_CharAmusement_Yelan_ResetCD", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Activity_CharAmusement_Yelan_ResetCD_Delay1Avatar_Activity_CharAmusement_Yelan_ResetCD_Delay", + "abilityName": "Avatar_Activity_CharAmusement_Yelan_ResetCD_Delay1Avatar_Activity_CharAmusement_Yelan_ResetCD_Delay", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yelan_PressShoot", + "abilityName": "Avatar_Yelan_PressShoot", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yelan_AimPressShoot", + "abilityName": "Avatar_Yelan_AimPressShoot", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yelan_ShootAimingArrow_Charge", + "abilityName": "Avatar_Yelan_ShootAimingArrow_Charge", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yelan_ShootArrow_01", + "abilityName": "Avatar_Yelan_ShootArrow_01", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yelan_ShootArrow_02", + "abilityName": "Avatar_Yelan_ShootArrow_02", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yelan_ShootArrow_03", + "abilityName": "Avatar_Yelan_ShootArrow_03", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yelan_ShootArrow_04", + "abilityName": "Avatar_Yelan_ShootArrow_04", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yelan_ShootArrow_05", + "abilityName": "Avatar_Yelan_ShootArrow_05", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yelan_ShootArrow_06", + "abilityName": "Avatar_Yelan_ShootArrow_06", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yelan_ShootArrow_Aiming", + "abilityName": "Avatar_Yelan_ShootArrow_Aiming", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yelan_ShootArrow_Bullet", + "abilityName": "Avatar_Yelan_ShootArrow_Bullet", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yelan_ShootArrow_Bullet_Last", + "abilityName": "Avatar_Yelan_ShootArrow_Bullet_Last", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yelan_ShootArrow_Enchanted_WithOutWater", + "abilityName": "Avatar_Yelan_ShootArrow_Enchanted_WithOutWater", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yelan_ShootArrow_Enchanted_WithWater", + "abilityName": "Avatar_Yelan_ShootArrow_Enchanted_WithWater", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yelan_SneakArrow", + "abilityName": "Avatar_Yelan_SneakArrow", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yelan_Sneak_Shoot", + "abilityName": "Avatar_Yelan_Sneak_Shoot", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yelan_ElementalArt_Check", + "abilityName": "Avatar_Yelan_ElementalArt_Check", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yelan_QuietStep_Initialize", + "abilityName": "Avatar_Yelan_QuietStep_Initialize", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yelan_QuietStep_Effect", + "abilityName": "Avatar_Yelan_QuietStep_Effect", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yelan_QuietStep_Effect_Line", + "abilityName": "Avatar_Yelan_QuietStep_Effect_Line", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yelan_QuietStep_Effect_Line_Remover", + "abilityName": "Avatar_Yelan_QuietStep_Effect_Line_Remover", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yelan_QuietStep_Weather", + "abilityName": "Avatar_Yelan_QuietStep_Weather", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yelan_QuietStep_MaxTimer", + "abilityName": "Avatar_Yelan_QuietStep_MaxTimer", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yelan_QuietStep_TurndDirection_Add", + "abilityName": "Avatar_Yelan_QuietStep_TurndDirection_Add", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yelan_QuietStep_TurndDirection_Remove", + "abilityName": "Avatar_Yelan_QuietStep_TurndDirection_Remove", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yelan_QuietStep_TurndDirection", + "abilityName": "Avatar_Yelan_QuietStep_TurndDirection", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yelan_QuietStep_StrikeEndEffect", + "abilityName": "Avatar_Yelan_QuietStep_StrikeEndEffect", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yelan_QuietStep_StopEndEffect", + "abilityName": "Avatar_Yelan_QuietStep_StopEndEffect", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yelan_QuietStep_LineStrike_Remover", + "abilityName": "Avatar_Yelan_QuietStep_LineStrike_Remover", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yelan_ElementalArt_DropBall_Handler", + "abilityName": "Avatar_Yelan_ElementalArt_DropBall_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yelan_QuietStep_Effect_Line_Handler_DelayM", + "abilityName": "Avatar_Yelan_QuietStep_Effect_Line_Handler_DelayM", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yelan_QuietStep_Effect_Line_Handler", + "abilityName": "Avatar_Yelan_QuietStep_Effect_Line_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yelan_QuietStep_Effect_Line_Handler_Delay", + "abilityName": "Avatar_Yelan_QuietStep_Effect_Line_Handler_Delay", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yelan_QuietStep_LineStrike", + "abilityName": "Avatar_Yelan_QuietStep_LineStrike", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yelan_ElementalArt_ScreenEffect", + "abilityName": "Avatar_Yelan_ElementalArt_ScreenEffect", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yelan_QuietStep_SwitchJumpSprint", + "abilityName": "Avatar_Yelan_QuietStep_SwitchJumpSprint", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yelan_ElementalArt_TriggerCollision", + "abilityName": "Avatar_Yelan_ElementalArt_TriggerCollision", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yelan_QuietStep_TriggerConstellation", + "abilityName": "Avatar_Yelan_QuietStep_TriggerConstellation", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yelan_QuietStep_TriggerBullet", + "abilityName": "Avatar_Yelan_QuietStep_TriggerBullet", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yelan_QuietStep_FireBomb", + "abilityName": "Avatar_Yelan_QuietStep_FireBomb", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yelan_QuietStep_TriggerConstellationM", + "abilityName": "Avatar_Yelan_QuietStep_TriggerConstellationM", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yelan_QuietStep_CollisionDetect", + "abilityName": "Avatar_Yelan_QuietStep_CollisionDetect", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yelan_QuietStep_ResetSneak", + "abilityName": "Avatar_Yelan_QuietStep_ResetSneak", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yelan_QuietStep_TimeBomb_OnMonster", + "abilityName": "Avatar_Yelan_QuietStep_TimeBomb_OnMonster", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yelan_ElementalArt_QuietStep_Bullet", + "abilityName": "Avatar_Yelan_ElementalArt_QuietStep_Bullet", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yelan_ElementalBurst", + "abilityName": "Avatar_Yelan_ElementalBurst", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yelan_ElementalBurst_Initialize", + "abilityName": "Avatar_Yelan_ElementalBurst_Initialize", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yelan_ElementalBurst_Camera_Effect", + "abilityName": "Avatar_Yelan_ElementalBurst_Camera_Effect", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yelan_ElementalBurst_Camera_Handler", + "abilityName": "Avatar_Yelan_ElementalBurst_Camera_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yelan_ElementalBurst_EmotionControl", + "abilityName": "Avatar_Yelan_ElementalBurst_EmotionControl", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yelan_ElementalBurst_Camera_PushTarget", + "abilityName": "Avatar_Yelan_ElementalBurst_Camera_PushTarget", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yelan_ElementalBurst_Invincible", + "abilityName": "Avatar_Yelan_ElementalBurst_Invincible", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yelan_ElementalBurst_WeatherChange", + "abilityName": "Avatar_Yelan_ElementalBurst_WeatherChange", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yelan_ElementalBurst_Camera_DungeonEffect", + "abilityName": "Avatar_Yelan_ElementalBurst_Camera_DungeonEffect", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yelan_ElementalBurst_CameraBlur", + "abilityName": "Avatar_Yelan_ElementalBurst_CameraBlur", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yelan_ElementalBurst_CreateDice", + "abilityName": "Avatar_Yelan_ElementalBurst_CreateDice", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yelan_ElementalBurst_Strike_Damage", + "abilityName": "Avatar_Yelan_ElementalBurst_Strike_Damage", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yelan_ElementalBurst_PostEffect", + "abilityName": "Avatar_Yelan_ElementalBurst_PostEffect", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yelan_ElementalBurst_ScreenEffect", + "abilityName": "Avatar_Yelan_ElementalBurst_ScreenEffect", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yelan_ShareElementalArt_Handler", + "abilityName": "Avatar_Yelan_ShareElementalArt_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yelan_ShareElementalArt_TriggerDice", + "abilityName": "Avatar_Yelan_ShareElementalArt_TriggerDice", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yelan_ElementalBurst_Dice_TriggerBullet_Extra", + "abilityName": "Avatar_Yelan_ElementalBurst_Dice_TriggerBullet_Extra", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yelan_ElementalBurst_PostEffectJ", + "abilityName": "Avatar_Yelan_ElementalBurst_PostEffectJ", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yelan_Constellation_6", + "abilityName": "Avatar_Yelan_Constellation_6", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yelan_ElementalBurst_Dice", + "abilityName": "Avatar_Yelan_ElementalBurst_Dice", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yelan_PermanentSkill_2_Handler", + "abilityName": "Avatar_Yelan_PermanentSkill_2_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yelan_PermanentSkill_2_Buff_OnTeam", + "abilityName": "Avatar_Yelan_PermanentSkill_2_Buff_OnTeam", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yelan_PermanentSkill_2_Buff", + "abilityName": "Avatar_Yelan_PermanentSkill_2_Buff", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yelan_ElementalBurst_Dice_TriggerBullet", + "abilityName": "Avatar_Yelan_ElementalBurst_Dice_TriggerBullet", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yelan_ElementalBurst_Dice_Bullet_01", + "abilityName": "Avatar_Yelan_ElementalBurst_Dice_Bullet_01", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yelan_FallingAnthem", + "abilityName": "Avatar_Yelan_FallingAnthem", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yelan_PermanentSkill_1", + "abilityName": "Avatar_Yelan_PermanentSkill_1", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yelan_PermanentSkill_1_Handler", + "abilityName": "Avatar_Yelan_PermanentSkill_1_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yelan_PermanentSkill_1_Buff", + "abilityName": "Avatar_Yelan_PermanentSkill_1_Buff", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yelan_PermanentSkill_1_Buff_Lv1", + "abilityName": "Avatar_Yelan_PermanentSkill_1_Buff_Lv1", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yelan_PermanentSkill_1_Buff_Lv2", + "abilityName": "Avatar_Yelan_PermanentSkill_1_Buff_Lv2", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yelan_PermanentSkill_1_Buff_Lv3", + "abilityName": "Avatar_Yelan_PermanentSkill_1_Buff_Lv3", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yelan_PermanentSkill_1_Buff_Lv4", + "abilityName": "Avatar_Yelan_PermanentSkill_1_Buff_Lv4", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yelan_ElementalBurst_Dice_Bullet_Extra", + "abilityName": "Avatar_Yelan_ElementalBurst_Dice_Bullet_Extra", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yelan_Constellatin_4_Handler", + "abilityName": "Avatar_Yelan_Constellatin_4_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yelan_Constellatin_4_Timer", + "abilityName": "Avatar_Yelan_Constellatin_4_Timer", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yelan_Constellation_6_BuffTimer", + "abilityName": "Avatar_Yelan_Constellation_6_BuffTimer", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yelan_Constellation_6_StateHandler", + "abilityName": "Avatar_Yelan_Constellation_6_StateHandler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yelan_Constellation_6_State", + "abilityName": "Avatar_Yelan_Constellation_6_State", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yelan_SneakArrow_Extra_Before", + "abilityName": "Avatar_Yelan_SneakArrow_Extra_Before", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yelan_SneakArrow_Extra_After", + "abilityName": "Avatar_Yelan_SneakArrow_Extra_After", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yelan", + "abilityName": "Avatar_Yelan", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yelan_ElementalBurst_Dice_TriggerBullet4Avatar_Yelan_ElementalBurst_Dice_TriggerBullet_Extra", + "abilityName": "Avatar_Yelan_ElementalBurst_Dice_TriggerBullet4Avatar_Yelan_ElementalBurst_Dice_TriggerBullet_Extra", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yelan_TeamConfig_01BS", + "abilityName": "Avatar_Yelan_TeamConfig_01BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yelan_TeamConfig_01Loop", + "abilityName": "Avatar_Yelan_TeamConfig_01Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yelan_TeamConfig_01AS", + "abilityName": "Avatar_Yelan_TeamConfig_01AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yelan_ElementalBurst_Dice_TriggerBullet_Extra4Avatar_Yelan_ElementalBurst_Dice_TriggerBullet_Extra", + "abilityName": "Avatar_Yelan_ElementalBurst_Dice_TriggerBullet_Extra4Avatar_Yelan_ElementalBurst_Dice_TriggerBullet_Extra", + "abilityOverride": "" + } + ] +} \ No newline at end of file diff --git a/data/json/avatar/ConfigAvatar_Yoimiya.json b/data/json/avatar/ConfigAvatar_Yoimiya.json new file mode 100644 index 0000000..c5603ba --- /dev/null +++ b/data/json/avatar/ConfigAvatar_Yoimiya.json @@ -0,0 +1,239 @@ +{ + "abilities": [ + { + "abilityID": "Avatar_Yoimiya_PressShoot", + "abilityName": "Avatar_Yoimiya_PressShoot", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yoimiya_AimPressShoot", + "abilityName": "Avatar_Yoimiya_AimPressShoot", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yoimiya_ShootArrow_01", + "abilityName": "Avatar_Yoimiya_ShootArrow_01", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yoimiya_FireShoot_State", + "abilityName": "Avatar_Yoimiya_FireShoot_State", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yoimiya_ShootArrow_01_01", + "abilityName": "Avatar_Yoimiya_ShootArrow_01_01", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yoimiya_ShootArrow_02", + "abilityName": "Avatar_Yoimiya_ShootArrow_02", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yoimiya_ShootArrow_03", + "abilityName": "Avatar_Yoimiya_ShootArrow_03", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yoimiya_ShootArrow_04", + "abilityName": "Avatar_Yoimiya_ShootArrow_04", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yoimiya_ShootArrow_04_01", + "abilityName": "Avatar_Yoimiya_ShootArrow_04_01", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yoimiya_ShootArrow_05", + "abilityName": "Avatar_Yoimiya_ShootArrow_05", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yoimiya_ShootAimingArrow_Charge", + "abilityName": "Avatar_Yoimiya_ShootAimingArrow_Charge", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yoimiya_ShootArrow_Aiming", + "abilityName": "Avatar_Yoimiya_ShootArrow_Aiming", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yoimiya_ElementalArt_DropBall", + "abilityName": "Avatar_Yoimiya_ElementalArt_DropBall", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yoimiya_ElementalArt", + "abilityName": "Avatar_Yoimiya_ElementalArt", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yoimiya_Stack_Num", + "abilityName": "Avatar_Yoimiya_Stack_Num", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yoimiya_ElementalBurst_Camera", + "abilityName": "Avatar_Yoimiya_ElementalBurst_Camera", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yoimiya_ElementalBurst", + "abilityName": "Avatar_Yoimiya_ElementalBurst", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yoimiya_ElementalBurst_SetTag", + "abilityName": "Avatar_Yoimiya_ElementalBurst_SetTag", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yoimiya_ElementalBurst_MonsterInTag", + "abilityName": "Avatar_Yoimiya_ElementalBurst_MonsterInTag", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yoimiya_ElementalBurst_Count", + "abilityName": "Avatar_Yoimiya_ElementalBurst_Count", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yoimiya_ElementalBurst_Tag", + "abilityName": "Avatar_Yoimiya_ElementalBurst_Tag", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yoimiya_ElementalBurst_TimeCount", + "abilityName": "Avatar_Yoimiya_ElementalBurst_TimeCount", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yoimiya_ElementalBurst_EffectDone", + "abilityName": "Avatar_Yoimiya_ElementalBurst_EffectDone", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yoimiya_ElementalBurst_InTriggerCD", + "abilityName": "Avatar_Yoimiya_ElementalBurst_InTriggerCD", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yoimiya_ElementalBurst_BombAttackCD", + "abilityName": "Avatar_Yoimiya_ElementalBurst_BombAttackCD", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yoimiya_ElementalBurst_BombAttackEvent", + "abilityName": "Avatar_Yoimiya_ElementalBurst_BombAttackEvent", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yoimiya_ElementalBurst_WhenMonsterOnKill", + "abilityName": "Avatar_Yoimiya_ElementalBurst_WhenMonsterOnKill", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yoimiya_ElementalBurst_Tag1UNIQUE_Avatar_Yoimiya_ElementalBurst_BombAttackCD", + "abilityName": "Avatar_Yoimiya_ElementalBurst_Tag1UNIQUE_Avatar_Yoimiya_ElementalBurst_BombAttackCD", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yoimiya_ElementalBurst_TagJ", + "abilityName": "Avatar_Yoimiya_ElementalBurst_TagJ", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yoimiya_FallingAnthem", + "abilityName": "Avatar_Yoimiya_FallingAnthem", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yoimiya", + "abilityName": "Avatar_Yoimiya", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yoimiya_TeamConfig_01BS", + "abilityName": "Avatar_Yoimiya_TeamConfig_01BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yoimiya_TeamConfig_01Loop", + "abilityName": "Avatar_Yoimiya_TeamConfig_01Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yoimiya_TeamConfig_01AS", + "abilityName": "Avatar_Yoimiya_TeamConfig_01AS", + "abilityOverride": "" + }, + { + "abilityID": "AvatarItem_Yoimiya_Turquoise", + "abilityName": "AvatarItem_Yoimiya_Turquoise", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yoimiya_ElementalBurst_Spine", + "abilityName": "Avatar_Yoimiya_ElementalBurst_Spine", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yoimiya_ElementBurst", + "abilityName": "Avatar_Yoimiya_ElementBurst", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yoimiya_ElementalBurst_BS", + "abilityName": "Avatar_Yoimiya_ElementalBurst_BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yoimiya_ElementalBurst_Hit", + "abilityName": "Avatar_Yoimiya_ElementalBurst_Hit", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yoimiya_ElementalBurst_Hit_Buff", + "abilityName": "Avatar_Yoimiya_ElementalBurst_Hit_Buff", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yoimiya_Spine_Loop", + "abilityName": "Avatar_Yoimiya_Spine_Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yoimiya_Spine", + "abilityName": "Avatar_Yoimiya_Spine", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yoimiya_Spine_Loop_BG", + "abilityName": "Avatar_Yoimiya_Spine_Loop_BG", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yoimiya_ElementalBurst_Spine_Star", + "abilityName": "Avatar_Yoimiya_ElementalBurst_Spine_Star", + "abilityOverride": "" + }, + { + "abilityID": "AvatarItem_Yoimiya_Turquoise_01_TurquoiseShine", + "abilityName": "AvatarItem_Yoimiya_Turquoise_01_TurquoiseShine", + "abilityOverride": "" + }, + { + "abilityID": "AvatarItem_Yoimiya_Turquoise_01_Outside", + "abilityName": "AvatarItem_Yoimiya_Turquoise_01_Outside", + "abilityOverride": "" + }, + { + "abilityID": "AvatarItem_Yoimiya_Turquoise_01_Inside", + "abilityName": "AvatarItem_Yoimiya_Turquoise_01_Inside", + "abilityOverride": "" + } + ] +} \ No newline at end of file diff --git a/data/json/avatar/ConfigAvatar_Yunjin.json b/data/json/avatar/ConfigAvatar_Yunjin.json new file mode 100644 index 0000000..e594dc3 --- /dev/null +++ b/data/json/avatar/ConfigAvatar_Yunjin.json @@ -0,0 +1,119 @@ +{ + "abilities": [ + { + "abilityID": "Avatar_Yunjin_NormalAttack_DamageHandler", + "abilityName": "Avatar_Yunjin_NormalAttack_DamageHandler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yunjin_ExtraAttack", + "abilityName": "Avatar_Yunjin_ExtraAttack", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yunjin_ExtraAttack_Cast", + "abilityName": "Avatar_Yunjin_ExtraAttack_Cast", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yunjin_ExtraAttack_Bullet", + "abilityName": "Avatar_Yunjin_ExtraAttack_Bullet", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yunjin_FallingAnthem", + "abilityName": "Avatar_Yunjin_FallingAnthem", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yunjin_ElementalArt_Handler", + "abilityName": "Avatar_Yunjin_ElementalArt_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yunjin_ElementalArt_Remover", + "abilityName": "Avatar_Yunjin_ElementalArt_Remover", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yunjin_Kaoqi", + "abilityName": "Avatar_Yunjin_Kaoqi", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yunjin_Kaoqi_Reset", + "abilityName": "Avatar_Yunjin_Kaoqi_Reset", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yunjin_Kaoqi_Remover", + "abilityName": "Avatar_Yunjin_Kaoqi_Remover", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yunjin_ElementalArt_Strike", + "abilityName": "Avatar_Yunjin_ElementalArt_Strike", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yunjin_ElementalArt_Strike_VFX", + "abilityName": "Avatar_Yunjin_ElementalArt_Strike_VFX", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yunjin_ElementalArt_Strike_Weather", + "abilityName": "Avatar_Yunjin_ElementalArt_Strike_Weather", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yunjin_ElementalBurst_Cast", + "abilityName": "Avatar_Yunjin_ElementalBurst_Cast", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yunjin_ElementalBurst_Buff_Handler", + "abilityName": "Avatar_Yunjin_ElementalBurst_Buff_Handler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yunjin_ElementalBurst_Buff", + "abilityName": "Avatar_Yunjin_ElementalBurst_Buff", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yunjin_ElementalBurst_Reset", + "abilityName": "Avatar_Yunjin_ElementalBurst_Reset", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yunjin_ElementalBurst_Buff_VFX", + "abilityName": "Avatar_Yunjin_ElementalBurst_Buff_VFX", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yunjin_Buff_VFX_Remover", + "abilityName": "Avatar_Yunjin_Buff_VFX_Remover", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yunjin", + "abilityName": "Avatar_Yunjin", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yunjin_TeamConfig_01BS", + "abilityName": "Avatar_Yunjin_TeamConfig_01BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yunjin_TeamConfig_01Loop", + "abilityName": "Avatar_Yunjin_TeamConfig_01Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Yunjin_TeamConfig_01AS", + "abilityName": "Avatar_Yunjin_TeamConfig_01AS", + "abilityOverride": "" + } + ] +} \ No newline at end of file diff --git a/data/json/avatar/ConfigAvatar_Zhongli.json b/data/json/avatar/ConfigAvatar_Zhongli.json new file mode 100644 index 0000000..eea546e --- /dev/null +++ b/data/json/avatar/ConfigAvatar_Zhongli.json @@ -0,0 +1,94 @@ +{ + "abilities": [ + { + "abilityID": "Avatar_Zhongli_ExtraAttack", + "abilityName": "Avatar_Zhongli_ExtraAttack", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Zhongli_PillarOrShield_HoldCharge", + "abilityName": "Avatar_Zhongli_PillarOrShield_HoldCharge", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Zhongli_SetHairEmissionScaler", + "abilityName": "Avatar_Zhongli_SetHairEmissionScaler", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Zhongli_PrimoPillar", + "abilityName": "Avatar_Zhongli_PrimoPillar", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Zhongli_RockShield", + "abilityName": "Avatar_Zhongli_RockShield", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Zhongli_GeoOrder", + "abilityName": "Avatar_Zhongli_GeoOrder", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Zhongli_RockFever", + "abilityName": "Avatar_Zhongli_RockFever", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Zhongli_NormalAttack", + "abilityName": "Avatar_Zhongli_NormalAttack", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Zhongli_FallingAnthem", + "abilityName": "Avatar_Zhongli_FallingAnthem", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Zhongli", + "abilityName": "Avatar_Zhongli", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Zhongli_TeamConfig_01BS", + "abilityName": "Avatar_Zhongli_TeamConfig_01BS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Zhongli_TeamConfig_01Loop", + "abilityName": "Avatar_Zhongli_TeamConfig_01Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Zhongli_TeamConfig_01AS", + "abilityName": "Avatar_Zhongli_TeamConfig_01AS", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Zhongli_ElementalBurst_Spine", + "abilityName": "Avatar_Zhongli_ElementalBurst_Spine", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Zhongli_ElementalBurst_Hit", + "abilityName": "Avatar_Zhongli_ElementalBurst_Hit", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Zhongli_Spine_Loop", + "abilityName": "Avatar_Zhongli_Spine_Loop", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Zhongli_Spine_Loop_Cloud", + "abilityName": "Avatar_Zhongli_Spine_Loop_Cloud", + "abilityOverride": "" + }, + { + "abilityID": "Avatar_Zhongli_Sub_Spine", + "abilityName": "Avatar_Zhongli_Sub_Spine", + "abilityOverride": "" + } + ] +} \ No newline at end of file diff --git a/data/txt/AvatarData.txt b/data/txt/AvatarData.txt new file mode 100644 index 0000000..d9f24f1 --- /dev/null +++ b/data/txt/AvatarData.txt @@ -0,0 +1,119 @@ +bodyType iconName sideIconName qualityType chargeEfficiency initialWeapon weaponType imageName skillDepotId staminaRecoverSpeed candSkillDepotIds avatarIdentityType avatarPromoteId avatarPromoteRewardLevelList featureTagGroupID hpBase attackBase defenseBase critical criticalHurt id useType isRangeAttack +BODY_GIRL UI_AvatarIcon_Kate UI_AvatarIcon_Side_Kate QUALITY_PURPLE 1.0 11101 WEAPON_SWORD_ONE_HAND AvatarImage_Forward_Kate 101 25 AVATAR_IDENTITY_NORMAL 2 1,3,5 10000001 166.0 5.0 8.0 0.05 0.5 10000001 false +BODY_GIRL UI_AvatarIcon_Ayaka UI_AvatarIcon_Side_Ayaka QUALITY_ORANGE 1.0 11101 WEAPON_SWORD_ONE_HAND AvatarImage_Forward_Ayaka 201 25 AVATAR_IDENTITY_NORMAL 2 1,3,5 10000002 1000.986 26.6266 61.0266 0.05 0.5 10000002 AVATAR_FORMAL false +BODY_LADY UI_AvatarIcon_Qin UI_AvatarIcon_Side_Qin QUALITY_ORANGE 1.0 11101 WEAPON_SWORD_ONE_HAND AvatarImage_Forward_Qin 301 25 AVATAR_IDENTITY_NORMAL 3 1,3,5 10000003 1143.984 18.62 59.83 0.05 0.5 10000003 AVATAR_FORMAL false +BODY_BOY UI_AvatarIcon_PlayerBoy UI_AvatarIcon_Side_PlayerBoy QUALITY_ORANGE 1.0 11101 WEAPON_SWORD_ONE_HAND AvatarImage_Forward_Kate 501 25 501,502,503,504,505,506,507,508 12 1,3,5 10000005 911.791 17.808 57.225 0.05 0.5 10000005 AVATAR_FORMAL false +BODY_LADY UI_AvatarIcon_Lisa UI_AvatarIcon_Side_Lisa QUALITY_PURPLE 1.0 14101 WEAPON_CATALYST AvatarImage_Forward_Lisa 601 25 AVATAR_IDENTITY_NORMAL 4 1,3,5 10000006 802.3761 19.41072 48.069 0.05 0.5 10000006 AVATAR_FORMAL false +BODY_GIRL UI_AvatarIcon_PlayerGirl UI_AvatarIcon_Side_PlayerGirl QUALITY_ORANGE 1.0 11101 WEAPON_SWORD_ONE_HAND AvatarImage_Forward_Kate 701 25 701,702,703,704,705,706,707,708 12 1,3,5 10000007 911.791 17.808 57.225 0.05 0.5 10000007 AVATAR_FORMAL false +BODY_GIRL UI_AvatarIcon_Barbara UI_AvatarIcon_Side_Barbara QUALITY_PURPLE 1.0 14101 WEAPON_CATALYST AvatarImage_Forward_Barbara 1401 25 AVATAR_IDENTITY_NORMAL 14 1,3,5 10000014 820.6119 13.356 56.0805 0.05 0.5 10000014 AVATAR_FORMAL false +BODY_MALE UI_AvatarIcon_Kaeya UI_AvatarIcon_Side_Kaeya QUALITY_PURPLE 1.0 11101 WEAPON_SWORD_ONE_HAND AvatarImage_Forward_Qin 1501 25 AVATAR_IDENTITY_NORMAL 15 1,3,5 10000015 975.6164 18.6984 66.381 0.05 0.5 10000015 AVATAR_FORMAL false +BODY_MALE UI_AvatarIcon_Diluc UI_AvatarIcon_Side_Diluc QUALITY_ORANGE 1.0 12101 WEAPON_CLAYMORE AvatarImage_Forward_Diluc 1601 25 AVATAR_IDENTITY_NORMAL 16 1,3,5 10000016 1010.5192 26.068 61.0266 0.05 0.5 10000016 AVATAR_FORMAL false +BODY_BOY UI_AvatarIcon_Razor UI_AvatarIcon_Side_Razor QUALITY_PURPLE 1.0 12101 WEAPON_CLAYMORE AvatarImage_Forward_Qin 2001 25 AVATAR_IDENTITY_NORMAL 20 1,3,5 10000020 1002.9701 19.5888 62.9475 0.05 0.5 10000020 AVATAR_FORMAL false +BODY_GIRL UI_AvatarIcon_Ambor UI_AvatarIcon_Side_Ambor QUALITY_PURPLE 1.0 15101 WEAPON_BOW AvatarImage_Forward_Ambor 2101 25 AVATAR_IDENTITY_NORMAL 21 1,3,5 10000021 793.2582 18.6984 50.358 0.05 0.5 10000021 AVATAR_FORMAL true +BODY_BOY UI_AvatarIcon_Venti UI_AvatarIcon_Side_Venti QUALITY_ORANGE 1.0 15101 WEAPON_BOW AvatarImage_Forward_Venti 2201 25 AVATAR_IDENTITY_NORMAL 22 1,3,5 10000022 819.8552 20.482 52.0521 0.05 0.5 10000022 AVATAR_FORMAL true +BODY_GIRL UI_AvatarIcon_Xiangling UI_AvatarIcon_Side_Xiangling QUALITY_PURPLE 1.0 13101 WEAPON_POLE AvatarImage_Forward_Xiangling 2301 25 AVATAR_IDENTITY_NORMAL 23 1,3,5 10000023 911.791 18.87648 56.0805 0.05 0.5 10000023 AVATAR_FORMAL false +BODY_LADY UI_AvatarIcon_Beidou UI_AvatarIcon_Side_Beidou QUALITY_PURPLE 1.0 12101 WEAPON_CLAYMORE AvatarImage_Forward_Beidou 2401 25 AVATAR_IDENTITY_NORMAL 24 1,3,5 10000024 1094.1492 18.87648 54.36375 0.05 0.5 10000024 AVATAR_FORMAL false +BODY_BOY UI_AvatarIcon_Xingqiu UI_AvatarIcon_Side_Xingqiu QUALITY_PURPLE 1.0 11101 WEAPON_SWORD_ONE_HAND AvatarImage_Forward_Xingqiu 2501 25 AVATAR_IDENTITY_NORMAL 25 1,3,5 10000025 857.08356 16.9176 63.51975 0.05 0.5 10000025 AVATAR_FORMAL false +BODY_BOY UI_AvatarIcon_Xiao UI_AvatarIcon_Side_Xiao QUALITY_ORANGE 1.0 13101 WEAPON_POLE AvatarImage_Forward_Xiao 2601 25 AVATAR_IDENTITY_NORMAL 26 1,3,5 10000026 991.4528 27.1852 62.2232 0.05 0.5 10000026 AVATAR_FORMAL false +BODY_LADY UI_AvatarIcon_Ningguang UI_AvatarIcon_Side_Ningguang QUALITY_PURPLE 1.0 14101 WEAPON_CATALYST AvatarImage_Forward_Lisa 2701 25 AVATAR_IDENTITY_NORMAL 27 1,3,5 10000027 820.6119 17.808 48.069 0.05 0.5 10000027 AVATAR_FORMAL false +BODY_LOLI UI_AvatarIcon_Klee UI_AvatarIcon_Side_Klee QUALITY_ORANGE 1.0 14101 WEAPON_CATALYST AvatarImage_Forward_Klee 2901 25 AVATAR_IDENTITY_NORMAL 29 1,3,5 10000029 800.7888 24.206 47.864 0.05 0.5 10000029 AVATAR_FORMAL false +BODY_MALE UI_AvatarIcon_Zhongli UI_AvatarIcon_Side_Zhongli QUALITY_ORANGE 1.0 13101 WEAPON_POLE AvatarImage_Forward_Diluc 3001 25 AVATAR_IDENTITY_NORMAL 30 1,3,5 10000030 1143.984 19.551 57.4368 0.05 0.5 10000030 AVATAR_FORMAL false +BODY_GIRL UI_AvatarIcon_Fischl UI_AvatarIcon_Side_Fischl QUALITY_PURPLE 1.0 15101 WEAPON_BOW AvatarImage_Forward_Fischl 3101 25 AVATAR_IDENTITY_NORMAL 31 1,3,5 10000031 770.4634 20.4792 49.78575 0.05 0.5 10000031 AVATAR_FORMAL true +BODY_BOY UI_AvatarIcon_Bennett UI_AvatarIcon_Side_Bennett QUALITY_PURPLE 1.0 11101 WEAPON_SWORD_ONE_HAND AvatarImage_Forward_Bennett 3201 25 AVATAR_IDENTITY_NORMAL 32 1,3,5 10000032 1039.4418 16.0272 64.66425 0.05 0.5 10000032 AVATAR_FORMAL false +BODY_MALE UI_AvatarIcon_Tartaglia UI_AvatarIcon_Side_Tartaglia QUALITY_ORANGE 1.0 15101 WEAPON_BOW AvatarImage_Forward_Tartaglia 3301 25 AVATAR_IDENTITY_NORMAL 33 1,3,5 10000033 1020.0524 23.4612 63.4198 0.05 0.5 10000033 AVATAR_FORMAL true +BODY_GIRL UI_AvatarIcon_Noel UI_AvatarIcon_Side_Noel QUALITY_PURPLE 1.0 12101 WEAPON_CLAYMORE AvatarImage_Forward_Noel 3401 25 AVATAR_IDENTITY_NORMAL 34 1,3,5 10000034 1012.088 16.0272 66.95325 0.05 0.5 10000034 AVATAR_FORMAL false +BODY_LOLI UI_AvatarIcon_Qiqi UI_AvatarIcon_Side_Qiqi QUALITY_ORANGE 1.0 11101 WEAPON_SWORD_ONE_HAND AvatarImage_Forward_Qin 3501 25 AVATAR_IDENTITY_NORMAL 35 1,3,5 10000035 962.8532 22.344 71.796 0.05 0.5 10000035 AVATAR_FORMAL false +BODY_BOY UI_AvatarIcon_Chongyun UI_AvatarIcon_Side_Chongyun QUALITY_PURPLE 1.0 12101 WEAPON_CLAYMORE AvatarImage_Forward_Kate 3601 25 AVATAR_IDENTITY_NORMAL 36 1,3,5 10000036 920.90894 18.6984 54.36375 0.05 0.5 10000036 AVATAR_FORMAL false +BODY_GIRL UI_AvatarIcon_Ganyu UI_AvatarIcon_Side_Ganyu QUALITY_ORANGE 1.0 15101 WEAPON_BOW AvatarImage_Forward_Fischl 3701 25 AVATAR_IDENTITY_NORMAL 37 1,3,5 10000037 762.656 26.068 49.0606 0.05 0.5 10000037 AVATAR_FORMAL true +BODY_BOY UI_AvatarIcon_Albedo UI_AvatarIcon_Side_Albedo QUALITY_ORANGE 1.0 11101 WEAPON_SWORD_ONE_HAND AvatarImage_Forward_Albedo 3801 25 AVATAR_IDENTITY_NORMAL 38 1,3,5 10000038 1029.5856 19.551 68.2062 0.05 0.5 10000038 AVATAR_FORMAL false +BODY_LOLI UI_AvatarIcon_Diona UI_AvatarIcon_Side_Diona QUALITY_PURPLE 1.0 15101 WEAPON_BOW AvatarImage_Forward_Diona 3901 25 AVATAR_IDENTITY_NORMAL 39 1,3,5 10000039 802.3761 17.808 50.358 0.05 0.5 10000039 AVATAR_FORMAL true +BODY_GIRL UI_AvatarIcon_Mona UI_AvatarIcon_Side_Mona QUALITY_ORANGE 1.0 14101 WEAPON_CATALYST AvatarImage_Forward_Mona 4101 25 AVATAR_IDENTITY_NORMAL 41 1,3,5 10000041 810.322 22.344 50.8555 0.05 0.5 10000041 AVATAR_FORMAL false +BODY_GIRL UI_AvatarIcon_Keqing UI_AvatarIcon_Side_Keqing QUALITY_ORANGE 1.0 11101 WEAPON_SWORD_ONE_HAND AvatarImage_Forward_Keqing 4201 25 AVATAR_IDENTITY_NORMAL 42 1,3,5 10000042 1020.0524 25.137 62.2232 0.05 0.5 10000042 AVATAR_FORMAL false +BODY_GIRL UI_AvatarIcon_Sucrose UI_AvatarIcon_Side_Sucrose QUALITY_PURPLE 1.0 14101 WEAPON_CATALYST AvatarImage_Forward_Sucrose 4301 25 AVATAR_IDENTITY_NORMAL 43 1,3,5 10000043 775.02234 14.2464 58.94175 0.05 0.5 10000043 AVATAR_FORMAL false +BODY_GIRL UI_AvatarIcon_Xinyan UI_AvatarIcon_Side_Xinyan QUALITY_PURPLE 1.0 12101 WEAPON_CLAYMORE AvatarImage_Forward_Xinyan 4401 25 AVATAR_IDENTITY_NORMAL 44 1,3,5 10000044 939.1447 20.83536 66.95325 0.05 0.5 10000044 AVATAR_FORMAL false +BODY_LADY UI_AvatarIcon_Rosaria UI_AvatarIcon_Side_Rosaria QUALITY_PURPLE 1.0 13101 WEAPON_POLE AvatarImage_Forward_Rosaria 4501 25 AVATAR_IDENTITY_NORMAL 45 1,3,5 10000045 1030.3239 20.12304 59.514 0.05 0.5 10000045 AVATAR_FORMAL false +BODY_GIRL UI_AvatarIcon_Hutao UI_AvatarIcon_Side_Hutao QUALITY_ORANGE 1.0 13101 WEAPON_POLE AvatarImage_Forward_Hutao 4601 25 AVATAR_IDENTITY_NORMAL 46 1,3,5 10000046 1210.7164 8.2859 68.2062 0.05 0.5 10000046 AVATAR_FORMAL false +BODY_BOY UI_AvatarIcon_Kazuha UI_AvatarIcon_Side_Kazuha QUALITY_ORANGE 1.0 11101 WEAPON_SWORD_ONE_HAND AvatarImage_Forward_Kazuha 4701 25 AVATAR_IDENTITY_NORMAL 47 1,3,5 10000047 1039.1188 23.0888 62.8215 0.05 0.5 10000047 AVATAR_FORMAL false +BODY_GIRL UI_AvatarIcon_Feiyan UI_AvatarIcon_Side_Feiyan QUALITY_PURPLE 1.0 14101 WEAPON_CATALYST AvatarImage_Forward_Feiyan 4801 25 AVATAR_IDENTITY_NORMAL 48 1,3,5 10000048 784.14026 20.12304 49.2135 0.05 0.5 10000048 AVATAR_FORMAL false +BODY_GIRL UI_AvatarIcon_Yoimiya UI_AvatarIcon_Side_Yoimiya QUALITY_ORANGE 1.0 15101 WEAPON_BOW AvatarImage_Forward_Yoimiya 4901 25 AVATAR_IDENTITY_NORMAL 49 1,3,5 10000049 791.2556 25.137 47.864 0.05 0.5 10000049 AVATAR_FORMAL true +BODY_MALE UI_AvatarIcon_Tohma UI_AvatarIcon_Side_Tohma QUALITY_PURPLE 1.0 13101 WEAPON_POLE AvatarImage_Forward_Tohma 5001 25 AVATAR_IDENTITY_NORMAL 50 1,3,5 10000050 866.2015 16.9176 62.9475 0.05 0.5 10000050 AVATAR_FORMAL false +BODY_LADY UI_AvatarIcon_Eula UI_AvatarIcon_Side_Eula QUALITY_ORANGE 1.0 12101 WEAPON_CLAYMORE AvatarImage_Forward_Eula 5101 25 AVATAR_IDENTITY_NORMAL 51 1,3,5 10000051 1029.5856 26.6266 58.45391 0.05 0.5 10000051 AVATAR_FORMAL false +BODY_LADY UI_AvatarIcon_Shougun UI_AvatarIcon_Side_Shougun QUALITY_ORANGE 1.0 13101 WEAPON_POLE AvatarImage_Forward_Shougun 5201 25 AVATAR_IDENTITY_NORMAL 52 1,3,5 10000052 1004.79926 26.2542 61.44541 0.05 0.5 10000052 AVATAR_FORMAL false +BODY_LOLI UI_AvatarIcon_Sayu UI_AvatarIcon_Side_Sayu QUALITY_PURPLE 1.0 12101 WEAPON_CLAYMORE AvatarImage_Forward_Sayu 5301 25 AVATAR_IDENTITY_NORMAL 53 1,3,5 10000053 993.8522 20.4792 62.432476 0.05 0.5 10000053 AVATAR_FORMAL false +BODY_GIRL UI_AvatarIcon_Kokomi UI_AvatarIcon_Side_Kokomi QUALITY_ORANGE 1.0 14101 WEAPON_CATALYST AvatarImage_Forward_Kokomi 5401 25 AVATAR_IDENTITY_NORMAL 54 1,3,5 10000054 1048.652 18.2476 51.15465 0.05 0.5 10000054 AVATAR_FORMAL false +BODY_BOY UI_AvatarIcon_Gorou UI_AvatarIcon_Side_Gorou QUALITY_PURPLE 1.0 15101 WEAPON_BOW AvatarImage_Forward_Gorou 5501 25 AVATAR_IDENTITY_NORMAL 55 1,3,5 10000055 802.3761 15.31488 54.36375 0.05 0.5 10000055 AVATAR_FORMAL true +BODY_LADY UI_AvatarIcon_Sara UI_AvatarIcon_Side_Sara QUALITY_PURPLE 1.0 15101 WEAPON_BOW AvatarImage_Forward_Sara 5601 25 AVATAR_IDENTITY_NORMAL 56 1,3,5 10000056 802.3761 16.38336 52.647 0.05 0.5 10000056 AVATAR_FORMAL true +BODY_MALE UI_AvatarIcon_Itto UI_AvatarIcon_Side_Itto QUALITY_ORANGE 1.0 12101 WEAPON_CLAYMORE AvatarImage_Forward_Itto 5701 25 AVATAR_IDENTITY_NORMAL 57 1,3,5 10000057 1000.986 17.689 74.66784 0.05 0.5 10000057 AVATAR_FORMAL false +BODY_LADY UI_AvatarIcon_Yae UI_AvatarIcon_Side_Yae QUALITY_ORANGE 1.0 14101 WEAPON_CATALYST AvatarImage_Forward_Yae 5801 25 AVATAR_IDENTITY_NORMAL 58 1,3,5 10000058 807.46204 26.4404 44.2742 0.05 0.5 10000058 AVATAR_FORMAL false +BODY_BOY UI_AvatarIcon_Heizo UI_AvatarIcon_Side_Heizo QUALITY_PURPLE 1.0 14101 WEAPON_CATALYST AvatarImage_Forward_Heizo 5901 25 AVATAR_IDENTITY_NORMAL 59 1,3,5 10000059 893.5552 18.87648 57.33945 0.05 0.5 10000059 AVATAR_FORMAL false +BODY_LADY UI_AvatarIcon_Yelan UI_AvatarIcon_Side_Yelan QUALITY_ORANGE 1.0 15101 WEAPON_BOW AvatarImage_Forward_Yelan 6001 25 AVATAR_IDENTITY_NORMAL 60 1,3,5 10000060 1124.9176 18.9924 42.65879 0.05 0.5 10000060 AVATAR_FORMAL true +BODY_GIRL UI_AvatarIcon_Momoka UI_AvatarIcon_Side_Momoka QUALITY_PURPLE 1.0 11101 WEAPON_SWORD_ONE_HAND AvatarImage_Forward_Momoka 6101 25 AVATAR_IDENTITY_NORMAL 61 1,3,5 10000061 1021.20593 18.6984 45.78 0.05 0.5 10000061 AVATAR_FORMAL false +BODY_GIRL UI_AvatarIcon_Aloy UI_AvatarIcon_Side_Aloy QUALITY_ORANGE_SP 1.0 15101 WEAPON_BOW AvatarImage_Forward_Aloy 6201 25 AVATAR_IDENTITY_NORMAL 62 1,3,5 10000062 848.4548 18.21036 52.6504 0.05 0.5 10000062 AVATAR_FORMAL true +BODY_LADY UI_AvatarIcon_Shenhe UI_AvatarIcon_Side_Shenhe QUALITY_ORANGE 1.0 13101 WEAPON_POLE AvatarImage_Forward_Shenhe 6301 25 AVATAR_IDENTITY_NORMAL 63 1,3,5 10000063 1011.47253 23.6474 64.6164 0.05 0.5 10000063 AVATAR_FORMAL false +BODY_GIRL UI_AvatarIcon_Yunjin UI_AvatarIcon_Side_Yunjin QUALITY_PURPLE 1.0 13101 WEAPON_POLE AvatarImage_Forward_Yunjin 6401 25 AVATAR_IDENTITY_NORMAL 64 1,3,5 10000064 893.5552 16.0272 61.5741 0.05 0.5 10000064 AVATAR_FORMAL false +BODY_GIRL UI_AvatarIcon_Shinobu UI_AvatarIcon_Side_Shinobu QUALITY_PURPLE 1.0 11101 WEAPON_SWORD_ONE_HAND AvatarImage_Forward_Shinobu 6501 25 AVATAR_IDENTITY_NORMAL 65 1,3,5 10000065 1030.3239 17.808 62.9475 0.05 0.5 10000065 AVATAR_FORMAL false +BODY_MALE UI_AvatarIcon_Ayato UI_AvatarIcon_Side_Ayato QUALITY_ORANGE 1.0 11101 WEAPON_SWORD_ONE_HAND AvatarImage_Forward_Ayato 6601 25 AVATAR_IDENTITY_NORMAL 66 1,3,5 10000066 1067.7184 23.275 59.83 0.05 0.5 10000066 AVATAR_FORMAL false +BODY_GIRL UI_AvatarIcon_Collei UI_AvatarIcon_Side_Collei QUALITY_PURPLE 1.0 15101 WEAPON_BOW AvatarImage_Forward_Collei 6701 25 AVATAR_IDENTITY_NORMAL 67 1,3,5 10000067 820.6119 16.73952 50.358 0.05 0.5 10000067 AVATAR_FORMAL true +BODY_LOLI UI_AvatarIcon_Dori UI_AvatarIcon_Side_Dori QUALITY_PURPLE 1.0 12101 WEAPON_CLAYMORE AvatarImage_Forward_Dori 6801 25 AVATAR_IDENTITY_NORMAL 68 1,3,5 10000068 1039.4418 18.6984 60.6585 0.05 0.5 10000068 AVATAR_FORMAL false +BODY_BOY UI_AvatarIcon_Tighnari UI_AvatarIcon_Side_Tighnari QUALITY_ORANGE 1.0 15101 WEAPON_BOW AvatarImage_Forward_Tighnari 6901 25 AVATAR_IDENTITY_NORMAL 69 1,3,5 10000069 844.64154 20.8544 49.0606 0.05 0.5 10000069 AVATAR_FORMAL true +BODY_GIRL UI_AvatarIcon_Nilou UI_AvatarIcon_Side_Nilou QUALITY_ORANGE 1.0 11101 WEAPON_SWORD_ONE_HAND AvatarImage_Forward_Nilou 7001 25 AVATAR_IDENTITY_NORMAL 70 1,3,5 10000070 1182.1168 17.8752 56.71884 0.05 0.5 10000070 AVATAR_FORMAL false +BODY_BOY UI_AvatarIcon_Cyno UI_AvatarIcon_Side_Cyno QUALITY_ORANGE 1.0 13101 WEAPON_POLE AvatarImage_Forward_Cyno 7101 25 AVATAR_IDENTITY_NORMAL 71 1,3,5 10000071 972.3864 24.7646 66.88994 0.05 0.5 10000071 AVATAR_FORMAL false +BODY_LADY UI_AvatarIcon_Candace UI_AvatarIcon_Side_Candace QUALITY_PURPLE 1.0 13101 WEAPON_POLE AvatarImage_Forward_Candace 7201 25 AVATAR_IDENTITY_NORMAL 72 1,3,5 10000072 911.791 17.808 57.225 0.05 0.5 10000072 AVATAR_FORMAL false +BODY_LOLI UI_AvatarIcon_Nahida UI_AvatarIcon_Side_Nahida QUALITY_ORANGE 1.0 14101 WEAPON_CATALYST AvatarImage_Forward_Nahida 7301 25 AVATAR_IDENTITY_NORMAL 73 1,3,5 10000073 806.5087 23.275 49.0606 0.05 0.5 10000073 AVATAR_FORMAL false +BODY_GIRL UI_AvatarIcon_Layla UI_AvatarIcon_Side_Layla QUALITY_PURPLE 1.0 11101 WEAPON_SWORD_ONE_HAND AvatarImage_Forward_Layla 7401 25 AVATAR_IDENTITY_NORMAL 74 1,3,5 10000074 930.0268 18.16416 54.936 0.05 0.5 10000074 AVATAR_FORMAL false +BODY_BOY UI_AvatarIcon_Wanderer UI_AvatarIcon_Side_Wanderer QUALITY_ORANGE 1.0 14101 WEAPON_CATALYST AvatarImage_Forward_Wanderer 7501 25 AVATAR_IDENTITY_NORMAL 75 1,3,5 10000075 791.2556 25.5094 47.2657 0.05 0.5 10000075 AVATAR_FORMAL false +BODY_GIRL UI_AvatarIcon_Faruzan UI_AvatarIcon_Side_Faruzan QUALITY_PURPLE 1.0 15101 WEAPON_BOW AvatarImage_Forward_Faruzan 7601 25 AVATAR_IDENTITY_NORMAL 76 1,3,5 10000076 802.3761 16.4724 52.647 0.05 0.5 10000076 AVATAR_FORMAL true +BODY_LOLI UI_AvatarIcon_Yaoyao UI_AvatarIcon_Side_Yaoyao QUALITY_PURPLE 1.0 13101 WEAPON_POLE AvatarImage_Forward_Yaoyao 7701 25 AVATAR_IDENTITY_NORMAL 77 1,3,5 10000077 1030.3239 17.808 62.9475 0.05 0.5 10000077 AVATAR_FORMAL false +BODY_MALE UI_AvatarIcon_Alhatham UI_AvatarIcon_Side_Alhatham QUALITY_ORANGE 1.0 11101 WEAPON_SWORD_ONE_HAND AvatarImage_Forward_Alhatham 7801 25 AVATAR_IDENTITY_NORMAL 78 1,3,5 10000078 1039.1188 24.3922 60.84711 0.05 0.5 10000078 AVATAR_FORMAL false +BODY_LADY UI_AvatarIcon_Dehya UI_AvatarIcon_Side_Dehya QUALITY_ORANGE 1.0 12101 WEAPON_CLAYMORE AvatarImage_Forward_Dehya 7901 25 AVATAR_IDENTITY_NORMAL 79 1,3,5 10000079 1220.2496 20.6682 48.88111 0.05 0.5 10000079 AVATAR_FORMAL false +BODY_BOY UI_AvatarIcon_Mika UI_AvatarIcon_Side_Mika QUALITY_PURPLE 1.0 13101 WEAPON_POLE AvatarImage_Forward_Mika 8001 25 AVATAR_IDENTITY_NORMAL 80 1,3,5 10000080 1048.5597 18.6984 59.800125 0.05 0.5 10000080 AVATAR_FORMAL false +BODY_MALE UI_AvatarIcon_Kaveh UI_AvatarIcon_Side_Kaveh QUALITY_PURPLE 1.0 12101 WEAPON_CLAYMORE AvatarImage_Forward_Kaveh 8101 25 AVATAR_IDENTITY_NORMAL 81 1,3,5 10000081 1002.9701 19.5888 62.9475 0.05 0.5 10000081 AVATAR_FORMAL false +BODY_MALE UI_AvatarIcon_Baizhuer UI_AvatarIcon_Side_Baizhuer QUALITY_ORANGE 1.0 14101 WEAPON_CATALYST AvatarImage_Forward_Baizhuer 8201 25 AVATAR_IDENTITY_NORMAL 82 1,3,5 10000082 1039.1188 14.9891 38.8895 0.05 0.5 10000082 AVATAR_FORMAL false +BODY_GIRL UI_AvatarIcon_Linette UI_AvatarIcon_Side_Linette QUALITY_PURPLE 1.0 11101 WEAPON_SWORD_ONE_HAND AvatarImage_Forward_Linette 8301 25 AVATAR_IDENTITY_NORMAL 83 1,3,5 10000083 1039.4418 19.41072 59.685677 0.05 0.5 10000083 AVATAR_FORMAL false +BODY_BOY UI_AvatarIcon_Liney UI_AvatarIcon_Side_Liney QUALITY_ORANGE 1.0 15101 WEAPON_BOW AvatarImage_Forward_Liney 8401 25 AVATAR_IDENTITY_NORMAL 84 1,3,5 10000084 857.988 24.7646 41.881 0.05 0.5 10000084 AVATAR_FORMAL true +BODY_BOY UI_AvatarIcon_Freminet UI_AvatarIcon_Side_Freminet QUALITY_PURPLE 1.0 12101 WEAPON_CLAYMORE AvatarImage_Forward_Freminet 8501 25 AVATAR_IDENTITY_NORMAL 85 1,3,5 10000085 1012.088 21.3696 59.39955 0.05 0.5 10000085 AVATAR_FORMAL false +BODY_MALE UI_AvatarIcon_Wriothesley UI_AvatarIcon_Side_Wriothesley QUALITY_ORANGE 1.0 14101 WEAPON_CATALYST AvatarImage_Forward_Wriothesley 8601 25 AVATAR_IDENTITY_NORMAL 86 1,3,5 10000086 1058.1852 24.206 59.41119 0.05 0.5 10000086 AVATAR_FORMAL false +BODY_MALE UI_AvatarIcon_Neuvillette UI_AvatarIcon_Side_Neuvillette QUALITY_ORANGE 1.0 14101 WEAPON_CATALYST AvatarImage_Forward_Neuvillette 8701 25 AVATAR_IDENTITY_NORMAL 87 1,3,5 10000087 1143.984 16.21802 44.8725 0.05 0.5 10000087 AVATAR_FORMAL false +BODY_GIRL UI_AvatarIcon_Charlotte UI_AvatarIcon_Side_Charlotte QUALITY_PURPLE 1.0 14101 WEAPON_CATALYST AvatarImage_Forward_Charlotte 8801 25 AVATAR_IDENTITY_NORMAL 88 1,3,5 10000088 902.6731 14.51352 45.78 0.05 0.5 10000088 AVATAR_FORMAL false +BODY_GIRL UI_AvatarIcon_Furina UI_AvatarIcon_Side_Furina QUALITY_ORANGE 1.0 11101 WEAPON_SWORD_ONE_HAND AvatarImage_Forward_Furina 8901 25 AVATAR_IDENTITY_NORMAL 89 1,3,5 10000089 1191.65 18.9924 54.14615 0.05 0.5 10000089 AVATAR_FORMAL false +BODY_GIRL UI_AvatarIcon_Chevreuse UI_AvatarIcon_Side_Chevreuse QUALITY_PURPLE 1.0 13101 WEAPON_POLE AvatarImage_Forward_Chevreuse 9001 25 AVATAR_IDENTITY_NORMAL 90 1,3,5 10000090 1002.9701 16.20528 50.70135 0.05 0.5 10000090 AVATAR_FORMAL false +BODY_LADY UI_AvatarIcon_Navia UI_AvatarIcon_Side_Navia QUALITY_ORANGE 1.0 12101 WEAPON_CLAYMORE AvatarImage_Forward_Navia 9101 25 AVATAR_IDENTITY_NORMAL 91 1,3,5 10000091 984.77954 27.3714 61.74456 0.05 0.5 10000091 AVATAR_FORMAL false +BODY_BOY UI_AvatarIcon_Gaming UI_AvatarIcon_Side_Gaming QUALITY_PURPLE 1.0 12101 WEAPON_CLAYMORE AvatarImage_Forward_Gaming 9201 25 AVATAR_IDENTITY_NORMAL 92 1,3,5 10000092 957.38055 25.28736 58.94175 0.05 0.5 10000092 AVATAR_FORMAL false +BODY_LADY UI_AvatarIcon_Liuyun UI_AvatarIcon_Side_Liuyun QUALITY_ORANGE 1.0 14101 WEAPON_CATALYST AvatarImage_Forward_Liuyun 9301 25 AVATAR_IDENTITY_NORMAL 93 1,3,5 10000093 810.322 26.068 44.57335 0.05 0.5 10000093 AVATAR_FORMAL false +BODY_GIRL UI_AvatarIcon_Chiori UI_AvatarIcon_Side_Chiori QUALITY_ORANGE 1.0 11101 WEAPON_SWORD_ONE_HAND AvatarImage_Forward_Chiori 9401 25 AVATAR_IDENTITY_NORMAL 94 1,3,5 10000094 890.4009 25.137 74.1892 0.05 0.5 10000094 AVATAR_FORMAL false +BODY_LOLI UI_AvatarIcon_Sigewinne UI_AvatarIcon_Side_Sigewinne QUALITY_ORANGE 1.0 15101 WEAPON_BOW AvatarImage_Forward_Sigewinne 9501 25 AVATAR_IDENTITY_NORMAL 95 1,3,5 10000095 1039.1188 14.9891 38.8895 0.05 0.5 10000095 AVATAR_FORMAL true +BODY_LADY UI_AvatarIcon_Arlecchino UI_AvatarIcon_Side_Arlecchino QUALITY_ORANGE 1.0 13101 WEAPON_POLE AvatarImage_Forward_Arlecchino 9601 25 AVATAR_IDENTITY_NORMAL 96 1,3,5 10000096 1020.0524 26.6266 59.53085 0.05 0.5 10000096 AVATAR_FORMAL false +BODY_BOY UI_AvatarIcon_Sethos UI_AvatarIcon_Side_Sethos QUALITY_PURPLE 1.0 15101 WEAPON_BOW AvatarImage_Forward_Sethos 9701 25 AVATAR_IDENTITY_NORMAL 97 1,3,5 10000097 820.6119 19.05456 46.9245 0.05 0.5 10000097 AVATAR_FORMAL true +BODY_LADY UI_AvatarIcon_Clorinde UI_AvatarIcon_Side_Clorinde QUALITY_ORANGE 1.0 11101 WEAPON_SWORD_ONE_HAND AvatarImage_Forward_Clorinde 9801 25 AVATAR_IDENTITY_NORMAL 98 1,3,5 10000098 1008.61255 26.2542 61.0266 0.05 0.5 10000098 AVATAR_FORMAL false +BODY_GIRL UI_AvatarIcon_Emilie UI_AvatarIcon_Side_Emilie QUALITY_ORANGE 1.0 13101 WEAPON_POLE AvatarImage_Forward_Emilie 9901 25 AVATAR_IDENTITY_NORMAL 99 1,3,5 10000099 1056.2786 26.068 56.8385 0.05 0.5 10000099 AVATAR_FORMAL false +BODY_LOLI UI_AvatarIcon_Kachina UI_AvatarIcon_Side_Kachina QUALITY_PURPLE 1.0 13101 WEAPON_POLE AvatarImage_Forward_Kachina 10001 25 AVATAR_IDENTITY_NORMAL 100 1,3,5 10000100 989.2932 18.16416 66.438225 0.05 0.5 10000100 AVATAR_FORMAL false +BODY_BOY UI_AvatarIcon_Kinich UI_AvatarIcon_Side_Kinich QUALITY_ORANGE 1.0 12101 WEAPON_CLAYMORE AvatarImage_Forward_Kinich 10101 25 AVATAR_IDENTITY_NORMAL 101 1,3,5 10000101 1000.986 25.8818 62.40269 0.05 0.5 10000101 AVATAR_FORMAL false +BODY_GIRL UI_AvatarIcon_Mualani UI_AvatarIcon_Side_Mualani QUALITY_ORANGE 1.0 14101 WEAPON_CATALYST AvatarImage_Forward_Mualani 10201 25 AVATAR_IDENTITY_NORMAL 102 1,3,5 10000102 1182.1168 14.1512 44.39386 0.05 0.5 10000102 AVATAR_FORMAL false +BODY_GIRL UI_AvatarIcon_Side_Ambor UI_AvatarIcon_Side_Ambor QUALITY_PURPLE 1.0 11101 WEAPON_SWORD_ONE_HAND AvatarImage_Forward_Ambor 8011 25 AVATAR_IDENTITY_NORMAL 2 10000001 99999.0 99999.0 99999.0 0.05 0.5 11000008 AVATAR_ABANDON false +BODY_GIRL UI_AvatarIcon_Side_Kate UI_AvatarIcon_Side_Kate QUALITY_PURPLE 1.0 11101 WEAPON_SWORD_ONE_HAND AvatarImage_Forward_Kate 9011 25 AVATAR_IDENTITY_NORMAL 2 10000001 99999.0 99999.0 99999.0 0.05 0.5 11000009 AVATAR_ABANDON false +BODY_GIRL UI_AvatarIcon_Side_Kate UI_AvatarIcon_Side_Kate QUALITY_PURPLE 1.0 11101 WEAPON_SWORD_ONE_HAND AvatarImage_Forward_Kate 10011 25 AVATAR_IDENTITY_NORMAL 2 10000001 99999.0 99999.0 99999.0 0.05 0.5 11000010 AVATAR_ABANDON false +BODY_BOY UI_AvatarIcon_Side_Kate UI_AvatarIcon_Side_Kate QUALITY_PURPLE 1.0 11101 WEAPON_SWORD_ONE_HAND AvatarImage_Forward_Kate 501 25 AVATAR_IDENTITY_NORMAL 2 10000001 99999.0 99999.0 99999.0 0.05 0.5 11000011 false +BODY_GIRL UI_AvatarIcon_Side_Kate UI_AvatarIcon_Side_Kate QUALITY_PURPLE 1.0 11101 WEAPON_SWORD_ONE_HAND AvatarImage_Forward_Kate 13011 25 AVATAR_IDENTITY_NORMAL 2 10000001 99999.0 99999.0 99999.0 0.05 0.5 11000013 AVATAR_SYNC_TEST false +BODY_MALE UI_AvatarIcon_Qin UI_AvatarIcon_Side_Qin QUALITY_PURPLE 1.0 11101 WEAPON_SWORD_ONE_HAND AvatarImage_Forward_Qin 1501 25 AVATAR_IDENTITY_NORMAL 2 10000001 99999.0 99999.0 99999.0 0.05 0.5 11000017 false +BODY_LADY UI_AvatarIcon_Qin UI_AvatarIcon_Side_Qin QUALITY_PURPLE 1.0 11101 WEAPON_SWORD_ONE_HAND AvatarImage_Forward_Qin 1501 25 AVATAR_IDENTITY_NORMAL 2 10000001 99999.0 99999.0 99999.0 0.05 0.5 11000018 false +BODY_GIRL UI_AvatarIcon_Qin UI_AvatarIcon_Side_Qin QUALITY_PURPLE 1.0 11101 WEAPON_SWORD_ONE_HAND AvatarImage_Forward_Qin 1501 25 AVATAR_IDENTITY_NORMAL 2 10000001 99999.0 99999.0 99999.0 0.05 0.5 11000019 false +BODY_BOY UI_AvatarIcon_Razor UI_AvatarIcon_Side_Razor QUALITY_PURPLE 1.0 15101 WEAPON_BOW AvatarImage_Forward_Qin 25011 25 AVATAR_IDENTITY_NORMAL 2 10000001 208.6 8.2 9.5 0.05 0.5 11000025 true +BODY_LOLI UI_AvatarIcon_Qin UI_AvatarIcon_Side_Qin QUALITY_PURPLE 1.0 14101 WEAPON_CATALYST AvatarImage_Forward_Qin 1501 25 AVATAR_IDENTITY_NORMAL 2 10000001 99999.0 99999.0 99999.0 0.05 0.5 11000026 false +BODY_GIRL UI_AvatarIcon_Kate UI_AvatarIcon_Side_Kate QUALITY_PURPLE 1.0 11101 WEAPON_SWORD_ONE_HAND AvatarImage_Forward_Kate 101 25 AVATAR_IDENTITY_NORMAL 2 10000001 166.0 5.0 8.0 0.05 0.5 11000027 false +BODY_GIRL UI_AvatarIcon_Ayaka UI_AvatarIcon_Side_Ayaka QUALITY_PURPLE 1.0 13101 WEAPON_POLE AvatarImage_Forward_Ayaka 28011 25 AVATAR_IDENTITY_NORMAL 2 10000001 185.0 6.0 10.4 0.05 0.5 11000028 false +BODY_GIRL UI_AvatarIcon_Qin UI_AvatarIcon_Side_Qin QUALITY_PURPLE 1.0 12101 WEAPON_CLAYMORE AvatarImage_Forward_Qin 30011 25 AVATAR_IDENTITY_NORMAL 2 10000001 189.5 5.6 10.5 0.05 0.5 11000030 false +BODY_GIRL UI_AvatarIcon_Kate UI_AvatarIcon_Side_Kate QUALITY_PURPLE 1.0 11101 WEAPON_SWORD_ONE_HAND AvatarImage_Forward_Kate 40003 25 AVATAR_IDENTITY_NORMAL 2 10000001 166.0 5.0 8.0 0.05 0.5 11000031 false +BODY_GIRL UI_AvatarIcon_Kate UI_AvatarIcon_Side_Kate QUALITY_PURPLE 1.0 11101 WEAPON_SWORD_ONE_HAND AvatarImage_Forward_Kate 40002 25 AVATAR_IDENTITY_NORMAL 2 10000001 166.0 5.0 8.0 0.05 0.5 11000032 false +BODY_GIRL UI_AvatarIcon_Kate UI_AvatarIcon_Side_Kate QUALITY_PURPLE 1.0 11101 WEAPON_SWORD_ONE_HAND AvatarImage_Forward_Kate 40001 25 AVATAR_IDENTITY_NORMAL 2 10000001 166.0 5.0 8.0 0.05 0.5 11000033 false +BODY_LADY UI_AvatarIcon_Xiangling UI_AvatarIcon_Side_Xiangling QUALITY_PURPLE 1.0 13101 WEAPON_POLE AvatarImage_Forward_Xiangling 101 25 AVATAR_IDENTITY_NORMAL 2 10000001 185.0 6.0 10.4 0.05 0.5 11000035 false +BODY_GIRL UI_AvatarIcon_Kate UI_AvatarIcon_Side_Kate QUALITY_PURPLE 1.0 11101 WEAPON_SWORD_ONE_HAND AvatarImage_Forward_Kate 101 25 AVATAR_IDENTITY_NORMAL 2 10000001 166.0 5.0 8.0 0.05 0.5 11000036 false +BODY_BOY UI_AvatarIcon_PlayerBoy UI_AvatarIcon_Side_PlayerBoy QUALITY_PURPLE 1.0 15101 WEAPON_BOW AvatarImage_Forward_Kate 37011 25 AVATAR_IDENTITY_NORMAL 2 10000001 191.0 5.0 11.0 0.05 0.5 11000037 true +BODY_GIRL UI_AvatarIcon_Kate UI_AvatarIcon_Side_Kate QUALITY_PURPLE 1.0 11101 WEAPON_SWORD_ONE_HAND AvatarImage_Forward_Kate 101 25 AVATAR_IDENTITY_NORMAL 2 10000001 166.0 5.0 8.0 0.05 0.5 11000038 false +BODY_GIRL UI_AvatarIcon_Kate UI_AvatarIcon_Side_Kate QUALITY_PURPLE 1.0 11101 WEAPON_SWORD_ONE_HAND AvatarImage_Forward_Kate 101 25 AVATAR_IDENTITY_NORMAL 2 10000001 166.0 5.0 8.0 0.05 0.5 11000039 false +BODY_GIRL UI_AvatarIcon_PlayerGirl UI_AvatarIcon_Side_PlayerGirl QUALITY_ORANGE 1.0 11101 WEAPON_SWORD_ONE_HAND AvatarImage_Forward_Kate 701 25 AVATAR_IDENTITY_NORMAL 2 10000001 441.9454 17.6352 15.9755 0.05 0.5 11000040 false +BODY_BOY UI_AvatarIcon_PlayerBoy UI_AvatarIcon_Side_PlayerBoy QUALITY_PURPLE 1.0 11101 WEAPON_SWORD_ONE_HAND AvatarImage_Forward_Kate 501 25 AVATAR_IDENTITY_NORMAL 2 10000001 441.9454 17.6352 15.9755 0.05 0.5 11000041 false +BODY_BOY UI_AvatarIcon_PlayerBoy UI_AvatarIcon_Side_PlayerBoy QUALITY_PURPLE 1.0 11101 WEAPON_SWORD_ONE_HAND AvatarImage_Forward_Kate 38001 25 AVATAR_IDENTITY_NORMAL 2 10000001 441.9454 17.6352 15.9755 0.05 0.5 11000042 false +BODY_LOLI UI_AvatarIcon_Qin UI_AvatarIcon_Side_Qin QUALITY_PURPLE 1.0 14101 WEAPON_CLAYMORE AvatarImage_Forward_Qin 1501 25 AVATAR_IDENTITY_NORMAL 2 10000001 99999.0 99999.0 99999.0 0.05 0.5 11000043 false +BODY_LOLI UI_AvatarIcon_Qin UI_AvatarIcon_Side_Qin QUALITY_PURPLE 1.0 14101 WEAPON_SWORD_ONE_HAND AvatarImage_Forward_Qin 1501 25 AVATAR_IDENTITY_NORMAL 2 10000001 99999.0 99999.0 99999.0 0.05 0.5 11000044 false +BODY_LOLI UI_AvatarIcon_Qin UI_AvatarIcon_Side_Qin QUALITY_PURPLE 1.0 14101 WEAPON_BOW AvatarImage_Forward_Qin 1501 25 AVATAR_IDENTITY_NORMAL 2 10000001 99999.0 99999.0 99999.0 0.05 0.5 11000045 false +BODY_LADY UI_AvatarIcon_Qin UI_AvatarIcon_Side_Qin QUALITY_PURPLE 1.0 12101 WEAPON_CLAYMORE AvatarImage_Forward_Qin 1501 25 AVATAR_IDENTITY_NORMAL 2 10000001 99999.0 99999.0 99999.0 0.05 0.5 11000046 false diff --git a/data/txt/OpenStateData.txt b/data/txt/OpenStateData.txt new file mode 100644 index 0000000..874753e --- /dev/null +++ b/data/txt/OpenStateData.txt @@ -0,0 +1,388 @@ +cond systemOpenUiId defaultState allowClientOpen id +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 1 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 2 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 true false 3 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 true false 4 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 true false 10 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 true false 5 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 true false 6 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 true true 7 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 8 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 true true 9 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 true false 11 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 true false 12 +condType:OPEN_STATE_COND_QUEST|param:2010001|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 1 false false 31 +condType:OPEN_STATE_COND_PLAYER_LEVEL|param:2|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false false 30 +condType:OPEN_STATE_COND_PLAYER_LEVEL|param:2|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false false 37 +condType:OPEN_STATE_COND_PLAYER_LEVEL|param:14|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false false 39 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 true false 45 +condType:OPEN_STATE_COND_QUEST|param:35723|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 13 false false 54 +condType:OPEN_STATE_COND_PLAYER_LEVEL|param:7|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false false 2100 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 13 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 14 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 15 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 16 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 17 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 18 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 19 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 20 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 21 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 22 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 23 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 24 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 25 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 26 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 true false 27 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 28 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 true false 29 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 32 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 33 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 34 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 35 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 36 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 38 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 40 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 41 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 50 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 51 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 59 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 52 +condType:OPEN_STATE_COND_PLAYER_LEVEL|param:8|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 11 false false 53 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 56 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 58 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 76 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 60 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 61 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 62 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 63 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 64 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 66 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 67 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 68 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 69 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 70 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 71 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 72 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 73 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 74 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 75 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 77 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 78 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 79 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 80 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 81 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 82 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 83 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 84 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 2001 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 2002 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 2003 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 2004 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 2104 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 2105 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 2106 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 1411 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 1412 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 2205 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 2206 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 2400 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 2401 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 2402 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 2210 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 2211 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 2212 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 2601 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 2700 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 2701 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 2702 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 2703 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 3500 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 3501 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 3502 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 3503 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 4604 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 4605 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 4606 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 4607 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 4613 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 2800 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 2704 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 3006 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 3007 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 3100 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 3101 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 3102 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 3103 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 3201 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 3312 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 3313 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 3314 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 3400 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 3504 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 3601 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 3611 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 3612 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 3613 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 3614 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 3615 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 3616 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 3701 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 3703 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 3704 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 3705 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 3710 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 3711 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 3712 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 3713 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 3714 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 3715 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 3716 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 3717 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 3718 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 3719 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 3720 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 3721 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 3722 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 3723 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 3750 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 4100 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 4101 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 4102 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 4200 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 4201 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 4202 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 4301 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 4302 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 4303 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 4304 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 4708 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 4709 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 4710 +condType:OPEN_STATE_COND_PLAYER_LEVEL|param:26|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 17 false false 57 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 true true 43 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 true false 1001 +condType:OPEN_STATE_COND_PLAYER_LEVEL|param:1|NEOENBFLOGE:0,condType:OPEN_STATE_COND_QUEST|param:31101|NEOENBFLOGE:0 0 false false 1002 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 true false 1003 +condType:OPEN_STATE_COND_PLAYER_LEVEL|param:5|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false false 1004 +condType:OPEN_STATE_COND_PLAYER_LEVEL|param:5|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false false 1005 +condType:OPEN_STATE_COND_PLAYER_LEVEL|param:13|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false false 1006 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 true false 1007 +condType:OPEN_STATE_COND_PLAYER_LEVEL|param:5|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false false 1008 +condType:OPEN_STATE_COND_PLAYER_LEVEL|param:1|NEOENBFLOGE:0,condType:OPEN_STATE_COND_QUEST|param:31101|NEOENBFLOGE:0 0 false false 1009 +condType:OPEN_STATE_COND_PLAYER_LEVEL|param:5|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false false 1010 +condType:OPEN_STATE_COND_PLAYER_LEVEL|param:1|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false false 903 +condType:OPEN_STATE_COND_PLAYER_LEVEL|param:1|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false false 901 +condType:OPEN_STATE_COND_PLAYER_LEVEL|param:1|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false false 902 +condType:OPEN_STATE_COND_QUEST|param:2010001|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 12 false false 900 +condType:OPEN_STATE_OFFERING_LEVEL|param:2|NEOENBFLOGE:50,condType:OPEN_STATE_COND_QUEST|param:31101|NEOENBFLOGE:0 0 false false 1011 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 true true 1013 +condType:OPEN_STATE_OFFERING_LEVEL|param:5|NEOENBFLOGE:50,condType:OPEN_STATE_COND_QUEST|param:31101|NEOENBFLOGE:0 0 false false 3004 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 true true 3005 +condType:OPEN_STATE_OFFERING_LEVEL|param:7|NEOENBFLOGE:50,condType:OPEN_STATE_COND_QUEST|param:31101|NEOENBFLOGE:0 0 false false 4006 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 true true 4007 +condType:OPEN_STATE_OFFERING_LEVEL|param:9|NEOENBFLOGE:50,condType:OPEN_STATE_COND_QUEST|param:31101|NEOENBFLOGE:0 0 false false 5011 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 true true 5012 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_QUEST|param:2003003|NEOENBFLOGE:0 0 false false 1100 +condType:OPEN_STATE_COND_PLAYER_LEVEL|param:8|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false false 1103 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 true true 1101 +condType:OPEN_STATE_COND_QUEST|param:2211102|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false false 1102 +condType:OPEN_STATE_COND_QUEST|param:39303|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false false 1104 +condType:OPEN_STATE_COND_PLAYER_LEVEL|param:16|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false false 2801 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 true true 44 +condType:OPEN_STATE_COND_QUEST|param:35001|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false false 47 +condType:OPEN_STATE_COND_QUEST|param:99902|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false false 48 +condType:OPEN_STATE_COND_PLAYER_LEVEL|param:16|NEOENBFLOGE:0,condType:OPEN_STATE_COND_QUEST|param:35001|NEOENBFLOGE:0 9 false false 49 +condType:OPEN_STATE_COND_QUEST|param:35311|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false false 1403 +condType:OPEN_STATE_COND_QUEST|param:4000100|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 2 false false 1200 +condType:OPEN_STATE_COND_QUEST|param:4000110|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false false 1201 +condType:OPEN_STATE_COND_QUEST|param:4000104|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false false 1202 +condType:OPEN_STATE_COND_PLAYER_LEVEL|param:1|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false false 1300 +condType:OPEN_STATE_COND_PLAYER_LEVEL|param:20|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 10 false false 1301 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 true false 55 +condType:OPEN_STATE_COND_QUEST|param:35802|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false false 1401 +condType:OPEN_STATE_COND_QUEST|param:39403|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false false 1402 +condType:OPEN_STATE_COND_PLAYER_LEVEL|param:25|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 14 false false 802 +condType:OPEN_STATE_COND_QUEST|param:7065001|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false false 800 +condType:OPEN_STATE_COND_QUEST|param:7165001|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false false 801 +condType:OPEN_STATE_COND_QUEST|param:7265701|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false false 803 +condType:OPEN_STATE_COND_QUEST|param:7367301|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false false 3000 +condType:OPEN_STATE_COND_QUEST|param:7465001|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false false 4000 +condType:OPEN_STATE_CITY_REPUTATION_LEVEL|param:1|NEOENBFLOGE:2,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false false 1404 +condType:OPEN_STATE_CITY_REPUTATION_LEVEL|param:2|NEOENBFLOGE:2,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false false 1405 +condType:OPEN_STATE_CITY_REPUTATION_LEVEL|param:3|NEOENBFLOGE:2,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false false 1409 +condType:OPEN_STATE_CITY_REPUTATION_LEVEL|param:4|NEOENBFLOGE:2,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false false 3002 +condType:OPEN_STATE_CITY_REPUTATION_LEVEL|param:5|NEOENBFLOGE:2,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false false 4001 +condType:OPEN_STATE_TRIBAL_REPUTATION_FINISH_NUM|param:6|NEOENBFLOGE:1,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false false 5016 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 true false 65 +condType:OPEN_STATE_COND_QUEST|param:7014118|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 15 false false 1406 +condType:OPEN_STATE_COND_QUEST|param:7181210|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false false 1407 +condType:OPEN_STATE_COND_PLAYER_LEVEL|param:26|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false false 1408 +condType:OPEN_STATE_COND_QUEST|param:7066103|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 19 false false 1410 +condType:OPEN_STATE_COND_PARENT_QUEST|param:1025|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false false 2200 +condType:OPEN_STATE_COND_PARENT_QUEST|param:70661|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false false 2201 +condType:OPEN_STATE_COND_QUEST|param:1100811|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 16 false false 1502 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false false 1500 +condType:OPEN_STATE_COND_PLAYER_LEVEL|param:28|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false false 1501 +condType:OPEN_STATE_COND_PLAYER_LEVEL|param:10|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false false 1700 +condType:OPEN_STATE_COND_PLAYER_LEVEL|param:45|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false false 1600 +condType:OPEN_STATE_COND_PARENT_QUEST|param:71654|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false false 1504 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 1505 +condType:OPEN_STATE_COND_QUEST|param:201310|NEOENBFLOGE:0,condType:OPEN_STATE_COND_PLAYER_LEVEL|param:30|NEOENBFLOGE:0 18 false false 2000 +condType:OPEN_STATE_COND_QUEST|param:1201812|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false false 1012 +condType:OPEN_STATE_COND_QUEST|param:7103711|NEOENBFLOGE:0,condType:OPEN_STATE_COND_PLAYER_LEVEL|param:28|NEOENBFLOGE:0 20 false false 2600 +condType:OPEN_STATE_COND_QUEST|param:7322902|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 21 false false 3001 +condType:OPEN_STATE_COND_QUEST|param:7334101|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 23 false false 3600 +condType:OPEN_STATE_COND_QUEST|param:400617|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 24 false false 4004 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 true true 4005 +condType:OPEN_STATE_COND_QUEST|param:7112704|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 25 false false 4400 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 true true 4401 +condType:OPEN_STATE_COND_QUEST|param:500218|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 28 false false 5009 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 true true 5010 +condType:OPEN_STATE_COND_PARENT_QUEST|param:71655|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false false 1503 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 85 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 86 +condType:OPEN_STATE_COND_PLAYER_LEVEL|param:2|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false false 2101 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 2103 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 2102 +condType:OPEN_STATE_COND_QUEST|param:201310|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 2005 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 87 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 88 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 89 +condType:OPEN_STATE_COND_PLAYER_LEVEL|param:30|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false false 2500 +condType:OPEN_STATE_COND_QUEST|param:7217716|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false false 2403 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 2501 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 91 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 92 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 90 +condType:OPEN_STATE_COND_QUEST|param:7303510|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false false 3003 +condType:OPEN_STATE_COND_QUEST|param:7066521|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 22 false false 3300 +condType:OPEN_STATE_COND_GCG_LEVEL|param:1|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false false 3301 +condType:OPEN_STATE_COND_GCG_LEVEL|param:4|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false false 3302 +condType:OPEN_STATE_COND_GCG_LEVEL|param:1|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false false 3303 +condType:OPEN_STATE_COND_QUEST|param:7066510|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false false 3304 +condType:OPEN_STATE_COND_GCG_LEVEL|param:1|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false false 3305 +condType:OPEN_STATE_COND_GCG_LEVEL|param:3|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false false 3306 +condType:OPEN_STATE_COND_QUEST|param:7066510|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false false 3307 +condType:OPEN_STATE_COND_GCG_LEVEL|param:2|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false false 3308 +condType:OPEN_STATE_COND_QUEST|param:7066521|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false false 3309 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 true true 3200 +condType:OPEN_STATE_COND_GCG_LEVEL|param:1|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false false 3311 +condType:OPEN_STATE_COND_GCG_LEVEL|param:4|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false false 3700 +condType:OPEN_STATE_COND_GCG_LEVEL|param:1|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false false 4008 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 4204 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 3505 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 3506 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 3702 +condType:OPEN_STATE_COND_QUEST|param:4011314|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false false 3800 +condType:OPEN_STATE_COND_QUEST|param:4011501|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false false 3801 +condType:OPEN_STATE_COND_QUEST|param:4011602|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false false 3802 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 3805 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 3751 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 3760 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 3761 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 4002 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 4003 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 4009 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 4010 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 3803 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 3804 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 4103 +condType:OPEN_STATE_COND_PLAYER_LEVEL|param:24|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false false 4104 +condType:OPEN_STATE_COND_QUEST|param:202102|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false false 4105 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 4106 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 4107 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 4813 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 4614 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 4108 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 4109 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 4203 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 4300 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 4110 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 4111 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 4206 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 4207 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 4208 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 4112 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 4210 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 4211 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 4212 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 4213 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 4214 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 4215 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 4216 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 4217 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 4218 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 4219 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 4220 +condType:OPEN_STATE_COND_QUEST|param:7110082|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false false 4402 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 4501 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 4502 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 4403 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 4404 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 4504 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 4503 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 4509 +condType:OPEN_STATE_COND_QUEST|param:39604|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false false 4601 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 4602 +condType:OPEN_STATE_COND_QUEST|param:7418432|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false false 4603 +condType:OPEN_STATE_COND_QUEST|param:7067602|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 26 false false 4700 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 4505 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 4506 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 4507 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 4508 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 4526 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 4520 +condType:OPEN_STATE_COND_QUEST|param:2003004|NEOENBFLOGE:0,condType:OPEN_STATE_COND_PLAYER_LEVEL|param:12|NEOENBFLOGE:0 0 false false 4510 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 4511 +condType:OPEN_STATE_COND_QUEST|param:2500902|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false false 4512 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 4513 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 4514 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 4515 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 4516 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 4517 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 4519 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 4525 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 4521 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 4522 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 4523 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 true true 4608 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 true true 4609 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 true true 4610 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 true true 4611 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 true true 4612 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 4615 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 4616 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false false 5002 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false false 5003 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false false 5004 +condType:OPEN_STATE_COND_PLAYER_LEVEL|param:25|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 29 false false 5001 +condType:OPEN_STATE_COND_PLAYER_LEVEL|param:25|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false false 5005 +condType:OPEN_STATE_COND_PLAYER_LEVEL|param:25|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false false 5013 +condType:OPEN_STATE_COND_PLAYER_LEVEL|param:25|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false false 5006 +condType:OPEN_STATE_COND_PLAYER_LEVEL|param:25|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false false 5007 +condType:OPEN_STATE_COND_PLAYER_LEVEL|param:25|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false false 5008 +condType:OPEN_STATE_COND_QUEST|param:7068001|NEOENBFLOGE:0,condType:OPEN_STATE_COND_PLAYER_LEVEL|param:35|NEOENBFLOGE:0 27 false false 4805 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 4801 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 4802 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 4803 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 4804 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 4701 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 4704 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 4705 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 4706 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 4702 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 4703 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 4707 +condType:OPEN_STATE_COND_QUEST|param:4016202|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false false 4806 +condType:OPEN_STATE_COND_QUEST|param:4016303|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false false 4807 +condType:OPEN_STATE_COND_QUEST|param:4016304|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false false 4808 +condType:OPEN_STATE_COND_QUEST|param:4016403|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false false 4809 +condType:OPEN_STATE_COND_QUEST|param:4016406|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false false 4810 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 4812 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 4820 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 4821 +condType:OPEN_STATE_COND_PLAYER_LEVEL|param:28|NEOENBFLOGE:0,condType:OPEN_STATE_COND_QUEST|param:102510|NEOENBFLOGE:0 0 false false 5014 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 4822 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 4823 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 5015 +condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0,condType:OPEN_STATE_COND_NONE|param:0|NEOENBFLOGE:0 0 false true 4811 diff --git a/data/txt/SceneData.txt b/data/txt/SceneData.txt new file mode 100644 index 0000000..141b0e2 --- /dev/null +++ b/data/txt/SceneData.txt @@ -0,0 +1,1412 @@ +id type ignoreNavMesh scriptData overrideDefaultProfile levelEntityConfig specifiedAvatarList comment boundaryPointVec dungeonEntryPoint maxSpecifiedAvatarNum worldSceneId mpType sceneFixTime useToTheMoon navmeshMode safePoint isAllowMapMarkPoint isDeleteMapMarkPoint entityAppearSorted subtype imageSceneId overrideVisionLevelType +1001 SCENE_DUNGEON NotUse ClimbTest1 测试 +1002 SCENE_WORLD NotUse ClimbTest2 测试 +1003 SCENE_WORLD NotUse TheBigWorld 测试 +1006 SCENE_DUNGEON Level_PFDungeon01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_PFDungeon01 正式 +1011 SCENE_DUNGEON NotUse Level_Gameplay_Test 测试 +1015 SCENE_DUNGEON WindZone Data/Environment/EnviroSystemProfile/Dungeon/ESP_WindZone01 Level_Sneak 10000005,10000007 正式 1 +1016 SCENE_DUNGEON Level_AmborAbyss01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_AmborAbyss01 正式 +1017 SCENE_DUNGEON Level_FCdungeon_Kettle01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_FCdungeon_Kettle01 正式 +1019 SCENE_DUNGEON NotUse Level_Wisdom03 Level_Dungeon 测试 +1024 SCENE_DUNGEON Level_WeekDungeon01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_WeekDungeon01 正式 +1030 SCENE_WORLD NotUse TestIntercept_LiYue Level_Sneak 测试 1 +1031 SCENE_DUNGEON Level_Tower_Morning_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Morning_01 正式 +1032 SCENE_DUNGEON Level_FCdungeon_Cloud02 Data/Environment/EnviroSystemProfile/Dungeon/ESP_FCdungeon_Cloud03 LevelEntity_Quest_XiaoDungeon 正式 +1050 SCENE_DUNGEON NotUse Level_WaterMonster_Test 测试 +1051 SCENE_DUNGEON Level_QunYuGe_CLX Data/Environment/EnviroSystemProfile/Dungeon/ESP_Qunyuge01 正式 +1052 SCENE_DUNGEON Level_FCdungeon_FatOtaku Data/Environment/EnviroSystemProfile/Dungeon/ESP_FCdungeon_FatOtaku 正式 +1053 SCENE_DUNGEON Level_FCdungeon_Kettle01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_FCdungeon_Kettle01 正式 +1054 SCENE_DUNGEON Level_FCdungeon_Kettle01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_FCdungeon_Kettle01 正式 +1055 SCENE_DUNGEON Level_YoungMaster Data/Environment/EnviroSystemProfile/Dungeon/ESP_FCdungeon_YoungMaster01 正式 +1056 SCENE_DUNGEON Level_ZhongLi_WG Data/Environment/EnviroSystemProfile/Dungeon/ESP_FCdungeon_Zhongli01 正式 +1058 SCENE_DUNGEON Level_FCdungeon_FatOtaku Data/Environment/EnviroSystemProfile/Dungeon/ESP_FCdungeon_FatOtaku 正式 +1059 SCENE_DUNGEON Level_FCdungeon_Hutao Data/Environment/EnviroSystemProfile/Dungeon/ESP_FCdungeon_Hutao_01 正式 +1062 SCENE_DUNGEON Level_FCdungeon_LeiDianYing 正式 +1064 SCENE_ROOM NotUse IndoorScene_Dq_TenryuBugyo 正式 3 +1065 SCENE_DUNGEON Level_TenryuBugyo01 正式 +1066 SCENE_ROOM NotUse IndoorScene_Dq_Uyutei 正式 3 +1068 SCENE_ROOM IndoorScene_Md_AngelShare_Bartender01 Level_Bartender_Room 10000005,10000007 正式 1 SCENE_MP_SINGLE_PLAYER_SINGLE_MODE +1070 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +1071 SCENE_DUNGEON Level_FCdungeon_Shougun01_Kazuha 正式 +1076 SCENE_ROOM IndoorScene_Md_CattailTavern 正式 3 +1004 SCENE_ROOM NotUse Knight_Inside_Test 正式 3 +1005 SCENE_ROOM ChurchSteal Level_Sneak 10000005,10000007 正式 1 +1008 SCENE_ROOM ChurchLobby 正式 3 +1009 SCENE_ROOM AngelShare 正式 3 +1013 SCENE_ROOM NotUse SneakAdvancedTest Level_Sneak 10000005,10000007 测试 1 +1018 SCENE_ROOM Chateau 正式 3 +1023 SCENE_ROOM Level_Yurenzhong 正式 +1033 SCENE_ROOM Indoor_Ly_Bank 正式 3 +1034 SCENE_ROOM Indoor_Ly_Liuliting 正式 3 +1035 SCENE_ROOM Indoor_Ly_Xinyuexuan 正式 3 +1057 SCENE_ROOM NotUse Indoor_Ly_Qunyuge 正式 3 +1060 SCENE_ROOM NotUse IndoorScene_Dq_Teahouse 正式 3 +1061 SCENE_ROOM NotUse IndoorScene_Dq_Syabugyo 正式 3 +1063 SCENE_ROOM NotUse IndoorScene_Dq_Donjon 正式 3 +1069 SCENE_ROOM IndoorScene_Ly_CyRoom 正式 +1072 SCENE_ROOM NotUse IndoorScene_Xm_Barbecue 正式 3 +1073 SCENE_ROOM NotUse IndoorScene_Xm_Biglibrary 正式 3 +1074 SCENE_ROOM NotUse IndoorScene_Xm_Coffeehouse 正式 3 +1075 SCENE_ROOM NotUse IndoorScene_Xm_Csd 正式 3 +1077 SCENE_ROOM NotUse IndoorScene_Xm_Chunzhangjia 正式 3 +1078 SCENE_ROOM NotUse IndoorScene_Xm_Zls 正式 3 +1079 SCENE_ROOM NotUse IndoorScene_Xm_Alhouse 正式 3 +1082 SCENE_ROOM NotUse IndoorScene_Ly_Baizhu 正式 3 +1080 SCENE_ROOM NotUse IndoorScene_Fd_ShuiXian 正式 3 +1081 SCENE_ROOM NotUse IndoorScene_Cyg_Qyz 正式 3 +1083 SCENE_ROOM NotUse IndoorScene_Fd_Yht 正式 3 +1084 SCENE_ROOM NotUse IndoorScene_Fd_Hotel 正式 3 +1085 SCENE_ROOM NotUse IndoorScene_Fd_Gjy 正式 3 +1086 SCENE_ROOM NotUse IndoorScene_Fd_Dyz 正式 3 +1087 SCENE_ROOM NotUse IndoorScene_Fd_Fln 正式 3 +1088 SCENE_ROOM NotUse IndoorScene_Fd_Ck 正式 3 +1089 SCENE_ROOM NotUse IndoorScene_Fd_Qz 正式 3 +1090 SCENE_ROOM NotUse IndoorScene_Md_CatCafe 正式 3 +1091 SCENE_ROOM NotUse IndoorScene_XM_SilenceTemple 正式 3 +1092 SCENE_ROOM NotUse IndoorScene_Fd_Xgw 正式 3 +1093 SCENE_ROOM NotUse IndoorScene_Md_TRPGGame 正式 3 11 +1094 SCENE_ROOM NotUse IndoorScene_Fd_KlldCk 正式 3 22 +2001 SCENE_HOME_WORLD Client Homeworld_Exterior_Above 正式 +2002 SCENE_HOME_WORLD Client Homeworld_Exterior_Karst 正式 +2003 SCENE_HOME_WORLD Client Homeworld_Exterior_Uncharted 正式 +2004 SCENE_HOME_WORLD Client Homeworld_Exterior_Ukiyo 正式 +2005 SCENE_HOME_WORLD Client Homeworld_Exterior_Sumeru 正式 +2006 SCENE_HOME_WORLD NotUse Homeworld_Exterior_Theater Level_HomeWorld_Theater 正式 +2201 SCENE_HOME_ROOM Client Homeworld_Interior_Md_Apartment_01 正式 +2202 SCENE_HOME_ROOM Client Homeworld_Interior_Ly_Apartment_01 正式 +2203 SCENE_HOME_ROOM Client Homeworld_Interior_Dq_Apartment_01 正式 +2204 SCENE_HOME_ROOM Client Homeworld_Interior_Xm_Apt_01 正式 +2205 SCENE_HOME_ROOM Client Homeworld_Interior_Fd_Apt_01 正式 +1 SCENE_WORLD NotUse BigWorld_LevelStreaming Level_BigWorld 测试 +2 SCENE_WORLD NotUse BigWorld_LevelStreaming Level_BigWorld 测试 +3 SCENE_WORLD BigWorld_LevelStreaming Data/Environment/EnviroSystemProfile/BigWorld/ESP_Md_General Level_BigWorld 正式 -8523.2,8736,7819.2,-7680 true NAVMESH_MODE_BOX 15 true +4 SCENE_WORLD LostParadise_LevelStreaming Data/Environment/EnviroSystemProfile/BigWorld/ESP_LP_General Level_BigWorld 正式 1 true true +5 SCENE_WORLD AbyssalPalace_LevelStreaming Data/Environment/EnviroSystemProfile/BigWorld/ESP_LP_General Level_BigWorld 正式 -2131.2,2755.2,3155.2,-1731.2 1 true +6 SCENE_WORLD TheChasm_LevelStreaming Data/Environment/EnviroSystemProfile/BigWorld/ESP_LP_General Level_BigWorld 正式 -2131.2,2755.2,3155.2,-1731.2 0.75 1 true +7 SCENE_WORLD MichiaeMatsuri_LevelStreaming Data/Environment/EnviroSystemProfile/BigWorld/ESP_LP_General Level_BigWorld 正式 2 true true +9 SCENE_WORLD DreamIsland_LevelStreaming Data/Environment/EnviroSystemProfile/BigWorld/ESP_LP_General Level_BigWorld 正式 NAVMESH_MODE_POLYGON 33 true true +10 SCENE_WORLD Penumbra_LevelStreaming Data/Environment/EnviroSystemProfile/BigWorld/ESP_LP_General Level_BigWorld_Scene10 正式 -2131.2,2755.2,3155.2,-1731.2 2 true true +11 SCENE_WORLD DeepSea_LevelStreaming Data/Environment/EnviroSystemProfile/BigWorld/ESP_LP_General Level_BigWorld 正式 -2131.2,2755.2,3155.2,-1731.2 true 1 true +20000 SCENE_DUNGEON NotUse Level_Gameplay_Test 测试 +20005 SCENE_DUNGEON PlotLevel_XiangLingLevel_Xyd Data/Environment/EnviroSystemProfile/Dungeon/ESP_XianglingPlotLevel01 正式 +20006 SCENE_DUNGEON NotUse Level_UCDungeon01 测试 +20007 SCENE_DUNGEON NotUse PlotLevel_BarbaraMission02_Xyd 测试 +20008 SCENE_DUNGEON Level_KaeyaTutorialMission01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_KaeyaTutorialMission01 正式 +20009 SCENE_DUNGEON Level_AmborTutorialMission01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_AmborTutorialMission01 正式 +20010 SCENE_DUNGEON Level_LisaTutorialMission04 Data/Environment/EnviroSystemProfile/Dungeon/ESP_LisaTutorialMission 正式 +20011 SCENE_DUNGEON Level_LisaTutorialMission03 Data/Environment/EnviroSystemProfile/Dungeon/ESP_LisaTutorialMission 正式 +20012 SCENE_DUNGEON NotUse Level_UCDungeon01 测试 +20013 SCENE_DUNGEON NotUse Level_KaeyaTutorialMission02 测试 +20014 SCENE_DUNGEON NotUse Level_UCDungeon01 测试 +20015 SCENE_DUNGEON NotUse Level_LisaTutorialMission03 测试 +20016 SCENE_DUNGEON Level_KaeyaTutorialMission02 Data/Environment/EnviroSystemProfile/Dungeon/ESP_KaeyaTutorialMission02 正式 +20017 SCENE_DUNGEON DvalinTest_S01 Data/Environment/EnviroSystemProfile/Monster/ESP_Monster_Dvalin_S01 Level_Dvalin_S01 10000005,10000007 正式 1 1 +20018 SCENE_DUNGEON DvalinTest_S04 Data/Environment/EnviroSystemProfile/Monster/ESP_Monster_Dvalin_S04 Level_Dvalin_S04 正式 1 +20019 SCENE_DUNGEON Level_LisaTutorialMission04 Data/Environment/EnviroSystemProfile/Dungeon/ESP_LisaTutorialMission 正式 +20020 SCENE_DUNGEON DvalinTest_S00 Data/Environment/EnviroSystemProfile/Monster/ESP_Monster_Dvalin_S00 Level_Dvalin_S00 10000005,10000007 正式 1 1 +20022 SCENE_DUNGEON Level_UCDungeon01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_BarbaraMission01 正式 +20023 SCENE_DUNGEON Level_Plot Data/Environment/EnviroSystemProfile/Dungeon/ESP_Plot 正式 +20024 SCENE_DUNGEON Level_UCDungeon01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_BarbaraMission01 正式 +20025 SCENE_DUNGEON DvalinTest_S04 Data/Environment/EnviroSystemProfile/Monster/ESP_Monster_Dvalin_S04 Level_Dvalin_S04_Recycle 正式 1 +20026 SCENE_DUNGEON Level_WeekDungeon01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_WeekDungeon01 正式 +20027 SCENE_DUNGEON Level_WeekDungeon01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_WeekDungeon01 正式 +20028 SCENE_DUNGEON Level_WeekDungeon01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_WeekDungeon01 正式 +20031 SCENE_DUNGEON Level_UCDungeon01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_BarbaraMission01 正式 +20032 SCENE_DUNGEON Level_WindyTutorial_YQT Data/Environment/EnviroSystemProfile/Dungeon/ESP_LisaTutorialMission 正式 +20034 SCENE_DUNGEON IndoorScene_Ly_Goldenhouse Data/Environment/EnviroSystemProfile/Dungeon/ESP_AureaBattle01 Level_Tartaglia 正式 +20035 SCENE_DUNGEON Level_KaeyaTutorialMission02 正式 +20036 SCENE_DUNGEON Level_KaeyaTutorialMission02 正式 +20037 SCENE_DUNGEON Level_FCdungeon_Eula Data/Environment/EnviroSystemProfile/Dungeon/ESP_FCdungeon_Eula 正式 +20101 SCENE_DUNGEON IndoorScene_Ly_Goldenhouse Data/Environment/EnviroSystemProfile/Dungeon/ESP_AureaBattle01 Level_Tartaglia 正式 +20102 SCENE_DUNGEON Level_FCdungeon_Qiqi Data/Environment/EnviroSystemProfile/Dungeon/ESP_FCdungeon_Qiqi 正式 +20103 SCENE_DUNGEON Level_AmborTutorialMission01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_AmborTutorialMission01 正式 +20104 SCENE_DUNGEON Level_FCdungeon_GoddessLY Data/Environment/EnviroSystemProfile/Dungeon/ESP_FCdungeon_GoddessLY01 正式 +20105 SCENE_DUNGEON Level_FCdungeon_GoddessLY Data/Environment/EnviroSystemProfile/Dungeon/ESP_FCdungeon_GoddessLY01 正式 +20106 SCENE_DUNGEON Level_DahakaBoss01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_DahakaBoss01 Level_Dahaka_CameraSetting 正式 +20107 SCENE_DUNGEON Level_DahakaBoss01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_DahakaBoss01 Level_Dahaka_CameraSetting 正式 +20108 SCENE_DUNGEON Level_DahakaBoss01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_DahakaBoss01 Level_Dahaka_CameraSetting 正式 +20109 SCENE_DUNGEON Level_DahakaBoss01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_DahakaBoss01 Level_Dahaka_CameraSetting 正式 +20110 SCENE_DUNGEON Level_DahakaBoss01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_DahakaBoss01 Level_Dahaka_CameraSetting 正式 +20111 SCENE_DUNGEON Level_HFDungeon_Prison01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_HFdungeon_Prison01 正式 +20112 SCENE_DUNGEON Level_Dq_Void01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Dq_Void01 Level_Monster_Shougun_Setting 正式 +20113 SCENE_DUNGEON Level_FCdungeon_Delusion01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_FCDungeon_Delusion01 正式 +20114 SCENE_DUNGEON Level_DonjonBattle01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_DonjonBattle 正式 +20115 SCENE_DUNGEON Level_DonjonBattle01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_DonjonBattle 正式 +20116 SCENE_DUNGEON Level_Dq_Void01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Dq_Void01 正式 +20117 SCENE_DUNGEON Level_Dq_Void02 Level_Monster_Shougun_Tachi_Revive 正式 +20118 SCENE_DUNGEON Level_HFDungeon02 Data/Environment/EnviroSystemProfile/Dungeon/ESP_HFDungeon02 正式 +20119 SCENE_DUNGEON Level_HFDungeon_Yidou01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_HFDungeon_Yidou01 正式 +20120 SCENE_DUNGEON Level_Eldritch_Minor01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Eldritch_Minor01 正式 +20121 SCENE_DUNGEON QuestLevel_FCdungeon_ShenheCloud01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_FCdungeon_Kettle01 正式 +20122 SCENE_DUNGEON Level_WeekDungeon_Baal Data/Environment/EnviroSystemProfile/Dungeon/ESP_WeekDungeon_Baal Level_Monster_Shougun_Mitakenarukami_AvatarRevive 正式 +20123 SCENE_DUNGEON Level_FCdungeon_Miko Data/Environment/EnviroSystemProfile/Dungeon/ESP_FCDungeon_Miko 正式 +20124 SCENE_DUNGEON Level_Eldritch_Minor01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Eldritch_Minor01 正式 +20125 SCENE_DUNGEON Level_WeekDungeon_Baal Data/Environment/EnviroSystemProfile/Dungeon/ESP_WeekDungeon_Baal 正式 +20126 SCENE_DUNGEON Level_QuestRongcai_Dungeon01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_HFdungeon_Prison01 正式 +20127 SCENE_DUNGEON Level_CYDungeon_Activy01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_CYDungeon_Activy01 正式 +20128 SCENE_DUNGEON Level_CYDungeon_Activy02 Data/Environment/EnviroSystemProfile/Dungeon/ESP_CYDungeon_Activy02 LevelEntity_Activity_V2_7_CYRogue_20128 正式 +20129 SCENE_DUNGEON Level_CYDungeon_Activy03 Data/Environment/EnviroSystemProfile/Dungeon/ESP_HFdungeon_Prison01 正式 +20130 SCENE_ROOM IndoorScene_Ly_CyRoom 正式 6 +20131 SCENE_DUNGEON Level_FCdungeon_Yelan Data/Environment/EnviroSystemProfile/Dungeon/ESP_FCdungeon_Yelan 正式 +20132 SCENE_DUNGEON Level_SmrDungeon_BigTree Level_Dungeon 正式 +20133 SCENE_DUNGEON Level_DreamIsland_Xinyan01 正式 9,27 SCENE_SUB_TYPE_PERSISTENT_DUNGEON +20134 SCENE_DUNGEON Level_DreamIsland_Mona01 Level_DreamDungeon_Mona 正式 9,29 SCENE_SUB_TYPE_PERSISTENT_DUNGEON +20135 SCENE_DUNGEON Level_DreamIsland_Kazuha02 正式 9,11 SCENE_SUB_TYPE_PERSISTENT_DUNGEON +20136 SCENE_DUNGEON Level_DreamIsland_Mona02 Level_DreamDungeon_Mona 正式 SCENE_SUB_TYPE_PERSISTENT_DUNGEON +20137 SCENE_DUNGEON Level_DreamIsland_Fischl01 正式 9,15 SCENE_SUB_TYPE_PERSISTENT_DUNGEON +20138 SCENE_DUNGEON Level_DreamIsland_Fischl02 正式 9,17 SCENE_SUB_TYPE_PERSISTENT_DUNGEON +20139 SCENE_DUNGEON Level_DreamIsland_Fischl03 正式 9,19 SCENE_SUB_TYPE_PERSISTENT_DUNGEON +20140 SCENE_DUNGEON Level_DreamIsland_Kazuha03 正式 9,13 SCENE_SUB_TYPE_PERSISTENT_DUNGEON +20141 SCENE_DUNGEON Level_DreamIsland_Fischllibrary 正式 SCENE_SUB_TYPE_PERSISTENT_DUNGEON +20142 SCENE_DUNGEON Level_DreamIsland_Kazuha01 正式 9,9 SCENE_SUB_TYPE_PERSISTENT_DUNGEON +20143 SCENE_DUNGEON Level_DreamIsland_Fischlroom 正式 SCENE_SUB_TYPE_PERSISTENT_DUNGEON +20144 SCENE_DUNGEON Level_DreamIsland_Fischlcorridor 正式 SCENE_SUB_TYPE_PERSISTENT_DUNGEON +20145 SCENE_DUNGEON Level_XMDungeon_WQ01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_XMdungeon_WQ01 Level_Dungeon 正式 +20146 SCENE_DUNGEON Level_XMDungeon_WQ04 Data/Environment/EnviroSystemProfile/Dungeon/ESP_XMdungeon_WQ01_02 Level_Dungeon 正式 +20147 SCENE_DUNGEON Level_XMDungeon_WQ03 Data/Environment/EnviroSystemProfile/Dungeon/ESP_XMdungeon_WQ01_03 Level_Dungeon 正式 +20148 SCENE_DUNGEON Level_XMDungeon_WQ02 Data/Environment/EnviroSystemProfile/Dungeon/ESP_XMdungeon_WQ02 正式 +20149 SCENE_DUNGEON Level_SmrDungeon_Tinali Level_Dungeon 正式 +20150 SCENE_DUNGEON Level_VoidWorldTree 正式 +20151 SCENE_DUNGEON Level_FC_DeshretTemple 正式 +20152 SCENE_DUNGEON NotUse Level_ScaramoucheBoss Data/Environment/EnviroSystemProfile/Dungeon/ESP_Xm_ScaramoucheBoss01 Level_Monster_Nada_Setting 测试 +20153 SCENE_DUNGEON Level_ScaramoucheBoss Data/Environment/EnviroSystemProfile/Dungeon/ESP_Xm_ScaramoucheBoss01 Level_Monster_Nada_Setting 正式 +20154 SCENE_DUNGEON Level_ScaramoucheBoss Data/Environment/EnviroSystemProfile/Dungeon/ESP_Xm_ScaramoucheBoss01 Level_Monster_Nada_Setting 正式 +20155 SCENE_DUNGEON Level_ScaramoucheBoss Data/Environment/EnviroSystemProfile/Dungeon/ESP_Xm_ScaramoucheBoss01 Level_Monster_Nada_Setting 正式 +20156 SCENE_DUNGEON Level_ScaramoucheBoss Data/Environment/EnviroSystemProfile/Dungeon/ESP_Xm_ScaramoucheBoss01 Level_Monster_Nada_Setting 正式 +20157 SCENE_DUNGEON Level_SmrDungeon_Cyno 正式 +20158 SCENE_DUNGEON Level_FCdungeon_BigTree Data/Environment/EnviroSystemProfile/Dungeon/ESP_FCdungeon_BigTree_01 Level_Dungeon 正式 +20159 SCENE_DUNGEON Level_XMDungeon_WQ01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_XMdungeon_WQ01 Level_Dungeon 正式 +20160 SCENE_DUNGEON Level_FC_DeshretTemple Level_Dungeon 正式 +20161 SCENE_DUNGEON Level_FC_DeshretTemple Level_Dungeon 正式 +20162 SCENE_DUNGEON IndoorScene_Xm_Biglibrary 正式 1073 +20163 SCENE_DUNGEON Level_ScaramoucheFactory Level_Dungeon 正式 +20164 SCENE_DUNGEON Level_VoidWorldTree 正式 +20165 SCENE_DUNGEON Level_NahidaDungeon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_NahidaDungeon_01 Level_Dungeon 正式 +20166 SCENE_DUNGEON Level_VoidWorldTree_02 LevelEntity_Activity_ClearFollowPet 正式 +20167 SCENE_DUNGEON Level_Consciousness LevelEntity_Activity_ClearFollowPet 正式 +20168 SCENE_DUNGEON Level_ScaramoucheBoss Data/Environment/EnviroSystemProfile/Dungeon/ESP_Xm_ScaramoucheBoss01 Level_Monster_Nada_Setting 正式 +20169 SCENE_DUNGEON Level_ScaramoucheRecall 正式 +20170 SCENE_DUNGEON Level_ScaramoucheFactory 正式 +20171 SCENE_DUNGEON Level_ScaramoucheBoss LevelEntity_ScaramoucheBoss 正式 +20172 SCENE_DUNGEON Level_Consciousness 正式 +20173 SCENE_DUNGEON Level_Xm_Alhaitham_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Xm_Alhaitham_01 Level_AlHaitham_Dungeon_Setting 正式 +20174 SCENE_DUNGEON Level_Wisdom01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Wisdom01 Level_SpaceIntelligence_Dungeon 正式 +20175 SCENE_DUNGEON Level_Wisdom02 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Wisdom02 Level_SpaceIntelligence_Dungeon 正式 +20176 SCENE_DUNGEON Level_Wisdom03 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Wisdom03 Level_SpaceIntelligence_Dungeon 正式 +20177 SCENE_DUNGEON Level_SmrDungeon_Dehya Level_Dungeon 正式 +20178 SCENE_DUNGEON Level_HangMystification 正式 +20179 SCENE_DUNGEON Level_WeekDungeon_Apep Data/Environment/EnviroSystemProfile/Dungeon/ESP_GrassDragonBoss01 正式 +20180 SCENE_DUNGEON BigWorld_LevelStreaming Data/Environment/EnviroSystemProfile/BigWorld/ESP_Xm35_GeneralCopyWorld01 Level_BigWorld 正式 3,776 3 +20181 SCENE_DUNGEON Level_HangMystification 正式 +20182 SCENE_DUNGEON Level_Ly_Baizhu_01 正式 +20183 SCENE_DUNGEON Level_Penumbra_CircusTent Level_V3_8_Scene20183 正式 +20184 SCENE_DUNGEON NotUse Level_PtahurBoss Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 测试 +20185 SCENE_DUNGEON Level_WeekDungeon_Apep Data/Environment/EnviroSystemProfile/Dungeon/ESP_GrassDragonBoss01 正式 +20186 SCENE_DUNGEON Level_Fontaine_Gear 正式 +20187 SCENE_DUNGEON Level_Dungeon_Fd_LinNi 正式 +20188 SCENE_DUNGEON BigWorld_LevelStreaming Data/Environment/EnviroSystemProfile/BigWorld/ESP_Xm35_GeneralCopyWorld01 Level_BigWorld 正式 3,945 3 +20189 SCENE_DUNGEON Level_BoxMatch LevelEntity_Activity_V4_1_BoxMatch_20189 正式 +20190 SCENE_DUNGEON Level_FCdungeon_Cloud01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_FCdungeon_Cloud01 正式 +20191 SCENE_DUNGEON Level_BoxMatch LevelEntity_Activity_V4_1_BoxMatch_20191 正式 +20192 SCENE_DUNGEON Level_BoxMatch LevelEntity_Activity_V4_1_BoxMatch_20192 正式 +20193 SCENE_DUNGEON Level_BoxMatch LevelEntity_Activity_V4_1_BoxMatch_20193 正式 +20194 SCENE_DUNGEON Level_BoxMatch LevelEntity_Activity_V4_1_BoxMatch_20194 正式 +20195 SCENE_DUNGEON Level_Dungeon_Fd_Laiousili Level_Wriothesley_Dungeon_Setting 正式 +20196 SCENE_DUNGEON Level_Fd_RestrictedArea 正式 +20197 SCENE_DUNGEON Level_FD_Freminet 正式 +20198 SCENE_DUNGEON Level_Devourer_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Fd42_Level_Devourer_Out LevelEntity_Ptahur_Story 正式 VISION_LEVEL_LITTLE_REMOTE +20199 SCENE_DUNGEON Level_Devourer_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Fd42_Level_Devourer_Out 正式 VISION_LEVEL_LITTLE_REMOTE +20200 SCENE_DUNGEON BigWorld_LevelStreaming Data/Environment/EnviroSystemProfile/BigWorld/ESP_Xm35_GeneralCopyWorld01 Level_BigWorld 正式 3,1054 3 +20201 SCENE_DUNGEON IndoorScene_Fd_Gjy 正式 20200,2 1085 +20202 SCENE_DUNGEON Level_Fd_TearLand_01 正式 +20203 SCENE_DUNGEON Level_Fd_SlateRuin01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Du42_SlateRuin01_Before 正式 +20204 SCENE_DUNGEON Level_Fd_SlateRuin01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Du42_SlateRuin01_After 正式 +20205 SCENE_DUNGEON Level_FD_Shuixian Data/Environment/EnviroSystemProfile/Indoor/ESP_Fd_ShuiXian 正式 +20206 SCENE_DUNGEON Level_QuestDevourer_01 Data/Environment/EnviroSystemProfile/BigWorld/ESP_Fd42_TH_Boss_Up 正式 +20207 SCENE_DUNGEON Level_LY44Dungeon_WQ Data/Environment/EnviroSystemProfile/Dungeon/ESP_Du44_BossWQ Level_V4_4_Hermit_Dungeon 正式 +20208 SCENE_DUNGEON Level_WeekDungeon_Nihil Data/Environment/EnviroSystemProfile/Dungeon/ESP_Du46_NihilBoss01_A Level_Monster_Nihil_StoryLevel 正式 +20209 SCENE_DUNGEON Level_FCdungeon_Liuyun Data/Environment/EnviroSystemProfile/Dungeon/ESP_Du44_Liuyun_WS_Start 正式 +20210 SCENE_DUNGEON DeepSea_LevelStreaming Data/Environment/EnviroSystemProfile/BigWorld/ESP_Fd46_Kpm_GlodenLobby_After Level_BigWorld 正式 3,1138 11 +20211 SCENE_DUNGEON DeepSea_LevelStreaming Data/Environment/EnviroSystemProfile/BigWorld/ESP_Fd46_Kpm_GlodenLobby_After Level_BigWorld 正式 3,1140 11 +20212 SCENE_DUNGEON Level_Fd_Chiori Data/Environment/EnviroSystemProfile/Dungeon/ESP_Fd45_Chiori_Shops 正式 +20213 SCENE_DUNGEON Level_Smr_SilenceTemple 正式 +20214 SCENE_DUNGEON Level_WeekDungeon_Nihil Data/Environment/EnviroSystemProfile/Dungeon/ESP_Du46_NihilBoss01_A Level_Monster_Nihil_WeatherSetting 正式 +20215 SCENE_DUNGEON DeepSea_LevelStreaming Data/Environment/EnviroSystemProfile/BigWorld/ESP_Fd46_Kpm_GlodenLobby_After LevelEntity_TeamAbility_V4.6_WQ_AvatarRevive 正式 11,20 11 +20216 SCENE_DUNGEON DeepSea_LevelStreaming Data/Environment/EnviroSystemProfile/BigWorld/ESP_Fd46_Kpm_GlodenLobby_After Level_BigWorld 正式 11,22 11 +20217 SCENE_DUNGEON BigWorld_LevelStreaming Data/Environment/EnviroSystemProfile/BigWorld/ESP_Xm35_GeneralCopyWorld01 Level_BigWorld 正式 3,1223 14 true 3 +20218 SCENE_DUNGEON Level_Fd_Sigewinne Data/Environment/EnviroSystemProfile/Dungeon/ESP_Du47_Sigewinne_Base 正式 +20219 SCENE_DUNGEON BigWorld_LevelStreaming Data/Environment/EnviroSystemProfile/BigWorld/ESP_Xm35_GeneralCopyWorld01 Level_BigWorld 正式 3,1266 20 true 3 +20222 SCENE_DUNGEON Level_SmrDungeon_Twins1 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Du47_SmrDungeon_Twins1 Level_Dungeon 正式 +20224 SCENE_DUNGEON BigWorld_LevelStreaming Data/Environment/EnviroSystemProfile/BigWorld/ESP_Xm35_GeneralCopyWorld01 Level_BigWorld 正式 3,1288 3 +20225 SCENE_DUNGEON BigWorld_LevelStreaming Data/Environment/EnviroSystemProfile/BigWorld/ESP_Xm35_GeneralCopyWorld01 Level_BigWorld 正式 1093,2 18 true 3 +20226 SCENE_DUNGEON Level_SmrDungeon_Twins2 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Du47_SmrDungeon_Twins2 正式 +30001 SCENE_DUNGEON NotUse LevelTest_CurseMaze 测试 +30100 SCENE_DUNGEON Level_Tower_Morning_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Morning_01 正式 +30101 SCENE_DUNGEON Level_Tower_Morning_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Morning_01 正式 +30102 SCENE_DUNGEON Level_Tower_Morning_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Morning_01 正式 +30103 SCENE_DUNGEON Level_Tower_Morning_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Morning_01 正式 +30104 SCENE_DUNGEON Level_Tower_Morning_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Morning_01 正式 +30200 SCENE_DUNGEON Level_Tower_01_Water Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_General 正式 +30201 SCENE_DUNGEON Level_Tower_Morning_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Morning_01 正式 +30202 SCENE_DUNGEON Level_Tower_01_Water Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_General 正式 +30203 SCENE_DUNGEON Level_Tower_Morning_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Morning_01 正式 +30204 SCENE_DUNGEON Level_Tower_Morning_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Morning_01 正式 +30300 SCENE_DUNGEON Level_Tower_Morning_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Morning_01 正式 +30301 SCENE_DUNGEON Level_Tower_Morning_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Morning_01 正式 +30302 SCENE_DUNGEON Level_Tower_01_Water Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_General 正式 +30303 SCENE_DUNGEON Level_Tower_01_Water Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_General 正式 +30304 SCENE_DUNGEON Level_Tower_Morning_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Morning_01 正式 +30400 SCENE_DUNGEON Level_Tower_Dusk_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Dusk_01 正式 +30401 SCENE_DUNGEON Level_Tower_Dusk_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Dusk_01 正式 +30402 SCENE_DUNGEON Level_Tower_Dusk_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Dusk_01 正式 +30403 SCENE_DUNGEON Level_Tower_Dusk_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Dusk_01 正式 +30404 SCENE_DUNGEON Level_Tower_Dusk_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Dusk_01 正式 +30500 SCENE_DUNGEON Level_Tower_Dusk_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Dusk_01 正式 +30501 SCENE_DUNGEON Level_Tower_Dusk_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Dusk_01 正式 +30502 SCENE_DUNGEON Level_Tower_Dusk_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Dusk_01 正式 +30503 SCENE_DUNGEON Level_Tower_Dusk_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Dusk_01 正式 +30504 SCENE_DUNGEON Level_Tower_Dusk_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Dusk_01 正式 +30600 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +30601 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +30602 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +30603 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +30604 SCENE_DUNGEON Level_Tower_Night_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +30700 SCENE_DUNGEON Level_Tower_Dusk_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Dusk_01 正式 +30701 SCENE_DUNGEON Level_Tower_01_Water Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_General 正式 +30702 SCENE_DUNGEON Level_Tower_Dusk_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Dusk_01 正式 +30703 SCENE_DUNGEON Level_Tower_Dusk_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Dusk_01 正式 +30704 SCENE_DUNGEON Level_Tower_Dusk_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Dusk_01 正式 +30800 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 正式 +30801 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 正式 +30802 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 正式 +30803 SCENE_DUNGEON Level_Tower_01_Water Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_General 正式 +30804 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 正式 +30900 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +30901 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +30902 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +30903 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +30904 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +31000 SCENE_DUNGEON Level_Tower_Night_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +31001 SCENE_DUNGEON Level_Tower_Night_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +31002 SCENE_DUNGEON Level_Tower_Night_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +31003 SCENE_DUNGEON Level_Tower_Night_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +31004 SCENE_DUNGEON Level_Tower_Night_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +31100 SCENE_DUNGEON Level_Tower_Night_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +31101 SCENE_DUNGEON Level_Tower_Night_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +31102 SCENE_DUNGEON Level_Tower_Night_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +31103 SCENE_DUNGEON Level_Tower_Night_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +31104 SCENE_DUNGEON Level_Tower_Night_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +31200 SCENE_DUNGEON Level_Tower_Night_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +31201 SCENE_DUNGEON Level_Tower_Night_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +31202 SCENE_DUNGEON Level_Tower_Night_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +31203 SCENE_DUNGEON Level_Tower_Night_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +31204 SCENE_DUNGEON Level_Tower_Night_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +31300 SCENE_DUNGEON Level_Tower_Element_Fire_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Element_Fire_01 正式 +31301 SCENE_DUNGEON Level_Tower_Element_Fire_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Element_Fire_01 正式 +31302 SCENE_DUNGEON Level_Tower_Element_Fire_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Element_Fire_01 正式 +31303 SCENE_DUNGEON Level_Tower_Element_Fire_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Element_Fire_01 正式 +31304 SCENE_DUNGEON Level_Tower_Element_Fire_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Element_Fire_01 正式 +31400 SCENE_DUNGEON Level_Tower_Element_Thunder_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Element_Thunder_01 正式 +31401 SCENE_DUNGEON Level_Tower_Element_Thunder_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Element_Thunder_01 正式 +31402 SCENE_DUNGEON Level_Tower_Element_Thunder_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Element_Thunder_01 正式 +31403 SCENE_DUNGEON Level_Tower_Element_Thunder_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Element_Thunder_01 正式 +31404 SCENE_DUNGEON Level_Tower_Element_Thunder_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Element_Thunder_01 正式 +31500 SCENE_DUNGEON Level_Tower_Element_Ice_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Element_Ice_01 正式 +31501 SCENE_DUNGEON Level_Tower_Element_Ice_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Element_Ice_01 正式 +31502 SCENE_DUNGEON Level_Tower_Element_Ice_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Element_Ice_01 正式 +31503 SCENE_DUNGEON Level_Tower_Element_Ice_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Element_Ice_01 正式 +31504 SCENE_DUNGEON Level_Tower_Element_Ice_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Element_Ice_01 正式 +31600 SCENE_DUNGEON Level_Tower_Element_Water_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Element_Water_01 正式 +31601 SCENE_DUNGEON Level_Tower_Element_Water_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Element_Water_01 正式 +31602 SCENE_DUNGEON Level_Tower_Element_Water_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Element_Water_01 正式 +31603 SCENE_DUNGEON Level_Tower_Element_Water_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Element_Water_01 正式 +31604 SCENE_DUNGEON Level_Tower_Element_Water_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Element_Water_01 正式 +31700 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +31701 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +31702 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +31703 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +31704 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +31800 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 正式 +31801 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 正式 +31802 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 正式 +31803 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 正式 +31804 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 正式 +31900 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 正式 +31901 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 正式 +31902 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 正式 +31903 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 正式 +31904 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 正式 +32000 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 正式 +32001 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 正式 +32002 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 正式 +32003 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 正式 +32004 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 正式 +32100 SCENE_DUNGEON Level_Tower_Morning_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Morning_01 正式 +32101 SCENE_DUNGEON Level_Tower_Morning_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Morning_01 正式 +32102 SCENE_DUNGEON Level_Tower_Morning_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Morning_01 正式 +32103 SCENE_DUNGEON Level_Tower_Morning_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Morning_01 正式 +32104 SCENE_DUNGEON Level_Tower_Morning_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Morning_01 正式 +32200 SCENE_DUNGEON Level_Tower_Morning_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Morning_01 正式 +32201 SCENE_DUNGEON Level_Tower_Morning_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Morning_01 正式 +32202 SCENE_DUNGEON Level_Tower_Morning_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Morning_01 正式 +32203 SCENE_DUNGEON Level_Tower_Morning_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Morning_01 正式 +32204 SCENE_DUNGEON Level_Tower_Morning_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Morning_01 正式 +33100 SCENE_DUNGEON Level_Tower_Morning_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Morning_01 正式 +33101 SCENE_DUNGEON Level_Tower_Morning_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Morning_01 正式 +33102 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +33103 SCENE_DUNGEON Level_Tower_Morning_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Morning_01 正式 +34100 SCENE_DUNGEON Level_Tower_Morning_01 正式 +34101 SCENE_DUNGEON Level_Tower_01_Water Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_General 正式 +34102 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +34103 SCENE_DUNGEON Level_Tower_Morning_01 正式 +35100 SCENE_DUNGEON Level_Tower_Morning_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Morning_01 正式 +35101 SCENE_DUNGEON Level_Tower_Morning_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Morning_01 正式 +35102 SCENE_DUNGEON Level_Tower_Morning_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Morning_01 正式 +35103 SCENE_DUNGEON Level_Tower_Morning_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Morning_01 正式 +33401 SCENE_DUNGEON Level_Tower_Dusk_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Dusk_01 LevelEntity_ClearLocalGadgets 正式 +33402 SCENE_DUNGEON Level_Tower_Night_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 LevelEntity_ClearLocalGadgets 正式 +33403 SCENE_DUNGEON Level_Tower_Night_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 LevelEntity_ClearLocalGadgets 正式 +33404 SCENE_DUNGEON Level_Tower_Night_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 LevelEntity_ClearLocalGadgets 正式 +34401 SCENE_DUNGEON Level_Tower_Dusk_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Dusk_01 LevelEntity_ClearLocalGadgets 正式 +34402 SCENE_DUNGEON Level_Tower_Night_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 LevelEntity_ClearLocalGadgets 正式 +34403 SCENE_DUNGEON Level_Tower_Night_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 LevelEntity_ClearLocalGadgets 正式 +34404 SCENE_DUNGEON Level_Tower_Night_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 LevelEntity_ClearLocalGadgets 正式 +35401 SCENE_DUNGEON Level_Tower_Dusk_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Dusk_01 LevelEntity_ClearLocalGadgets 正式 +35402 SCENE_DUNGEON Level_Tower_Night_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 LevelEntity_ClearLocalGadgets 正式 +35403 SCENE_DUNGEON Level_Tower_Dusk_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Dusk_01 LevelEntity_ClearLocalGadgets 正式 +35404 SCENE_DUNGEON Level_Tower_Night_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 LevelEntity_ClearLocalGadgets 正式 +33700 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +33701 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +33702 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 正式 +33703 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 正式 +33704 SCENE_DUNGEON Level_Tower_Element_Ice_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Element_Ice_01 正式 +33705 SCENE_DUNGEON Level_Tower_Element_Fire_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Element_Fire_01 正式 +33706 SCENE_DUNGEON Level_Tower_Element_Ice_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Element_Ice_01 正式 +33707 SCENE_DUNGEON Level_Tower_Element_Ice_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Element_Ice_01 正式 +33708 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 正式 +33709 SCENE_DUNGEON Level_Tower_Element_Thunder_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Element_Thunder_01 正式 +33710 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 正式 +33711 SCENE_DUNGEON Level_Tower_Element_Water_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Element_Water_01 正式 +33712 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 正式 +33713 SCENE_DUNGEON Level_Tower_Element_Ice_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Element_Ice_01 正式 +33714 SCENE_DUNGEON Level_Tower_Element_Ice_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Element_Ice_01 正式 +33715 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +33716 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 正式 +33717 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +33718 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +33719 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +33720 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 正式 +33721 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +33722 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 正式 +33723 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +33724 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 正式 +33725 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +33726 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 正式 +33727 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +33728 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 正式 +33729 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +33730 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 正式 +33731 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +33732 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 正式 +33733 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +33734 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 正式 +33735 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +33736 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 正式 +33737 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 LevelEntity_ClearLocalGadgets 正式 +33738 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 LevelEntity_ClearLocalGadgets 正式 +33739 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 LevelEntity_ClearLocalGadgets 正式 +33740 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 LevelEntity_ClearLocalGadgets 正式 +33741 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 LevelEntity_ClearLocalGadgets 正式 +33742 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 LevelEntity_ClearLocalGadgets 正式 +33743 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 LevelEntity_ClearLocalGadgets 正式 +33744 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 LevelEntity_ClearLocalGadgets 正式 +33745 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 LevelEntity_ClearLocalGadgets 正式 +33746 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 LevelEntity_ClearLocalGadgets 正式 +33747 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 LevelEntity_ClearLocalGadgets 正式 +33748 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 LevelEntity_ClearLocalGadgets 正式 +33749 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 LevelEntity_ClearLocalGadgets 正式 +33750 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 LevelEntity_ClearLocalGadgets 正式 +33751 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 LevelEntity_ClearLocalGadgets 正式 +33752 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 LevelEntity_ClearLocalGadgets 正式 +33753 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 LevelEntity_ClearLocalGadgets 正式 +33754 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 LevelEntity_ClearLocalGadgets 正式 +33755 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 LevelEntity_ClearLocalGadgets 正式 +33756 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 LevelEntity_ClearLocalGadgets 正式 +33757 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 LevelEntity_ClearLocalGadgets 正式 +33758 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 LevelEntity_ClearLocalGadgets 正式 +33759 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 LevelEntity_ClearLocalGadgets 正式 +33760 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 LevelEntity_ClearLocalGadgets 正式 +33761 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 LevelEntity_ClearLocalGadgets 正式 +33762 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 LevelEntity_ClearLocalGadgets 正式 +33763 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 LevelEntity_ClearLocalGadgets 正式 +33764 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 LevelEntity_ClearLocalGadgets 正式 +33765 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 LevelEntity_ClearLocalGadgets 正式 +33766 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 LevelEntity_ClearLocalGadgets 正式 +33767 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 LevelEntity_ClearLocalGadgets 正式 +33768 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 LevelEntity_ClearLocalGadgets 正式 +33769 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 LevelEntity_ClearLocalGadgets 正式 +33770 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 LevelEntity_ClearLocalGadgets 正式 +33771 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 LevelEntity_ClearLocalGadgets 正式 +33772 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 LevelEntity_ClearLocalGadgets 正式 +33773 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 LevelEntity_ClearLocalGadgets 正式 +33774 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 LevelEntity_ClearLocalGadgets 正式 +34700 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +34701 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +34702 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 正式 +34703 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 正式 +34704 SCENE_DUNGEON Level_Tower_Element_Ice_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Element_Ice_01 正式 +34705 SCENE_DUNGEON Level_Tower_Element_Fire_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Element_Fire_01 正式 +34706 SCENE_DUNGEON Level_Tower_Element_Ice_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Element_Ice_01 正式 +34707 SCENE_DUNGEON Level_Tower_Element_Ice_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Element_Ice_01 正式 +34708 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 正式 +34709 SCENE_DUNGEON Level_Tower_Element_Thunder_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Element_Thunder_01 正式 +34710 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 正式 +34711 SCENE_DUNGEON Level_Tower_Element_Water_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Element_Water_01 正式 +34712 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 正式 +34713 SCENE_DUNGEON Level_Tower_Element_Ice_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Element_Ice_01 正式 +34714 SCENE_DUNGEON Level_Tower_Element_Ice_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Element_Ice_01 正式 +34715 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +34716 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 正式 +34717 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +34718 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +34719 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +34720 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 正式 +34721 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +34722 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 正式 +34723 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +34724 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 正式 +34725 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +34726 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 正式 +34727 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +34728 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 正式 +34729 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +34730 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 正式 +34731 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +34732 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 正式 +34733 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +34734 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 正式 +34735 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +34736 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 正式 +34737 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 LevelEntity_ClearLocalGadgets 正式 +34738 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 LevelEntity_ClearLocalGadgets 正式 +34739 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 LevelEntity_ClearLocalGadgets 正式 +34740 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 LevelEntity_ClearLocalGadgets 正式 +34741 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 LevelEntity_ClearLocalGadgets 正式 +34742 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 LevelEntity_ClearLocalGadgets 正式 +34743 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 LevelEntity_ClearLocalGadgets 正式 +34744 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 LevelEntity_ClearLocalGadgets 正式 +34745 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 LevelEntity_ClearLocalGadgets 正式 +34746 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 LevelEntity_ClearLocalGadgets 正式 +34747 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 LevelEntity_ClearLocalGadgets 正式 +34748 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 LevelEntity_ClearLocalGadgets 正式 +34749 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 LevelEntity_ClearLocalGadgets 正式 +34750 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 LevelEntity_ClearLocalGadgets 正式 +34751 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 LevelEntity_ClearLocalGadgets 正式 +34752 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 LevelEntity_ClearLocalGadgets 正式 +34753 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 LevelEntity_ClearLocalGadgets 正式 +34754 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 LevelEntity_ClearLocalGadgets 正式 +34755 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 LevelEntity_ClearLocalGadgets 正式 +34756 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 LevelEntity_ClearLocalGadgets 正式 +34757 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 LevelEntity_ClearLocalGadgets 正式 +34758 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 LevelEntity_ClearLocalGadgets 正式 +34759 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 LevelEntity_ClearLocalGadgets 正式 +34760 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 LevelEntity_ClearLocalGadgets 正式 +34761 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 LevelEntity_ClearLocalGadgets 正式 +34762 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 LevelEntity_ClearLocalGadgets 正式 +34763 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 LevelEntity_ClearLocalGadgets 正式 +34764 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 LevelEntity_ClearLocalGadgets 正式 +34765 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 LevelEntity_ClearLocalGadgets 正式 +34766 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 LevelEntity_ClearLocalGadgets 正式 +34767 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 LevelEntity_ClearLocalGadgets 正式 +34768 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 LevelEntity_ClearLocalGadgets 正式 +34769 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 LevelEntity_ClearLocalGadgets 正式 +34770 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 LevelEntity_ClearLocalGadgets 正式 +34771 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 LevelEntity_ClearLocalGadgets 正式 +34772 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 LevelEntity_ClearLocalGadgets 正式 +34773 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 LevelEntity_ClearLocalGadgets 正式 +34774 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 LevelEntity_ClearLocalGadgets 正式 +35700 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +35701 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +35702 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 正式 +35703 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 正式 +35704 SCENE_DUNGEON Level_Tower_Element_Ice_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Element_Ice_01 正式 +35705 SCENE_DUNGEON Level_Tower_Element_Fire_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Element_Fire_01 正式 +35706 SCENE_DUNGEON Level_Tower_Element_Ice_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Element_Ice_01 正式 +35707 SCENE_DUNGEON Level_Tower_Element_Ice_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Element_Ice_01 正式 +35708 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 正式 +35709 SCENE_DUNGEON Level_Tower_Element_Thunder_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Element_Thunder_01 正式 +35710 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 正式 +35711 SCENE_DUNGEON Level_Tower_Element_Water_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Element_Water_01 正式 +35712 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 正式 +35713 SCENE_DUNGEON Level_Tower_Element_Ice_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Element_Ice_01 正式 +35714 SCENE_DUNGEON Level_Tower_Element_Ice_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Element_Ice_01 正式 +35715 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +35716 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 正式 +35717 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +35718 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +35719 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +35720 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 正式 +35721 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +35722 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 正式 +35723 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +35724 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 正式 +35725 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +35726 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 正式 +35727 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +35728 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 正式 +35729 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +35730 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 正式 +35731 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +35732 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 正式 +35733 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +35734 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 正式 +35735 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +35736 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 正式 +35737 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 LevelEntity_ClearLocalGadgets 正式 +35738 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 LevelEntity_ClearLocalGadgets 正式 +35739 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 LevelEntity_ClearLocalGadgets 正式 +35740 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 LevelEntity_ClearLocalGadgets 正式 +35741 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 LevelEntity_ClearLocalGadgets 正式 +35742 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 LevelEntity_ClearLocalGadgets 正式 +35743 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 LevelEntity_ClearLocalGadgets 正式 +35744 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 LevelEntity_ClearLocalGadgets 正式 +35745 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 LevelEntity_ClearLocalGadgets 正式 +35746 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 LevelEntity_ClearLocalGadgets 正式 +35747 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 LevelEntity_ClearLocalGadgets 正式 +35748 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 LevelEntity_ClearLocalGadgets 正式 +35749 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 LevelEntity_ClearLocalGadgets 正式 +35750 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 LevelEntity_ClearLocalGadgets 正式 +35751 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 LevelEntity_ClearLocalGadgets 正式 +35752 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 LevelEntity_ClearLocalGadgets 正式 +35753 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 LevelEntity_ClearLocalGadgets 正式 +35754 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 LevelEntity_ClearLocalGadgets 正式 +35755 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 LevelEntity_ClearLocalGadgets 正式 +35756 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 LevelEntity_ClearLocalGadgets 正式 +35757 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 LevelEntity_ClearLocalGadgets 正式 +35758 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 LevelEntity_ClearLocalGadgets 正式 +35759 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 LevelEntity_ClearLocalGadgets 正式 +35760 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 LevelEntity_ClearLocalGadgets 正式 +35761 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 LevelEntity_ClearLocalGadgets 正式 +35762 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 LevelEntity_ClearLocalGadgets 正式 +35763 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 LevelEntity_ClearLocalGadgets 正式 +35764 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 LevelEntity_ClearLocalGadgets 正式 +35765 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 LevelEntity_ClearLocalGadgets 正式 +35766 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 LevelEntity_ClearLocalGadgets 正式 +35767 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 LevelEntity_ClearLocalGadgets 正式 +35768 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 LevelEntity_ClearLocalGadgets 正式 +35769 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 LevelEntity_ClearLocalGadgets 正式 +35770 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 LevelEntity_ClearLocalGadgets 正式 +35771 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 LevelEntity_ClearLocalGadgets 正式 +35772 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 LevelEntity_ClearLocalGadgets 正式 +35773 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 LevelEntity_ClearLocalGadgets 正式 +35774 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 LevelEntity_ClearLocalGadgets 正式 +35800 SCENE_DUNGEON Level_CycleDungeon_WindFlower Data/Environment/EnviroSystemProfile/Dungeon/ESP_CycleDungeon_WindFlower Level_WindFlora_Dungeon 正式 +35801 SCENE_DUNGEON Level_ContestBattle01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_ContestBattle01 正式 +35802 SCENE_DUNGEON Level_ContestBattle01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_ContestBattle01 正式 +35803 SCENE_DUNGEON Level_ContestBattle01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_ContestBattle01 正式 +35804 SCENE_DUNGEON Level_ContestBattle01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_ContestBattle01 正式 +35805 SCENE_DUNGEON Level_ContestBattle01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_ContestBattle01 正式 +35806 SCENE_DUNGEON Level_ContestBattle01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_ContestBattle01 正式 +35807 SCENE_DUNGEON Level_ContestBattle01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_ContestBattle01 正式 +35808 SCENE_DUNGEON Level_ContestBattle01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_ContestBattle01 正式 +35809 SCENE_DUNGEON Level_ContestBattle01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_ContestBattle01 正式 +35810 SCENE_DUNGEON Level_ContestBattle01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_ContestBattle01 正式 +35811 SCENE_DUNGEON Level_ContestBattle01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_ContestBattle01 正式 +35812 SCENE_DUNGEON Level_ContestBattle01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_ContestBattle01 正式 +35813 SCENE_DUNGEON Level_ContestBattle01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_ContestBattle01 正式 +35814 SCENE_DUNGEON Level_ContestBattle01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_ContestBattle01 正式 +35815 SCENE_DUNGEON Level_ContestBattle01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_ContestBattle01 正式 +35816 SCENE_DUNGEON Level_ContestBattle01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_ContestBattle01 正式 +35817 SCENE_DUNGEON Level_ContestBattle01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_ContestBattle01 正式 +35818 SCENE_DUNGEON Level_ContestBattle01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_ContestBattle01 正式 +35820 SCENE_DUNGEON Level_FCdungeon_Qiqi Data/Environment/EnviroSystemProfile/Dungeon/ESP_FCdungeon_Qiqi 正式 +35821 SCENE_DUNGEON Level_FCdungeon_Qiqi Data/Environment/EnviroSystemProfile/Dungeon/ESP_FCdungeon_Qiqi 正式 +35822 SCENE_DUNGEON Level_FCdungeon_Qiqi Data/Environment/EnviroSystemProfile/Dungeon/ESP_FCdungeon_Qiqi 正式 +35823 SCENE_DUNGEON Level_FCdungeon_Qiqi Data/Environment/EnviroSystemProfile/Dungeon/ESP_FCdungeon_Qiqi 正式 +35824 SCENE_DUNGEON PlotLevel_XiangLingLevel_Xyd Data/Environment/EnviroSystemProfile/Dungeon/ESP_XianglingPlotLevel01 正式 +35825 SCENE_DUNGEON PlotLevel_XiangLingLevel_Xyd Data/Environment/EnviroSystemProfile/Dungeon/ESP_XianglingPlotLevel01 正式 +35826 SCENE_DUNGEON PlotLevel_XiangLingLevel_Xyd Data/Environment/EnviroSystemProfile/Dungeon/ESP_XianglingPlotLevel01 正式 +35827 SCENE_DUNGEON PlotLevel_XiangLingLevel_Xyd Data/Environment/EnviroSystemProfile/Dungeon/ESP_XianglingPlotLevel01 正式 +35828 SCENE_DUNGEON Level_FCdungeon_Cloud01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_FCdungeon_Cloud01 正式 +35829 SCENE_DUNGEON Level_FCdungeon_Cloud01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_FCdungeon_Cloud01 正式 +35830 SCENE_DUNGEON Level_FCdungeon_Cloud01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_FCdungeon_Cloud01 正式 +35831 SCENE_DUNGEON Level_FCdungeon_Cloud01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_FCdungeon_Cloud01 正式 +35840 SCENE_DUNGEON Level_CrystalLink_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_CrystalLink_01 正式 +35841 SCENE_DUNGEON Level_CrystalLink_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_CrystalLink_01 正式 +35842 SCENE_DUNGEON Level_CrystalLink_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_CrystalLink_01 正式 +35843 SCENE_DUNGEON Level_CrystalLink_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_CrystalLink_01 正式 +35844 SCENE_DUNGEON Level_CrystalLink_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_CrystalLink_01 正式 +35845 SCENE_DUNGEON Level_CrystalLink_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_CrystalLink_01 正式 +35846 SCENE_DUNGEON Level_DreamIsland_Xinyan01 正式 +35847 SCENE_DUNGEON Level_DreamIsland_Xinyan01 正式 +35848 SCENE_DUNGEON Level_DIKazuha04 正式 +35849 SCENE_DUNGEON Level_DIKazuha04 正式 +35850 SCENE_DUNGEON Level_DreamIsland_Fischl03 正式 +35851 SCENE_DUNGEON Level_DreamIsland_Fischl03 正式 +35852 SCENE_DUNGEON Level_DreamIsland_Mona01 Level_DreamDungeon_Mona 正式 +35853 SCENE_DUNGEON Level_DreamIsland_Mona01 Level_DreamDungeon_Mona 正式 +35854 SCENE_DUNGEON Level_CrystalLink_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_CrystalLink_01 正式 +35855 SCENE_DUNGEON Level_CrystalLink_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_CrystalLink_01 正式 +35856 SCENE_DUNGEON Level_CrystalLink_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_CrystalLink_01 正式 +35857 SCENE_DUNGEON Level_CrystalLink_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_CrystalLink_01 正式 +35858 SCENE_DUNGEON Level_CrystalLink_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_CrystalLink_01 正式 +35859 SCENE_DUNGEON Level_CrystalLink_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_CrystalLink_01 正式 +35860 SCENE_DUNGEON Level_SmrDungeon_Challenge Data/Environment/EnviroSystemProfile/Dungeon/ESP_SmrDungeon_BigTree_Flower 正式 +35861 SCENE_DUNGEON Level_SmrDungeon_Challenge Data/Environment/EnviroSystemProfile/Dungeon/ESP_SmrDungeon_BigTree_Flower 正式 +35862 SCENE_DUNGEON Level_SmrDungeon_Challenge Data/Environment/EnviroSystemProfile/Dungeon/ESP_SmrDungeon_BigTree_Flower 正式 +35863 SCENE_DUNGEON Level_SmrDungeon_Challenge Data/Environment/EnviroSystemProfile/Dungeon/ESP_SmrDungeon_BigTree_Flower 正式 +35870 SCENE_DUNGEON NotUse Level_BrickBreaker01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_BrickBreaker01 正式 +35871 SCENE_DUNGEON NotUse Level_BrickBreaker01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_BrickBreaker01 正式 +35872 SCENE_DUNGEON NotUse Level_BrickBreaker01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_BrickBreaker01 正式 +35873 SCENE_DUNGEON Level_FungusFighter01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_FungusFighter01_A 正式 +35874 SCENE_DUNGEON Level_FungusFighter01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_FungusFighter01_A 正式 +35875 SCENE_DUNGEON Level_FungusFighter01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_FungusFighter01_A 正式 +35876 SCENE_DUNGEON Level_FungusFighter02 Data/Environment/EnviroSystemProfile/Dungeon/ESP_FungusFighter02_A 正式 +35877 SCENE_DUNGEON Level_FungusFighter02 Data/Environment/EnviroSystemProfile/Dungeon/ESP_FungusFighter02_A 正式 +35878 SCENE_DUNGEON Level_FungusFighter02 Data/Environment/EnviroSystemProfile/Dungeon/ESP_FungusFighter02_A 正式 +35879 SCENE_DUNGEON Level_FungusFighter02 Data/Environment/EnviroSystemProfile/Dungeon/ESP_FungusFighter02_A 正式 +35880 SCENE_DUNGEON Level_XM_BigLeaf Data/Environment/EnviroSystemProfile/BigWorld/ESP_XM_FungusFighter 正式 +35881 SCENE_DUNGEON Level_XM_BigLeaf Data/Environment/EnviroSystemProfile/BigWorld/ESP_XM_FungusFighter 正式 +35882 SCENE_DUNGEON Level_XM_BigLeaf Data/Environment/EnviroSystemProfile/BigWorld/ESP_XM_FungusFighter 正式 +35883 SCENE_DUNGEON Level_XM_BigLeaf Data/Environment/EnviroSystemProfile/BigWorld/ESP_XM_FungusFighter 正式 +35884 SCENE_DUNGEON Level_XM_BigLeaf Data/Environment/EnviroSystemProfile/BigWorld/ESP_XM_FungusFighter 正式 +35890 SCENE_DUNGEON Level_CrystalLink_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_CrystalLink_01 正式 +35891 SCENE_DUNGEON Level_CrystalLink_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_CrystalLink_01 正式 +35892 SCENE_DUNGEON Level_CrystalLink_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_CrystalLink_01 正式 +35893 SCENE_DUNGEON Level_CrystalLink_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_CrystalLink_01 正式 +35894 SCENE_DUNGEON Level_CrystalLink_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_CrystalLink_01 正式 +35895 SCENE_DUNGEON Level_CrystalLink_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_CrystalLink_01 正式 +35896 SCENE_DUNGEON Level_AkaFesRhythm01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Xm36_Level_AkaFesRhythm01_01 正式 +35897 SCENE_DUNGEON Level_AkaFesRhythm01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Xm36_Level_AkaFesRhythm01_01 正式 +35898 SCENE_DUNGEON Level_AkaFesRhythm01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Xm36_Level_AkaFesRhythm01_01 正式 +35899 SCENE_DUNGEON Level_FungusFighter01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_FungusFighter01_A 正式 +35900 SCENE_DUNGEON Level_AkaFesArc_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_AkaFesArc_01 LevelEntity_Activity_V3_6_AkaFesCustomGrapplingHook 正式 +35901 SCENE_DUNGEON Level_AkaFesArc_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_AkaFesArc_01 LevelEntity_Activity_V3_6_AkaFesCustomGrapplingHook 正式 +35902 SCENE_DUNGEON Level_AkaFesArc_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_AkaFesArc_01 LevelEntity_Activity_V3_6_AkaFesCustomGrapplingHook 正式 +35903 SCENE_DUNGEON Level_SmrDungeon_Challenge Data/Environment/EnviroSystemProfile/Dungeon/ESP_SmrDungeon_BigTree_Flower 正式 +35904 SCENE_DUNGEON Level_SmrDungeon_Challenge Data/Environment/EnviroSystemProfile/Dungeon/ESP_SmrDungeon_BigTree_Flower 正式 +35905 SCENE_DUNGEON Level_SmrDungeon_Challenge Data/Environment/EnviroSystemProfile/Dungeon/ESP_SmrDungeon_BigTree_Flower 正式 +35906 SCENE_DUNGEON Level_CycleDungeon_WindFlower Data/Environment/EnviroSystemProfile/Dungeon/ESP_CycleDungeon_WindFlower 正式 +35907 SCENE_DUNGEON Level_CycleDungeon_WindFlower Data/Environment/EnviroSystemProfile/Dungeon/ESP_CycleDungeon_WindFlower 正式 +35908 SCENE_DUNGEON Level_CycleDungeon_WindFlower Data/Environment/EnviroSystemProfile/Dungeon/ESP_CycleDungeon_WindFlower 正式 +35909 SCENE_DUNGEON Level_CycleDungeon_WindFlower Data/Environment/EnviroSystemProfile/Dungeon/ESP_CycleDungeon_WindFlower 正式 +35910 SCENE_DUNGEON Level_SmrDungeon_Challenge Data/Environment/EnviroSystemProfile/Dungeon/ESP_SmrDungeon_BigTree_Flower 正式 +35911 SCENE_DUNGEON Level_SmrDungeon_Challenge Data/Environment/EnviroSystemProfile/Dungeon/ESP_SmrDungeon_BigTree_Flower 正式 +35912 SCENE_DUNGEON Level_SmrDungeon_Challenge Data/Environment/EnviroSystemProfile/Dungeon/ESP_SmrDungeon_BigTree_Flower 正式 +35913 SCENE_DUNGEON Level_SmrDungeon_Challenge Data/Environment/EnviroSystemProfile/Dungeon/ESP_SmrDungeon_BigTree_Flower 正式 +35914 SCENE_DUNGEON Level_Activity_Circus LevelEntity_Activity_Bladedance_BanItem 正式 +35915 SCENE_DUNGEON Level_Activity_Circus LevelEntity_Activity_Bladedance_BanItem 正式 +35916 SCENE_DUNGEON Level_Activity_Circus LevelEntity_Activity_Bladedance_BanItem 正式 +35917 SCENE_DUNGEON Level_Activity_Circus LevelEntity_Activity_Bladedance_BanItem 正式 +35918 SCENE_DUNGEON Level_SmrDungeon_Challenge Data/Environment/EnviroSystemProfile/Dungeon/ESP_SmrDungeon_BigTree_Flower 正式 +35919 SCENE_DUNGEON Level_SmrDungeon_Challenge Data/Environment/EnviroSystemProfile/Dungeon/ESP_SmrDungeon_BigTree_Flower 正式 +35920 SCENE_DUNGEON Level_SmrDungeon_Challenge Data/Environment/EnviroSystemProfile/Dungeon/ESP_SmrDungeon_BigTree_Flower 正式 +35921 SCENE_DUNGEON Level_SmrDungeon_Challenge Data/Environment/EnviroSystemProfile/Dungeon/ESP_SmrDungeon_BigTree_Flower 正式 +35922 SCENE_DUNGEON Level_SmrDungeon_Challenge Data/Environment/EnviroSystemProfile/Dungeon/ESP_SmrDungeon_BigTree_Flower 正式 +35923 SCENE_DUNGEON BigWorld_LevelStreaming Data/Environment/EnviroSystemProfile/BigWorld/ESP_Xm35_GeneralCopyWorld01 LevelEntity_Activity_LostSamachurl 正式 3,776 3 +35924 SCENE_DUNGEON BigWorld_LevelStreaming Data/Environment/EnviroSystemProfile/BigWorld/ESP_Xm35_GeneralCopyWorld01 LevelEntity_Activity_FilmfestSniper 正式 3,776 8 3 +35925 SCENE_DUNGEON BigWorld_LevelStreaming Data/Environment/EnviroSystemProfile/BigWorld/ESP_Xm35_GeneralCopyWorld01 LevelEntity_Activity_FilmfestSniper 正式 3,776 24 3 +35926 SCENE_DUNGEON BigWorld_LevelStreaming Data/Environment/EnviroSystemProfile/BigWorld/ESP_Xm35_GeneralCopyWorld01 LevelEntity_Activity_FilmfestSniper 正式 3,776 24 3 +35927 SCENE_DUNGEON BigWorld_LevelStreaming Data/Environment/EnviroSystemProfile/BigWorld/ESP_Xm35_GeneralCopyWorld01 LevelEntity_Activity_FilmfestSniper 正式 3776 19 3 +35928 SCENE_DUNGEON BigWorld_LevelStreaming Data/Environment/EnviroSystemProfile/BigWorld/ESP_Xm35_GeneralCopyWorld01 LevelEntity_Activity_FilmfestSniper 正式 3,1093 3 +35930 SCENE_DUNGEON Level_FungusFighter04 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Du42_FungusFighter04_Light 正式 +35931 SCENE_DUNGEON Level_FungusFighter04 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Du42_FungusFighter04_Light 正式 +35932 SCENE_DUNGEON Level_FungusFighter04 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Du42_FungusFighter04_Light 正式 +35933 SCENE_DUNGEON Level_FungusFighter03 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Du42_FungusFighter03_Night 正式 +35934 SCENE_DUNGEON Level_FungusFighter03 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Du42_FungusFighter03_Night 正式 +35935 SCENE_DUNGEON Level_FungusFighter03 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Du42_FungusFighter03_Night 正式 +35936 SCENE_DUNGEON Level_FungusFighter03 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Du42_FungusFighter03_Night 正式 +35941 SCENE_DUNGEON BigWorld_LevelStreaming Data/Environment/EnviroSystemProfile/BigWorld/ESP_Xm35_GeneralCopyWorld01 LevelEntity_Activity_LostSamachurl 正式 3,776 3 +35942 SCENE_DUNGEON BigWorld_LevelStreaming Data/Environment/EnviroSystemProfile/BigWorld/ESP_Xm35_GeneralCopyWorld01 LevelEntity_Activity_LostSamachurl 正式 3,776 3 +35943 SCENE_DUNGEON BigWorld_LevelStreaming Data/Environment/EnviroSystemProfile/BigWorld/ESP_Xm35_GeneralCopyWorld01 LevelEntity_Activity_LostSamachurl 正式 3,776 3 +35950 SCENE_DUNGEON Level_SlimeCannon01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Du45_SlimeCannon01 LevelEntity_Activity_SlimeCannon 正式 +35951 SCENE_DUNGEON Level_SlimeCannon01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Du45_SlimeCannon01 LevelEntity_Activity_SlimeCannon 正式 +35952 SCENE_DUNGEON Level_SlimeCannon01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Du45_SlimeCannon01 LevelEntity_Activity_SlimeCannon 正式 +35953 SCENE_DUNGEON Level_SlimeCannon01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Du45_SlimeCannon01 LevelEntity_Activity_SlimeCannon 正式 +35954 SCENE_DUNGEON Level_SlimeCannon01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Du45_SlimeCannon01 LevelEntity_Activity_SlimeCannon 正式 +35955 SCENE_DUNGEON BigWorld_LevelStreaming Data/Environment/EnviroSystemProfile/BigWorld/ESP_Md_General Level_BigWorld 正式 3 VISION_LEVEL_REMOTE +35956 SCENE_DUNGEON BigWorld_LevelStreaming Data/Environment/EnviroSystemProfile/BigWorld/ESP_Md_General Level_BigWorld 正式 3 VISION_LEVEL_REMOTE +35957 SCENE_DUNGEON BigWorld_LevelStreaming Data/Environment/EnviroSystemProfile/BigWorld/ESP_Ly_General Level_BigWorld 正式 3 VISION_LEVEL_REMOTE +35958 SCENE_DUNGEON BigWorld_LevelStreaming Data/Environment/EnviroSystemProfile/BigWorld/ESP_Dq_General Level_BigWorld 正式 3 VISION_LEVEL_REMOTE +35961 SCENE_DUNGEON BigWorld_LevelStreaming Data/Environment/EnviroSystemProfile/BigWorld/ESP_Xm35_GeneralCopyWorld01 正式 3,776 24 3 +35962 SCENE_DUNGEON BigWorld_LevelStreaming Data/Environment/EnviroSystemProfile/BigWorld/ESP_Xm35_GeneralCopyWorld01 正式 3,776 24 3 +35963 SCENE_DUNGEON BigWorld_LevelStreaming Data/Environment/EnviroSystemProfile/BigWorld/ESP_Xm35_GeneralCopyWorld01 正式 3,776 24 3 +35964 SCENE_DUNGEON BigWorld_LevelStreaming Data/Environment/EnviroSystemProfile/BigWorld/ESP_Xm35_GeneralCopyWorld01 正式 3,776 24 3 +35965 SCENE_DUNGEON BigWorld_LevelStreaming Data/Environment/EnviroSystemProfile/BigWorld/ESP_Xm35_GeneralCopyWorld01 正式 3,776 24 3 +35966 SCENE_DUNGEON BigWorld_LevelStreaming Data/Environment/EnviroSystemProfile/BigWorld/ESP_Xm35_GeneralCopyWorld01 正式 3,776 24 3 +35967 SCENE_DUNGEON BigWorld_LevelStreaming Data/Environment/EnviroSystemProfile/BigWorld/ESP_Xm35_GeneralCopyWorld01 正式 3,776 24 3 +35968 SCENE_DUNGEON BigWorld_LevelStreaming Data/Environment/EnviroSystemProfile/BigWorld/ESP_Xm35_GeneralCopyWorld01 正式 3,776 24 3 +35971 SCENE_DUNGEON Level_MvM01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Du47_MvM01 LevelEntity_Activity_V4_7_MonsterVsMonster 正式 +35972 SCENE_DUNGEON Level_MvM01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Du47_MvM01 LevelEntity_Activity_V4_7_MonsterVsMonster_35972 正式 +35973 SCENE_DUNGEON Level_MvM01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Du47_MvM01 LevelEntity_Activity_V4_7_MonsterVsMonster_35973 正式 +35974 SCENE_DUNGEON Level_MvM01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Du47_MvM01 LevelEntity_Activity_V4_7_MonsterVsMonster_35974 正式 +35975 SCENE_DUNGEON Level_MvM02 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Du47_MvM01 LevelEntity_Activity_V4_7_MonsterVsMonster_35975 正式 +35976 SCENE_DUNGEON Level_MvM01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Du47_MvM01 LevelEntity_Activity_V4_7_MonsterVsMonster_35976 正式 +35977 SCENE_DUNGEON Level_MvM02 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Du47_MvM01 LevelEntity_Activity_V4_7_MonsterVsMonster_35977 正式 +35981 SCENE_DUNGEON Level_MvM03 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Du47_MvM03 LevelEntity_Activity_V4_7_MonsterVsMonster_35981 正式 +35982 SCENE_DUNGEON Level_MvM03 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Du47_MvM03 LevelEntity_Activity_V4_7_MonsterVsMonster_35982 正式 +35983 SCENE_DUNGEON Level_MvM03 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Du47_MvM03 LevelEntity_Activity_V4_7_MonsterVsMonster_35983 正式 +35984 SCENE_DUNGEON Level_MvM03 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Du47_MvM03 LevelEntity_Activity_V4_7_MonsterVsMonster_35984 正式 +35985 SCENE_DUNGEON Level_MvM03 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Du47_MvM03 LevelEntity_Activity_V4_7_MonsterVsMonster_35985 正式 +35986 SCENE_DUNGEON Level_MvM03 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Du47_MvM03 LevelEntity_Activity_V4_7_MonsterVsMonster_35986 正式 +35987 SCENE_DUNGEON Level_MvM03 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Du47_MvM03 LevelEntity_Activity_V4_7_MonsterVsMonster_35987 正式 +40001 SCENE_DUNGEON NotUse Level_UCDungeon02 测试 +40002 SCENE_DUNGEON NotUse Level_UCDungeon01 测试 +40003 SCENE_DUNGEON NotUse Level_UCDungeon01 测试 +40004 SCENE_DUNGEON Level_KaeyaTutorialMission02 Data/Environment/EnviroSystemProfile/Dungeon/ESP_KaeyaTutorialMission02 正式 +40005 SCENE_DUNGEON NotUse Level_KaeyaTutorialMission01 测试 +40006 SCENE_DUNGEON NotUse Level_KaeyaTutorialMission01 测试 +40007 SCENE_DUNGEON Level_PFDungeon01 正式 +40008 SCENE_DUNGEON Level_KaeyaTutorialMission02 正式 +40009 SCENE_DUNGEON Level_AmborTutorialMission01 正式 +40010 SCENE_DUNGEON Level_AmborTutorialMission01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_AmborTutorialMission01 正式 +40012 SCENE_DUNGEON Level_LisaTutorialMission03 Data/Environment/EnviroSystemProfile/Dungeon/ESP_LisaTutorialMission 正式 +40013 SCENE_DUNGEON Level_AmborTutorialMission01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_AmborTutorialMission01 正式 +40014 SCENE_DUNGEON Level_LisaTutorialMission03 Data/Environment/EnviroSystemProfile/Dungeon/ESP_LisaTutorialMission 正式 +40015 SCENE_DUNGEON Level_FCdungeon_Kettle01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_FCdungeon_Kettle01 正式 +40016 SCENE_DUNGEON Level_FCdungeon_Cloud01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_FCdungeon_Cloud01 正式 +40017 SCENE_DUNGEON NotUse Level_FCdungeon_Cloud01 测试 +40018 SCENE_DUNGEON NotUse Level_FCdungeon_Kettle01 测试 +40019 SCENE_DUNGEON Level_FCdungeon_Cloud01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_FCdungeon_Cloud01 正式 +40020 SCENE_DUNGEON Level_FCdungeon_Cloud01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_FCdungeon_Cloud01 正式 +40021 SCENE_DUNGEON NotUse Level_Challenge_Thunder01 测试 +40022 SCENE_DUNGEON Level_ActivityBoss01_Wind Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +40023 SCENE_DUNGEON Level_ActivityBoss01_Thunder Data/Environment/EnviroSystemProfile/Dungeon/ESP_CycleDungeon01_Thunder 正式 +40024 SCENE_DUNGEON Level_ActivityBoss01_Rock Data/Environment/EnviroSystemProfile/Dungeon/ESP_CycleDungeon01_Rock 正式 +40025 SCENE_DUNGEON Level_ActivityBoss01_Wind Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +40026 SCENE_DUNGEON Level_LisaTutorialMission03 Data/Environment/EnviroSystemProfile/Dungeon/ESP_LisaTutorialMission 正式 +40027 SCENE_DUNGEON Level_ActivityBoss01_Wind Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +40028 SCENE_DUNGEON Level_ActivityBoss01_Thunder Data/Environment/EnviroSystemProfile/Dungeon/ESP_CycleDungeon01_Thunder 正式 +40029 SCENE_DUNGEON Level_ActivityBoss01_Rock Data/Environment/EnviroSystemProfile/Dungeon/ESP_CycleDungeon01_Rock 正式 +40030 SCENE_DUNGEON Level_LisaTutorialMission03 Data/Environment/EnviroSystemProfile/Dungeon/ESP_LisaTutorialMission 正式 +40031 SCENE_DUNGEON Level_LisaTutorialMission03 Data/Environment/EnviroSystemProfile/Dungeon/ESP_LisaTutorialMission 正式 +40032 SCENE_DUNGEON Level_LisaTutorialMission03 Data/Environment/EnviroSystemProfile/Dungeon/ESP_LisaTutorialMission 正式 +40033 SCENE_DUNGEON Level_LisaTutorialMission03 Data/Environment/EnviroSystemProfile/Dungeon/ESP_LisaTutorialMission 正式 +40034 SCENE_DUNGEON Level_LisaTutorialMission03 Data/Environment/EnviroSystemProfile/Dungeon/ESP_LisaTutorialMission 正式 +40035 SCENE_DUNGEON Level_LisaTutorialMission03 Data/Environment/EnviroSystemProfile/Dungeon/ESP_LisaTutorialMission 正式 +40036 SCENE_DUNGEON Level_LisaTutorialMission03 Data/Environment/EnviroSystemProfile/Dungeon/ESP_LisaTutorialMission 正式 +40037 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 正式 +40038 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 正式 +40039 SCENE_DUNGEON Level_Tower_Element_Water_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Element_Water_01 正式 +40040 SCENE_DUNGEON Level_Tower_Element_Water_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Element_Water_01 正式 +40041 SCENE_DUNGEON Level_ActivityBoss02_Water 正式 +40042 SCENE_DUNGEON Level_ActivityBoss02_Water 正式 +40043 SCENE_DUNGEON Level_ActivityBoss02_Water 正式 +40044 SCENE_DUNGEON Level_HFDungeon01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_HFDungeon01 正式 +40045 SCENE_DUNGEON Level_HFDungeon02 Data/Environment/EnviroSystemProfile/Dungeon/ESP_HFDungeon02 正式 +40046 SCENE_DUNGEON Level_Tower_Element_Water_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Element_Water_01 正式 +40047 SCENE_DUNGEON Level_HFDungeon02 Data/Environment/EnviroSystemProfile/Dungeon/ESP_HFDungeon02 正式 +40048 SCENE_DUNGEON Level_HFDungeon01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_HFDungeon01 正式 +40049 SCENE_DUNGEON Level_HFDungeon02 Data/Environment/EnviroSystemProfile/Dungeon/ESP_HFDungeon02 正式 +40050 SCENE_DUNGEON Level_HFDungeon_wq Data/Environment/EnviroSystemProfile/Dungeon/ESP_HFDungeon02 正式 +40051 SCENE_DUNGEON Level_XMDungeon_WQ01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_XMdungeon_WQ01 Level_Dungeon 正式 +40052 SCENE_DUNGEON Level_XMDungeon_WQ03 Data/Environment/EnviroSystemProfile/Dungeon/ESP_XMdungeon_WQ01_03 Level_Dungeon 正式 +40053 SCENE_DUNGEON Level_XMDungeon_WQ01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_XMdungeon_WQ01 Level_Dungeon 正式 +40054 SCENE_DUNGEON Level_XMDungeon_WQ04 Data/Environment/EnviroSystemProfile/Dungeon/ESP_XMdungeon_WQ01_02 Level_Dungeon 正式 +40055 SCENE_DUNGEON Level_ActivityBoss01_Wind Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 Level_EffigyChallenge 正式 +40056 SCENE_DUNGEON Level_ActivityBoss01_Wind Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 Level_EffigyChallenge 正式 +40057 SCENE_DUNGEON Level_ActivityBoss01_Wind Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 Level_EffigyChallenge 正式 +40058 SCENE_DUNGEON Level_ActivityBoss01_Wind Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 Level_EffigyChallenge 正式 +40059 SCENE_DUNGEON Level_ActivityBoss01_Wind Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 Level_EffigyChallenge 正式 +40060 SCENE_DUNGEON Level_ActivityBoss01_Wind Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 Level_EffigyChallenge 正式 +40061 SCENE_DUNGEON Level_ActivityBoss01_Wind Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 Level_EffigyChallenge 正式 +40062 SCENE_DUNGEON Level_ActivityBoss01_Wind Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 Level_EffigyChallenge 正式 +40063 SCENE_DUNGEON Level_Smr_LostCity Level_Dungeon 正式 +40064 SCENE_DUNGEON Level_Smr_LostCity Level_Dungeon 正式 +40065 SCENE_DUNGEON Level_XM_BigLeaf Data/Environment/EnviroSystemProfile/BigWorld/ESP_XM_FungusFighter 正式 +40066 SCENE_DUNGEON Level_SmrDungeon_Challenge Data/Environment/EnviroSystemProfile/Dungeon/ESP_SmrDungeon_BigTree_Flower 正式 +40067 SCENE_DUNGEON Level_Tower_Moon_02 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 Level_EffigyChallengeV4_40067 正式 +40068 SCENE_DUNGEON Level_Tower_Moon_02 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 Level_EffigyChallengeV4_40068 正式 +40069 SCENE_DUNGEON Level_Tower_Moon_02 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 Level_EffigyChallengeV4_40069 正式 +40070 SCENE_DUNGEON Level_Tower_Moon_02 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 Level_EffigyChallengeV4_40070 正式 +40100 SCENE_DUNGEON Level_CycleDungeon01_Fire Data/Environment/EnviroSystemProfile/Dungeon/ESP_CycleDungeon01_Fire 正式 +40101 SCENE_DUNGEON Level_CycleDungeon01_Fire Data/Environment/EnviroSystemProfile/Dungeon/ESP_CycleDungeon01_Fire 正式 +40102 SCENE_DUNGEON Level_CycleDungeon01_Fire Data/Environment/EnviroSystemProfile/Dungeon/ESP_CycleDungeon01_Fire 正式 +40103 SCENE_DUNGEON NotUse Level_CycleDungeon01_Fire Data/Environment/EnviroSystemProfile/Dungeon/ESP_CycleDungeon01_Fire 测试 +40104 SCENE_DUNGEON NotUse Level_CycleDungeon01_Fire Data/Environment/EnviroSystemProfile/Dungeon/ESP_CycleDungeon01_Fire 测试 +40105 SCENE_DUNGEON Level_CycleDungeon01_Fire Data/Environment/EnviroSystemProfile/Dungeon/ESP_CycleDungeon01_Fire 正式 +40200 SCENE_DUNGEON Level_CycleDungeon01_Ice Data/Environment/EnviroSystemProfile/Dungeon/ESP_CycleDungeon01_Ice 正式 +40201 SCENE_DUNGEON Level_CycleDungeon01_Ice Data/Environment/EnviroSystemProfile/Dungeon/ESP_CycleDungeon01_Ice 正式 +40202 SCENE_DUNGEON Level_CycleDungeon01_Ice Data/Environment/EnviroSystemProfile/Dungeon/ESP_CycleDungeon01_Ice 正式 +40203 SCENE_DUNGEON Level_CycleDungeon01_Ice Data/Environment/EnviroSystemProfile/Dungeon/ESP_CycleDungeon01_Ice 正式 +40300 SCENE_DUNGEON Level_CycleDungeon01_Water Data/Environment/EnviroSystemProfile/Dungeon/ESP_CycleDungeon01_Water 正式 +40301 SCENE_DUNGEON Level_CycleDungeon01_Water Data/Environment/EnviroSystemProfile/Dungeon/ESP_CycleDungeon01_Water 正式 +40302 SCENE_DUNGEON Level_CycleDungeon01_Water Data/Environment/EnviroSystemProfile/Dungeon/ESP_CycleDungeon01_Water 正式 +40303 SCENE_DUNGEON Level_CycleDungeon01_Water Data/Environment/EnviroSystemProfile/Dungeon/ESP_CycleDungeon01_Water 正式 +40400 SCENE_DUNGEON Level_CycleDungeon01_Thunder Data/Environment/EnviroSystemProfile/Dungeon/ESP_CycleDungeon01_Thunder 正式 +40401 SCENE_DUNGEON Level_CycleDungeon01_Thunder Data/Environment/EnviroSystemProfile/Dungeon/ESP_CycleDungeon01_Thunder 正式 +40402 SCENE_DUNGEON Level_CycleDungeon01_Thunder Data/Environment/EnviroSystemProfile/Dungeon/ESP_CycleDungeon01_Thunder 正式 +40403 SCENE_DUNGEON Level_CycleDungeon01_Thunder Data/Environment/EnviroSystemProfile/Dungeon/ESP_CycleDungeon01_Thunder 正式 +40404 SCENE_DUNGEON Level_CycleDungeon01_Snow Data/Environment/EnviroSystemProfile/Dungeon/ESP_CycleDungeon01_Snow 正式 +40405 SCENE_DUNGEON NotUse Level_CycleDungeon01_Thunder Data/Environment/EnviroSystemProfile/Dungeon/ESP_CycleDungeon01_Thunder 测试 +40406 SCENE_DUNGEON NotUse Level_CycleDungeon01_Thunder Data/Environment/EnviroSystemProfile/Dungeon/ESP_CycleDungeon01_Thunder 测试 +40407 SCENE_DUNGEON NotUse Level_CycleDungeon01_Thunder Data/Environment/EnviroSystemProfile/Dungeon/ESP_CycleDungeon01_Thunder 测试 +40408 SCENE_DUNGEON Level_CycleDungeon01_Snow Data/Environment/EnviroSystemProfile/Dungeon/ESP_CycleDungeon01_Snow 正式 +40409 SCENE_DUNGEON Level_CycleDungeon01_Snow Data/Environment/EnviroSystemProfile/Dungeon/ESP_CycleDungeon01_Snow 正式 +40410 SCENE_DUNGEON Level_CycleDungeon01_Snow Data/Environment/EnviroSystemProfile/Dungeon/ESP_CycleDungeon01_Snow 正式 +40500 SCENE_DUNGEON Level_CycleDungeon02_Morning Data/Environment/EnviroSystemProfile/Dungeon/ESP_CycleDungeon02_Morning 正式 +40501 SCENE_DUNGEON Level_CycleDungeon02_Morning Data/Environment/EnviroSystemProfile/Dungeon/ESP_CycleDungeon02_Morning 正式 +40502 SCENE_DUNGEON Level_CycleDungeon02_Morning Data/Environment/EnviroSystemProfile/Dungeon/ESP_CycleDungeon02_Morning 正式 +40503 SCENE_DUNGEON Level_CycleDungeon02_Dusk Data/Environment/EnviroSystemProfile/Dungeon/ESP_CycleDungeon02_Dusk 正式 +40504 SCENE_DUNGEON Level_CycleDungeon02_Dusk Data/Environment/EnviroSystemProfile/Dungeon/ESP_CycleDungeon02_Dusk 正式 +40505 SCENE_DUNGEON Level_CycleDungeon02_Night Data/Environment/EnviroSystemProfile/Dungeon/ESP_CycleDungeon02_Night 正式 +40506 SCENE_DUNGEON Level_CycleDungeon02_Night Data/Environment/EnviroSystemProfile/Dungeon/ESP_CycleDungeon02_Night 正式 +40507 SCENE_DUNGEON NotUse Level_CycleDungeon02_Normal 测试 +40508 SCENE_DUNGEON Level_CycleDungeon02_Morning Data/Environment/EnviroSystemProfile/Dungeon/ESP_CycleDungeon02_Morning 正式 +40509 SCENE_DUNGEON Level_CycleDungeon02_Dusk Data/Environment/EnviroSystemProfile/Dungeon/ESP_CycleDungeon02_Dusk 正式 +40510 SCENE_DUNGEON Level_CycleDungeon02_Dusk Data/Environment/EnviroSystemProfile/Dungeon/ESP_CycleDungeon02_Dusk 正式 +40511 SCENE_DUNGEON Level_CycleDungeon02_Night Data/Environment/EnviroSystemProfile/Dungeon/ESP_CycleDungeon02_Night 正式 +40512 SCENE_DUNGEON Level_CycleDungeon02_Night Data/Environment/EnviroSystemProfile/Dungeon/ESP_CycleDungeon02_Night 正式 +40513 SCENE_DUNGEON NotUse Level_CycleDungeon02_Normal 测试 +40514 SCENE_DUNGEON Level_CycleDungeon02_Morning Data/Environment/EnviroSystemProfile/Dungeon/ESP_CycleDungeon02_Morning 正式 +40515 SCENE_DUNGEON Level_CycleDungeon02_Morning Data/Environment/EnviroSystemProfile/Dungeon/ESP_CycleDungeon02_Morning 正式 +40516 SCENE_DUNGEON Level_CycleDungeon02_Night Data/Environment/EnviroSystemProfile/Dungeon/ESP_CycleDungeon02_Night 正式 +40517 SCENE_DUNGEON Level_CycleDungeon02_Night Data/Environment/EnviroSystemProfile/Dungeon/ESP_CycleDungeon02_Night 正式 +40600 SCENE_DUNGEON Level_CycleDungeon02_Morning Data/Environment/EnviroSystemProfile/Dungeon/ESP_CycleDungeon02_Morning 正式 +40601 SCENE_DUNGEON Level_CycleDungeon02_Morning Data/Environment/EnviroSystemProfile/Dungeon/ESP_CycleDungeon02_Morning 正式 +40602 SCENE_DUNGEON Level_CycleDungeon02_Dusk Data/Environment/EnviroSystemProfile/Dungeon/ESP_CycleDungeon02_Dusk 正式 +40603 SCENE_DUNGEON Level_CycleDungeon02_Dusk Data/Environment/EnviroSystemProfile/Dungeon/ESP_CycleDungeon02_Dusk 正式 +40604 SCENE_DUNGEON Level_CycleDungeon02_Night Data/Environment/EnviroSystemProfile/Dungeon/ESP_CycleDungeon02_Night 正式 +40605 SCENE_DUNGEON Level_CycleDungeon02_Night Data/Environment/EnviroSystemProfile/Dungeon/ESP_CycleDungeon02_Night 正式 +40606 SCENE_DUNGEON NotUse Level_CycleDungeon02_Normal 测试 +40607 SCENE_DUNGEON Level_CycleDungeon02_Dusk Data/Environment/EnviroSystemProfile/Dungeon/ESP_CycleDungeon02_Dusk 正式 +40608 SCENE_DUNGEON Level_CycleDungeon02_Dusk Data/Environment/EnviroSystemProfile/Dungeon/ESP_CycleDungeon02_Dusk 正式 +40609 SCENE_DUNGEON Level_CycleDungeon02_Night Data/Environment/EnviroSystemProfile/Dungeon/ESP_CycleDungeon02_Night 正式 +40610 SCENE_DUNGEON Level_CycleDungeon02_Night Data/Environment/EnviroSystemProfile/Dungeon/ESP_CycleDungeon02_Night 正式 +40611 SCENE_DUNGEON NotUse Level_CycleDungeon02_Normal 测试 +40612 SCENE_DUNGEON Level_CycleDungeon02_Dusk Data/Environment/EnviroSystemProfile/Dungeon/ESP_CycleDungeon02_Dusk 正式 +40613 SCENE_DUNGEON Level_CycleDungeon02_Night Data/Environment/EnviroSystemProfile/Dungeon/ESP_CycleDungeon02_Night 正式 +40614 SCENE_DUNGEON Level_CycleDungeon02_Night Data/Environment/EnviroSystemProfile/Dungeon/ESP_CycleDungeon02_Night 正式 +40615 SCENE_DUNGEON NotUse Level_CycleDungeon02_Night Data/Environment/EnviroSystemProfile/Dungeon/ESP_CycleDungeon02_Water 测试 +40616 SCENE_DUNGEON NotUse Level_Daily_Water 测试 +40617 SCENE_DUNGEON Level_CycleDungeon02_Chasm Data/Environment/EnviroSystemProfile/Dungeon/ESP_CycleDungeon02_Chasm 正式 +40618 SCENE_DUNGEON Level_CycleDungeon02_Chasm Data/Environment/EnviroSystemProfile/Dungeon/ESP_CycleDungeon02_Chasm 正式 +40619 SCENE_DUNGEON Level_CycleDungeon02_Chasm Data/Environment/EnviroSystemProfile/Dungeon/ESP_CycleDungeon02_Chasm 正式 +40620 SCENE_DUNGEON Level_CycleDungeon02_Chasm Data/Environment/EnviroSystemProfile/Dungeon/ESP_CycleDungeon02_Chasm 正式 +40650 SCENE_DUNGEON Level_Cycle01_XM03 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Cycle01_XM03 正式 +40651 SCENE_DUNGEON Level_Cycle01_XM03 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Cycle01_XM03 正式 +40652 SCENE_DUNGEON Level_Cycle01_XM03 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Cycle01_XM03 正式 +40653 SCENE_DUNGEON Level_Cycle01_XM03 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Cycle01_XM03 正式 +40660 SCENE_DUNGEON Level_Cycle01_XM04 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Xm_Cycle01_XM04 正式 +40661 SCENE_DUNGEON Level_Cycle01_XM04 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Xm_Cycle01_XM04 正式 +40662 SCENE_DUNGEON Level_Cycle01_XM04 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Xm_Cycle01_XM04 正式 +40663 SCENE_DUNGEON Level_Cycle01_XM04 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Xm_Cycle01_XM04 正式 +40664 SCENE_DUNGEON Level_Cycle01_XM04 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Xm_Cycle01_XM04 正式 +40665 SCENE_DUNGEON Level_Cycle01_XM04 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Xm_Cycle01_XM04 正式 +40666 SCENE_DUNGEON Level_Cycle01_XM04 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Xm_Cycle01_XM04 正式 +40667 SCENE_DUNGEON Level_Cycle01_XM04 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Xm_Cycle01_XM04 正式 +40700 SCENE_DUNGEON Level_CycleDungeon01_Rock Data/Environment/EnviroSystemProfile/Dungeon/ESP_CycleDungeon01_Rock TestLevel_Element_Evn_Rock 正式 +40701 SCENE_DUNGEON Level_CycleDungeon01_Rock Data/Environment/EnviroSystemProfile/Dungeon/ESP_CycleDungeon01_Rock TestLevel_Element_Evn_Rock 正式 +40702 SCENE_DUNGEON Level_CycleDungeon01_Rock Data/Environment/EnviroSystemProfile/Dungeon/ESP_CycleDungeon01_Rock TestLevel_Element_Evn_Rock 正式 +40703 SCENE_DUNGEON Level_CycleDungeon01_Rock Data/Environment/EnviroSystemProfile/Dungeon/ESP_CycleDungeon01_Rock TestLevel_Element_Evn_Rock 正式 +40750 SCENE_DUNGEON Level_Cycle02_XM02 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Cycle02_XM02 正式 +40751 SCENE_DUNGEON Level_Cycle02_XM02 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Cycle02_XM02 正式 +40752 SCENE_DUNGEON Level_Cycle02_XM02 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Cycle02_XM02 正式 +40753 SCENE_DUNGEON Level_Cycle02_XM02 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Cycle02_XM02 正式 +40754 SCENE_DUNGEON Level_Cycle01_XM02 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Cycle01_XM02 正式 +40755 SCENE_DUNGEON Level_Cycle01_XM02 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Cycle01_XM02 正式 +40756 SCENE_DUNGEON Level_Cycle01_XM02 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Cycle01_XM02 正式 +40757 SCENE_DUNGEON Level_Cycle01_XM02 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Cycle01_XM02 正式 +40760 SCENE_DUNGEON Level_Cycle_Fontaine01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Fd_CycleDungeon_Fontaine01 正式 +40761 SCENE_DUNGEON Level_Cycle_Fontaine01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Fd_CycleDungeon_Fontaine01 正式 +40762 SCENE_DUNGEON Level_Cycle_Fontaine01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Fd_CycleDungeon_Fontaine01 正式 +40763 SCENE_DUNGEON Level_Cycle_Fontaine01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Fd_CycleDungeon_Fontaine01 正式 +40770 SCENE_DUNGEON Level_Cycle_Fontaine02 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Fd_CycleDungeon_Fontaine02 正式 +40771 SCENE_DUNGEON Level_Cycle_Fontaine02 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Fd_CycleDungeon_Fontaine02 正式 +40772 SCENE_DUNGEON Level_Cycle_Fontaine02 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Fd_CycleDungeon_Fontaine02 正式 +40773 SCENE_DUNGEON Level_Cycle_Fontaine02 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Fd_CycleDungeon_Fontaine02 正式 +40780 SCENE_DUNGEON Level_Cycle_Fontaine03 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Fd_CycleDungeon_Fontaine03 正式 +40781 SCENE_DUNGEON Level_Cycle_Fontaine03 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Fd_CycleDungeon_Fontaine03 正式 +40782 SCENE_DUNGEON Level_Cycle_Fontaine03 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Fd_CycleDungeon_Fontaine03 正式 +40783 SCENE_DUNGEON Level_Cycle_Fontaine03 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Fd_CycleDungeon_Fontaine03 正式 +40784 SCENE_DUNGEON Level_Cycle_Fontaine03 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Fd_CycleDungeon_Fontaine03 正式 +40785 SCENE_DUNGEON Level_Cycle_Fontaine03 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Fd_CycleDungeon_Fontaine03 正式 +40786 SCENE_DUNGEON Level_Cycle_Fontaine03 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Fd_CycleDungeon_Fontaine03 正式 +40787 SCENE_DUNGEON Level_Cycle_Fontaine03 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Fd_CycleDungeon_Fontaine03 正式 +40788 SCENE_DUNGEON Level_Cycle_Fontaine03 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Fd_CycleDungeon_Fontaine03 正式 +40789 SCENE_DUNGEON Level_Cycle_Fontaine03 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Fd_CycleDungeon_Fontaine03 正式 +40790 SCENE_DUNGEON Level_Cycle_Fontaine03 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Fd_CycleDungeon_Fontaine03 正式 +40791 SCENE_DUNGEON Level_Cycle_Fontaine03 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Fd_CycleDungeon_Fontaine03 正式 +40800 SCENE_DUNGEON NotUse Level_CycleDungeon02_ThunderCave_Dq Data/Environment/EnviroSystemProfile/Dungeon/ESP_CycleDungeon02_ThunderCave_Dq 测试 +40801 SCENE_DUNGEON Level_CycleDungeon02_ThunderCave_Dq Data/Environment/EnviroSystemProfile/Dungeon/ESP_CycleDungeon02_ThunderCave_Dq 正式 +40802 SCENE_DUNGEON Level_CycleDungeon02_ThunderCave_Dq Data/Environment/EnviroSystemProfile/Dungeon/ESP_CycleDungeon02_ThunderCave_Dq 正式 +40803 SCENE_DUNGEON Level_CycleDungeon02_ThunderCave_Dq Data/Environment/EnviroSystemProfile/Dungeon/ESP_CycleDungeon02_ThunderCave_Dq 正式 +40804 SCENE_DUNGEON Level_CycleDungeon02_ThunderCave_Dq Data/Environment/EnviroSystemProfile/Dungeon/ESP_CycleDungeon02_ThunderCave_Dq 正式 +40805 SCENE_DUNGEON NotUse Level_CycleDungeon01_Thunder Data/Environment/EnviroSystemProfile/Dungeon/ESP_CycleDungeon01_Thunder 测试 +40806 SCENE_DUNGEON Level_CycleDungeon02_ThunderCave_Dq Data/Environment/EnviroSystemProfile/Dungeon/ESP_CycleDungeon02_ThunderCave_Dq 正式 +40807 SCENE_DUNGEON Level_CycleDungeon02_ThunderCave_Dq Data/Environment/EnviroSystemProfile/Dungeon/ESP_CycleDungeon02_ThunderCave_Dq 正式 +40808 SCENE_DUNGEON Level_CycleDungeon02_ThunderCave_Dq Data/Environment/EnviroSystemProfile/Dungeon/ESP_CycleDungeon02_ThunderCave_Dq 正式 +40809 SCENE_DUNGEON Level_CycleDungeon02_ThunderCave_Dq Data/Environment/EnviroSystemProfile/Dungeon/ESP_CycleDungeon02_ThunderCave_Dq 正式 +40900 SCENE_DUNGEON Level_CycleDungeon01_Rock Data/Environment/EnviroSystemProfile/Dungeon/ESP_CycleDungeon01_Rock TestLevel_Element_Evn_Rock 正式 +40901 SCENE_DUNGEON Level_CycleDungeon01_Rock Data/Environment/EnviroSystemProfile/Dungeon/ESP_CycleDungeon01_Rock TestLevel_Element_Evn_Rock 正式 +40902 SCENE_DUNGEON Level_CycleDungeon01_Rock Data/Environment/EnviroSystemProfile/Dungeon/ESP_CycleDungeon01_Rock TestLevel_Element_Evn_Rock 正式 +40903 SCENE_DUNGEON Level_CycleDungeon01_Rock Data/Environment/EnviroSystemProfile/Dungeon/ESP_CycleDungeon01_Rock TestLevel_Element_Evn_Rock 正式 +40950 SCENE_DUNGEON Level_CycleDungeon01_Thunder_Dq Data/Environment/EnviroSystemProfile/Dungeon/ESP_CycleDungeon01_Thunder_Dq 正式 +40951 SCENE_DUNGEON Level_CycleDungeon01_Thunder_Dq Data/Environment/EnviroSystemProfile/Dungeon/ESP_CycleDungeon01_Thunder_Dq 正式 +40952 SCENE_DUNGEON Level_CycleDungeon01_Thunder_Dq Data/Environment/EnviroSystemProfile/Dungeon/ESP_CycleDungeon01_Thunder_Dq 正式 +40953 SCENE_DUNGEON Level_CycleDungeon01_Thunder_Dq Data/Environment/EnviroSystemProfile/Dungeon/ESP_CycleDungeon01_Thunder_Dq 正式 +41000 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41001 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41002 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41003 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41004 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41005 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41006 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41007 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41008 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41009 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41010 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41011 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41012 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41013 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41014 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41015 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41016 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41017 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41018 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41019 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41020 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41021 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41022 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41023 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41024 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41025 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41026 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41027 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41028 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41029 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41030 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41031 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41032 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41033 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41034 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41035 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41036 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41037 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41038 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41039 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41040 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41041 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41042 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41043 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41044 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41045 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41046 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41047 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41048 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41049 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41050 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41051 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41052 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41053 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41054 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41055 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41056 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41057 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41058 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41059 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41060 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41061 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41062 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41063 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41064 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41065 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41066 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41067 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41068 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41069 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41070 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41071 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41072 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41073 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41074 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41075 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41076 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41077 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41078 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41079 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41080 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41081 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41082 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41083 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41084 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41085 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41086 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41087 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41088 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41089 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41090 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41091 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41092 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41093 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41094 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41095 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41096 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41097 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41098 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41099 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41100 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41101 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41102 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41103 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41104 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41105 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +41106 SCENE_DUNGEON Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +42001 SCENE_DUNGEON Level_PFDungeon02_Active01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_PFDungeon02_Active01 正式 +42002 SCENE_DUNGEON Level_PFDungeon02_Active02 Data/Environment/EnviroSystemProfile/Dungeon/ESP_PFDungeon02_Active01 正式 +42003 SCENE_DUNGEON Level_PFDungeon02_Active07 Data/Environment/EnviroSystemProfile/Dungeon/ESP_PFDungeon02_Active01 正式 +42004 SCENE_DUNGEON Level_PFDungeon02_Active06 Data/Environment/EnviroSystemProfile/Dungeon/ESP_PFDungeon02_Active01 正式 +42005 SCENE_DUNGEON Level_PFDungeon02_Active05 Data/Environment/EnviroSystemProfile/Dungeon/ESP_PFDungeon02_Active01 正式 +42006 SCENE_DUNGEON Level_PFDungeon02_Active03 Data/Environment/EnviroSystemProfile/Dungeon/ESP_PFDungeon02_Active01 正式 +42007 SCENE_DUNGEON Level_PFDungeon02_Active04 Data/Environment/EnviroSystemProfile/Dungeon/ESP_PFDungeon02_Active01 正式 +42008 SCENE_DUNGEON Level_PFDungeon02_Active07 Data/Environment/EnviroSystemProfile/Dungeon/ESP_PFDungeon02_Active01 正式 +42009 SCENE_DUNGEON Level_PFDungeon02_Active02 Data/Environment/EnviroSystemProfile/Dungeon/ESP_PFDungeon02_Active01 正式 +42010 SCENE_DUNGEON Level_PFDungeon02_Active01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_PFDungeon02_Active01 正式 +42011 SCENE_DUNGEON Level_PFDungeon02_Active05 Data/Environment/EnviroSystemProfile/Dungeon/ESP_PFDungeon02_Active01 正式 +42012 SCENE_DUNGEON Level_PFDungeon02_Active04 Data/Environment/EnviroSystemProfile/Dungeon/ESP_PFDungeon02_Active01 正式 +42013 SCENE_DUNGEON Level_PFDungeon02_Active07 Data/Environment/EnviroSystemProfile/Dungeon/ESP_PFDungeon02_Active01 正式 +42014 SCENE_DUNGEON Level_PFDungeon02_Active03 Data/Environment/EnviroSystemProfile/Dungeon/ESP_PFDungeon02_Active01 正式 +43001 SCENE_DUNGEON Level_FCdungeon_MistTrial 正式 +43002 SCENE_DUNGEON Level_FCdungeon_MistTrial 正式 +43003 SCENE_DUNGEON Level_FCdungeon_MistTrial 正式 +43004 SCENE_DUNGEON Level_FCdungeon_MistTrial 正式 +43005 SCENE_DUNGEON Level_FCdungeon_MistTrial 正式 +43006 SCENE_DUNGEON Level_FCdungeon_MistTrial 正式 +43007 SCENE_DUNGEON Level_FCdungeon_MistTrial 正式 +43008 SCENE_DUNGEON Level_FCdungeon_MistTrial 正式 +43009 SCENE_DUNGEON Level_FCdungeon_MistTrial 正式 +43010 SCENE_DUNGEON Level_FCdungeon_MistTrial 正式 +43011 SCENE_DUNGEON Level_FCdungeon_MistTrial 正式 +43012 SCENE_DUNGEON Level_FCdungeon_MistTrial 正式 +43013 SCENE_DUNGEON Level_FCdungeon_MistTrial 正式 +44001 SCENE_DUNGEON Level_PFDungeon01 正式 +44002 SCENE_DUNGEON Level_KaeyaTutorialMission02 正式 +44003 SCENE_DUNGEON PlotLevel_XiangLingLevel_Xyd 正式 +44004 SCENE_DUNGEON Level_Tower_Dusk_01 正式 +44005 SCENE_DUNGEON Level_Tower_Moon_01 正式 +44006 SCENE_DUNGEON Level_Tower_Element_Thunder_01 正式 +44007 SCENE_DUNGEON Level_Tower_Universe_01 正式 +44011 SCENE_DUNGEON Level_Tower_Moon_01 正式 +44012 SCENE_DUNGEON Level_Tower_Night_01 正式 +44013 SCENE_DUNGEON Level_Tower_Moon_01 正式 +45000 SCENE_DUNGEON Level_PFDungeon02_ReActive02 Data/Environment/EnviroSystemProfile/Dungeon/ESP_PFDungeon02_Active01 正式 +45001 SCENE_DUNGEON Level_PFDungeon02_ReActive01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_PFDungeon02_Active01 正式 +45002 SCENE_DUNGEON Level_PFDungeon02_ReActive02 Data/Environment/EnviroSystemProfile/Dungeon/ESP_PFDungeon02_Active01 正式 +45003 SCENE_DUNGEON Level_PFDungeon02_ReActive03 Data/Environment/EnviroSystemProfile/Dungeon/ESP_PFDungeon02_Active01 正式 +45004 SCENE_DUNGEON Level_PFDungeon02_ReActive04 Data/Environment/EnviroSystemProfile/Dungeon/ESP_PFDungeon02_Active01 正式 +45005 SCENE_DUNGEON Level_PFDungeon02_ReActive05 Data/Environment/EnviroSystemProfile/Dungeon/ESP_PFDungeon02_Active01 正式 +45006 SCENE_DUNGEON Level_PFDungeon02_ReActive06 Data/Environment/EnviroSystemProfile/Dungeon/ESP_PFDungeon02_Active01 正式 +45007 SCENE_DUNGEON Level_PFDungeon02_ReActive05 Data/Environment/EnviroSystemProfile/Dungeon/ESP_PFDungeon02_Active01 正式 +45008 SCENE_DUNGEON Level_PFDungeon02_ReActive01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_PFDungeon02_Active01 正式 +45009 SCENE_DUNGEON Level_PFDungeon02_ReActive02 Data/Environment/EnviroSystemProfile/Dungeon/ESP_PFDungeon02_Active01 正式 +45010 SCENE_DUNGEON Level_PFDungeon02_ReActive03 Data/Environment/EnviroSystemProfile/Dungeon/ESP_PFDungeon02_Active01 正式 +45011 SCENE_DUNGEON Level_PFDungeon02_ReActive04 Data/Environment/EnviroSystemProfile/Dungeon/ESP_PFDungeon02_Active01 正式 +45012 SCENE_DUNGEON Level_PFDungeon02_ReActive05 Data/Environment/EnviroSystemProfile/Dungeon/ESP_PFDungeon02_Active01 正式 +45013 SCENE_DUNGEON Level_PFDungeon02_Active08 Data/Environment/EnviroSystemProfile/Dungeon/ESP_PFDungeon02_Active01 正式 +45014 SCENE_DUNGEON Level_PFDungeon02_Active02 Data/Environment/EnviroSystemProfile/Dungeon/ESP_PFDungeon02_Active01 正式 +45015 SCENE_DUNGEON Level_PFDungeon02_Active03 Data/Environment/EnviroSystemProfile/Dungeon/ESP_PFDungeon02_Active01 正式 +45016 SCENE_DUNGEON Level_PFDungeon02_Active04 Data/Environment/EnviroSystemProfile/Dungeon/ESP_PFDungeon02_Active01 正式 +45017 SCENE_DUNGEON Level_PFDungeon02_Active08 Data/Environment/EnviroSystemProfile/Dungeon/ESP_PFDungeon02_Active01 正式 +45018 SCENE_DUNGEON Level_PFDungeon02_Active02 Data/Environment/EnviroSystemProfile/Dungeon/ESP_PFDungeon02_Active01 正式 +45019 SCENE_DUNGEON Level_PFDungeon02_Active03 Data/Environment/EnviroSystemProfile/Dungeon/ESP_PFDungeon02_Active01 正式 +45020 SCENE_DUNGEON Level_PFDungeon02_Active04 Data/Environment/EnviroSystemProfile/Dungeon/ESP_PFDungeon02_Active01 正式 +45050 SCENE_DUNGEON Client Level_CustomLevel_A_01 Level_UGC_Dungeon 正式 +45051 SCENE_DUNGEON Client Level_CustomLevel_A_02 Level_UGC_Dungeon 正式 +45052 SCENE_DUNGEON Client Level_CustomLevel_A_03 Level_UGC_Dungeon 正式 +45053 SCENE_DUNGEON Client Level_CustomLevel_A_04 Level_UGC_Dungeon 正式 +45054 SCENE_DUNGEON Client Level_CustomLevel_A_05 Level_UGC_Dungeon 正式 +45055 SCENE_DUNGEON Level_CustomLevel_A_01 Level_UGC_Dungeon 正式 +45056 SCENE_DUNGEON Level_CustomLevel_A_02 Level_UGC_Dungeon 正式 +45057 SCENE_DUNGEON Level_CustomLevel_A_03 Level_UGC_Dungeon 正式 +45058 SCENE_DUNGEON Level_CustomLevel_A_04 Level_UGC_Dungeon 正式 +45059 SCENE_DUNGEON Level_CustomLevel_A_05 Level_UGC_Dungeon 正式 +46001 SCENE_DUNGEON Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 正式 +46101 SCENE_DUNGEON Level_HFDungeon_Prison01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_HFdungeon_Prison01 正式 +46201 SCENE_DUNGEON Level_CYDungeon_ActivityRouge01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_CYDungeon_Activy01 LevelEntity_Activity_V2_7_CYRogue_46201 正式 +46202 SCENE_DUNGEON Level_CYDungeon_Activy02 Data/Environment/EnviroSystemProfile/Dungeon/ESP_CYDungeon_Activy02 LevelEntity_Activity_V2_7_CYRogue_46202 正式 +46203 SCENE_DUNGEON Level_CYDungeon_Activy03 Data/Environment/EnviroSystemProfile/Dungeon/ESP_HFdungeon_Prison01 LevelEntity_Activity_V2_7_CYRogue_46203 正式 +46300 SCENE_DUNGEON Level_SmrDungeon_Challenge Data/Environment/EnviroSystemProfile/Dungeon/ESP_SmrDungeon_BigTree_Flower 正式 +46301 SCENE_DUNGEON Level_FCdungeon_Cloud01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_FCdungeon_Cloud01 正式 +46302 SCENE_DUNGEON Level_SmrDungeon_Challenge Data/Environment/EnviroSystemProfile/Dungeon/ESP_SmrDungeon_BigTree_Flower 正式 +46303 SCENE_DUNGEON Level_SmrDungeon_Challenge Data/Environment/EnviroSystemProfile/Dungeon/ESP_SmrDungeon_BigTree_Flower 正式 +46304 SCENE_DUNGEON Level_FCdungeon_Cloud01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_FCdungeon_Cloud01 正式 +46305 SCENE_DUNGEON Level_FCdungeon_Cloud01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_FCdungeon_Cloud01 正式 +46306 SCENE_DUNGEON Level_FCdungeon_Cloud01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_FCdungeon_Cloud01 正式 +46310 SCENE_DUNGEON Level_FCdungeon_Cloud01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_FCdungeon_Cloud01 正式 +46311 SCENE_DUNGEON Level_FCdungeon_Cloud01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_FCdungeon_Cloud01 正式 +46312 SCENE_DUNGEON Level_FCdungeon_Cloud01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_FCdungeon_Cloud01 正式 +46313 SCENE_DUNGEON Level_FCdungeon_Cloud01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_FCdungeon_Cloud01 正式 +46320 SCENE_DUNGEON Level_FDBattle_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Du41_FDBattle_01 正式 +46321 SCENE_DUNGEON Level_FDBattle_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Du41_FDBattle_01 正式 +46322 SCENE_DUNGEON Level_FDBattle_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Du41_FDBattle_01 正式 +46323 SCENE_DUNGEON Level_FDBattle_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Du41_FDBattle_01 正式 +46324 SCENE_DUNGEON Level_FDBattle_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Du41_FDBattle_01 正式 +47001 SCENE_DUNGEON Level_OnmyoMaze_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_OnmyoMaze01_FirstStage 正式 +47002 SCENE_DUNGEON Level_OnmyoMaze_05 Data/Environment/EnviroSystemProfile/Dungeon/ESP_OnmyoMaze01_SecondStage 正式 +47003 SCENE_DUNGEON Level_OnmyoMaze_03 Data/Environment/EnviroSystemProfile/Dungeon/ESP_OnmyoMaze01_TheThirdPhase 正式 +47004 SCENE_DUNGEON Level_OnmyoMaze_04 Data/Environment/EnviroSystemProfile/Dungeon/ESP_OnmyoMaze01_FirstStage 正式 +47005 SCENE_DUNGEON Level_OnmyoMaze_02 Data/Environment/EnviroSystemProfile/Dungeon/ESP_OnmyoMaze01_SecondStage 正式 +47006 SCENE_DUNGEON Level_OnmyoMaze_06 Data/Environment/EnviroSystemProfile/Dungeon/ESP_OnmyoMaze01_TheThirdPhase 正式 +47007 SCENE_DUNGEON Level_OnmyoMaze_07 Data/Environment/EnviroSystemProfile/Dungeon/ESP_OnmyoMaze01_FirstStage 正式 +47008 SCENE_DUNGEON Level_OnmyoMaze_08 Data/Environment/EnviroSystemProfile/Dungeon/ESP_OnmyoMaze01_TheThirdPhase 正式 +47009 SCENE_DUNGEON Level_OnmyoMaze_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_OnmyoMaze01_FirstStage 正式 +47010 SCENE_DUNGEON Level_OnmyoMaze_05 Data/Environment/EnviroSystemProfile/Dungeon/ESP_OnmyoMaze01_SecondStage 正式 +47011 SCENE_DUNGEON NotUse Level_OnmyoMaze_05 Data/Environment/EnviroSystemProfile/Dungeon/ESP_OnmyoMaze01_SecondStage 测试 +47012 SCENE_DUNGEON NotUse TestLevel_Dq_Rouge_SLL03 测试 +47013 SCENE_DUNGEON NotUse Level_OnmyoMaze_03 Data/Environment/EnviroSystemProfile/Dungeon/ESP_OnmyoMaze01_TheThirdPhase 测试 +47014 SCENE_DUNGEON NotUse TestLevel_Dq_Rouge_SLL05 测试 +47015 SCENE_DUNGEON NotUse TestLevel_Dq_Rouge_SLL06 测试 +47016 SCENE_DUNGEON NotUse TestLevel_Dq_Rouge_LX01 测试 +47017 SCENE_DUNGEON NotUse TestLevel_Dq_Rouge_LX02 测试 +47018 SCENE_DUNGEON NotUse TestLevel_Dq_Rouge_LX03 测试 +47019 SCENE_DUNGEON NotUse TestLevel_Dq_Rouge_LX04 测试 +47020 SCENE_DUNGEON NotUse TestLevel_Dq_Rouge_LX05 测试 +47021 SCENE_DUNGEON Level_WindDungeon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_WindDungeon_01 正式 +47022 SCENE_DUNGEON Level_WindDungeon_02 Data/Environment/EnviroSystemProfile/Dungeon/ESP_WindDungeon_02 正式 +47023 SCENE_DUNGEON Level_WindDungeon_03 Data/Environment/EnviroSystemProfile/Dungeon/ESP_WindDungeon_03 正式 +47024 SCENE_DUNGEON Level_WindDungeon_04 Data/Environment/EnviroSystemProfile/Dungeon/ESP_WindDungeon_04 正式 +47025 SCENE_DUNGEON Level_WindDungeon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_WindDungeon_01 正式 +47101 SCENE_DUNGEON Level_FungusFighter Data/Environment/EnviroSystemProfile/BigWorld/ESP_XM_FungusFighter LevelEntity_Activity_V3_2_MushroomBeastBattle 正式 +47102 SCENE_DUNGEON Level_FungusFighter Data/Environment/EnviroSystemProfile/BigWorld/ESP_XM_FungusFighter LevelEntity_Activity_V3_2_MushroomBeastBattle 正式 +47103 SCENE_DUNGEON Level_FungusFighter Data/Environment/EnviroSystemProfile/BigWorld/ESP_XM_FungusFighter LevelEntity_Activity_V3_2_MushroomBeastBattle 正式 +47201 SCENE_DUNGEON Level_Smr_LostCity LevelEntity_Activity_V3_3_LostCity_47201 正式 +47202 SCENE_DUNGEON Level_Smr_LostCity LevelEntity_Activity_V3_3_LostCity_47202 正式 +47203 SCENE_DUNGEON Level_Smr_LostCity LevelEntity_Activity_V3_3_LostCity_47203 正式 +47204 SCENE_DUNGEON Level_Smr_LostCity LevelEntity_Activity_V3_3_LostCity_47204 正式 +47205 SCENE_DUNGEON Level_Smr_LostCity LevelEntity_Activity_V3_3_LostCity_47205 正式 +47206 SCENE_DUNGEON Level_Smr_LostCity LevelEntity_Activity_V3_3_LostCity_47206 正式 +47207 SCENE_DUNGEON Level_Smr_LostCity LevelEntity_Activity_V3_3_LostCity_47207 正式 +47301 SCENE_DUNGEON Level_ContestBattle01 正式 +47302 SCENE_DUNGEON Level_ContestBattle01 正式 +47303 SCENE_DUNGEON Level_ContestBattle01 正式 +47304 SCENE_DUNGEON Level_ContestBattle01 正式 +47305 SCENE_DUNGEON Level_ContestBattle01 正式 +47306 SCENE_DUNGEON Level_ContestBattle01 正式 +47307 SCENE_DUNGEON Level_ContestBattle01 正式 +47401 SCENE_DUNGEON Level_PacMan_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Du35_ActivityPacMan_01_Day 正式 +47402 SCENE_DUNGEON Level_PacMan_02 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Du35_ActivityPacMan_02_Day 正式 +47403 SCENE_DUNGEON Level_PacMan_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Du35_ActivityPacMan_01_Day 正式 +47404 SCENE_DUNGEON Level_PacMan_02 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Du35_ActivityPacMan_02_Day 正式 +47405 SCENE_DUNGEON Level_PacMan_03 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Du35__ActivityPacMan_01_Night_Light 正式 +47406 SCENE_DUNGEON Level_PacMan_03 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Du35__ActivityPacMan_01_Night_Fog 正式 +47501 SCENE_DUNGEON Level_Custom_Play01 Level_UGC_Dungeon_02 正式 SCENE_SUB_TYPE_UGC_PLAY VISION_LEVEL_LITTLE_REMOTE +47502 SCENE_DUNGEON NotUse Level_Custom_Edit01 正式 VISION_LEVEL_LITTLE_REMOTE +47601 SCENE_DUNGEON Level_CloudCombat_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Du37_CloudCombat_01 正式 +47602 SCENE_DUNGEON Level_OnmyoCombat_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Du37_OnmyoCombat_01 正式 +47603 SCENE_DUNGEON Level_XM_BigLeaf Data/Environment/EnviroSystemProfile/BigWorld/ESP_XM_FungusFighter 正式 +47604 SCENE_DUNGEON Level_XM_BigLeaf Data/Environment/EnviroSystemProfile/BigWorld/ESP_XM_FungusFighter 正式 +47605 SCENE_DUNGEON Level_XM_BigLeaf Data/Environment/EnviroSystemProfile/BigWorld/ESP_XM_FungusFighter 正式 +47606 SCENE_DUNGEON Level_OnmyoCombat_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Du37_OnmyoCombat_01 正式 +47607 SCENE_DUNGEON Level_CloudCombat_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Du37_CloudCombat_01 正式 +47608 SCENE_DUNGEON Level_Carnival02 Level_CharAmusement_Dungeon 正式 +47610 SCENE_DUNGEON Level_XM_BigLeaf Data/Environment/EnviroSystemProfile/BigWorld/ESP_XM_FungusFighter 正式 +47611 SCENE_DUNGEON Level_XM_BigLeaf Data/Environment/EnviroSystemProfile/BigWorld/ESP_XM_FungusFighter 正式 +47612 SCENE_DUNGEON Level_FCdungeon_Cloud01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_FCdungeon_Cloud01 正式 +47613 SCENE_DUNGEON Level_FDBattle_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Du41_FDBattle_01 正式 +47614 SCENE_DUNGEON Level_OnmyoCombat_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Du37_OnmyoCombat_01 正式 +47615 SCENE_DUNGEON Level_XM_BigLeaf Data/Environment/EnviroSystemProfile/BigWorld/ESP_XM_FungusFighter 正式 +47616 SCENE_DUNGEON Level_FCdungeon_Cloud01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_FCdungeon_Cloud01 正式 +47617 SCENE_DUNGEON Level_FDBattle_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Du41_FDBattle_01 正式 +47701 SCENE_DUNGEON NotUse Level_Sniper01 Data/Environment/EnviroSystemProfile/BigWorld/ESP_Xm_City_General 测试 +47711 SCENE_DUNGEON Level_FilmfestBallGame Data/Environment/EnviroSystemProfile/Dungeon/ESP_Du43_Level_FilmfestBallGame LevelEntity_Activity_FilmfestBallGame 正式 +47712 SCENE_DUNGEON Level_FilmfestBallGame Data/Environment/EnviroSystemProfile/Dungeon/ESP_Du43_Level_FilmfestBallGame LevelEntity_Activity_FilmfestBallGame_02 正式 +47713 SCENE_DUNGEON Level_FilmfestBallGame Data/Environment/EnviroSystemProfile/Dungeon/ESP_Du43_Level_FilmfestBallGame LevelEntity_Activity_FilmfestBallGame_03 正式 +47714 SCENE_DUNGEON Level_FilmfestBallGame Data/Environment/EnviroSystemProfile/Dungeon/ESP_Du43_Level_FilmfestBallGame LevelEntity_Activity_FilmfestBallGame_04 正式 +47715 SCENE_DUNGEON Level_FilmfestBallGame Data/Environment/EnviroSystemProfile/Dungeon/ESP_Du43_Level_FilmfestBallGame LevelEntity_Activity_FilmfestBallGame_05 正式 +47716 SCENE_DUNGEON Level_FDBattle_02 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Du41_FDBattle_02 LevelEntity_ClearLocalGadgets 正式 +47717 SCENE_DUNGEON Level_FDBattle_02 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Du41_FDBattle_02 LevelEntity_ClearLocalGadgets 正式 +47718 SCENE_DUNGEON Level_FDBattle_02 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Du41_FDBattle_02 LevelEntity_ClearLocalGadgets 正式 +47719 SCENE_DUNGEON Level_FDBattle_02 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Du41_FDBattle_02 LevelEntity_ClearLocalGadgets 正式 +47720 SCENE_DUNGEON Level_FDBattle_02 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Du41_FDBattle_02 LevelEntity_ClearLocalGadgets 正式 +47721 SCENE_DUNGEON Level_Combat_Fd_Studio Data/Environment/EnviroSystemProfile/Dungeon/ESP_Du43_Level_Combat_Fd_Studio LevelEntity_ClearLocalGadgets 正式 +47722 SCENE_DUNGEON Level_Combat_Fd_Studio Data/Environment/EnviroSystemProfile/Dungeon/ESP_Du43_Level_Combat_Fd_Studio LevelEntity_ClearLocalGadgets 正式 +47723 SCENE_DUNGEON Level_Combat_Fd_Studio Data/Environment/EnviroSystemProfile/Dungeon/ESP_Du43_Level_Combat_Fd_Studio LevelEntity_ClearLocalGadgets 正式 +47724 SCENE_DUNGEON Level_Combat_Fd_Studio Data/Environment/EnviroSystemProfile/Dungeon/ESP_Du43_Level_Combat_Fd_Studio LevelEntity_ClearLocalGadgets 正式 +47725 SCENE_DUNGEON Level_Combat_Fd_Studio Data/Environment/EnviroSystemProfile/Dungeon/ESP_Du43_Level_Combat_Fd_Studio LevelEntity_ClearLocalGadgets 正式 +47726 SCENE_DUNGEON Level_Combat_Fd_Studio Data/Environment/EnviroSystemProfile/Dungeon/ESP_Du43_Level_Combat_Fd_Studio LevelEntity_ClearLocalGadgets 正式 +47727 SCENE_DUNGEON Level_Combat_Fd_Studio Data/Environment/EnviroSystemProfile/Dungeon/ESP_Du43_Level_Combat_Fd_Studio LevelEntity_ClearLocalGadgets 正式 +47728 SCENE_DUNGEON Level_Combat_Fd_Studio Data/Environment/EnviroSystemProfile/Dungeon/ESP_Du43_Level_Combat_Fd_Studio LevelEntity_ClearLocalGadgets 正式 +47730 SCENE_DUNGEON NotUse Level_Carnival02 LevelBuff_ActivityAbility_BulletHell_01 正式 +47731 SCENE_DUNGEON NotUse Level_Carnival02 LevelBuff_ActivityAbility_BulletHell_02 正式 +47732 SCENE_DUNGEON NotUse Level_Carnival02 LevelBuff_ActivityAbility_BulletHell_03 正式 +47733 SCENE_DUNGEON NotUse Level_Carnival02 LevelBuff_ActivityAbility_BulletHell_04 正式 +47734 SCENE_DUNGEON NotUse Level_Carnival02 LevelBuff_ActivityAbility_BulletHell_05 正式 +47735 SCENE_DUNGEON NotUse Level_Carnival02 LevelBuff_ActivityAbility_BulletHell_06 正式 +47801 SCENE_DUNGEON Level_FD_MistTrial Data/Environment/EnviroSystemProfile/Dungeon/ESP_Du42_MistTrial_Indoor 正式 +47802 SCENE_DUNGEON Level_FD_MistTrial Data/Environment/EnviroSystemProfile/Dungeon/ESP_Du42_MistTrial_Indoor 正式 +47803 SCENE_DUNGEON Level_FD_MistTrial Data/Environment/EnviroSystemProfile/Dungeon/ESP_Du42_MistTrial_Indoor 正式 +47804 SCENE_DUNGEON Level_FD_MistTrial Data/Environment/EnviroSystemProfile/Dungeon/ESP_Du42_MistTrial_Indoor 正式 +47805 SCENE_DUNGEON Level_FD_MistTrial Data/Environment/EnviroSystemProfile/Dungeon/ESP_Du42_MistTrial_Indoor 正式 +47806 SCENE_DUNGEON Level_FD_MistTrial Data/Environment/EnviroSystemProfile/Dungeon/ESP_Du42_MistTrial_Indoor 正式 +47807 SCENE_DUNGEON Level_FD_MistTrial Data/Environment/EnviroSystemProfile/Dungeon/ESP_Du42_MistTrial_Indoor 正式 +47808 SCENE_DUNGEON Level_Combat_Fd_Studio Data/Environment/EnviroSystemProfile/Dungeon/ESP_Du43_Level_Combat_Fd_Studio 正式 +47809 SCENE_DUNGEON Level_Combat_Fd_Studio Data/Environment/EnviroSystemProfile/Dungeon/ESP_Du43_Level_Combat_Fd_Studio 正式 +47810 SCENE_DUNGEON Level_Combat_Fd_Studio Data/Environment/EnviroSystemProfile/Dungeon/ESP_Du43_Level_Combat_Fd_Studio 正式 +47811 SCENE_DUNGEON Level_Combat_Fd_Studio Data/Environment/EnviroSystemProfile/Dungeon/ESP_Du43_Level_Combat_Fd_Studio 正式 +47812 SCENE_DUNGEON Level_FDBattle_01b Data/Environment/EnviroSystemProfile/Dungeon/ESP_Du41_FDBattle_01B 正式 +47813 SCENE_DUNGEON Level_FDBattle_01b Data/Environment/EnviroSystemProfile/Dungeon/ESP_Du41_FDBattle_01B 正式 +47814 SCENE_DUNGEON Level_FDBattle_01b Data/Environment/EnviroSystemProfile/Dungeon/ESP_Du41_FDBattle_01B 正式 +47815 SCENE_DUNGEON Level_FDBattle_01b Data/Environment/EnviroSystemProfile/Dungeon/ESP_Du41_FDBattle_01B 正式 +47816 SCENE_DUNGEON Level_FDBattle_01b Data/Environment/EnviroSystemProfile/Dungeon/ESP_Du41_FDBattle_01B 正式 +47901 SCENE_DUNGEON Level_FD_MistTrial LevelEntity_Activity_V4_2_LostCity_47901 正式 +47902 SCENE_DUNGEON Level_FD_MistTrial LevelEntity_Activity_V4_2_LostCity_47902 正式 +47903 SCENE_DUNGEON Level_FD_MistTrial LevelEntity_Activity_V4_2_LostCity_47903 正式 +47904 SCENE_DUNGEON Level_FD_MistTrial LevelEntity_Activity_V4_2_LostCity_47904 正式 +47905 SCENE_DUNGEON Level_FD_MistTrial LevelEntity_Activity_V4_2_LostCity_47905 正式 +47906 SCENE_DUNGEON Level_FD_MistTrial LevelEntity_Activity_V4_2_LostCity_47906 正式 +47907 SCENE_DUNGEON Level_FD_MistTrial LevelEntity_Activity_V4_2_LostCity_47907 正式 +47911 SCENE_DUNGEON Level_LostSamachurlBoss Data/Environment/EnviroSystemProfile/Dungeon/ESP_Du44_Level_LostSamachurlBoss Level_LostSamachurl_BossBattle 正式 +47912 SCENE_DUNGEON Level_LostSamachurlBoss Data/Environment/EnviroSystemProfile/Dungeon/ESP_Du44_Level_LostSamachurlBoss 正式 +47913 SCENE_DUNGEON Level_LostSamachurlBoss Data/Environment/EnviroSystemProfile/Dungeon/ESP_Du44_Level_LostSamachurlBoss 正式 +47914 SCENE_DUNGEON Level_LostSamachurlBoss Data/Environment/EnviroSystemProfile/Dungeon/ESP_Du44_Level_LostSamachurlBoss 正式 +47921 SCENE_DUNGEON Level_LanternParty01 LevelEntity_Activity_LanternRite_PartyLion_CoinBattle 正式 +47922 SCENE_DUNGEON Level_LanternParty02 LevelEntity_Activity_LanternRite_PartyLion_Crown 正式 +47923 SCENE_DUNGEON Level_LanternParty03 LevelEntity_Activity_LanternRite_PartyLion_Survival 正式 +48000 SCENE_DUNGEON Level_TowerV2_Lounge01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Du45_TowerV2_Lounge01 LevelEntity_Activity_RoleCombat_RestRoom 正式 +48001 SCENE_DUNGEON Level_TowerV2_Combat01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Du45_TowerV2_Auditorium LevelEntity_Activity_RoleCombat_BattleRoom 正式 +48002 SCENE_DUNGEON Level_TowerV2_Combat02 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Du45_TowerV2_Combat02 LevelEntity_Activity_RoleCombat_BattleRoom 正式 +48003 SCENE_DUNGEON Level_TowerV2_Combat03 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Du45_TowerV2_Combat03 LevelEntity_Activity_RoleCombat_BattleRoom 正式 +48010 SCENE_DUNGEON BigWorld_LevelStreaming Data/Environment/EnviroSystemProfile/BigWorld/ESP_Md_General Level_EffigyV5 正式 3 +48011 SCENE_DUNGEON BigWorld_LevelStreaming Data/Environment/EnviroSystemProfile/BigWorld/ESP_Md_General Level_EffigyV5 正式 3 +48012 SCENE_DUNGEON BigWorld_LevelStreaming Data/Environment/EnviroSystemProfile/BigWorld/ESP_Md_General Level_EffigyV5 正式 3 +48013 SCENE_DUNGEON BigWorld_LevelStreaming Data/Environment/EnviroSystemProfile/BigWorld/ESP_Md_General Level_EffigyV5 正式 3 +50002 SCENE_DUNGEON NotUse TestLevel_Cold_LYX TestLevel_Cold 测试 +50003 SCENE_DUNGEON NotUse TestLevel_Battle_CLX 测试 +50004 SCENE_DUNGEON NotUse Level_PowerCharge_Test 测试 +50005 SCENE_DUNGEON NotUse Level_ElementGameplay_Test 测试 +50006 SCENE_DUNGEON NotUse Level_KaeyaTutorialMission02 测试 +50007 SCENE_DUNGEON NotUse Level_PowerCharge_Test Level_ClimbTest1 测试 +50008 SCENE_DUNGEON NotUse Level_Function_BlackBox_Test 测试 +50009 SCENE_DUNGEON NotUse TestLevelGameplay_CX 测试 +50010 SCENE_DUNGEON NotUse TestLevelGameplay_LSA 测试 +50011 SCENE_DUNGEON NotUse Level_CycleDungeon01_Fire Level_Explode_Test 测试 +50012 SCENE_DUNGEON NotUse Level_CycleDungeon01_Ice Level_Swril_Test 测试 +50013 SCENE_DUNGEON NotUse Level_CycleDungeon01_Fire Level_Melt_Test 测试 +50014 SCENE_DUNGEON NotUse Monster_StrategyTest_LTJ 测试 +50015 SCENE_DUNGEON NotUse LevelTestRooms 测试 +50016 SCENE_DUNGEON NotUse Level_CharactersPattern_Test 测试 +50017 SCENE_DUNGEON NotUse Level_Tower_Moon_01 测试 +50018 SCENE_DUNGEON NotUse TestLevel_Protect_MC 测试 +50019 SCENE_DUNGEON NotUse TestLevel_Protect_MC TestLevel_Element_Evn_Rock 测试 +50020 SCENE_WORLD NotUse ClimbTest1 测试 +50021 SCENE_DUNGEON NotUse LevelTest_TestTest_WG 测试 +50022 SCENE_DUNGEON NotUse TestLevel_PFDungeon01_ZHT 测试 +50023 SCENE_DUNGEON NotUse Level_Tower_Dusk_01 测试 +50024 SCENE_DUNGEON NotUse Level_Tower_Dusk_01 LevelEntity_TowerBuff_ElementReactionHurt_Melt 测试 +50025 SCENE_DUNGEON NotUse Level_CycleDungeon02_Normal 测试 +50026 SCENE_DUNGEON NotUse Level_CycleDungeon02_Normal 测试 +50027 SCENE_DUNGEON NotUse Level_CycleDungeon02_Normal 测试 +50028 SCENE_DUNGEON NotUse TestLevel_CycleFire_YQT 测试 +50029 SCENE_DUNGEON NotUse Level_TdGameplay_Test 测试 +50030 SCENE_DUNGEON NotUse Level_PFDungeon02_Active01 测试 +50031 SCENE_DUNGEON NotUse Level_FCdungeon_DragonBoss 测试 +50032 SCENE_DUNGEON NotUse Level_PFDungeon02_Active03 测试 +50033 SCENE_DUNGEON NotUse Level_PFDungeon02_Active04 测试 +50034 SCENE_DUNGEON NotUse Level_PFDungeon02_Active05 测试 +50041 SCENE_DUNGEON NotUse TestLevel_SZ_LX Level_Dungeon 测试 +50042 SCENE_DUNGEON NotUse TestLevel_MD_YQT 测试 +50043 SCENE_DUNGEON NotUse TestLevel_MD_YQT 测试 +50044 SCENE_DUNGEON NotUse TestLevel_SZ_LX 测试 +50045 SCENE_DUNGEON NotUse Level_CycleDungeon_WindFlower 测试 +50046 SCENE_DUNGEON NotUse Level_Challenge_Thunder01 测试 +50047 SCENE_DUNGEON NotUse Level_CycleDungeon_WindFlower 测试 +50048 SCENE_DUNGEON NotUse Level_CycleDungeon_WindFlower 测试 +50049 SCENE_DUNGEON NotUse Level_CycleDungeon_WindFlower 测试 +50050 SCENE_DUNGEON NotUse Level_Tower_Morning_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Morning_01 测试 +50051 SCENE_DUNGEON NotUse Level_FCdungeon_MistTrial 测试 +50052 SCENE_DUNGEON NotUse Level_Tower_01_Open 测试 +50053 SCENE_DUNGEON NotUse Level_LadyBoss01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_CycleDungeon01_Snow 测试 +50054 SCENE_DUNGEON NotUse Level_ActivityBoss02_Water 测试 +50055 SCENE_DUNGEON NotUse TestLevel_Dq_Rouge 测试 +50056 SCENE_DUNGEON NotUse TestLevel_Dq_Rouge_YQT01 测试 +50057 SCENE_DUNGEON NotUse TestLevel_Dq_Rouge_YQT02 测试 +50058 SCENE_DUNGEON NotUse Level_Dq_Void02 Level_Monster_Shougun_Setting 测试 +50059 SCENE_DUNGEON NotUse TestLevelSLL_SpringFestival Data/Environment/EnviroSystemProfile/Dungeon/ESP_FCdungeon_FatOtaku Level_Monster_Shougun_Setting 测试 +50060 SCENE_DUNGEON NotUse TestLevel_Dq_UGC_LX01 测试 +50061 SCENE_DUNGEON NotUse Level_Tower_Universe_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Universe_01 测试 +50062 SCENE_DUNGEON NotUse TestLevel_Dq_UGC_LX02 测试 +50063 SCENE_DUNGEON NotUse TestLevel_Dq_UGC_LX03 测试 +50064 SCENE_DUNGEON NotUse TestLevel_Dq_UGC_LX04 测试 +50065 SCENE_DUNGEON NotUse TestLevel_Dq_UGC_LX05 测试 +50066 SCENE_DUNGEON NotUse TestLevel_FCdungeon_ShenheCloud01 测试 +50067 SCENE_DUNGEON NotUse TestLevel_WB_Z 测试 +50068 SCENE_DUNGEON NotUse Level_Tower_01_Open Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 测试 +50069 SCENE_WORLD NotUse TestLevel_ClimbBox 测试 +50070 SCENE_DUNGEON NotUse TestLevel_APA_ZQQ Data/Environment/EnviroSystemProfile/Dungeon/ESP_HFdungeon_Prison01 测试 +50071 SCENE_WORLD NotUse TestWorld_APA_ZQQ 测试 +50072 SCENE_DUNGEON NotUse Level_TD_V3_Gameplay_Test 测试 +50073 SCENE_WORLD NotUse PerformanceTest_LevelStreaming LevelEntity_DungeonDive 测试 +50074 SCENE_DUNGEON NotUse Level_SmrDungeon_Tinali 测试 +50075 SCENE_DUNGEON NotUse Level_SmrDungeon_BigTree 测试 +50076 SCENE_DUNGEON NotUse Level_XMDungeon_GrassDragon 测试 +50077 SCENE_DUNGEON Level_Tower_Moon_01 正式 +50078 SCENE_DUNGEON NotUse Level_DreamIsland_Xinyan01 测试 SCENE_SUB_TYPE_PERSISTENT_DUNGEON +50079 SCENE_DUNGEON NotUse Level_DreamIsland_Mona01 Level_DreamDungeon_Mona 测试 SCENE_SUB_TYPE_PERSISTENT_DUNGEON +50080 SCENE_DUNGEON NotUse Level_DreamIsland_Kazuha02 测试 SCENE_SUB_TYPE_PERSISTENT_DUNGEON +50081 SCENE_DUNGEON NotUse Level_DreamIsland_Mona02 Level_DreamDungeon_Mona 测试 SCENE_SUB_TYPE_PERSISTENT_DUNGEON +50082 SCENE_DUNGEON NotUse Level_DreamIsland_Fischl01 测试 SCENE_SUB_TYPE_PERSISTENT_DUNGEON +50083 SCENE_DUNGEON NotUse Level_DreamIsland_Fischl02 测试 SCENE_SUB_TYPE_PERSISTENT_DUNGEON +50084 SCENE_DUNGEON NotUse Level_DreamIsland_Fischl03 测试 SCENE_SUB_TYPE_PERSISTENT_DUNGEON +50085 SCENE_DUNGEON NotUse Level_DreamIsland_Kazuha03 测试 SCENE_SUB_TYPE_PERSISTENT_DUNGEON +50086 SCENE_DUNGEON NotUse Level_DreamIsland_Fischllibrary 测试 SCENE_SUB_TYPE_PERSISTENT_DUNGEON +50087 SCENE_DUNGEON NotUse Level_DreamIsland_Kazuha01 测试 SCENE_SUB_TYPE_PERSISTENT_DUNGEON +50088 SCENE_DUNGEON NotUse Level_DreamIsland_Fischlroom 测试 SCENE_SUB_TYPE_PERSISTENT_DUNGEON +50089 SCENE_DUNGEON NotUse Level_DreamIsland_Fischlcorridor 测试 SCENE_SUB_TYPE_PERSISTENT_DUNGEON +50090 SCENE_DUNGEON NotUse TestLevel_WhiteBox_Xm_03 测试 +50091 SCENE_DUNGEON NotUse Level_DahakaBoss01 测试 +79999 SCENE_DUNGEON NotUse GcgCardTest 10000005,10000007 正式 1 +50092 SCENE_DUNGEON NotUse WindPuzzle_WhiteboxSll01 测试 +50093 SCENE_DUNGEON NotUse WindPuzzle_WhiteboxSll04 测试 +50094 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +50095 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +50096 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +50097 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +50098 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +50099 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +50100 SCENE_DUNGEON NotUse FdWaterTest Data/Environment/EnviroSystemProfile/BigWorld/ESP_Fd_ShallowWater_Hallway 测试 +50101 SCENE_DUNGEON NotUse FdWaterTest02 Data/Environment/EnviroSystemProfile/BigWorld/ESP_Md_General 测试 +50102 SCENE_DUNGEON NotUse FdWaterFlowTest Data/Environment/EnviroSystemProfile/BigWorld/ESP_Fd_ShallowWater_Hallway 测试 +51000 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +51001 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +51002 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +51003 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +51004 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +51005 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +51006 SCENE_DUNGEON NotUse TestLevel_TestBox_GJH 测试 +51007 SCENE_DUNGEON BigWorld_LevelStreaming Data/Environment/EnviroSystemProfile/BigWorld/ESP_Md_General Level_BigWorld 正式 3 +51008 SCENE_DUNGEON Level_Carnival Level_CharAmusement_Dungeon 正式 +51009 SCENE_DUNGEON NotUse Level_SmrDungeon_BigTree Data/Environment/EnviroSystemProfile/Dungeon/ESP_SmrDungeon_BigTree_Flower LevelEntity_Activity_V3_2_MushroomBeastBattle 测试 +51010 SCENE_DUNGEON NotUse TestLevel_TestBox_LCM 测试 +51011 SCENE_DUNGEON NotUse TestLevel_WhiteBox_Xm_04 测试 +51012 SCENE_DUNGEON NotUse TestLevel_Xm_CircusTent 测试 +51013 SCENE_DUNGEON NotUse Level_Xm_Alhaitham_01 测试 +51014 SCENE_DUNGEON NotUse Level_Cycle01_XM04 测试 +51015 SCENE_DUNGEON NotUse Level_TestLevel_Pacman_Sll Data/Environment/EnviroSystemProfile/Dungeon/ESP_FCdungeon_Hutao_01 测试 +51016 SCENE_DUNGEON NotUse TestLevel_FD_4.6_YYL 测试 +51017 SCENE_DUNGEON NotUse Level_Cycle01_XM04 测试 +51018 SCENE_DUNGEON NotUse TestLevel_Dehya_GJH 测试 +51019 SCENE_DUNGEON NotUse TestLevel_WhiteBox_Xm_05 测试 +51020 SCENE_DUNGEON NotUse TestLevel_3.7UGC_GJH 测试 +51021 SCENE_DUNGEON NotUse Level_CustomLevel_A_05 测试 +51022 SCENE_DUNGEON NotUse Level_CustomLevel_A_05 测试 +51023 SCENE_DUNGEON NotUse TestLevel_WhiteBox_Fd_01 测试 +51024 SCENE_DUNGEON NotUse TestLevel_WhiteBox_3.7UGC 测试 +51025 SCENE_DUNGEON NotUse TestLevel_4.1BoxMatch_WZK LevelEntity_Activity_V4_1_BoxMatch 测试 +51026 SCENE_DUNGEON NotUse TestLevel_WhiteBox_UGC_TowerDefence 测试 +51027 SCENE_DUNGEON NotUse TestLevel_WhiteBox_UGC_Survival 测试 +51028 SCENE_DUNGEON NotUse TestLevel_WhiteBox_UGC_CampEnhancer 测试 +51029 SCENE_DUNGEON NotUse Level_Cycle01_XM04 Level_Dungeon 测试 +51030 SCENE_DUNGEON NotUse BigWorld_LevelStreaming Data/Environment/EnviroSystemProfile/BigWorld/ESP_Md_General Level_V4_4_Test 测试 3 +51031 SCENE_DUNGEON NotUse Level_SmrDungeon_Challenge Data/Environment/EnviroSystemProfile/Dungeon/ESP_SmrDungeon_BigTree_Flower 测试 +51032 SCENE_DUNGEON NotUse TestLevel_Whitebox_MQL 测试 +51034 SCENE_DUNGEON NotUse TestLevel_WhiteBox_NataDino 测试 +51037 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +51038 SCENE_DUNGEON Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 正式 +51039 SCENE_DUNGEON NotUse Level_Tower_Moon_01 Data/Environment/EnviroSystemProfile/Dungeon/ESP_Tower_Night_01 测试 +51040 SCENE_DUNGEON NotUse Level_FDBattle_02 测试 +51041 SCENE_DUNGEON NotUse Level_Custom_Play01 测试 +51046 SCENE_DUNGEON NotUse BigWorld_LevelStreaming Data/Environment/EnviroSystemProfile/BigWorld/ESP_Md_General 测试 3 +51050 SCENE_DUNGEON NotUse ClimbTestStage_AvatarTest Data/Environment/EnviroSystemProfile/BigWorld/ESP_Md_General 测试 +51051 SCENE_WORLD NotUse ClimbTestStage_AvatarTest Data/Environment/EnviroSystemProfile/BigWorld/ESP_Md_General 测试 +51053 SCENE_DUNGEON NotUse Level_Carnival02 Level_CharAmusement_Dungeon 测试 +51054 SCENE_DUNGEON NotUse QA_3DTest_New Data/Environment/EnviroSystemProfile/BigWorld/ESP_Default 测试 \ No newline at end of file diff --git a/data/txt/WorldData.txt b/data/txt/WorldData.txt new file mode 100644 index 0000000..92815ca --- /dev/null +++ b/data/txt/WorldData.txt @@ -0,0 +1,3 @@ +id type mainSceneId subSceneIdVec +1 WORLD_PLAYER 3 1004,1008,1009,1018,1033,1034,1035,1057,1060,1061,1063,1064,1066,1072,1073,1074,1075,1076,1077,1078,1079,1082,1083,1084,1085,1086,1087,1088,1089,1093,1094 +2 WORLD_HOME 2001 2201,2202 \ No newline at end of file diff --git a/dbgate/Cargo.toml b/dbgate/Cargo.toml new file mode 100644 index 0000000..1431a66 --- /dev/null +++ b/dbgate/Cargo.toml @@ -0,0 +1,29 @@ +[package] +name = "dbgate" +edition = "2021" +version.workspace = true + +[dependencies] +env_logger.workspace = true + +sqlx.workspace = true +serde.workspace = true +serde_json.workspace = true +toml.workspace = true + +tokio.workspace = true +tokio-util.workspace = true + +tracing.workspace = true +tracing-futures.workspace = true +tracing-log.workspace = true +tracing-subscriber.workspace = true +tracing-bunyan-formatter.workspace = true + +paste.workspace = true +prost.workspace = true +hex.workspace = true +rbase64.workspace = true +proto.workspace = true + +common.workspace = true diff --git a/dbgate/dbgate.toml b/dbgate/dbgate.toml new file mode 100644 index 0000000..0168dc2 --- /dev/null +++ b/dbgate/dbgate.toml @@ -0,0 +1,25 @@ +app_id = 3 + +[[applications.Dispatch]] +app_id = 1 +inner_ip = "127.0.0.1:22001" + +[[applications.Gateserver]] +app_id = 2 +inner_ip = "127.0.0.1:22002" + +[[applications.Dbgate]] +app_id = 3 +inner_ip = "127.0.0.1:22003" + +[[applications.Gameserver]] +app_id = 4 +inner_ip = "127.0.0.1:22004" + +[region] +name = "dev_mualani" +dev_sdk_account = true + +[database] +connection_string = "postgres://postgres:@localhost:5432/hk4e" +redis_url = "redis://127.0.0.1/" diff --git a/dbgate/src/config.rs b/dbgate/src/config.rs new file mode 100644 index 0000000..ef6eba3 --- /dev/null +++ b/dbgate/src/config.rs @@ -0,0 +1,28 @@ +use std::collections::BTreeMap; + +use common::{ + config::{AppConfig, DatabaseConfig, RegionConfig}, + net::ServiceType, +}; +use serde::Deserialize; + +const DEFAULT_TOML: &str = include_str!("../dbgate.toml"); + +#[derive(Deserialize, Clone)] +pub struct DbgateConfig { + pub app_id: u32, + pub applications: BTreeMap>, + pub database: DatabaseConfig, + #[allow(dead_code)] + pub region: RegionConfig, +} + +pub fn load() -> Option { + match common::config::load_or_create_config("dbgate.toml", DEFAULT_TOML) { + Ok(config) => Some(config), + Err(err) => { + tracing::error!("Failed to load config: {err}"); + None + } + } +} diff --git a/dbgate/src/main.rs b/dbgate/src/main.rs new file mode 100644 index 0000000..60dcaea --- /dev/null +++ b/dbgate/src/main.rs @@ -0,0 +1,25 @@ +use std::{error::Error, sync::OnceLock}; + +use common::log; +use service::DbgateService; + +mod config; +mod network; +mod service; + +static SERVICE: OnceLock = OnceLock::new(); + +#[tokio::main] +async fn main() -> Result<(), Box> { + log::init_tracing(); + let config = config::load().unwrap(); + let service = DbgateService::new(config).await?; + let service = SERVICE.get_or_init(|| service); + service.run().await; + + Ok(()) +} + +fn dbgate_service() -> &'static DbgateService { + SERVICE.get().unwrap() +} diff --git a/dbgate/src/network/mod.rs b/dbgate/src/network/mod.rs new file mode 100644 index 0000000..1f6a787 --- /dev/null +++ b/dbgate/src/network/mod.rs @@ -0,0 +1,2 @@ +mod network_mgr; +pub use network_mgr::NetworkMgr; diff --git a/dbgate/src/network/network_mgr.rs b/dbgate/src/network/network_mgr.rs new file mode 100644 index 0000000..6c4bc38 --- /dev/null +++ b/dbgate/src/network/network_mgr.rs @@ -0,0 +1,103 @@ +use prost::Message; +use proto::{PlayerData, SavePlayerDataReq}; +use std::error::Error; + +use common::{ + impl_net_service, + net::{tools::Packet, AServer, NetError, ServiceType}, + rpc_handlers, ServiceQualifier, +}; + +use crate::{config::DbgateConfig, dbgate_service}; + +pub struct NetworkMgr { + server: AServer, +} + +impl NetworkMgr { + pub async fn new(config: &DbgateConfig) -> Result { + let inner_ip = config + .applications + .get(&ServiceType::Dbgate) + .unwrap() + .iter() + .find(|a| a.app_id == config.app_id) + .unwrap() + .inner_ip + .clone(); + + Ok(Self { + server: AServer::bind(inner_ip).await?, + }) + } + + pub async fn run(&self) { + loop { + let Ok(mut packets) = self.server.recv().await else { + continue; + }; + + while let Some(packet) = packets.pop_front() { + if let Err(err) = self.on_recv(packet).await { + tracing::warn!("on_recv fail: {err}"); + } + } + } + } + + pub async fn send_rsp(&self, packet: Packet) -> Result<(), NetError> { + dbgate_service() + .service_box + .push_packet_to_service(ServiceQualifier::AppId(packet.head.rpc_id), packet) + .await + } + + rpc_handlers! { + GetPlayerTokenReq; + PlayerLoginReq; + SavePlayerDataReq; + } + + async fn on_get_player_token_req(&self, packet: Packet) -> Result<(), Box> { + dbgate_service() + .login_handler + .on_get_player_token_req(packet) + .await + } + + async fn on_player_login_req(&self, packet: Packet) -> Result<(), Box> { + dbgate_service() + .login_handler + .on_player_login_req(packet) + .await + } + + async fn on_save_player_data_req(&self, packet: Packet) -> Result<(), Box> { + let req = packet.get_proto::()?; + let Ok(player_data) = PlayerData::decode(&*req.player_data) else { + tracing::error!( + "on_save_player_data_req: PlayerData::decode failed, uid: {}", + packet.head.user_id + ); + return Ok(()); + }; + + dbgate_service() + .sql_op_player_data + .update_player_data_by_uid( + player_data.uid as i32, + player_data.nickname, + player_data.level as i32, + player_data.exp as i32, + player_data.bin, + ) + .await?; + Ok(()) + } + + pub async fn default_packet_process_func(&self, _packet: Packet) -> Result<(), Box> { + Ok(()) + } +} + +impl_net_service!(Dbgate); diff --git a/dbgate/src/service/dbgate_service.rs b/dbgate/src/service/dbgate_service.rs new file mode 100644 index 0000000..30b0415 --- /dev/null +++ b/dbgate/src/service/dbgate_service.rs @@ -0,0 +1,39 @@ +use std::error::Error; + +use common::{ + db::{self, SqlOpPlayerData}, + ServiceBox, +}; + +use crate::{config::DbgateConfig, network::NetworkMgr}; + +use super::LoginHandler; + +pub struct DbgateService { + pub config: DbgateConfig, + pub network_mgr: NetworkMgr, + pub service_box: ServiceBox, + pub login_handler: LoginHandler, + pub sql_op_player_data: SqlOpPlayerData, +} + +impl DbgateService { + pub async fn new(config: DbgateConfig) -> Result> { + let network_mgr = NetworkMgr::new(&config).await?; + let service_box = ServiceBox::new(config.app_id, &config.applications); + let db = db::connect(&config.database.connection_string).await?; + let sql_op_player_data = SqlOpPlayerData::new(db); + + Ok(Self { + config, + network_mgr, + service_box, + login_handler: LoginHandler, + sql_op_player_data, + }) + } + + pub async fn run(&self) { + self.network_mgr.run().await + } +} diff --git a/dbgate/src/service/login_handler.rs b/dbgate/src/service/login_handler.rs new file mode 100644 index 0000000..93df966 --- /dev/null +++ b/dbgate/src/service/login_handler.rs @@ -0,0 +1,153 @@ +use std::error::Error; + +use common::net::tools::Packet; +use proto::{ + CmdID, GetPlayerTokenReq, GetPlayerTokenRsp, PacketHead, PlayerData, PlayerLoginReq, + PlayerLoginRsp, +}; + +use prost::Message; + +use crate::dbgate_service; + +pub struct LoginHandler; + +impl LoginHandler { + pub async fn on_get_player_token_req(&self, packet: Packet) -> Result<(), Box> { + let Ok(req) = packet.get_proto::() else { + tracing::warn!("get proto failed"); + return Ok(()); + }; + + let mut rsp = GetPlayerTokenRsp { + retcode: -1, + server_rand_key: req.client_rand_key.clone(), + account_uid: req.account_uid.clone(), + token: req.account_token.clone(), + platform_type: req.platform_type, + key_id: req.key_id, + ..Default::default() + }; + + let retcode = self.check_login_account_condition(&req); + if retcode != 0 { + tracing::info!("[LOGIN] check_account_condition failed, account_uid:{} account_token: {} retcode:{}", &req.account_uid, "", retcode); + rsp.retcode = retcode; + } else { + let sql_op_player_data = &dbgate_service().sql_op_player_data; + let player_uid = match sql_op_player_data + .select_player_uid_by_account(req.account_uid.clone()) + .await + { + Ok(Some(row)) => row.uid, + Ok(None) => { + sql_op_player_data + .insert_player_uid_by_account(req.account_uid.clone(), req.platform_type) + .await? + } + Err(_) => { + tracing::warn!( + "[LOGIN] on_get_player_token failed, account_uid:{}", + &req.account_uid + ); + rsp.retcode = -1; + return Ok(()); + } + }; + + rsp.uid = player_uid as u32; + rsp.retcode = 0; + } + + let packet = Packet { + cmd_id: rsp.get_cmd_id(), + head: PacketHead { + rpc_id: packet.head.sender_app_id, + ..packet.head + }, + recv_vec: rsp.encode_to_vec(), + }; + + tracing::info!( + "[LOGIN] OnGetPlayerToken account_uid: {} uid: {} ip: {} retcode: {}", + &rsp.account_uid, + rsp.uid, + packet.get_user_ip(), + rsp.retcode + ); + + dbgate_service().network_mgr.send_rsp(packet).await?; + Ok(()) + } + + pub async fn on_player_login_req(&self, packet: Packet) -> Result<(), Box> { + let Ok(req) = packet.get_proto::() else { + tracing::error!("get proto failed"); + return Ok(()); + }; + + let uid = packet.head.user_id; + let Ok(result) = dbgate_service() + .sql_op_player_data + .select_player_data_by_uid(uid as i32) + .await + else { + tracing::error!("select_player_data_by_uid failed, uid:{uid}"); + return Ok(()); + }; + + let is_new_player = result.is_none(); + let player_data = match result { + Some(data) => PlayerData { + uid: data.uid as u32, + nickname: data.nickname, + bin: data.bin_data, + extra_bin_data: data.extra_bin_data.unwrap_or_default(), + json_data: data.json_data, + ..Default::default() + }, + None => PlayerData { + uid, + ..Default::default() + }, + }; + + if is_new_player { + dbgate_service() + .sql_op_player_data + .insert_player_data_by_uid(uid as i32, &player_data) + .await?; + } + + let rsp = PlayerLoginRsp { + is_new_player, + player_data: player_data.encode_to_vec(), + login_rand: req.login_rand, + ..Default::default() + }; + + dbgate_service() + .network_mgr + .send_rsp(Packet { + cmd_id: rsp.get_cmd_id(), + head: PacketHead { + rpc_id: packet.head.sender_app_id, + ..packet.head + }, + recv_vec: rsp.encode_to_vec(), + }) + .await?; + + tracing::info!("[LOGIN] onPlayerLoginReq uid:{uid}"); + Ok(()) + } + + fn check_login_account_condition(&self, req: &GetPlayerTokenReq) -> i32 { + if !req.account_uid.is_empty() { + 0 + } else { + tracing::warn!("req.account_uid is empty() token: {}", ""); + -1 + } + } +} diff --git a/dbgate/src/service/mod.rs b/dbgate/src/service/mod.rs new file mode 100644 index 0000000..c18fd39 --- /dev/null +++ b/dbgate/src/service/mod.rs @@ -0,0 +1,5 @@ +mod dbgate_service; +mod login_handler; + +pub use dbgate_service::DbgateService; +pub use login_handler::LoginHandler; diff --git a/dispatch/Cargo.toml b/dispatch/Cargo.toml new file mode 100644 index 0000000..eb3d9bb --- /dev/null +++ b/dispatch/Cargo.toml @@ -0,0 +1,33 @@ +[package] +name = "dispatch" +edition = "2021" +version.workspace = true + +[dependencies] +env_logger.workspace = true + +axum.workspace = true +axum-server.workspace = true + +sqlx.workspace = true +serde.workspace = true +serde_json.workspace = true +toml.workspace = true + +tokio.workspace = true +tokio-util.workspace = true + +tracing.workspace = true +tracing-futures.workspace = true +tracing-log.workspace = true +tracing-subscriber.workspace = true +tracing-bunyan-formatter.workspace = true + +dashmap.workspace = true +paste.workspace = true +prost.workspace = true +hex.workspace = true +rbase64.workspace = true +proto.workspace = true + +common.workspace = true diff --git a/dispatch/dispatch.toml b/dispatch/dispatch.toml new file mode 100644 index 0000000..f934af1 --- /dev/null +++ b/dispatch/dispatch.toml @@ -0,0 +1,29 @@ +app_id = 1 +forbid_first_dispatch = false + +[[applications.Dispatch]] +app_id = 1 +inner_ip = "127.0.0.1:22001" + +[[applications.Gateserver]] +app_id = 2 +inner_ip = "127.0.0.1:22002" + +[[applications.Dbgate]] +app_id = 3 +inner_ip = "127.0.0.1:22003" + +[[applications.Gameserver]] +app_id = 4 +inner_ip = "127.0.0.1:22004" + +[region] +name = "dev_mualani" +dev_sdk_account = true + +[net.http] +bind_host = "0.0.0.0:21041" + +[database] +connection_string = "postgres://postgres:@localhost:5432/hk4e" +redis_url = "redis://127.0.0.1/" diff --git a/dispatch/src/config.rs b/dispatch/src/config.rs new file mode 100644 index 0000000..bf0440c --- /dev/null +++ b/dispatch/src/config.rs @@ -0,0 +1,39 @@ +use std::collections::BTreeMap; + +use common::{ + config::{AppConfig, DatabaseConfig, RegionConfig}, + net::ServiceType, +}; +use serde::Deserialize; + +const DEFAULT_TOML: &str = include_str!("../dispatch.toml"); + +#[derive(Deserialize)] +pub struct HttpServerConfig { + pub bind_host: String, +} + +#[derive(Deserialize)] +pub struct NetConfig { + pub http: HttpServerConfig, +} + +#[derive(Deserialize)] +pub struct DispatchConfig { + pub app_id: u32, + pub applications: BTreeMap>, + pub net: NetConfig, + pub database: DatabaseConfig, + pub region: RegionConfig, + pub forbid_first_dispatch: bool, +} + +pub fn load() -> Option { + match common::config::load_or_create_config("dispatch.toml", DEFAULT_TOML) { + Ok(config) => Some(config), + Err(err) => { + tracing::error!("Failed to load config: {err}"); + None + } + } +} diff --git a/dispatch/src/dispatch_service.rs b/dispatch/src/dispatch_service.rs new file mode 100644 index 0000000..f991609 --- /dev/null +++ b/dispatch/src/dispatch_service.rs @@ -0,0 +1,48 @@ +use std::error::Error; + +use axum::{extract::Request, ServiceExt}; +use common::db::{self, DbDeployConfigMgr}; +use tokio::net::TcpListener; + +use crate::{ + config::DispatchConfig, + dispatch_service, + gateserver_mgr::GateserverMgr, + network::{self, NetworkMgr}, +}; + +pub struct DispatchService { + pub config: DispatchConfig, + pub network_mgr: NetworkMgr, + pub db_deploy_config_mgr: DbDeployConfigMgr, + pub gateserver_mgr: GateserverMgr, +} + +impl DispatchService { + pub async fn new(config: DispatchConfig) -> Result> { + let db_pool = db::connect(&config.database.connection_string).await?; + let network_mgr = NetworkMgr::new(&config).await?; + let gateserver_mgr = GateserverMgr::new(); + + Ok(Self { + config, + network_mgr, + gateserver_mgr, + db_deploy_config_mgr: DbDeployConfigMgr::new(db_pool), + }) + } + + pub async fn run(&self) { + tokio::spawn(async { + let router = network::http_handlers::make_routes(); + + let listener = TcpListener::bind(&dispatch_service().config.net.http.bind_host) + .await + .unwrap(); + + axum::serve(listener, ServiceExt::::into_make_service(router)).await + }); + + self.network_mgr.run().await + } +} diff --git a/dispatch/src/gateserver_mgr.rs b/dispatch/src/gateserver_mgr.rs new file mode 100644 index 0000000..6f8baa5 --- /dev/null +++ b/dispatch/src/gateserver_mgr.rs @@ -0,0 +1,81 @@ +use std::{collections::BTreeMap, sync::Mutex}; + +#[derive(Clone)] +pub struct GateserverInfo { + pub app_id: u32, + #[allow(dead_code)] + pub inner_ip: String, + pub outer_ip: String, + pub listen_port: u16, + pub use_domain_name: bool, + pub domain_name: String, + pub load: u32, +} + +pub struct GateserverMgr { + gateserver_map: Mutex>, +} + +impl GateserverMgr { + pub fn new() -> Self { + Self { + gateserver_map: Mutex::new(BTreeMap::new()), + } + } + + pub fn add_gateserver( + &self, + app_id: u32, + inner_ip: String, + outer_ip: String, + listen_port: u16, + use_domain_name: bool, + domain_name: String, + load: u32, + ) { + let mut gateserver_map = self.gateserver_map.lock().unwrap(); + gateserver_map.insert( + app_id, + GateserverInfo { + app_id, + inner_ip: inner_ip.clone(), + outer_ip: outer_ip.clone(), + listen_port, + use_domain_name, + domain_name: domain_name.clone(), + load, + }, + ); + + tracing::info!("add gateserver app_id={}, inner_ip={}, outer_ip={}, listen_port={} use_domain_name={} domain_name={}. cur_total_server_count={}", app_id, inner_ip, outer_ip, listen_port, use_domain_name, domain_name, gateserver_map.len()); + } + + pub fn get_gateserver(&self, uid: u32) -> Option { + let gateserver_map = self.gateserver_map.lock().unwrap(); + match gateserver_map + .values() + .min_by_key(|g| g.load) + .map(|g| g.clone()) + { + Some(info) => { + tracing::info!("get gateserver {} app_id: to uid={uid}", info.app_id); + Some(info) + } + None => None, + } + } + + pub fn sync_gateserver_load(&self, app_id: u32, load: u32) { + let mut gateserver_map = self.gateserver_map.lock().unwrap(); + + let Some(info) = gateserver_map.get_mut(&app_id) else { + tracing::warn!("fail to find gateserver app_id={app_id}"); + return; + }; + + if info.load != load { + info.load = load; + tracing::info!("sync gateserver load app_id={app_id}, load={load}"); + } + } +} diff --git a/dispatch/src/main.rs b/dispatch/src/main.rs new file mode 100644 index 0000000..f47f303 --- /dev/null +++ b/dispatch/src/main.rs @@ -0,0 +1,26 @@ +use std::{error::Error, sync::OnceLock}; + +use common::log; +use dispatch_service::DispatchService; + +mod config; +mod dispatch_service; +mod gateserver_mgr; +mod network; + +static SERVICE: OnceLock = OnceLock::new(); + +#[tokio::main] +async fn main() -> Result<(), Box> { + log::init_tracing(); + let config = config::load().unwrap(); + let service = DispatchService::new(config).await?; + let service = SERVICE.get_or_init(|| service); + service.run().await; + + Ok(()) +} + +fn dispatch_service() -> &'static DispatchService { + SERVICE.get().unwrap() +} diff --git a/dispatch/src/network/gateserver_session.rs b/dispatch/src/network/gateserver_session.rs new file mode 100644 index 0000000..3499ffe --- /dev/null +++ b/dispatch/src/network/gateserver_session.rs @@ -0,0 +1,72 @@ +use std::{error::Error, net::Ipv4Addr}; + +use common::{ + config::IpString, + net::{tools::Packet, AServerSession, NetError, ServiceType}, + rpc_handlers, +}; + +use paste::paste; +use proto::AddGateserverNotify; + +use crate::dispatch_service; + +pub struct GateserverSession { + server_session: AServerSession, +} + +impl GateserverSession { + pub async fn new(app_id: u32, service_ip: IpString, cur_app_id: u32) -> Result { + Ok(Self { + server_session: AServerSession::new(app_id, service_ip, cur_app_id), + }) + } + + async fn on_add_gateserver_notify(&self, packet: Packet) -> Result<(), Box> { + let service = dispatch_service(); + let Some(inner_ip) = service + .config + .applications + .get(&ServiceType::Gateserver) + .unwrap() + .iter() + .find(|a| a.app_id == packet.head.sender_app_id) + .map(|a| a.inner_ip.clone()) + else { + tracing::error!("app_id {} not found!", packet.head.sender_app_id); + return Ok(()); + }; + + let proto = packet.get_proto::()?; + let outer_ip = Ipv4Addr::from(proto.outer_ip); + + service.gateserver_mgr.add_gateserver( + packet.head.sender_app_id, + inner_ip.0.to_string(), + outer_ip.to_string(), + proto.listen_port as u16, + proto.use_domain_name, + proto.domain_name, + 0, + ); + + Ok(()) + } + + async fn on_keep_alive_notify(&self, packet: Packet) -> Result<(), Box> { + dispatch_service() + .gateserver_mgr + .sync_gateserver_load(self.server_session.app_id, packet.head.sender_load); + + Ok(()) + } + + rpc_handlers! { + AddGateserverNotify; + KeepAliveNotify; + } + + async fn default_packet_process_func(&self, _packet: Packet) -> Result<(), Box> { + Ok(()) + } +} diff --git a/dispatch/src/network/http_handlers.rs b/dispatch/src/network/http_handlers.rs new file mode 100644 index 0000000..033570e --- /dev/null +++ b/dispatch/src/network/http_handlers.rs @@ -0,0 +1,248 @@ +use axum::{extract::Query, routing::get, Router}; +use prost::Message; +use proto::{QueryCurrRegionHttpRsp, QueryRegionListHttpRsp, RegionInfo, RegionSimpleInfo}; +use serde::Deserialize; +use serde_json::json; + +use crate::{config::DispatchConfig, dispatch_service, gateserver_mgr::GateserverMgr}; +use common::{ + crypto::{rsa_utils, MhyXorpad}, + db::DbDeployConfigMgr, +}; + +const ALIVE_RSP: &str = "{\"retcode\":\"0\", \"msg\":\"alive ok\"}"; +const FALLBACK_RSP: &str = "{\"retcode\":\"-1\", \"msg\":\"system error\"}"; + +pub fn make_routes() -> Router { + Router::new() + .route("/alive", get(|| async { ALIVE_RSP })) + .route("/query_region_list", get(query_region_list)) + .route("/query_cur_region", get(query_curr_region)) + .route("/query_gateserver", get(query_curr_region)) + .fallback(|| async { FALLBACK_RSP }) +} + +#[derive(Deserialize)] +#[allow(unused)] +struct QueryRegionListParams { + pub channel_id: i32, + pub version: String, + pub lang: i32, + pub platform: i32, + pub binary: u8, + pub time: u32, +} + +#[derive(Deserialize)] +#[allow(unused)] +struct QueryCurrRegionParams { + pub channel_id: i32, + pub version: String, + pub lang: i32, + pub platform: i32, + pub binary: u8, + pub time: u32, + #[serde(rename = "dispatchSeed")] + pub dispatch_seed: String, + pub aid: u32, + pub key_id: Option, +} + +async fn query_region_list(params: Query) -> String { + let service = dispatch_service(); + let rsp = if service.config.forbid_first_dispatch { + tracing::warn!("query_region_list is forbidden in this dispatch"); + + QueryRegionListHttpRsp { + retcode: 8, + ..Default::default() + } + } else { + match build_query_region_list_rsp(&service.db_deploy_config_mgr, ¶ms.0).await { + Some(rsp) => rsp, + None => QueryRegionListHttpRsp { + retcode: -1, + ..Default::default() + }, + } + }; + + rbase64::encode(&rsp.encode_to_vec()) +} + +async fn query_curr_region(params: Query) -> String { + let service = dispatch_service(); + let rsp = match get_curr_region_info( + &service.gateserver_mgr, + &service.db_deploy_config_mgr, + &service.config, + ¶ms.0, + ) + .await + { + Some(rsp) => rsp, + None => QueryCurrRegionHttpRsp { + retcode: -1, + ..Default::default() + }, + }; + + if params.key_id.is_some() { + encrypt_region_info( + &service.db_deploy_config_mgr, + &service.config, + ¶ms.0, + rsp.encode_to_vec(), + ) + .await + .unwrap() + .to_string() + } else { + rbase64::encode(&rsp.encode_to_vec()) + } +} + +async fn encrypt_region_info( + deploy_config_mgr: &DbDeployConfigMgr, + config: &DispatchConfig, + params: &QueryCurrRegionParams, + rsp_vec: Vec, +) -> Option { + let key_id = params.key_id.unwrap(); + + let region = deploy_config_mgr + .find_db_region_config(config.region.name.clone()) + .await?; + + if !region.is_key_allowed(key_id as u32) { + tracing::warn!("this region doesn't allow key_id: {}", key_id); + return None; + } + + let rsakey = deploy_config_mgr.find_db_rsakey_config(key_id).await?; + + let sign = rsa_utils::private_sign(&rsakey.server_private_key, &rsp_vec)?; + let cipher = rsa_utils::public_encrypt(&rsakey.client_public_key, &rsp_vec)?; + + Some(json! ({ + "content": rbase64::encode(&cipher), + "sign": rbase64::encode(&sign) + })) +} + +#[tracing::instrument(skip_all)] +async fn get_curr_region_info( + gateserver_mgr: &GateserverMgr, + deploy_config_mgr: &DbDeployConfigMgr, + config: &DispatchConfig, + params: &QueryCurrRegionParams, +) -> Option { + tracing::info!( + "request version: {} lang: {} platform: {} channel_id: {} dispatch_seed: {}", + params.version, + params.lang, + params.platform, + params.channel_id, + params.dispatch_seed + ); + + let region = deploy_config_mgr + .find_db_region_config(config.region.name.clone()) + .await?; + + let client_config = deploy_config_mgr + .find_db_client_config(params.version.clone()) + .await?; + + if client_config.dispatch_seed.len() > 0 { + if params.dispatch_seed != client_config.dispatch_seed { + tracing::warn!( + "expected dispatch seed: {} get: {}", + client_config.dispatch_seed, + params.dispatch_seed + ); + + return Some(QueryCurrRegionHttpRsp { + retcode: 1, + ..Default::default() + }); + } + } + + let Some(gateserver) = gateserver_mgr.get_gateserver(params.aid) else { + tracing::warn!("get_gateserver failed for uid: {}", params.aid); + + return Some(QueryCurrRegionHttpRsp { + retcode: -1, + msg: String::from("Not found Gateserver"), + ..Default::default() + }); + }; + + let mut rsp = QueryCurrRegionHttpRsp { + client_secret_key: region.client_secret_key.clone(), + region_info: Some(RegionInfo { + gateserver_ip: gateserver.outer_ip, + gateserver_port: gateserver.listen_port as u32, + use_gateserver_domain_name: gateserver.use_domain_name, + gateserver_domain_name: gateserver.domain_name, + area_type: region.area_type.clone(), + ..Default::default() + }), + ..Default::default() + }; + + if let Some(client_region_config) = deploy_config_mgr + .find_db_client_region_config(params.version.clone(), region.name.clone()) + .await + { + if client_region_config.client_region_custom_config.len() > 0 { + let mut client_region_custom_config = client_region_config + .client_region_custom_config + .into_bytes(); + let xorpad = MhyXorpad::from_ec2b(®ion.client_secret_key); + xorpad.xor(&mut client_region_custom_config); + rsp.client_region_custom_config_encrypted = client_region_custom_config; + } + } + + Some(rsp) +} + +#[tracing::instrument(skip_all)] +async fn build_query_region_list_rsp( + deploy_config_mgr: &DbDeployConfigMgr, + params: &QueryRegionListParams, +) -> Option { + let binds = deploy_config_mgr + .find_bind_region_config_vec(params.version.clone()) + .await; + + let regions = deploy_config_mgr.fetch_region_list(&binds).await; + let enable_login_pc = deploy_config_mgr.enable_login_pc(params.channel_id).await?; + + let client_secret_key = regions.first()?.client_secret_key.clone(); + let client_config = deploy_config_mgr + .find_db_client_config(params.version.clone()) + .await?; + + let mut client_custom_config = client_config.client_custom_config_str.into_bytes(); + let xorpad = MhyXorpad::from_ec2b(&client_secret_key); + xorpad.xor(&mut client_custom_config); + + Some(QueryRegionListHttpRsp { + retcode: 0, + enable_login_pc, + client_secret_key, + client_custom_config_encrypted: client_custom_config, + region_list: regions + .iter() + .map(|r| RegionSimpleInfo { + name: r.name.clone(), + title: r.title.clone(), + r#type: r.region_type.clone(), + dispatch_url: r.dispatch_url.clone(), + }) + .collect(), + }) +} diff --git a/dispatch/src/network/mod.rs b/dispatch/src/network/mod.rs new file mode 100644 index 0000000..8fe6ebd --- /dev/null +++ b/dispatch/src/network/mod.rs @@ -0,0 +1,5 @@ +mod gateserver_session; +pub mod http_handlers; +mod network_mgr; + +pub use network_mgr::NetworkMgr; diff --git a/dispatch/src/network/network_mgr.rs b/dispatch/src/network/network_mgr.rs new file mode 100644 index 0000000..6b64cee --- /dev/null +++ b/dispatch/src/network/network_mgr.rs @@ -0,0 +1,64 @@ +use std::error::Error; + +use common::{ + base::NetService, + impl_net_service, + net::{tools::Packet, AServer, NetError, ServiceType}, + rpc_handlers, services, +}; +use dashmap::DashMap; + +use crate::{config::DispatchConfig, dispatch_service}; +use paste::paste; + +use super::gateserver_session::GateserverSession; + +pub struct NetworkMgr { + server: AServer, + gateserver_sessions: DashMap, +} + +impl NetworkMgr { + pub async fn new(config: &DispatchConfig) -> Result { + let app_config = config + .applications + .get(&ServiceType::Dispatch) + .unwrap() + .iter() + .find(|a| a.app_id == config.app_id) + .expect("Failed to get applications.Dispatch entry"); + + let server = AServer::bind(app_config.inner_ip.clone()).await?; + + Ok(Self { + server, + gateserver_sessions: DashMap::new(), + }) + } + + pub async fn run(&self) { + loop { + let Ok(mut packets) = self.server.recv().await else { + continue; + }; + + while let Some(packet) = packets.pop_front() { + if let Err(err) = self.on_recv_to_svc(packet).await { + tracing::warn!("Packet processing error: {err}"); + } + } + } + } + + rpc_handlers! {} + + services! { + Gateserver; + } + + pub async fn default_packet_process_func(&self, _: Packet) -> Result<(), Box> { + Ok(()) + } +} + +impl_net_service!(Dispatch); diff --git a/framework/common/Cargo.toml b/framework/common/Cargo.toml new file mode 100644 index 0000000..8524c11 --- /dev/null +++ b/framework/common/Cargo.toml @@ -0,0 +1,32 @@ +[package] +name = "common" +edition = "2021" +version.workspace = true + +[dependencies] +bytes.workspace = true +env_logger.workspace = true + +serde.workspace = true +serde_json.workspace = true +toml.workspace = true + +rand.workspace = true +rand_mt.workspace = true +rsa.workspace = true + +thiserror.workspace = true +tokio.workspace = true +tracing.workspace = true +sqlx.workspace = true +redis.workspace = true +zeromq.workspace = true +dashmap.workspace = true + +rbase64.workspace = true +prost.workspace = true +proto.workspace = true +mhy-kcp.workspace = true + +[target.'cfg(target_os = "windows")'.dependencies] +ansi_term = "0.12.1" diff --git a/framework/common/migrations/001_tables.sql b/framework/common/migrations/001_tables.sql new file mode 100644 index 0000000..d2cff37 --- /dev/null +++ b/framework/common/migrations/001_tables.sql @@ -0,0 +1,110 @@ +create function unhex(text) returns text language sql immutable strict as $$ + select encode(decode($1, 'hex'), 'escape') +$$; + +CREATE TABLE t_sdk_account ( + uid int primary key generated always as identity, + token varchar(64) NOT NULL, + username varchar(40) NOT NULL, + password varchar(256) NOT NULL, + UNIQUE(username) +); + +CREATE TABLE t_combo_token ( + account_uid varchar(32) primary key, + token varchar(64) NOT NULL, + device_id varchar(128) NOT NULL, + UNIQUE(account_uid, device_id) +); + +CREATE TABLE t_client_config ( + id bigint primary key, + version varchar(64) NOT NULL DEFAULT '', + name varchar(64) NOT NULL DEFAULT '', + stop_server_config_str varchar(512) NOT NULL DEFAULT '', + client_custom_config_str varchar(512) NOT NULL DEFAULT '', + dispatch_seed varchar(512) NOT NULL DEFAULT '', + UNIQUE(version) +); + +INSERT INTO t_client_config VALUES +(1, 'OSCBWin4.8.50', '', '', '{\"codeSwitch\":[4334],\"sdkenv\":2,\"checkdevice\":false,\"loadPatch\":false,\"showexception\":false,\"regionConfig\":\"pm|fk|add\",\"downloadMode\":0}', ''); + +CREATE TABLE t_region_config ( + id bigint primary key, + name varchar(64) NOT NULL DEFAULT '', + title varchar(128) NOT NULL DEFAULT '', + region_type varchar(64) NOT NULL DEFAULT '', + area_type varchar(64) NOT NULL DEFAULT '', + dispatch_url varchar(64) NOT NULL DEFAULT '', + sdk_env int NOT NULL, + client_secret_key bytea NOT NULL DEFAULT '', + rsa_key_list varchar(128) NOT NULL DEFAULT '', + UNIQUE(name) +); + +INSERT INTO t_region_config VALUES +(1, 'dev_mualani', 'dev_mualani', 'DEV_PUBLIC', 'global', 'http://127.0.0.1:21041/query_cur_region', 2, decode('456332621000000083FD4642C3298A7CBB33E0A04332058300080000BBFA992CD5433217198CB083995F29C7DD0CF0E30414DD89E70A3716B9EACB3935ADD70A8C6777E6BA31CEB50BDDDA259E8E104A8BBB0EE900DA167628EA277BE0365354C5F211051301202DA77ADBF26B792B3601E2E191E26B2EE31860EF8C7230373628A0CD0BA3AAA5FA6BA5BC78C46A7AD671287D64BDE6098CE62108D74D3C12C27F2F03495D60A6F7A55179FF0ED710EC708C225F0BB15F17C0D16FA990BEB3D08C35DE2E457685ACBE2FE1E32A73872DE59345E31623B3192AD0EC365D8A6F111EBC7374DA167FD7374952952738677F00D2E7D622A6718AAF647F461C27636F21E46D932C27CC148B1206E3A306A882A3B66288F96C5B3DBDB78A0699CEA20153CD494EB617C5FB04521E389338B6075EAE179368502EFF0FAF7FC57A5832266151D68129295E2C4B6476A8744BD8F066BB825DE45301DA8189CA956F89CA166D14DD3A6C2F75B91990B3201CDADA86BDE390632DA8633BCC301E28F60F60C71C0397CD4093DDDA51F0AD6C666B5EE7E7CD789260CED2941CD701296003E2926281472EAA56EA9256387A365A9171DBDA10BBB428DE396371E24F620A2656C0026B96E49C872DB31A9FDA82FA5082A3B9B1B94BEA2DBD6A4ECC94821A8C63D6181FFD733261A8A73902BF68EB8A5E9F87DEDD7C65EA3E521E04008B2C40FE138C9D1E1C61E376E9051DC4651ED94B2B91C330DDA6F816CAABE12E0A87F9748DBDCDA66E6DA7307CB8894EBF77B346D5F9543D45F5A21CD5966E6426B2DCB20F2D796079C86F881C5EB5A612068C1C04AEB87775D2A33F4862AA94CD26DBB66846972F3C2B41552D46ED18514FE0F0FA83473A024D0B2561417D4A6FDBB68F6F09FA130057A3048ADDCB745FB108AF6A9091F5A6872E668FF83F5C68445EB99B28F1AF515F8BD9365683AB819B275151F969BC15BA33C16B0714F15B19EE08540C971979A122BF2D598BDC5A8CAADDEEBFE9DA4EB15B16940213E38D79E1AB952E76A627647DD5ECED8C638D717BD05858DD377FFD62558DE398E2975286E73873AB32E94E65231B3C42DEF1D661D466E162DE5CA2FA82FB13379AA2587D723005C7FAF9DE64CE1D9ADC705BB62603591B1C3ACA8DE407827D1AC61B0414BBC660B13E8AC948623B061E154AA8FBC7EDAAC00FDB99289F6F000B50C70F4E4969AE40FA0EBDF202427EBB55119A3131DB0758DF3BE956CE7838DB638CA4E1224546EFA34466017652E96E20DD76EEE8C96793EE96426785E9D219096CB91F2521DDF125007A2DB3DD2B784BBA1653B0F590A29F12C467A7595D203971F80C1BF92E517EA648383D34468FD40CCC5A207FB33A03869E884F878C997BDEC8DA2805C823D2F56505B70A7813F48AC177D780D70CD810938F9B41346F8379DF9073B23342CE38940730D5EAB1E7C43464B387EFAB49BE5AD6FFA4C44014D4128DCB74E4A2A6F1C13C5F3C4F79767203C8B8AED90AF270BA64A4BF83A5B172C3E01C7BC00126F0B19DA32D159602D77019B51959ABB7A588822896BD9AC54D7E4EE00601792FDF2D4AE0F18EDF99D45BC73400CB541D70690776EB676ED14F88228FB908059D45EC75F203AEC210B6E8A529874387CED25F384C2A9489FAAF0DB23813799EBC2DFA8EDEE42C70AD36D7919FBD5299927264EF36973C3FCCBBFF26B28C51F872E6C28BC4BA5B6DC0BD907C3E3A4F07F4201612E696144A19A9FF329A15390DD975D5C6723EF4EE0F7627BD5DDEE7AF819DB1D4A65D3233D6DF7D55F2A7952FF2DC4761CAD105047B41DB7845BBCFA7A291190F528409028A78F813E96C80E943CD4A6036513171D0ACEADE80C1A68E68112F8841F94D1CB01D0E6678EBD844E73D3066B9D53AD66F0B2381CB25A8F8676C7443C8A729C668861E62B6BB130B574853F2B4B2B7D73521C1D0FF16C1DAF6A4C42B143F4A3C3AF5FD819D49A70ED918C159C572A9A1C56E23F7945FD76FEAF95EA882A438C5197934BAF26DD5E2C702C14AA3556181B61240CF6001F37D62A40FC97721BC777A73E79FAAB902B29337E6A97DD60DFD402DAEC9C0D109A5985DA86DE967F35BDF2A6D35487D7557EA70C08403009D4E3C70C6266D6D909C7DD63A64D3FABC8FA067CB768746A90FC1078EE26F94BEFC1FA8639CF9CA02A171D4FAA8FFA3E1FB41727045DC6AC36DD28C1816B376C18D9FC2D766A2997F2A4802B7557D5228A89BA830F251C01B16E072F60F8E48CE613F495B130C322A692F22C1A653C6CA8650A96384F53D86427F47A84C56BC88F69812BFB23B332DD97E7B9F200FCAFFA4FC8E56B047239B5510679C8A51ACB95A2165CECFD18883868710A68D1CA7B07BC221534D356986F383C094582C8FC4326FA84DB89989A15F4320232D6F2936F8F06DC9D512993888D818EC4EFD30D77D27721572BD53082BFCD20DDCAEC50B8AA66457F0A00F283835F8D732DA4E3FEF7AB5204E8241A6FBE176E655456AEEAC5ACEDF24BC98FE84BBB13D224B407A44137A2F5D0832A46202D390A840BC89B16D282E8B0B4485F2E02CF62F82D71FAE36BE921C1D8DFEFB60BA3D774985D23D8F6476A8B4E92AD15E1E9054BA139D7B3C0B8C2DCE59F13E4A134F0BAFAE8EDBDC4613C22F95C5AC54811D54DF44717B29F64204229BA73BB9E8703ADF8363688B24F45BEDD266DE6EE71597B79A1A644E57C5CA4BBB4A04AA78817566E790875AF6C171A164ED955581329006AAEC6EE08B3172F193C8BDDC14743F538320AAAC74EF8AFE92B1FB117A581758F01EC0A9F050885820B50C88DEB4A8037ADA2D64B48E09F0C785BDAB98DF6D5193C08110508D2C6353A6617B31084BEC5D026459CF747B245A27FD77EB7E8C5FB89876A9EF58C452D3AB90A411B2E8239AFCEB56B3', 'hex'), '5'); + +CREATE TABLE t_bind_config ( + id bigint primary key, + client_version varchar(64) NOT NULL, + region_name varchar(64) NOT NULL, + channel_id int NOT NULL +); + +INSERT INTO t_bind_config VALUES +(1, 'OSCBWin4.8.50', 'dev_mualani', 1); + +CREATE TABLE t_channel_id_config ( + id bigint primary key, + channel_id int NOT NULL, + enable_login_pc bool +); + +INSERT INTO t_channel_id_config VALUES +(1, 1, TRUE); + +CREATE TABLE t_client_region_config ( + id bigint primary key, + client_version varchar(64) NOT NULL, + region_name varchar(64) NOT NULL, + client_region_custom_config varchar(512) NOT NULL +); + +INSERT INTO t_client_region_config VALUES +(1, 'OSCBWin4.8.50', 'dev_mualani', ''); + +CREATE TABLE t_rsakey_config ( + id bigint primary key, + client_public_key varchar(4096) NOT NULL, + server_private_key varchar(4096) NOT NULL +); + +INSERT INTO t_rsakey_config VALUES +(5, E'-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsJbFp3WcsiojjdQtVnTu\nvtawL2m4XxK93F6lCnFwcZqUP39txFGGlrogHMqreyawIUN7E5shtwGzigzjW8Ly\n5CryBJpXP3ehNTqJS7emb+9LlC19Oxa1eQuUQnatgcsd16DPH7kJ5JzN3vXnhvUy\nk4Qficdmm0uk7FRaNYFi7EJs4xyqFTrp3rDZ0dzBHumlIeK1om7FNt6Nyivgp+Uy\nbO7kl0NLFEeSlV4S+7ofitWQsO5xYqKAzSzz+KIRQcxJidGBlZ1JN/g5DPDpx/zt\nvOWYUlM7TYk6xN3focZpU0kBzAw/rn94yW9z8jpXfzk+MvWzVL/HAcPy4ySwkay0\nNwIDAQAB\n-----END PUBLIC KEY-----', E'-----BEGIN RSA PRIVATE KEY-----\nMIIEpQIBAAKCAQEAxbbx2m1feHyrQ7jP+8mtDF/pyYLrJWKWAdEv3wZrOtjOZzeL\nGPzsmkcgncgoRhX4dT+1itSMR9j9m0/OwsH2UoF6U32LxCOQWQD1AMgIZjAkJeJv\nFTrtn8fMQ1701CkbaLTVIjRMlTw8kNXvNA/A9UatoiDmi4TFG6mrxTKZpIcTInvP\nEpkK2A7Qsp1E4skFK8jmysy7uRhMaYHtPTsBvxP0zn3lhKB3W+HTqpneewXWHjCD\nfL7Nbby91jbz5EKPZXWLuhXIvR1Cu4tiruorwXJxmXaP1HQZonytECNU/UOzP6GN\nLdq0eFDE4b04Wjp396551G99YiFP2nqHVJ5OMQIDAQABAoIBAQDEeYZhjyq+avUu\neSuFhOaIU4/ZhlXycsOqzpwJvzEz61tBSvrZPA5LSb9pzAvpic+7hDH94jX89+8d\nNfO7qlADsVNEQJBxuv2o1MCjpCRkmBZz506IBGU60Kt1j5kwdCEergTW1q375z4w\nl8f7LmSL2U6WvKcdojTVxohBkIUJ7shtmmukDi2YnMfe6T/2JuXDDL8rvIcnfr5E\nMCgPQs+xLeLEGrIJdpUy1iIYZYrzvrpJwf9EJL3D0e7jkpbvAQZ8EF9YhEizJhOm\ndzTqW4PgW2yUaHYd3q5QjiILy7AC+oOYoTZln3RfjPOxl+bYjeMOWlqkgtpPQkAE\n4I64w8RZAoGBAPLR44pEkmTdfIIF8ZtzBiVfDZ29bT96J0CWXGVzp8x6bSu5J5jl\ns7sP8DEcjGZ6vHsLGOvkcNxzcnR3l/5HOz6TIuvVuUm36b1jHltq1xZStjGeKZs1\nihhJSu2lIA+TrK8FCRnKARJ0ughXGNZFItgeM230Sgjp2RL4ISXJ724XAoGBANBy\nS2RwNpUYvkCSZHSFnQM/jq1jldxw+0p4jAGpWLilEaA/8xWUnZrnCrPFF/t9llpb\ndTR/dCI8ntIMAy2dH4IUHyYKUahyHSzCAUNKpS0s433kn5hy9tGvn7jyuOJ4dk9F\no1PIZM7qfzmkdCBbX3NF2TGpzOvbYGJHHC3ssVr3AoGBANHJDopN9iDYzpJTaktA\nVEYDWnM2zmUyNylw/sDT7FwYRaup2xEZG2/5NC5qGM8NKTww+UYMZom/4FnJXXLd\nvcyxOFGCpAORtoreUMLwioWJzkkN+apT1kxnPioVKJ7smhvYAOXcBZMZcAR2o0m0\nD4eiiBJuJWyQBPCDmbfZQFffAoGBAKpcr4ewOrwS0/O8cgPV7CTqfjbyDFp1sLwF\n2A/Hk66dotFBUvBRXZpruJCCxn4R/59r3lgAzy7oMrnjfXl7UHQk8+xIRMMSOQwK\np7OSv3szk96hy1pyo41vJ3CmWDsoTzGs7bcdMl72wvKemRaU92ckMEZpzAT8cEMC\ncWKLb8yzAoGAMibG8IyHSo7CJz82+7UHm98jNOlg6s73CEjp0W/+FL45Ka7MF/lp\nxtR3eSmxltvwvjQoti3V4Qboqtc2IPCt+EtapTM7Wo41wlLCWCNx4u25pZPH/c8g\n1yQ+OvH+xOYG+SeO98Phw/8d3IRfR83aqisQHv5upo2Rozzo0Kh3OsE=\n-----END RSA PRIVATE KEY-----'); + +CREATE TABLE t_user_uid ( + uid int primary key NOT NULL, + account_uid varchar(128) NOT NULL, + ext varchar(512) NOT NULL DEFAULT '', + tag int NOT NULL DEFAULT 0, + UNIQUE(account_uid) +); + +CREATE TABLE t_player_data ( + uid int primary key, + nickname varchar(128) NOT NULL DEFAULT '0', + level int NOT NULL DEFAULT 0, + exp int NOT NULL DEFAULT 0, + vip_point int NOT NULL DEFAULT 0, + json_data varchar(512) NOT NULL DEFAULT '', + bin_data bytea NOT NULL, + extra_bin_data bytea DEFAULT NULL, + tag_list varchar(128) NOT NULL DEFAULT '', + is_delete bool, + reserved_1 int, + reserved_2 int, + before_login_bin_data bytea DEFAULT NULL +); + diff --git a/framework/common/src/base/mod.rs b/framework/common/src/base/mod.rs new file mode 100644 index 0000000..71b2edf --- /dev/null +++ b/framework/common/src/base/mod.rs @@ -0,0 +1,3 @@ +mod service_base; + +pub use service_base::NetService; diff --git a/framework/common/src/base/service_base.rs b/framework/common/src/base/service_base.rs new file mode 100644 index 0000000..76a34fd --- /dev/null +++ b/framework/common/src/base/service_base.rs @@ -0,0 +1,92 @@ +use std::collections::BTreeMap; + +use crate::{config::AppConfig, net::ServiceType}; + +pub trait NetService { + fn app_id(&self) -> u32; + fn get_service_type(&self) -> ServiceType; + fn app_map(&self) -> &'static BTreeMap>; + + fn get_app_config(&self, ty: ServiceType, app_id: u32) -> Option { + self.app_map() + .get(&ty)? + .iter() + .find(|a| a.app_id == app_id) + .cloned() + } + + fn get_service_type_by_app_id(&self, app_id: u32) -> Option { + for (ty, apps) in self.app_map() { + if apps.iter().any(|a| a.app_id == app_id) { + return Some(*ty); + } + } + + None + } +} + +#[macro_export] +macro_rules! impl_net_service { + ($name: ident) => { + impl ::common::base::NetService for NetworkMgr { + ::paste::paste! { + fn app_id(&self) -> u32 { + crate::[<$name:lower _service>]().config.app_id + } + + fn get_service_type(&self) -> ::common::net::ServiceType { + ::common::net::ServiceType::$name + } + + fn app_map(&self) -> &'static ::std::collections::BTreeMap<::common::net::ServiceType, Vec<::common::config::AppConfig>> { + &[<$name:lower _service>]().config.applications + } + } + } + }; +} + +#[macro_export] +macro_rules! services { + ($($name: ident;)*) => { + async fn on_recv_to_svc( + &self, + packet: ::common::net::tools::Packet, + ) -> Result<(), Box> { + let Some(app_type) = self.get_service_type_by_app_id(packet.head.sender_app_id) else { + return Ok(()); + }; + + paste! { match app_type { + $(ServiceType::$name => self.[](packet).await,)* + _ => self.on_recv(packet).await, + }} + } + + paste! { + $( + async fn []( + &self, + packet: ::common::net::tools::Packet, + ) -> Result<(), Box> { + let sessions = &self.[<$name:snake _sessions>]; + + if let Some(session) = sessions.get(&packet.head.sender_app_id) { + session.on_recv(packet).await + } else { + let Some(config) = self.get_app_config(ServiceType::$name, packet.head.sender_app_id) else { + tracing::warn!("config for app_id:{} not found", packet.head.sender_app_id); + return Ok(()); + }; + let session = [<$name Session>]::new(packet.head.sender_app_id, config.inner_ip.clone(), self.app_id()).await?; + let session = sessions + .insert(packet.head.sender_app_id, session); + + sessions.get(&packet.head.sender_app_id).unwrap().on_recv(packet).await + } + } + )* + } + }; +} diff --git a/framework/common/src/config/mod.rs b/framework/common/src/config/mod.rs new file mode 100644 index 0000000..b53753b --- /dev/null +++ b/framework/common/src/config/mod.rs @@ -0,0 +1,40 @@ +use std::sync::Arc; + +use serde::{de::DeserializeOwned, Deserialize}; +use toml::de::Error; + +#[derive(Deserialize, Clone)] +pub struct DatabaseConfig { + pub connection_string: String, + pub redis_url: String, +} + +#[derive(Deserialize, Clone)] +pub struct RegionConfig { + pub name: String, + pub dev_sdk_account: bool, +} + +#[derive(Deserialize, Clone)] +pub struct IpString(pub Arc); + +#[derive(Deserialize, Clone)] +pub struct AppConfig { + pub app_id: u32, + pub inner_ip: IpString, +} + +pub fn load_or_create_config(path: &str, defaults: &str) -> Result +where + T: DeserializeOwned, +{ + let data = std::fs::read_to_string(path).map_or_else( + |_| { + std::fs::write(path, defaults).unwrap(); + defaults.to_string() + }, + |data| data, + ); + + toml::from_str(&data) +} diff --git a/framework/common/src/crypto/aes.rs b/framework/common/src/crypto/aes.rs new file mode 100644 index 0000000..b04c381 --- /dev/null +++ b/framework/common/src/crypto/aes.rs @@ -0,0 +1,173 @@ +use super::magic::*; + +fn xorr(a: &mut [u8], b: &[u8], n: usize) { + (0..n).for_each(|i| a[i] ^= b[i]) +} + +fn xor_round_key(state: &mut [u8], keys: &[u8], round: usize) { + xorr(state, &keys[round * 16..], 16) +} + +fn sub_bytes(a: &mut [u8], n: usize) { + (0..n).for_each(|i| a[i] = LOOKUP_SBOX[a[i] as usize]) +} + +fn sub_bytes_inv(a: &mut [u8], n: usize) { + (0..n).for_each(|i| a[i] = LOOKUP_SBOX_INV[a[i] as usize]) +} + +fn key_schedule_core(a: &mut [u8], i: usize) { + let temp = a[0]; + a[0] = a[1]; + a[1] = a[2]; + a[2] = a[3]; + a[3] = temp; + sub_bytes(a, 4); + a[0] ^= LOOKUP_RCON[i]; +} + +fn oqs_aes128_load_schedule_c(key: &[u8]) -> [u8; 176] { + let mut schedule = [0u8; 176]; + + let mut bytes = 16; + let mut i = 1; + let mut t = [0u8; 4]; + + schedule[0..16].copy_from_slice(key); + + while bytes < 176 { + t.copy_from_slice(&schedule[bytes - 4..]); + key_schedule_core(&mut t, i); + i += 1; + xorr(&mut schedule[bytes..], &t, 4); + schedule[bytes..].copy_from_slice(&t); + bytes += 4; + + for _ in 0..3 { + t.copy_from_slice(&schedule[bytes - 4..]); + xorr(&mut t, &schedule[bytes - 16..], 4); + schedule[bytes..].copy_from_slice(&t); + bytes += 4; + } + } + + schedule +} + +fn shift_rows(state: &mut [u8]) { + let temp = state.to_vec(); + (0..16).for_each(|i| state[i] = temp[SHIFT_ROWS_TABLE[i] as usize]); +} + +fn shift_rows_inv(state: &mut [u8]) { + let temp = state.to_vec(); + (0..16).for_each(|i| state[i] = temp[SHIFT_ROWS_TABLE_INV[i] as usize]); +} + +fn mix_col(state: &mut [u8]) { + let (a0, a1, a2, a3) = (state[0], state[1], state[2], state[3]); + + state[0] = LOOKUP_G2[a0 as usize] ^ LOOKUP_G3[a1 as usize] ^ a2 ^ a3; + state[1] = LOOKUP_G2[a1 as usize] ^ LOOKUP_G3[a2 as usize] ^ a3 ^ a0; + state[2] = LOOKUP_G2[a2 as usize] ^ LOOKUP_G3[a3 as usize] ^ a0 ^ a1; + state[3] = LOOKUP_G2[a3 as usize] ^ LOOKUP_G3[a0 as usize] ^ a1 ^ a2; +} + +fn mix_cols(state: &mut [u8]) { + mix_col(&mut state[0..4]); + mix_col(&mut state[4..8]); + mix_col(&mut state[8..12]); + mix_col(&mut state[12..16]); +} + +fn mix_col_inv(state: &mut [u8]) { + let (a0, a1, a2, a3) = (state[0], state[1], state[2], state[3]); + + state[0] = LOOKUP_G14[a0 as usize] + ^ LOOKUP_G9[a3 as usize] + ^ LOOKUP_G13[a2 as usize] + ^ LOOKUP_G11[a1 as usize]; + state[1] = LOOKUP_G14[a1 as usize] + ^ LOOKUP_G9[a0 as usize] + ^ LOOKUP_G13[a3 as usize] + ^ LOOKUP_G11[a2 as usize]; + state[2] = LOOKUP_G14[a2 as usize] + ^ LOOKUP_G9[a1 as usize] + ^ LOOKUP_G13[a0 as usize] + ^ LOOKUP_G11[a3 as usize]; + state[3] = LOOKUP_G14[a3 as usize] + ^ LOOKUP_G9[a2 as usize] + ^ LOOKUP_G13[a1 as usize] + ^ LOOKUP_G11[a0 as usize]; +} + +fn mix_cols_inv(state: &mut [u8]) { + mix_col_inv(&mut state[0..4]); + mix_col_inv(&mut state[4..8]); + mix_col_inv(&mut state[8..12]); + mix_col_inv(&mut state[12..16]); +} + +fn oqs_aes128_enc_c(plaintext: &[u8], schedule: &[u8], ciphertext: &mut [u8]) { + ciphertext.copy_from_slice(&plaintext[..16]); + xor_round_key(ciphertext, schedule, 0); + + for i in 1..10 { + sub_bytes(ciphertext, 16); + shift_rows(ciphertext); + mix_cols(ciphertext); + xor_round_key(ciphertext, schedule, i); + } + + sub_bytes(ciphertext, 16); + shift_rows(ciphertext); + xor_round_key(ciphertext, schedule, 10); +} + +pub fn oqs_mhy128_enc_c(plaintext: &[u8], schedule: &[u8], ciphertext: &mut [u8]) { + ciphertext.copy_from_slice(&plaintext[..16]); + xor_round_key(ciphertext, schedule, 0); + + for i in 1..10 { + sub_bytes_inv(ciphertext, 16); + shift_rows_inv(ciphertext); + mix_cols_inv(ciphertext); + xor_round_key(ciphertext, schedule, i); + } + + sub_bytes_inv(ciphertext, 16); + shift_rows_inv(ciphertext); + xor_round_key(ciphertext, schedule, 10); +} + +fn oqs_aes128_dec_c(ciphertext: &[u8], schedule: &[u8], plaintext: &mut [u8]) { + plaintext.copy_from_slice(&ciphertext[..16]); + xor_round_key(plaintext, schedule, 10); + shift_rows_inv(plaintext); + sub_bytes_inv(plaintext, 16); + + for i in 0..9 { + xor_round_key(plaintext, schedule, 9 - i); + mix_cols_inv(plaintext); + shift_rows_inv(plaintext); + sub_bytes_inv(plaintext, 16); + } + + xor_round_key(plaintext, schedule, 0); +} + +fn oqs_mhy128_dec_c(ciphertext: &[u8], schedule: &[u8], plaintext: &mut [u8]) { + plaintext.copy_from_slice(&ciphertext[..16]); + xor_round_key(plaintext, schedule, 10); + shift_rows(plaintext); + sub_bytes(plaintext, 16); + + for i in 0..9 { + xor_round_key(plaintext, schedule, 9 - i); + mix_cols(plaintext); + shift_rows(plaintext); + sub_bytes(plaintext, 16); + } + + xor_round_key(plaintext, schedule, 0); +} diff --git a/framework/common/src/crypto/magic.rs b/framework/common/src/crypto/magic.rs new file mode 100644 index 0000000..23b0a31 --- /dev/null +++ b/framework/common/src/crypto/magic.rs @@ -0,0 +1,534 @@ +pub const SHIFT_ROWS_TABLE: [u8; 16] = [0, 5, 10, 15, 4, 9, 14, 3, 8, 13, 2, 7, 12, 1, 6, 11]; +pub const SHIFT_ROWS_TABLE_INV: [u8; 16] = [0, 13, 10, 7, 4, 1, 14, 11, 8, 5, 2, 15, 12, 9, 6, 3]; +pub const LOOKUP_RCON: [u8; 16] = [ + 0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, +]; +pub const LOOKUP_SBOX: [u8; 256] = [ + 0x63, 0x7c, 0x77, 0x7b, 0xf2, 0x6b, 0x6f, 0xc5, 0x30, 0x01, 0x67, 0x2b, 0xfe, 0xd7, 0xab, 0x76, + 0xca, 0x82, 0xc9, 0x7d, 0xfa, 0x59, 0x47, 0xf0, 0xad, 0xd4, 0xa2, 0xaf, 0x9c, 0xa4, 0x72, 0xc0, + 0xb7, 0xfd, 0x93, 0x26, 0x36, 0x3f, 0xf7, 0xcc, 0x34, 0xa5, 0xe5, 0xf1, 0x71, 0xd8, 0x31, 0x15, + 0x04, 0xc7, 0x23, 0xc3, 0x18, 0x96, 0x05, 0x9a, 0x07, 0x12, 0x80, 0xe2, 0xeb, 0x27, 0xb2, 0x75, + 0x09, 0x83, 0x2c, 0x1a, 0x1b, 0x6e, 0x5a, 0xa0, 0x52, 0x3b, 0xd6, 0xb3, 0x29, 0xe3, 0x2f, 0x84, + 0x53, 0xd1, 0x00, 0xed, 0x20, 0xfc, 0xb1, 0x5b, 0x6a, 0xcb, 0xbe, 0x39, 0x4a, 0x4c, 0x58, 0xcf, + 0xd0, 0xef, 0xaa, 0xfb, 0x43, 0x4d, 0x33, 0x85, 0x45, 0xf9, 0x02, 0x7f, 0x50, 0x3c, 0x9f, 0xa8, + 0x51, 0xa3, 0x40, 0x8f, 0x92, 0x9d, 0x38, 0xf5, 0xbc, 0xb6, 0xda, 0x21, 0x10, 0xff, 0xf3, 0xd2, + 0xcd, 0x0c, 0x13, 0xec, 0x5f, 0x97, 0x44, 0x17, 0xc4, 0xa7, 0x7e, 0x3d, 0x64, 0x5d, 0x19, 0x73, + 0x60, 0x81, 0x4f, 0xdc, 0x22, 0x2a, 0x90, 0x88, 0x46, 0xee, 0xb8, 0x14, 0xde, 0x5e, 0x0b, 0xdb, + 0xe0, 0x32, 0x3a, 0x0a, 0x49, 0x06, 0x24, 0x5c, 0xc2, 0xd3, 0xac, 0x62, 0x91, 0x95, 0xe4, 0x79, + 0xe7, 0xc8, 0x37, 0x6d, 0x8d, 0xd5, 0x4e, 0xa9, 0x6c, 0x56, 0xf4, 0xea, 0x65, 0x7a, 0xae, 0x08, + 0xba, 0x78, 0x25, 0x2e, 0x1c, 0xa6, 0xb4, 0xc6, 0xe8, 0xdd, 0x74, 0x1f, 0x4b, 0xbd, 0x8b, 0x8a, + 0x70, 0x3e, 0xb5, 0x66, 0x48, 0x03, 0xf6, 0x0e, 0x61, 0x35, 0x57, 0xb9, 0x86, 0xc1, 0x1d, 0x9e, + 0xe1, 0xf8, 0x98, 0x11, 0x69, 0xd9, 0x8e, 0x94, 0x9b, 0x1e, 0x87, 0xe9, 0xce, 0x55, 0x28, 0xdf, + 0x8c, 0xa1, 0x89, 0x0d, 0xbf, 0xe6, 0x42, 0x68, 0x41, 0x99, 0x2d, 0x0f, 0xb0, 0x54, 0xbb, 0x16, +]; +pub const LOOKUP_SBOX_INV: [u8; 256] = [ + 0x52, 0x09, 0x6a, 0xd5, 0x30, 0x36, 0xa5, 0x38, 0xbf, 0x40, 0xa3, 0x9e, 0x81, 0xf3, 0xd7, 0xfb, + 0x7c, 0xe3, 0x39, 0x82, 0x9b, 0x2f, 0xff, 0x87, 0x34, 0x8e, 0x43, 0x44, 0xc4, 0xde, 0xe9, 0xcb, + 0x54, 0x7b, 0x94, 0x32, 0xa6, 0xc2, 0x23, 0x3d, 0xee, 0x4c, 0x95, 0x0b, 0x42, 0xfa, 0xc3, 0x4e, + 0x08, 0x2e, 0xa1, 0x66, 0x28, 0xd9, 0x24, 0xb2, 0x76, 0x5b, 0xa2, 0x49, 0x6d, 0x8b, 0xd1, 0x25, + 0x72, 0xf8, 0xf6, 0x64, 0x86, 0x68, 0x98, 0x16, 0xd4, 0xa4, 0x5c, 0xcc, 0x5d, 0x65, 0xb6, 0x92, + 0x6c, 0x70, 0x48, 0x50, 0xfd, 0xed, 0xb9, 0xda, 0x5e, 0x15, 0x46, 0x57, 0xa7, 0x8d, 0x9d, 0x84, + 0x90, 0xd8, 0xab, 0x00, 0x8c, 0xbc, 0xd3, 0x0a, 0xf7, 0xe4, 0x58, 0x05, 0xb8, 0xb3, 0x45, 0x06, + 0xd0, 0x2c, 0x1e, 0x8f, 0xca, 0x3f, 0x0f, 0x02, 0xc1, 0xaf, 0xbd, 0x03, 0x01, 0x13, 0x8a, 0x6b, + 0x3a, 0x91, 0x11, 0x41, 0x4f, 0x67, 0xdc, 0xea, 0x97, 0xf2, 0xcf, 0xce, 0xf0, 0xb4, 0xe6, 0x73, + 0x96, 0xac, 0x74, 0x22, 0xe7, 0xad, 0x35, 0x85, 0xe2, 0xf9, 0x37, 0xe8, 0x1c, 0x75, 0xdf, 0x6e, + 0x47, 0xf1, 0x1a, 0x71, 0x1d, 0x29, 0xc5, 0x89, 0x6f, 0xb7, 0x62, 0x0e, 0xaa, 0x18, 0xbe, 0x1b, + 0xfc, 0x56, 0x3e, 0x4b, 0xc6, 0xd2, 0x79, 0x20, 0x9a, 0xdb, 0xc0, 0xfe, 0x78, 0xcd, 0x5a, 0xf4, + 0x1f, 0xdd, 0xa8, 0x33, 0x88, 0x07, 0xc7, 0x31, 0xb1, 0x12, 0x10, 0x59, 0x27, 0x80, 0xec, 0x5f, + 0x60, 0x51, 0x7f, 0xa9, 0x19, 0xb5, 0x4a, 0x0d, 0x2d, 0xe5, 0x7a, 0x9f, 0x93, 0xc9, 0x9c, 0xef, + 0xa0, 0xe0, 0x3b, 0x4d, 0xae, 0x2a, 0xf5, 0xb0, 0xc8, 0xeb, 0xbb, 0x3c, 0x83, 0x53, 0x99, 0x61, + 0x17, 0x2b, 0x04, 0x7e, 0xba, 0x77, 0xd6, 0x26, 0xe1, 0x69, 0x14, 0x63, 0x55, 0x21, 0x0c, 0x7d, +]; +pub const LOOKUP_G2: [u8; 256] = [ + 0x00, 0x02, 0x04, 0x06, 0x08, 0x0a, 0x0c, 0x0e, 0x10, 0x12, 0x14, 0x16, 0x18, 0x1a, 0x1c, 0x1e, + 0x20, 0x22, 0x24, 0x26, 0x28, 0x2a, 0x2c, 0x2e, 0x30, 0x32, 0x34, 0x36, 0x38, 0x3a, 0x3c, 0x3e, + 0x40, 0x42, 0x44, 0x46, 0x48, 0x4a, 0x4c, 0x4e, 0x50, 0x52, 0x54, 0x56, 0x58, 0x5a, 0x5c, 0x5e, + 0x60, 0x62, 0x64, 0x66, 0x68, 0x6a, 0x6c, 0x6e, 0x70, 0x72, 0x74, 0x76, 0x78, 0x7a, 0x7c, 0x7e, + 0x80, 0x82, 0x84, 0x86, 0x88, 0x8a, 0x8c, 0x8e, 0x90, 0x92, 0x94, 0x96, 0x98, 0x9a, 0x9c, 0x9e, + 0xa0, 0xa2, 0xa4, 0xa6, 0xa8, 0xaa, 0xac, 0xae, 0xb0, 0xb2, 0xb4, 0xb6, 0xb8, 0xba, 0xbc, 0xbe, + 0xc0, 0xc2, 0xc4, 0xc6, 0xc8, 0xca, 0xcc, 0xce, 0xd0, 0xd2, 0xd4, 0xd6, 0xd8, 0xda, 0xdc, 0xde, + 0xe0, 0xe2, 0xe4, 0xe6, 0xe8, 0xea, 0xec, 0xee, 0xf0, 0xf2, 0xf4, 0xf6, 0xf8, 0xfa, 0xfc, 0xfe, + 0x1b, 0x19, 0x1f, 0x1d, 0x13, 0x11, 0x17, 0x15, 0x0b, 0x09, 0x0f, 0x0d, 0x03, 0x01, 0x07, 0x05, + 0x3b, 0x39, 0x3f, 0x3d, 0x33, 0x31, 0x37, 0x35, 0x2b, 0x29, 0x2f, 0x2d, 0x23, 0x21, 0x27, 0x25, + 0x5b, 0x59, 0x5f, 0x5d, 0x53, 0x51, 0x57, 0x55, 0x4b, 0x49, 0x4f, 0x4d, 0x43, 0x41, 0x47, 0x45, + 0x7b, 0x79, 0x7f, 0x7d, 0x73, 0x71, 0x77, 0x75, 0x6b, 0x69, 0x6f, 0x6d, 0x63, 0x61, 0x67, 0x65, + 0x9b, 0x99, 0x9f, 0x9d, 0x93, 0x91, 0x97, 0x95, 0x8b, 0x89, 0x8f, 0x8d, 0x83, 0x81, 0x87, 0x85, + 0xbb, 0xb9, 0xbf, 0xbd, 0xb3, 0xb1, 0xb7, 0xb5, 0xab, 0xa9, 0xaf, 0xad, 0xa3, 0xa1, 0xa7, 0xa5, + 0xdb, 0xd9, 0xdf, 0xdd, 0xd3, 0xd1, 0xd7, 0xd5, 0xcb, 0xc9, 0xcf, 0xcd, 0xc3, 0xc1, 0xc7, 0xc5, + 0xfb, 0xf9, 0xff, 0xfd, 0xf3, 0xf1, 0xf7, 0xf5, 0xeb, 0xe9, 0xef, 0xed, 0xe3, 0xe1, 0xe7, 0xe5, +]; +pub const LOOKUP_G3: [u8; 256] = [ + 0x00, 0x03, 0x06, 0x05, 0x0c, 0x0f, 0x0a, 0x09, 0x18, 0x1b, 0x1e, 0x1d, 0x14, 0x17, 0x12, 0x11, + 0x30, 0x33, 0x36, 0x35, 0x3c, 0x3f, 0x3a, 0x39, 0x28, 0x2b, 0x2e, 0x2d, 0x24, 0x27, 0x22, 0x21, + 0x60, 0x63, 0x66, 0x65, 0x6c, 0x6f, 0x6a, 0x69, 0x78, 0x7b, 0x7e, 0x7d, 0x74, 0x77, 0x72, 0x71, + 0x50, 0x53, 0x56, 0x55, 0x5c, 0x5f, 0x5a, 0x59, 0x48, 0x4b, 0x4e, 0x4d, 0x44, 0x47, 0x42, 0x41, + 0xc0, 0xc3, 0xc6, 0xc5, 0xcc, 0xcf, 0xca, 0xc9, 0xd8, 0xdb, 0xde, 0xdd, 0xd4, 0xd7, 0xd2, 0xd1, + 0xf0, 0xf3, 0xf6, 0xf5, 0xfc, 0xff, 0xfa, 0xf9, 0xe8, 0xeb, 0xee, 0xed, 0xe4, 0xe7, 0xe2, 0xe1, + 0xa0, 0xa3, 0xa6, 0xa5, 0xac, 0xaf, 0xaa, 0xa9, 0xb8, 0xbb, 0xbe, 0xbd, 0xb4, 0xb7, 0xb2, 0xb1, + 0x90, 0x93, 0x96, 0x95, 0x9c, 0x9f, 0x9a, 0x99, 0x88, 0x8b, 0x8e, 0x8d, 0x84, 0x87, 0x82, 0x81, + 0x9b, 0x98, 0x9d, 0x9e, 0x97, 0x94, 0x91, 0x92, 0x83, 0x80, 0x85, 0x86, 0x8f, 0x8c, 0x89, 0x8a, + 0xab, 0xa8, 0xad, 0xae, 0xa7, 0xa4, 0xa1, 0xa2, 0xb3, 0xb0, 0xb5, 0xb6, 0xbf, 0xbc, 0xb9, 0xba, + 0xfb, 0xf8, 0xfd, 0xfe, 0xf7, 0xf4, 0xf1, 0xf2, 0xe3, 0xe0, 0xe5, 0xe6, 0xef, 0xec, 0xe9, 0xea, + 0xcb, 0xc8, 0xcd, 0xce, 0xc7, 0xc4, 0xc1, 0xc2, 0xd3, 0xd0, 0xd5, 0xd6, 0xdf, 0xdc, 0xd9, 0xda, + 0x5b, 0x58, 0x5d, 0x5e, 0x57, 0x54, 0x51, 0x52, 0x43, 0x40, 0x45, 0x46, 0x4f, 0x4c, 0x49, 0x4a, + 0x6b, 0x68, 0x6d, 0x6e, 0x67, 0x64, 0x61, 0x62, 0x73, 0x70, 0x75, 0x76, 0x7f, 0x7c, 0x79, 0x7a, + 0x3b, 0x38, 0x3d, 0x3e, 0x37, 0x34, 0x31, 0x32, 0x23, 0x20, 0x25, 0x26, 0x2f, 0x2c, 0x29, 0x2a, + 0x0b, 0x08, 0x0d, 0x0e, 0x07, 0x04, 0x01, 0x02, 0x13, 0x10, 0x15, 0x16, 0x1f, 0x1c, 0x19, 0x1a, +]; +pub const LOOKUP_G9: [u8; 256] = [ + 0x00, 0x09, 0x12, 0x1b, 0x24, 0x2d, 0x36, 0x3f, 0x48, 0x41, 0x5a, 0x53, 0x6c, 0x65, 0x7e, 0x77, + 0x90, 0x99, 0x82, 0x8b, 0xb4, 0xbd, 0xa6, 0xaf, 0xd8, 0xd1, 0xca, 0xc3, 0xfc, 0xf5, 0xee, 0xe7, + 0x3b, 0x32, 0x29, 0x20, 0x1f, 0x16, 0x0d, 0x04, 0x73, 0x7a, 0x61, 0x68, 0x57, 0x5e, 0x45, 0x4c, + 0xab, 0xa2, 0xb9, 0xb0, 0x8f, 0x86, 0x9d, 0x94, 0xe3, 0xea, 0xf1, 0xf8, 0xc7, 0xce, 0xd5, 0xdc, + 0x76, 0x7f, 0x64, 0x6d, 0x52, 0x5b, 0x40, 0x49, 0x3e, 0x37, 0x2c, 0x25, 0x1a, 0x13, 0x08, 0x01, + 0xe6, 0xef, 0xf4, 0xfd, 0xc2, 0xcb, 0xd0, 0xd9, 0xae, 0xa7, 0xbc, 0xb5, 0x8a, 0x83, 0x98, 0x91, + 0x4d, 0x44, 0x5f, 0x56, 0x69, 0x60, 0x7b, 0x72, 0x05, 0x0c, 0x17, 0x1e, 0x21, 0x28, 0x33, 0x3a, + 0xdd, 0xd4, 0xcf, 0xc6, 0xf9, 0xf0, 0xeb, 0xe2, 0x95, 0x9c, 0x87, 0x8e, 0xb1, 0xb8, 0xa3, 0xaa, + 0xec, 0xe5, 0xfe, 0xf7, 0xc8, 0xc1, 0xda, 0xd3, 0xa4, 0xad, 0xb6, 0xbf, 0x80, 0x89, 0x92, 0x9b, + 0x7c, 0x75, 0x6e, 0x67, 0x58, 0x51, 0x4a, 0x43, 0x34, 0x3d, 0x26, 0x2f, 0x10, 0x19, 0x02, 0x0b, + 0xd7, 0xde, 0xc5, 0xcc, 0xf3, 0xfa, 0xe1, 0xe8, 0x9f, 0x96, 0x8d, 0x84, 0xbb, 0xb2, 0xa9, 0xa0, + 0x47, 0x4e, 0x55, 0x5c, 0x63, 0x6a, 0x71, 0x78, 0x0f, 0x06, 0x1d, 0x14, 0x2b, 0x22, 0x39, 0x30, + 0x9a, 0x93, 0x88, 0x81, 0xbe, 0xb7, 0xac, 0xa5, 0xd2, 0xdb, 0xc0, 0xc9, 0xf6, 0xff, 0xe4, 0xed, + 0x0a, 0x03, 0x18, 0x11, 0x2e, 0x27, 0x3c, 0x35, 0x42, 0x4b, 0x50, 0x59, 0x66, 0x6f, 0x74, 0x7d, + 0xa1, 0xa8, 0xb3, 0xba, 0x85, 0x8c, 0x97, 0x9e, 0xe9, 0xe0, 0xfb, 0xf2, 0xcd, 0xc4, 0xdf, 0xd6, + 0x31, 0x38, 0x23, 0x2a, 0x15, 0x1c, 0x07, 0x0e, 0x79, 0x70, 0x6b, 0x62, 0x5d, 0x54, 0x4f, 0x46, +]; +pub const LOOKUP_G11: [u8; 256] = [ + 0x00, 0x0b, 0x16, 0x1d, 0x2c, 0x27, 0x3a, 0x31, 0x58, 0x53, 0x4e, 0x45, 0x74, 0x7f, 0x62, 0x69, + 0xb0, 0xbb, 0xa6, 0xad, 0x9c, 0x97, 0x8a, 0x81, 0xe8, 0xe3, 0xfe, 0xf5, 0xc4, 0xcf, 0xd2, 0xd9, + 0x7b, 0x70, 0x6d, 0x66, 0x57, 0x5c, 0x41, 0x4a, 0x23, 0x28, 0x35, 0x3e, 0x0f, 0x04, 0x19, 0x12, + 0xcb, 0xc0, 0xdd, 0xd6, 0xe7, 0xec, 0xf1, 0xfa, 0x93, 0x98, 0x85, 0x8e, 0xbf, 0xb4, 0xa9, 0xa2, + 0xf6, 0xfd, 0xe0, 0xeb, 0xda, 0xd1, 0xcc, 0xc7, 0xae, 0xa5, 0xb8, 0xb3, 0x82, 0x89, 0x94, 0x9f, + 0x46, 0x4d, 0x50, 0x5b, 0x6a, 0x61, 0x7c, 0x77, 0x1e, 0x15, 0x08, 0x03, 0x32, 0x39, 0x24, 0x2f, + 0x8d, 0x86, 0x9b, 0x90, 0xa1, 0xaa, 0xb7, 0xbc, 0xd5, 0xde, 0xc3, 0xc8, 0xf9, 0xf2, 0xef, 0xe4, + 0x3d, 0x36, 0x2b, 0x20, 0x11, 0x1a, 0x07, 0x0c, 0x65, 0x6e, 0x73, 0x78, 0x49, 0x42, 0x5f, 0x54, + 0xf7, 0xfc, 0xe1, 0xea, 0xdb, 0xd0, 0xcd, 0xc6, 0xaf, 0xa4, 0xb9, 0xb2, 0x83, 0x88, 0x95, 0x9e, + 0x47, 0x4c, 0x51, 0x5a, 0x6b, 0x60, 0x7d, 0x76, 0x1f, 0x14, 0x09, 0x02, 0x33, 0x38, 0x25, 0x2e, + 0x8c, 0x87, 0x9a, 0x91, 0xa0, 0xab, 0xb6, 0xbd, 0xd4, 0xdf, 0xc2, 0xc9, 0xf8, 0xf3, 0xee, 0xe5, + 0x3c, 0x37, 0x2a, 0x21, 0x10, 0x1b, 0x06, 0x0d, 0x64, 0x6f, 0x72, 0x79, 0x48, 0x43, 0x5e, 0x55, + 0x01, 0x0a, 0x17, 0x1c, 0x2d, 0x26, 0x3b, 0x30, 0x59, 0x52, 0x4f, 0x44, 0x75, 0x7e, 0x63, 0x68, + 0xb1, 0xba, 0xa7, 0xac, 0x9d, 0x96, 0x8b, 0x80, 0xe9, 0xe2, 0xff, 0xf4, 0xc5, 0xce, 0xd3, 0xd8, + 0x7a, 0x71, 0x6c, 0x67, 0x56, 0x5d, 0x40, 0x4b, 0x22, 0x29, 0x34, 0x3f, 0x0e, 0x05, 0x18, 0x13, + 0xca, 0xc1, 0xdc, 0xd7, 0xe6, 0xed, 0xf0, 0xfb, 0x92, 0x99, 0x84, 0x8f, 0xbe, 0xb5, 0xa8, 0xa3, +]; +pub const LOOKUP_G13: [u8; 256] = [ + 0x00, 0x0d, 0x1a, 0x17, 0x34, 0x39, 0x2e, 0x23, 0x68, 0x65, 0x72, 0x7f, 0x5c, 0x51, 0x46, 0x4b, + 0xd0, 0xdd, 0xca, 0xc7, 0xe4, 0xe9, 0xfe, 0xf3, 0xb8, 0xb5, 0xa2, 0xaf, 0x8c, 0x81, 0x96, 0x9b, + 0xbb, 0xb6, 0xa1, 0xac, 0x8f, 0x82, 0x95, 0x98, 0xd3, 0xde, 0xc9, 0xc4, 0xe7, 0xea, 0xfd, 0xf0, + 0x6b, 0x66, 0x71, 0x7c, 0x5f, 0x52, 0x45, 0x48, 0x03, 0x0e, 0x19, 0x14, 0x37, 0x3a, 0x2d, 0x20, + 0x6d, 0x60, 0x77, 0x7a, 0x59, 0x54, 0x43, 0x4e, 0x05, 0x08, 0x1f, 0x12, 0x31, 0x3c, 0x2b, 0x26, + 0xbd, 0xb0, 0xa7, 0xaa, 0x89, 0x84, 0x93, 0x9e, 0xd5, 0xd8, 0xcf, 0xc2, 0xe1, 0xec, 0xfb, 0xf6, + 0xd6, 0xdb, 0xcc, 0xc1, 0xe2, 0xef, 0xf8, 0xf5, 0xbe, 0xb3, 0xa4, 0xa9, 0x8a, 0x87, 0x90, 0x9d, + 0x06, 0x0b, 0x1c, 0x11, 0x32, 0x3f, 0x28, 0x25, 0x6e, 0x63, 0x74, 0x79, 0x5a, 0x57, 0x40, 0x4d, + 0xda, 0xd7, 0xc0, 0xcd, 0xee, 0xe3, 0xf4, 0xf9, 0xb2, 0xbf, 0xa8, 0xa5, 0x86, 0x8b, 0x9c, 0x91, + 0x0a, 0x07, 0x10, 0x1d, 0x3e, 0x33, 0x24, 0x29, 0x62, 0x6f, 0x78, 0x75, 0x56, 0x5b, 0x4c, 0x41, + 0x61, 0x6c, 0x7b, 0x76, 0x55, 0x58, 0x4f, 0x42, 0x09, 0x04, 0x13, 0x1e, 0x3d, 0x30, 0x27, 0x2a, + 0xb1, 0xbc, 0xab, 0xa6, 0x85, 0x88, 0x9f, 0x92, 0xd9, 0xd4, 0xc3, 0xce, 0xed, 0xe0, 0xf7, 0xfa, + 0xb7, 0xba, 0xad, 0xa0, 0x83, 0x8e, 0x99, 0x94, 0xdf, 0xd2, 0xc5, 0xc8, 0xeb, 0xe6, 0xf1, 0xfc, + 0x67, 0x6a, 0x7d, 0x70, 0x53, 0x5e, 0x49, 0x44, 0x0f, 0x02, 0x15, 0x18, 0x3b, 0x36, 0x21, 0x2c, + 0x0c, 0x01, 0x16, 0x1b, 0x38, 0x35, 0x22, 0x2f, 0x64, 0x69, 0x7e, 0x73, 0x50, 0x5d, 0x4a, 0x47, + 0xdc, 0xd1, 0xc6, 0xcb, 0xe8, 0xe5, 0xf2, 0xff, 0xb4, 0xb9, 0xae, 0xa3, 0x80, 0x8d, 0x9a, 0x97, +]; +pub const LOOKUP_G14: [u8; 256] = [ + 0x00, 0x0e, 0x1c, 0x12, 0x38, 0x36, 0x24, 0x2a, 0x70, 0x7e, 0x6c, 0x62, 0x48, 0x46, 0x54, 0x5a, + 0xe0, 0xee, 0xfc, 0xf2, 0xd8, 0xd6, 0xc4, 0xca, 0x90, 0x9e, 0x8c, 0x82, 0xa8, 0xa6, 0xb4, 0xba, + 0xdb, 0xd5, 0xc7, 0xc9, 0xe3, 0xed, 0xff, 0xf1, 0xab, 0xa5, 0xb7, 0xb9, 0x93, 0x9d, 0x8f, 0x81, + 0x3b, 0x35, 0x27, 0x29, 0x03, 0x0d, 0x1f, 0x11, 0x4b, 0x45, 0x57, 0x59, 0x73, 0x7d, 0x6f, 0x61, + 0xad, 0xa3, 0xb1, 0xbf, 0x95, 0x9b, 0x89, 0x87, 0xdd, 0xd3, 0xc1, 0xcf, 0xe5, 0xeb, 0xf9, 0xf7, + 0x4d, 0x43, 0x51, 0x5f, 0x75, 0x7b, 0x69, 0x67, 0x3d, 0x33, 0x21, 0x2f, 0x05, 0x0b, 0x19, 0x17, + 0x76, 0x78, 0x6a, 0x64, 0x4e, 0x40, 0x52, 0x5c, 0x06, 0x08, 0x1a, 0x14, 0x3e, 0x30, 0x22, 0x2c, + 0x96, 0x98, 0x8a, 0x84, 0xae, 0xa0, 0xb2, 0xbc, 0xe6, 0xe8, 0xfa, 0xf4, 0xde, 0xd0, 0xc2, 0xcc, + 0x41, 0x4f, 0x5d, 0x53, 0x79, 0x77, 0x65, 0x6b, 0x31, 0x3f, 0x2d, 0x23, 0x09, 0x07, 0x15, 0x1b, + 0xa1, 0xaf, 0xbd, 0xb3, 0x99, 0x97, 0x85, 0x8b, 0xd1, 0xdf, 0xcd, 0xc3, 0xe9, 0xe7, 0xf5, 0xfb, + 0x9a, 0x94, 0x86, 0x88, 0xa2, 0xac, 0xbe, 0xb0, 0xea, 0xe4, 0xf6, 0xf8, 0xd2, 0xdc, 0xce, 0xc0, + 0x7a, 0x74, 0x66, 0x68, 0x42, 0x4c, 0x5e, 0x50, 0x0a, 0x04, 0x16, 0x18, 0x32, 0x3c, 0x2e, 0x20, + 0xec, 0xe2, 0xf0, 0xfe, 0xd4, 0xda, 0xc8, 0xc6, 0x9c, 0x92, 0x80, 0x8e, 0xa4, 0xaa, 0xb8, 0xb6, + 0x0c, 0x02, 0x10, 0x1e, 0x34, 0x3a, 0x28, 0x26, 0x7c, 0x72, 0x60, 0x6e, 0x44, 0x4a, 0x58, 0x56, + 0x37, 0x39, 0x2b, 0x25, 0x0f, 0x01, 0x13, 0x1d, 0x47, 0x49, 0x5b, 0x55, 0x7f, 0x71, 0x63, 0x6d, + 0xd7, 0xd9, 0xcb, 0xc5, 0xef, 0xe1, 0xf3, 0xfd, 0xa7, 0xa9, 0xbb, 0xb5, 0x9f, 0x91, 0x83, 0x8d, +]; +pub const KEY_XORPAD_TABLE: [u8; 16] = [ + 0xA2, 0x25, 0x25, 0x99, 0xB7, 0x62, 0xF4, 0x39, 0x28, 0xE1, 0xB7, 0x73, 0x91, 0x05, 0x25, 0x87, +]; +pub const AES_XORPAD_TABLE: [[u8; 2816]; 2] = [ + [ + 0xDE, 0xAD, 0xCA, 0xFE, 0xFA, 0xCE, 0xB0, 0x0C, 0xDE, 0xAD, 0xCA, 0xFE, 0xFA, 0xCE, 0xB0, + 0x0C, 0x3A, 0xE6, 0xDE, 0x9C, 0x81, 0xBA, 0x7C, 0xC6, 0x12, 0x1B, 0xAF, 0xD2, 0x8A, 0xBA, + 0xF5, 0xE6, 0x41, 0xDF, 0x71, 0xBA, 0x37, 0x11, 0x50, 0xF3, 0xF3, 0x62, 0x6E, 0x04, 0xF1, + 0x14, 0xFC, 0xBD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE7, 0x7B, 0x52, 0x7C, + 0x19, 0x98, 0x35, 0x96, 0x1F, 0x8E, 0xFA, 0x3C, 0x73, 0x62, 0x6A, 0x92, 0x18, 0x18, 0xE0, + 0xAC, 0x9E, 0x71, 0x37, 0x3C, 0x48, 0xDE, 0xDC, 0xA2, 0xE8, 0xBB, 0x35, 0xB5, 0x0E, 0xB6, + 0x3E, 0x71, 0x25, 0x8A, 0xF2, 0x33, 0xE0, 0xD6, 0xBE, 0xF0, 0x3A, 0x93, 0xD0, 0x69, 0x81, + 0x00, 0x53, 0x7E, 0xCA, 0x4E, 0x78, 0x4B, 0xA2, 0xF7, 0xB3, 0xF1, 0x67, 0x82, 0x47, 0x6A, + 0xB8, 0xAA, 0x76, 0xF9, 0xDF, 0x3B, 0xEC, 0x56, 0x1F, 0x8E, 0xFA, 0x3C, 0x73, 0x62, 0x6A, + 0x92, 0x18, 0x18, 0xE0, 0xAC, 0x9E, 0x71, 0x37, 0x3C, 0x48, 0xDE, 0xDC, 0xA2, 0xE8, 0xBB, + 0x35, 0xB5, 0x0E, 0xB6, 0x3E, 0x71, 0x25, 0x8A, 0xF2, 0x33, 0xE0, 0xD6, 0xBE, 0xF0, 0x3A, + 0x93, 0xD0, 0x69, 0x81, 0x00, 0x53, 0x7E, 0xCA, 0x4E, 0x78, 0x4B, 0xA2, 0xF7, 0xB3, 0xF1, + 0x67, 0x82, 0x47, 0x6A, 0xB8, 0xAA, 0x76, 0xF9, 0xDF, 0x3B, 0xEC, 0x56, 0x1F, 0x8E, 0xFA, + 0x3C, 0x73, 0x62, 0x6A, 0x92, 0x18, 0x18, 0xE0, 0xAC, 0x9E, 0x71, 0x37, 0x3C, 0x48, 0xDE, + 0xDC, 0xA2, 0xE8, 0xBB, 0x35, 0xB5, 0x0E, 0xB6, 0x3E, 0x71, 0x25, 0x8A, 0xF2, 0x33, 0xE0, + 0xD6, 0xBE, 0xF0, 0x3A, 0x93, 0xD0, 0x69, 0x81, 0x00, 0x53, 0x7E, 0xCA, 0x4E, 0x78, 0x4B, + 0xA2, 0xF7, 0xB3, 0xF1, 0x67, 0x82, 0x47, 0x6A, 0xB8, 0xAA, 0x76, 0xF9, 0xDF, 0x3B, 0xEC, + 0x56, 0x1F, 0x8E, 0xFA, 0x3C, 0x73, 0x62, 0x6A, 0x92, 0x18, 0x18, 0xE0, 0xAC, 0x9E, 0x71, + 0x37, 0x3C, 0x48, 0xDE, 0xDC, 0xA2, 0xE8, 0xBB, 0x35, 0xB5, 0x0E, 0xB6, 0x3E, 0x71, 0x25, + 0x8A, 0xF2, 0x33, 0xE0, 0xD6, 0xBE, 0xF0, 0x3A, 0x93, 0xD0, 0x69, 0x81, 0x00, 0x53, 0x7E, + 0xCA, 0x4E, 0x78, 0x4B, 0xA2, 0xF7, 0xB3, 0xF1, 0x67, 0x82, 0x47, 0x6A, 0xB8, 0xAA, 0x76, + 0xF9, 0xDF, 0x3B, 0xEC, 0x56, 0x1F, 0x8E, 0xFA, 0x3C, 0x73, 0x62, 0x6A, 0x92, 0x18, 0x18, + 0xE0, 0xAC, 0x9E, 0x71, 0x37, 0x3C, 0x48, 0xDE, 0xDC, 0xA2, 0xE8, 0xBB, 0x35, 0xB5, 0x0E, + 0xB6, 0x3E, 0x71, 0x25, 0x8A, 0xF2, 0x33, 0xE0, 0xD6, 0xBE, 0xF0, 0x3A, 0x93, 0xD0, 0x69, + 0x81, 0x00, 0x53, 0x7E, 0xCA, 0x4E, 0x78, 0x4B, 0xA2, 0xF7, 0xB3, 0xF1, 0x67, 0x82, 0x47, + 0x6A, 0xB8, 0xAA, 0x76, 0xF9, 0xDF, 0x3B, 0xEC, 0x56, 0x1F, 0x8E, 0xFA, 0x3C, 0x73, 0x62, + 0x6A, 0x92, 0x18, 0x18, 0xE0, 0xAC, 0x9E, 0x71, 0x37, 0x3C, 0x48, 0xDE, 0xDC, 0xA2, 0xE8, + 0xBB, 0x35, 0xB5, 0x0E, 0xB6, 0x3E, 0x71, 0x25, 0x8A, 0xF2, 0x33, 0xE0, 0xD6, 0xBE, 0xF0, + 0x3A, 0x93, 0xD0, 0x69, 0x81, 0x00, 0x53, 0x7E, 0xCA, 0x4E, 0x78, 0x4B, 0xA2, 0xF7, 0xB3, + 0xF1, 0x67, 0x82, 0x47, 0x6A, 0xB8, 0xAA, 0x76, 0xF9, 0xDF, 0x3B, 0xEC, 0x56, 0x1F, 0x8E, + 0xFA, 0x3C, 0x73, 0x62, 0x6A, 0x92, 0x18, 0x18, 0xE0, 0xAC, 0x9E, 0x71, 0x37, 0x3C, 0x48, + 0xDE, 0xDC, 0xA2, 0xE8, 0xBB, 0x35, 0xB5, 0x0E, 0xB6, 0x3E, 0x71, 0x25, 0x8A, 0xF2, 0x33, + 0xE0, 0xD6, 0xBE, 0xF0, 0x3A, 0x93, 0xD0, 0x69, 0x81, 0x00, 0x53, 0x7E, 0xCA, 0x4E, 0x78, + 0x4B, 0xA2, 0xF7, 0xB3, 0xF1, 0x67, 0x82, 0x47, 0x6A, 0xB8, 0xAA, 0x76, 0xF9, 0xDF, 0x3B, + 0xEC, 0x56, 0x1F, 0x8E, 0xFA, 0x3C, 0x73, 0x62, 0x6A, 0x92, 0x18, 0x18, 0xE0, 0xAC, 0x9E, + 0x71, 0x37, 0x3C, 0x48, 0xDE, 0xDC, 0xA2, 0xE8, 0xBB, 0x35, 0xB5, 0x0E, 0xB6, 0x3E, 0x71, + 0x25, 0x8A, 0xF2, 0x33, 0xE0, 0xD6, 0xBE, 0xF0, 0x3A, 0x93, 0xD0, 0x69, 0x81, 0x00, 0x53, + 0x7E, 0xCA, 0x4E, 0x78, 0x4B, 0xA2, 0xF7, 0xB3, 0xF1, 0x67, 0x82, 0x47, 0x6A, 0xB8, 0xAA, + 0x76, 0xF9, 0xDF, 0x3B, 0xEC, 0x56, 0x1F, 0x8E, 0xFA, 0x3C, 0x73, 0x62, 0x6A, 0x92, 0x18, + 0x18, 0xE0, 0xAC, 0x9E, 0x71, 0x37, 0x3C, 0x48, 0xDE, 0xDC, 0xA2, 0xE8, 0xBB, 0x35, 0xB5, + 0x0E, 0xB6, 0x3E, 0x71, 0x25, 0x8A, 0xF2, 0x33, 0xE0, 0xD6, 0xBE, 0xF0, 0x3A, 0x93, 0xD0, + 0x69, 0x81, 0x00, 0x53, 0x7E, 0xCA, 0x4E, 0x78, 0x4B, 0xA2, 0xF7, 0xB3, 0xF1, 0x67, 0x82, + 0x47, 0x6A, 0xB8, 0xAA, 0x76, 0xF9, 0xDF, 0x3B, 0xEC, 0x56, 0x1F, 0x8E, 0xFA, 0x3C, 0x73, + 0x62, 0x6A, 0x92, 0x18, 0x18, 0xE0, 0xAC, 0x9E, 0x71, 0x37, 0x3C, 0x48, 0xDE, 0xDC, 0xA2, + 0xE8, 0xBB, 0x35, 0xB5, 0x0E, 0xB6, 0x3E, 0x71, 0x25, 0x8A, 0xF2, 0x33, 0xE0, 0xD6, 0xBE, + 0xF0, 0x3A, 0x93, 0xD0, 0x69, 0x81, 0x00, 0x53, 0x7E, 0xCA, 0x4E, 0x78, 0x4B, 0xA2, 0xF7, + 0xB3, 0xF1, 0x67, 0x82, 0x47, 0x6A, 0xB8, 0xAA, 0x76, 0xF9, 0xDF, 0x3B, 0xEC, 0x56, 0x1F, + 0x8E, 0xFA, 0x3C, 0x73, 0x62, 0x6A, 0x92, 0x18, 0x18, 0xE0, 0xAC, 0x9E, 0x71, 0x37, 0x3C, + 0x48, 0xDE, 0xDC, 0xA2, 0xE8, 0xBB, 0x35, 0xB5, 0x0E, 0xB6, 0x3E, 0x71, 0x25, 0x8A, 0xF2, + 0x33, 0xE0, 0xD6, 0xBE, 0xF0, 0x3A, 0x93, 0xD0, 0x69, 0x81, 0x00, 0x53, 0x7E, 0xCA, 0x4E, + 0x78, 0x4B, 0xA2, 0xF7, 0xB3, 0xF1, 0x67, 0x82, 0x47, 0x6A, 0xB8, 0xAA, 0x76, 0xF9, 0xDF, + 0x3B, 0xEC, 0x56, 0x1F, 0x8E, 0xFA, 0x3C, 0x73, 0x62, 0x6A, 0x92, 0x18, 0x18, 0xE0, 0xAC, + 0x9E, 0x71, 0x37, 0x3C, 0x48, 0xDE, 0xDC, 0xA2, 0xE8, 0xBB, 0x35, 0xB5, 0x0E, 0xB6, 0x3E, + 0x71, 0x25, 0x8A, 0xF2, 0x33, 0xE0, 0xD6, 0xBE, 0xF0, 0x3A, 0x93, 0xD0, 0x69, 0x81, 0x00, + 0x53, 0x7E, 0xCA, 0x4E, 0x78, 0x4B, 0xA2, 0xF7, 0xB3, 0xF1, 0x67, 0x82, 0x47, 0x6A, 0xB8, + 0xAA, 0x76, 0xF9, 0xDF, 0x3B, 0xEC, 0x56, 0x1F, 0x8E, 0xFA, 0x3C, 0x73, 0x62, 0x6A, 0x92, + 0x18, 0x18, 0xE0, 0xAC, 0x9E, 0x71, 0x37, 0x3C, 0x48, 0xDE, 0xDC, 0xA2, 0xE8, 0xBB, 0x35, + 0xB5, 0x0E, 0xB6, 0x3E, 0x71, 0x25, 0x8A, 0xF2, 0x33, 0xE0, 0xD6, 0xBE, 0xF0, 0x3A, 0x93, + 0xD0, 0x69, 0x81, 0x00, 0x53, 0x7E, 0xCA, 0x4E, 0x78, 0x4B, 0xA2, 0xF7, 0xB3, 0xF1, 0x67, + 0x82, 0x47, 0x6A, 0xB8, 0xAA, 0x76, 0xF9, 0xDF, 0x3B, 0xEC, 0x56, 0x1F, 0x8E, 0xFA, 0x3C, + 0x73, 0x62, 0x6A, 0x92, 0x18, 0x18, 0xE0, 0xAC, 0x9E, 0x71, 0x37, 0x3C, 0x48, 0xDE, 0xDC, + 0xA2, 0xE8, 0xBB, 0x35, 0xB5, 0x0E, 0xB6, 0x3E, 0x71, 0x25, 0x8A, 0xF2, 0x33, 0xE0, 0xD6, + 0xBE, 0xF0, 0x3A, 0x93, 0xD0, 0x69, 0x81, 0x00, 0x53, 0x7E, 0xCA, 0x4E, 0x78, 0x4B, 0xA2, + 0xF7, 0xB3, 0xF1, 0x67, 0x82, 0x47, 0x6A, 0xB8, 0xAA, 0x76, 0xF9, 0xDF, 0x3B, 0xEC, 0x56, + 0x1F, 0x8E, 0xFA, 0x3C, 0x73, 0x62, 0x6A, 0x92, 0x18, 0x18, 0xE0, 0xAC, 0x9E, 0x71, 0x37, + 0x3C, 0x48, 0xDE, 0xDC, 0xA2, 0xE8, 0xBB, 0x35, 0xB5, 0x0E, 0xB6, 0x3E, 0x71, 0x25, 0x8A, + 0xF2, 0x33, 0xE0, 0xD6, 0xBE, 0xF0, 0x3A, 0x93, 0xD0, 0x69, 0x81, 0x00, 0x53, 0x7E, 0xCA, + 0x4E, 0x78, 0x4B, 0xA2, 0xF7, 0xB3, 0xF1, 0x67, 0x82, 0x47, 0x6A, 0xB8, 0xAA, 0x76, 0xF9, + 0xDF, 0x3B, 0xEC, 0x56, 0x1F, 0x8E, 0xFA, 0x3C, 0x73, 0x62, 0x6A, 0x92, 0x18, 0x18, 0xE0, + 0xAC, 0x9E, 0x71, 0x37, 0x3C, 0x48, 0xDE, 0xDC, 0xA2, 0xE8, 0xBB, 0x35, 0xB5, 0x0E, 0xB6, + 0x3E, 0x71, 0x25, 0x8A, 0xF2, 0x33, 0xE0, 0xD6, 0xBE, 0xF0, 0x3A, 0x93, 0xD0, 0x69, 0x81, + 0x00, 0x53, 0x7E, 0xCA, 0x4E, 0x78, 0x4B, 0xA2, 0xF7, 0xB3, 0xF1, 0x67, 0x82, 0x47, 0x6A, + 0xB8, 0xAA, 0x76, 0xF9, 0xDF, 0x3B, 0xEC, 0x56, 0x1F, 0x8E, 0xFA, 0x3C, 0x73, 0x62, 0x6A, + 0x92, 0x18, 0x18, 0xE0, 0xAC, 0x9E, 0x71, 0x37, 0x3C, 0x48, 0xDE, 0xDC, 0xA2, 0xE8, 0xBB, + 0x35, 0xB5, 0x0E, 0xB6, 0x3E, 0x71, 0x25, 0x8A, 0xF2, 0x33, 0xE0, 0xD6, 0xBE, 0xF0, 0x3A, + 0x93, 0xD0, 0x69, 0x81, 0x00, 0x53, 0x7E, 0xCA, 0x4E, 0x78, 0x4B, 0xA2, 0xF7, 0xB3, 0xF1, + 0x67, 0x82, 0x47, 0x6A, 0xB8, 0xAA, 0x76, 0xF9, 0xDF, 0x3B, 0xEC, 0x56, 0x1F, 0x8E, 0xFA, + 0x3C, 0x73, 0x62, 0x6A, 0x92, 0x18, 0x18, 0xE0, 0xAC, 0x9E, 0x71, 0x37, 0x3C, 0x48, 0xDE, + 0xDC, 0xA2, 0xE8, 0xBB, 0x35, 0xB5, 0x0E, 0xB6, 0x3E, 0x71, 0x25, 0x8A, 0xF2, 0x33, 0xE0, + 0xD6, 0xBE, 0xF0, 0x3A, 0x93, 0xD0, 0x69, 0x81, 0x00, 0x53, 0x7E, 0xCA, 0x4E, 0x78, 0x4B, + 0xA2, 0xF7, 0xB3, 0xF1, 0x67, 0x82, 0x47, 0x6A, 0xB8, 0xAA, 0x76, 0xF9, 0xDF, 0x3B, 0xEC, + 0x56, 0x1F, 0x8E, 0xFA, 0x3C, 0x73, 0x62, 0x6A, 0x92, 0x18, 0x18, 0xE0, 0xAC, 0x9E, 0x71, + 0x37, 0x3C, 0x48, 0xDE, 0xDC, 0xA2, 0xE8, 0xBB, 0x35, 0xB5, 0x0E, 0xB6, 0x3E, 0x71, 0x25, + 0x8A, 0xF2, 0x33, 0xE0, 0xD6, 0xBE, 0xF0, 0x3A, 0x93, 0xD0, 0x69, 0x81, 0x00, 0x53, 0x7E, + 0xCA, 0x4E, 0x78, 0x4B, 0xA2, 0xF7, 0xB3, 0xF1, 0x67, 0x82, 0x47, 0x6A, 0xB8, 0xAA, 0x76, + 0xF9, 0xDF, 0x3B, 0xEC, 0x56, 0x1F, 0x8E, 0xFA, 0x3C, 0x73, 0x62, 0x6A, 0x92, 0x18, 0x18, + 0xE0, 0xAC, 0x9E, 0x71, 0x37, 0x3C, 0x48, 0xDE, 0xDC, 0xA2, 0xE8, 0xBB, 0x35, 0xB5, 0x0E, + 0xB6, 0x3E, 0x71, 0x25, 0x8A, 0xF2, 0x33, 0xE0, 0xD6, 0xBE, 0xF0, 0x3A, 0x93, 0xD0, 0x69, + 0x81, 0x00, 0x53, 0x7E, 0xCA, 0x4E, 0x78, 0x4B, 0xA2, 0xF7, 0xB3, 0xF1, 0x67, 0x82, 0x47, + 0x6A, 0xB8, 0xAA, 0x76, 0xF9, 0xDF, 0x3B, 0xEC, 0x56, 0x1F, 0x8E, 0xFA, 0x3C, 0x73, 0x62, + 0x6A, 0x92, 0x18, 0x18, 0xE0, 0xAC, 0x9E, 0x71, 0x37, 0x3C, 0x48, 0xDE, 0xDC, 0xA2, 0xE8, + 0xBB, 0x35, 0xB5, 0x0E, 0xB6, 0x3E, 0x71, 0x25, 0x8A, 0xF2, 0x33, 0xE0, 0xD6, 0xBE, 0xF0, + 0x3A, 0x93, 0xD0, 0x69, 0x81, 0x00, 0x53, 0x7E, 0xCA, 0x4E, 0x78, 0x4B, 0xA2, 0xF7, 0xB3, + 0xF1, 0x67, 0x82, 0x47, 0x6A, 0xB8, 0xAA, 0x76, 0xF9, 0xDF, 0x3B, 0xEC, 0x56, 0x1F, 0x8E, + 0xFA, 0x3C, 0x73, 0x62, 0x6A, 0x92, 0x18, 0x18, 0xE0, 0xAC, 0x9E, 0x71, 0x37, 0x3C, 0x48, + 0xDE, 0xDC, 0xA2, 0xE8, 0xBB, 0x35, 0xB5, 0x0E, 0xB6, 0x3E, 0x71, 0x25, 0x8A, 0xF2, 0x33, + 0xE0, 0xD6, 0xBE, 0xF0, 0x3A, 0x93, 0xD0, 0x69, 0x81, 0x00, 0x53, 0x7E, 0xCA, 0x4E, 0x78, + 0x4B, 0xA2, 0xF7, 0xB3, 0xF1, 0x67, 0x82, 0x47, 0x6A, 0xB8, 0xAA, 0x76, 0xF9, 0xDF, 0x3B, + 0xEC, 0x56, 0x1F, 0x8E, 0xFA, 0x3C, 0x73, 0x62, 0x6A, 0x92, 0x18, 0x18, 0xE0, 0xAC, 0x9E, + 0x71, 0x37, 0x3C, 0x48, 0xDE, 0xDC, 0xA2, 0xE8, 0xBB, 0x35, 0xB5, 0x0E, 0xB6, 0x3E, 0x71, + 0x25, 0x8A, 0xF2, 0x33, 0xE0, 0xD6, 0xBE, 0xF0, 0x3A, 0x93, 0xD0, 0x69, 0x81, 0x00, 0x53, + 0x7E, 0xCA, 0x4E, 0x78, 0x4B, 0xA2, 0xF7, 0xB3, 0xF1, 0x67, 0x82, 0x47, 0x6A, 0xB8, 0xAA, + 0x76, 0xF9, 0xDF, 0x3B, 0xEC, 0x56, 0x1F, 0x8E, 0xFA, 0x3C, 0x73, 0x62, 0x6A, 0x92, 0x18, + 0x18, 0xE0, 0xAC, 0x9E, 0x71, 0x37, 0x3C, 0x48, 0xDE, 0xDC, 0xA2, 0xE8, 0xBB, 0x35, 0xB5, + 0x0E, 0xB6, 0x3E, 0x71, 0x25, 0x8A, 0xF2, 0x33, 0xE0, 0xD6, 0xBE, 0xF0, 0x3A, 0x93, 0xD0, + 0x69, 0x81, 0x00, 0x53, 0x7E, 0xCA, 0x4E, 0x78, 0x4B, 0xA2, 0xF7, 0xB3, 0xF1, 0x67, 0x82, + 0x47, 0x6A, 0xB8, 0xAA, 0x76, 0xF9, 0xDF, 0x3B, 0xEC, 0x56, 0x1F, 0x8E, 0xFA, 0x3C, 0x73, + 0x62, 0x6A, 0x92, 0x18, 0x18, 0xE0, 0xAC, 0x9E, 0x71, 0x37, 0x3C, 0x48, 0xDE, 0xDC, 0xA2, + 0xE8, 0xBB, 0x35, 0xB5, 0x0E, 0xB6, 0x3E, 0x71, 0x25, 0x8A, 0xF2, 0x33, 0xE0, 0xD6, 0xBE, + 0xF0, 0x3A, 0x93, 0xD0, 0x69, 0x81, 0x00, 0x53, 0x7E, 0xCA, 0x4E, 0x78, 0x4B, 0xA2, 0xF7, + 0xB3, 0xF1, 0x67, 0x82, 0x47, 0x6A, 0xB8, 0xAA, 0x76, 0xF9, 0xDF, 0x3B, 0xEC, 0x56, 0x1F, + 0x8E, 0xFA, 0x3C, 0x73, 0x62, 0x6A, 0x92, 0x18, 0x18, 0xE0, 0xAC, 0x9E, 0x71, 0x37, 0x3C, + 0x48, 0xDE, 0xDC, 0xA2, 0xE8, 0xBB, 0x35, 0xB5, 0x0E, 0xB6, 0x3E, 0x71, 0x25, 0x8A, 0xF2, + 0x33, 0xE0, 0xD6, 0xBE, 0xF0, 0x3A, 0x93, 0xD0, 0x69, 0x81, 0x00, 0x53, 0x7E, 0xCA, 0x4E, + 0x78, 0x4B, 0xA2, 0xF7, 0xB3, 0xF1, 0x67, 0x82, 0x47, 0x6A, 0xB8, 0xAA, 0x76, 0xF9, 0xDF, + 0x3B, 0xEC, 0x56, 0x1F, 0x8E, 0xFA, 0x3C, 0x73, 0x62, 0x6A, 0x92, 0x18, 0x18, 0xE0, 0xAC, + 0x9E, 0x71, 0x37, 0x3C, 0x48, 0xDE, 0xDC, 0xA2, 0xE8, 0xBB, 0x35, 0xB5, 0x0E, 0xB6, 0x3E, + 0x71, 0x25, 0x8A, 0xF2, 0x33, 0xE0, 0xD6, 0xBE, 0xF0, 0x3A, 0x93, 0xD0, 0x69, 0x81, 0x00, + 0x53, 0x7E, 0xCA, 0x4E, 0x78, 0x4B, 0xA2, 0xF7, 0xB3, 0xF1, 0x67, 0x82, 0x47, 0x6A, 0xB8, + 0xAA, 0x76, 0xF9, 0xDF, 0x3B, 0xEC, 0x56, 0x1F, 0x8E, 0xFA, 0x3C, 0x73, 0x62, 0x6A, 0x92, + 0x18, 0x18, 0xE0, 0xAC, 0x9E, 0x71, 0x37, 0x3C, 0x48, 0xDE, 0xDC, 0xA2, 0xE8, 0xBB, 0x35, + 0xB5, 0x0E, 0xB6, 0x3E, 0x71, 0x25, 0x8A, 0xF2, 0x33, 0xE0, 0xD6, 0xBE, 0xF0, 0x3A, 0x93, + 0xD0, 0x69, 0x81, 0x00, 0x53, 0x7E, 0xCA, 0x4E, 0x78, 0x4B, 0xA2, 0xF7, 0xB3, 0xF1, 0x67, + 0x82, 0x47, 0x6A, 0xB8, 0xAA, 0x76, 0xF9, 0xDF, 0x3B, 0xEC, 0x56, 0x1F, 0x8E, 0xFA, 0x3C, + 0x73, 0x62, 0x6A, 0x92, 0x18, 0x18, 0xE0, 0xAC, 0x9E, 0x71, 0x37, 0x3C, 0x48, 0xDE, 0xDC, + 0xA2, 0xE8, 0xBB, 0x35, 0xB5, 0x0E, 0xB6, 0x3E, 0x71, 0x25, 0x8A, 0xF2, 0x33, 0xE0, 0xD6, + 0xBE, 0xF0, 0x3A, 0x93, 0xD0, 0x69, 0x81, 0x00, 0x53, 0x7E, 0xCA, 0x4E, 0x78, 0x4B, 0xA2, + 0xF7, 0xB3, 0xF1, 0x67, 0x82, 0x47, 0x6A, 0xB8, 0xAA, 0x76, 0xF9, 0xDF, 0x3B, 0xEC, 0x56, + 0x1F, 0x8E, 0xFA, 0x3C, 0x73, 0x62, 0x6A, 0x92, 0x18, 0x18, 0xE0, 0xAC, 0x9E, 0x71, 0x37, + 0x3C, 0x48, 0xDE, 0xDC, 0xA2, 0xE8, 0xBB, 0x35, 0xB5, 0x0E, 0xB6, 0x3E, 0x71, 0x25, 0x8A, + 0xF2, 0x33, 0xE0, 0xD6, 0xBE, 0xF0, 0x3A, 0x93, 0xD0, 0x69, 0x81, 0x00, 0x53, 0x7E, 0xCA, + 0x4E, 0x78, 0x4B, 0xA2, 0xF7, 0xB3, 0xF1, 0x67, 0x82, 0x47, 0x6A, 0xB8, 0xAA, 0x76, 0xF9, + 0xDF, 0x3B, 0xEC, 0x56, 0x1F, 0x8E, 0xFA, 0x3C, 0x73, 0x62, 0x6A, 0x92, 0x18, 0x18, 0xE0, + 0xAC, 0x9E, 0x71, 0x37, 0x3C, 0x48, 0xDE, 0xDC, 0xA2, 0xE8, 0xBB, 0x35, 0xB5, 0x0E, 0xB6, + 0x3E, 0x71, 0x25, 0x8A, 0xF2, 0x33, 0xE0, 0xD6, 0xBE, 0xF0, 0x3A, 0x93, 0xD0, 0x69, 0x81, + 0x00, 0x53, 0x7E, 0xCA, 0x4E, 0x78, 0x4B, 0xA2, 0xF7, 0xB3, 0xF1, 0x67, 0x82, 0x47, 0x6A, + 0xB8, 0xAA, 0x76, 0xF9, 0xDF, 0x3B, 0xEC, 0x56, 0x1F, 0x8E, 0xFA, 0x3C, 0x73, 0x62, 0x6A, + 0x92, 0x18, 0x18, 0xE0, 0xAC, 0x9E, 0x71, 0x37, 0x3C, 0x48, 0xDE, 0xDC, 0xA2, 0xE8, 0xBB, + 0x35, 0xB5, 0x0E, 0xB6, 0x3E, 0x71, 0x25, 0x8A, 0xF2, 0x33, 0xE0, 0xD6, 0xBE, 0xF0, 0x3A, + 0x93, 0xD0, 0x69, 0x81, 0x00, 0x53, 0x7E, 0xCA, 0x4E, 0x78, 0x4B, 0xA2, 0xF7, 0xB3, 0xF1, + 0x67, 0x82, 0x47, 0x6A, 0xB8, 0xAA, 0x76, 0xF9, 0xDF, 0x3B, 0xEC, 0x56, 0x1F, 0x8E, 0xFA, + 0x3C, 0x73, 0x62, 0x6A, 0x92, 0x18, 0x18, 0xE0, 0xAC, 0x9E, 0x71, 0x37, 0x3C, 0x48, 0xDE, + 0xDC, 0xA2, 0xE8, 0xBB, 0x35, 0xB5, 0x0E, 0xB6, 0x3E, 0x71, 0x25, 0x8A, 0xF2, 0x33, 0xE0, + 0xD6, 0xBE, 0xF0, 0x3A, 0x93, 0xD0, 0x69, 0x81, 0x00, 0x53, 0x7E, 0xCA, 0x4E, 0x78, 0x4B, + 0xA2, 0xF7, 0xB3, 0xF1, 0x67, 0x82, 0x47, 0x6A, 0xB8, 0xAA, 0x76, 0xF9, 0xDF, 0x3B, 0xEC, + 0x56, 0x1F, 0x8E, 0xFA, 0x3C, 0x73, 0x62, 0x6A, 0x92, 0x18, 0x18, 0xE0, 0xAC, 0x9E, 0x71, + 0x37, 0x3C, 0x48, 0xDE, 0xDC, 0xA2, 0xE8, 0xBB, 0x35, 0xB5, 0x0E, 0xB6, 0x3E, 0x71, 0x25, + 0x8A, 0xF2, 0x33, 0xE0, 0xD6, 0xBE, 0xF0, 0x3A, 0x93, 0xD0, 0x69, 0x81, 0x00, 0x53, 0x7E, + 0xCA, 0x4E, 0x78, 0x4B, 0xA2, 0xF7, 0xB3, 0xF1, 0x67, 0x82, 0x47, 0x6A, 0xB8, 0xAA, 0x76, + 0xF9, 0xDF, 0x3B, 0xEC, 0x56, 0x1F, 0x8E, 0xFA, 0x3C, 0x73, 0x62, 0x6A, 0x92, 0x18, 0x18, + 0xE0, 0xAC, 0x9E, 0x71, 0x37, 0x3C, 0x48, 0xDE, 0xDC, 0xA2, 0xE8, 0xBB, 0x35, 0xB5, 0x0E, + 0xB6, 0x3E, 0x71, 0x25, 0x8A, 0xF2, 0x33, 0xE0, 0xD6, 0xBE, 0xF0, 0x3A, 0x93, 0xD0, 0x69, + 0x81, 0x00, 0x53, 0x7E, 0xCA, 0x4E, 0x78, 0x4B, 0xA2, 0xF7, 0xB3, 0xF1, 0x67, 0x82, 0x47, + 0x6A, 0xB8, 0xAA, 0x76, 0xF9, 0xDF, 0x3B, 0xEC, 0x56, 0x1F, 0x8E, 0xFA, 0x3C, 0x73, 0x62, + 0x6A, 0x92, 0x18, 0x18, 0xE0, 0xAC, 0x9E, 0x71, 0x37, 0x3C, 0x48, 0xDE, 0xDC, 0xA2, 0xE8, + 0xBB, 0x35, 0xB5, 0x0E, 0xB6, 0x3E, 0x71, 0x25, 0x8A, 0xF2, 0x33, 0xE0, 0xD6, 0xBE, 0xF0, + 0x3A, 0x93, 0xD0, 0x69, 0x81, 0x00, 0x53, 0x7E, 0xCA, 0x4E, 0x78, 0x4B, 0xA2, 0xF7, 0xB3, + 0xF1, 0x67, 0x82, 0x47, 0x6A, 0xB8, 0xAA, 0x76, 0xF9, 0xDF, 0x3B, 0xEC, 0x56, 0x1F, 0x8E, + 0xFA, 0x3C, 0x73, 0x62, 0x6A, 0x92, 0x18, 0x18, 0xE0, 0xAC, 0x9E, 0x71, 0x37, 0x3C, 0x48, + 0xDE, 0xDC, 0xA2, 0xE8, 0xBB, 0x35, 0xB5, 0x0E, 0xB6, 0x3E, 0x71, 0x25, 0x8A, 0xF2, 0x33, + 0xE0, 0xD6, 0xBE, 0xF0, 0x3A, 0x93, 0xD0, 0x69, 0x81, 0x00, 0x53, 0x7E, 0xCA, 0x4E, 0x78, + 0x4B, 0xA2, 0xF7, 0xB3, 0xF1, 0x67, 0x82, 0x47, 0x6A, 0xB8, 0xAA, 0x76, 0xF9, 0xDF, 0x3B, + 0xEC, 0x56, 0x1F, 0x8E, 0xFA, 0x3C, 0x73, 0x62, 0x6A, 0x92, 0x18, 0x18, 0xE0, 0xAC, 0x9E, + 0x71, 0x37, 0x3C, 0x48, 0xDE, 0xDC, 0xA2, 0xE8, 0xBB, 0x35, 0xB5, 0x0E, 0xB6, 0x3E, 0x71, + 0x25, 0x8A, 0xF2, 0x33, 0xE0, 0xD6, 0xBE, 0xF0, 0x3A, 0x93, 0xD0, 0x69, 0x81, 0x00, 0x53, + 0x7E, 0xCA, 0x4E, 0x78, 0x4B, 0xA2, 0xF7, 0xB3, 0xF1, 0x67, 0x82, 0x47, 0x6A, 0xB8, 0xAA, + 0x76, 0xF9, 0xDF, 0x3B, 0xEC, 0x56, 0x1F, 0x8E, 0xFA, 0x3C, 0x73, 0x62, 0x6A, 0x92, 0x18, + 0x18, 0xE0, 0xAC, 0x9E, 0x71, 0x37, 0x3C, 0x48, 0xDE, 0xDC, 0xA2, 0xE8, 0xBB, 0x35, 0xB5, + 0x0E, 0xB6, 0x3E, 0x71, 0x25, 0x8A, 0xF2, 0x33, 0xE0, 0xD6, 0xBE, 0xF0, 0x3A, 0x93, 0xD0, + 0x69, 0x81, 0x00, 0x53, 0x7E, 0xCA, 0x4E, 0x78, 0x4B, 0xA2, 0xF7, 0xB3, 0xF1, 0x67, 0x82, + 0x47, 0x6A, 0xB8, 0xAA, 0x76, 0xF9, 0xDF, 0x3B, 0xEC, 0x56, 0x1F, 0x8E, 0xFA, 0x3C, 0x73, + 0x62, 0x6A, 0x92, 0x18, 0x18, 0xE0, 0xAC, 0x9E, 0x71, 0x37, 0x3C, 0x48, 0xDE, 0xDC, 0xA2, + 0xE8, 0xBB, 0x35, 0xB5, 0x0E, 0xB6, 0x3E, 0x71, 0x25, 0x8A, 0xF2, 0x33, 0xE0, 0xD6, 0xBE, + 0xF0, 0x3A, 0x93, 0xD0, 0x69, 0x81, 0x00, 0x53, 0x7E, 0xCA, 0x4E, 0x78, 0x4B, 0xA2, 0xF7, + 0xB3, 0xF1, 0x67, 0x82, 0x47, 0x6A, 0xB8, 0xAA, 0x76, 0xF9, 0xDF, 0x3B, 0xEC, 0x56, 0x1F, + 0x8E, 0xFA, 0x3C, 0x73, 0x62, 0x6A, 0x92, 0x18, 0x18, 0xE0, 0xAC, 0x9E, 0x71, 0x37, 0x3C, + 0x48, 0xDE, 0xDC, 0xA2, 0xE8, 0xBB, 0x35, 0xB5, 0x0E, 0xB6, 0x3E, 0x71, 0x25, 0x8A, 0xF2, + 0x33, 0xE0, 0xD6, 0xBE, 0xF0, 0x3A, 0x93, 0xD0, 0x69, 0x81, 0x00, 0x53, 0x7E, 0xCA, 0x4E, + 0x78, 0x4B, 0xA2, 0xF7, 0xB3, 0xF1, 0x67, 0x82, 0x47, 0x6A, 0xB8, 0xAA, 0x76, 0xF9, 0xDF, + 0x3B, 0xEC, 0x56, 0x1F, 0x8E, 0xFA, 0x3C, 0x73, 0x62, 0x6A, 0x92, 0x18, 0x18, 0xE0, 0xAC, + 0x9E, 0x71, 0x37, 0x3C, 0x48, 0xDE, 0xDC, 0xA2, 0xE8, 0xBB, 0x35, 0xB5, 0x0E, 0xB6, 0x3E, + 0x71, 0x25, 0x8A, 0xF2, 0x33, 0xE0, 0xD6, 0xBE, 0xF0, 0x3A, 0x93, 0xD0, 0x69, 0x81, 0x00, + 0x53, 0x7E, 0xCA, 0x4E, 0x78, 0x4B, 0xA2, 0xF7, 0xB3, 0xF1, 0x67, 0x82, 0x47, 0x6A, 0xB8, + 0xAA, 0x76, 0xF9, 0xDF, 0x3B, 0xEC, 0x56, 0x1F, 0x8E, 0xFA, 0x3C, 0x73, 0x62, 0x6A, 0x92, + 0x18, 0x18, 0xE0, 0xAC, 0x9E, 0x71, 0x37, 0x3C, 0x48, 0xDE, 0xDC, 0xA2, 0xE8, 0xBB, 0x35, + 0xB5, 0x0E, 0xB6, 0x3E, 0x71, 0x25, 0x8A, 0xF2, 0x33, 0xE0, 0xD6, 0xBE, 0xF0, 0x3A, 0x93, + 0xD0, 0x69, 0x81, 0x00, 0x53, 0x7E, 0xCA, 0x4E, 0x78, 0x4B, 0xA2, 0xF7, 0xB3, 0xF1, 0x67, + 0x82, 0x47, 0x6A, 0xB8, 0xAA, 0x76, 0xF9, 0xDF, 0x3B, 0xEC, 0x56, + ], + [ + 0xC3, 0x20, 0x20, 0xB4, 0xAF, 0x0E, 0x82, 0x2E, 0xEF, 0x29, 0xFE, 0x75, 0x1D, 0xDB, 0x4B, + 0x86, 0x86, 0x23, 0x28, 0x72, 0xA3, 0xF4, 0x1B, 0x4F, 0x5F, 0x0E, 0x02, 0xB1, 0xAC, 0x0D, + 0xE6, 0x4F, 0x8B, 0x0B, 0x3F, 0xF3, 0x5F, 0xB5, 0x09, 0x7E, 0x3B, 0xE9, 0x93, 0x29, 0x55, + 0xE1, 0xB4, 0x9B, 0xCC, 0xCE, 0x37, 0xFC, 0xAB, 0x6B, 0xA4, 0x05, 0xE6, 0xC7, 0x45, 0x34, + 0xC0, 0xFF, 0x7C, 0x24, 0x89, 0x36, 0xBF, 0x17, 0xAB, 0x91, 0xCA, 0x49, 0xF2, 0x74, 0x80, + 0xB6, 0x90, 0x60, 0xFF, 0xD2, 0xA9, 0xE5, 0xC9, 0x64, 0xBC, 0x38, 0x40, 0x98, 0xB3, 0xBA, + 0x8F, 0x8B, 0xBA, 0x9D, 0xF3, 0xCF, 0x57, 0xBA, 0xAC, 0x18, 0xE7, 0xD3, 0x03, 0x01, 0x48, + 0x29, 0x41, 0xF6, 0x2F, 0x89, 0xD4, 0x9F, 0xD7, 0xD3, 0x05, 0x71, 0x63, 0x30, 0x4E, 0xBB, + 0xF7, 0xB0, 0x99, 0xFF, 0x43, 0xDA, 0x87, 0xCA, 0xA7, 0x48, 0x92, 0x9E, 0x76, 0xA6, 0xEE, + 0x48, 0x1C, 0x96, 0x28, 0x8E, 0x54, 0x30, 0xD6, 0xA5, 0xD3, 0x22, 0xA2, 0x30, 0xCB, 0x6A, + 0x85, 0x26, 0x69, 0xE1, 0x7C, 0xEC, 0xDC, 0xD4, 0x89, 0x2A, 0xB8, 0xAE, 0xDF, 0x12, 0x6E, + 0x39, 0x8A, 0x9B, 0x48, 0x61, 0xF9, 0x4B, 0x34, 0xD0, 0xF1, 0x60, 0x87, 0xBA, 0x88, 0x86, + 0x68, 0x8C, 0xBE, 0xC1, 0x9C, 0xAE, 0x30, 0xBC, 0xE6, 0x62, 0xFF, 0xEB, 0xBB, 0x88, 0x7C, + 0xD2, 0xBB, 0x57, 0xB4, 0x02, 0x82, 0x06, 0x72, 0xD2, 0x94, 0x60, 0x86, 0x4A, 0x29, 0xF0, + 0xEA, 0xD3, 0x88, 0x92, 0xF1, 0x22, 0xD1, 0x5C, 0x88, 0x65, 0xE6, 0xFB, 0xEE, 0x28, 0x79, + 0x86, 0x68, 0x7D, 0xA6, 0x5A, 0xBF, 0xBD, 0x7D, 0x15, 0xEF, 0x05, 0xF6, 0xF9, 0xE0, 0x11, + 0xD6, 0x30, 0x94, 0xF2, 0x6C, 0x3D, 0x0A, 0xDB, 0xC5, 0x0E, 0xDC, 0xF2, 0xFD, 0x1F, 0x61, + 0x91, 0x5D, 0x80, 0x69, 0xA3, 0xDB, 0x35, 0x98, 0x4E, 0x4A, 0xC1, 0x49, 0x76, 0xAB, 0xC0, + 0x67, 0x36, 0x3F, 0xA4, 0xC6, 0xE8, 0xCA, 0x25, 0x44, 0x63, 0x23, 0xB5, 0xC8, 0xBB, 0x3A, + 0xAC, 0xA1, 0x09, 0xC3, 0x10, 0x57, 0xA5, 0x5B, 0x3B, 0x33, 0x21, 0xCD, 0x3C, 0x88, 0xAE, + 0x1E, 0x8F, 0xC1, 0xD6, 0xFB, 0x94, 0x61, 0x38, 0xAB, 0xF1, 0x9C, 0x06, 0xCB, 0x89, 0x58, + 0x9A, 0xF4, 0xF4, 0x33, 0x80, 0x66, 0x13, 0xC0, 0xFD, 0xE2, 0x16, 0xE0, 0x89, 0x65, 0xE2, + 0xC1, 0xA6, 0xE3, 0x74, 0xD2, 0x5F, 0xA0, 0x76, 0xAD, 0xF5, 0x6B, 0x4F, 0xE0, 0xF7, 0x52, + 0xB0, 0xB1, 0x48, 0xDD, 0xEE, 0xB6, 0x01, 0x9A, 0x90, 0x91, 0x18, 0xEC, 0xCB, 0xCB, 0xAD, + 0x04, 0xB6, 0x73, 0xCF, 0x7F, 0xF3, 0xAC, 0xBE, 0xEC, 0x91, 0x44, 0x56, 0x81, 0xB8, 0x74, + 0xAE, 0x28, 0x5D, 0xC7, 0x5C, 0xAB, 0x8B, 0x56, 0x21, 0x32, 0x91, 0xB9, 0x9E, 0x70, 0xF6, + 0x9B, 0xAC, 0x50, 0x0B, 0x2E, 0x4B, 0x8B, 0xA2, 0xA5, 0x24, 0x5B, 0x91, 0xDF, 0x24, 0xA7, + 0xB0, 0x79, 0xA7, 0x16, 0x54, 0x44, 0x2E, 0xBC, 0x48, 0xCD, 0x87, 0xBA, 0xAF, 0xD4, 0xB9, + 0x1C, 0x0F, 0xAA, 0xFA, 0x3A, 0x3F, 0x3A, 0x3D, 0x68, 0x5A, 0xAE, 0xAC, 0xBA, 0xBE, 0xA3, + 0x92, 0x6E, 0x38, 0x8E, 0x33, 0x3E, 0x0A, 0xCC, 0xF6, 0xE3, 0x26, 0x57, 0xEC, 0x8E, 0x63, + 0x31, 0x27, 0xBA, 0x20, 0x4E, 0x7F, 0x34, 0xE5, 0x19, 0xFE, 0x7F, 0xA6, 0x97, 0x90, 0xD6, + 0x29, 0x1C, 0x3F, 0x8C, 0x3F, 0x81, 0x62, 0x3D, 0xF5, 0x00, 0xD4, 0xC5, 0xE2, 0xE1, 0x42, + 0x42, 0x8C, 0x65, 0x8F, 0x5A, 0x66, 0x59, 0xE1, 0xDD, 0xEC, 0xDC, 0x1B, 0x4E, 0x63, 0x82, + 0xFF, 0x02, 0x9D, 0x53, 0xDE, 0xBD, 0xB4, 0x80, 0xCF, 0x2B, 0xB7, 0xDE, 0x69, 0x5D, 0x1B, + 0xCA, 0xFB, 0xB3, 0xF9, 0xBE, 0xD0, 0xF5, 0x79, 0x86, 0x2F, 0x0E, 0xB6, 0xA9, 0x87, 0xF4, + 0x68, 0xC1, 0xBF, 0x4F, 0xB8, 0xA6, 0x2D, 0x03, 0xA9, 0x72, 0x04, 0xCA, 0x37, 0x6D, 0x1B, + 0x90, 0xDD, 0xBC, 0x52, 0xAE, 0xF3, 0xFF, 0x08, 0xDD, 0x4B, 0x46, 0xD0, 0xCD, 0xB1, 0x8A, + 0x35, 0x9A, 0x02, 0x64, 0x64, 0x2F, 0x57, 0xA5, 0x7B, 0x9A, 0x0D, 0x2B, 0x55, 0x11, 0x3C, + 0xC0, 0x35, 0x74, 0x69, 0xD9, 0x7B, 0x43, 0x1D, 0xAC, 0xB2, 0xC2, 0x8A, 0xBE, 0x22, 0x45, + 0x46, 0x76, 0xA9, 0x8A, 0x49, 0xB2, 0x5F, 0xC0, 0xB8, 0xBC, 0xCD, 0x27, 0xF8, 0x14, 0xB2, + 0xA9, 0x6D, 0x5A, 0x1F, 0xA4, 0x43, 0x1E, 0x0F, 0xDB, 0xA4, 0x9E, 0x2B, 0xCA, 0xFC, 0x98, + 0x7F, 0xF1, 0x18, 0x87, 0x5B, 0x11, 0x2D, 0xC5, 0xE4, 0x91, 0x20, 0xA9, 0x6A, 0x2D, 0xAC, + 0xA8, 0xFA, 0x94, 0x57, 0x7F, 0x30, 0x73, 0x08, 0xE8, 0x49, 0xF0, 0xC8, 0x63, 0xDA, 0x83, + 0x87, 0x2A, 0xC3, 0x31, 0x1A, 0xFC, 0xB7, 0x57, 0xB2, 0x40, 0x46, 0x09, 0x6D, 0x84, 0xB4, + 0x66, 0xF1, 0x13, 0x16, 0x3A, 0x3A, 0xFB, 0xC6, 0x6E, 0xB0, 0x71, 0xB8, 0x23, 0x74, 0x22, + 0x89, 0xFC, 0xBE, 0x34, 0xB3, 0x17, 0xB6, 0xC9, 0x68, 0x53, 0x64, 0x47, 0xAF, 0xCA, 0x1D, + 0x5F, 0xB4, 0x74, 0xA3, 0x77, 0xB5, 0xFB, 0x77, 0xD9, 0x69, 0x2B, 0x3A, 0xAA, 0xAE, 0xE4, + 0x03, 0x81, 0x6B, 0x3A, 0x35, 0x9C, 0x45, 0x50, 0x9C, 0x76, 0xCE, 0xE3, 0x7F, 0x64, 0x4B, + 0x9F, 0x83, 0x7B, 0x72, 0xBC, 0x02, 0x1E, 0x94, 0x99, 0xC1, 0x1C, 0x45, 0x19, 0x1D, 0x56, + 0x74, 0x73, 0xE7, 0xFC, 0x58, 0x72, 0x2D, 0xE3, 0x50, 0xA4, 0x21, 0xBE, 0x81, 0xDF, 0x80, + 0xDA, 0x40, 0xDB, 0x79, 0x67, 0x0E, 0x94, 0xA3, 0x05, 0xDD, 0xF7, 0x14, 0x28, 0xD6, 0xC4, + 0x2B, 0xF3, 0xCF, 0x36, 0x08, 0x84, 0xF3, 0xC8, 0x8C, 0xAD, 0xCE, 0x7F, 0x7C, 0x0F, 0xC6, + 0xFE, 0x05, 0x54, 0x4B, 0x17, 0xA1, 0x83, 0x65, 0x97, 0x29, 0x01, 0x70, 0xC1, 0x16, 0xAE, + 0x69, 0xA4, 0x90, 0xB9, 0xBE, 0x17, 0x05, 0x50, 0xF1, 0x65, 0x07, 0x23, 0x76, 0x64, 0x84, + 0x2D, 0x40, 0x34, 0xFD, 0xDF, 0x62, 0x7E, 0x4C, 0x85, 0xD2, 0x6D, 0x17, 0xE1, 0x41, 0x12, + 0xC6, 0x3E, 0xD6, 0x14, 0xB8, 0x5F, 0x8F, 0x39, 0x65, 0xC2, 0x62, 0x21, 0x06, 0x5C, 0xC9, + 0xB8, 0x99, 0xA5, 0x00, 0xE3, 0x9C, 0x73, 0xAB, 0xB9, 0x76, 0x12, 0xD2, 0xFA, 0x7F, 0x7D, + 0x64, 0x63, 0x9E, 0x26, 0xAA, 0x89, 0x85, 0x3A, 0xC9, 0x94, 0x04, 0x97, 0xEC, 0xFD, 0xC5, + 0xA3, 0xB1, 0x7D, 0xD6, 0x07, 0x9C, 0x47, 0x30, 0x9C, 0x64, 0x97, 0x0E, 0xC6, 0xFC, 0x0B, + 0xFF, 0xA7, 0xF9, 0x46, 0x5B, 0x2B, 0xDB, 0x9E, 0x1C, 0x85, 0x3A, 0x75, 0xD6, 0xEB, 0x9B, + 0x15, 0x36, 0xD7, 0x1A, 0x3D, 0xFC, 0x0B, 0x75, 0x08, 0x5E, 0x32, 0x23, 0xE0, 0xA5, 0xAD, + 0x0F, 0x45, 0xB3, 0x78, 0x20, 0x22, 0x24, 0x64, 0x0C, 0xCF, 0xD6, 0x3C, 0xA4, 0x48, 0xC7, + 0xB3, 0x6E, 0x02, 0xE2, 0x0A, 0xAB, 0x92, 0xFC, 0x40, 0x7D, 0xF5, 0x02, 0x61, 0x56, 0xAB, + 0xC5, 0x68, 0x38, 0xE0, 0x01, 0xF1, 0x94, 0x73, 0xC6, 0xFE, 0xC2, 0x34, 0x67, 0x8E, 0xB1, + 0x73, 0x72, 0xD4, 0x3B, 0xFD, 0x1F, 0xE2, 0xA8, 0xED, 0x20, 0x14, 0x0A, 0x60, 0x6D, 0xD1, + 0x85, 0x14, 0x05, 0x54, 0x96, 0xC6, 0x3D, 0xB5, 0x1B, 0x37, 0x56, 0x24, 0xF7, 0x7C, 0x0F, + 0x55, 0xC6, 0xAA, 0x7E, 0x33, 0x2D, 0xE1, 0x97, 0x74, 0xA8, 0xDC, 0xC5, 0xA1, 0xEC, 0x8C, + 0xEF, 0x28, 0x3B, 0x49, 0x8B, 0x00, 0xED, 0x8B, 0xD9, 0xE9, 0x65, 0xD5, 0x05, 0x7B, 0x6D, + 0x20, 0xCA, 0x8F, 0x93, 0xB4, 0xCA, 0x36, 0x34, 0x8E, 0x16, 0x46, 0xCE, 0x02, 0x23, 0x43, + 0x22, 0xF6, 0xBD, 0x10, 0xCC, 0xD0, 0xA3, 0xB0, 0x42, 0xA5, 0xAF, 0x59, 0x72, 0x97, 0x0B, + 0xAE, 0x80, 0x8D, 0x19, 0xD0, 0x1D, 0x7D, 0x30, 0x4E, 0x5B, 0x46, 0xC0, 0xC2, 0x5C, 0x40, + 0xFC, 0xF3, 0xEF, 0x05, 0x84, 0xE8, 0x0C, 0x80, 0xD7, 0x37, 0xA1, 0x6F, 0xC1, 0x8C, 0xE0, + 0xBA, 0xA1, 0x88, 0x7B, 0xE7, 0x20, 0xBF, 0x18, 0x02, 0x40, 0x9F, 0x6F, 0x23, 0x11, 0x78, + 0x07, 0xD0, 0x92, 0x87, 0x2D, 0xB5, 0xE0, 0xE9, 0xE9, 0xAA, 0x32, 0x88, 0x57, 0xF8, 0x9B, + 0x01, 0x93, 0x2D, 0x07, 0x77, 0x68, 0x86, 0xAD, 0x06, 0xDE, 0x57, 0xA9, 0xA4, 0x96, 0x33, + 0x42, 0xF8, 0xFB, 0x23, 0x1F, 0x99, 0xB6, 0x62, 0x93, 0x6B, 0x12, 0xBE, 0x72, 0x9F, 0x96, + 0x1A, 0xDA, 0x05, 0x60, 0xF1, 0xD5, 0x40, 0x9F, 0x75, 0xF3, 0x1D, 0xBE, 0xD7, 0x87, 0x5D, + 0x3A, 0x55, 0xF0, 0x9B, 0xBF, 0xE8, 0xB9, 0x72, 0xC2, 0xDD, 0x4D, 0x27, 0xF6, 0xA9, 0x37, + 0x96, 0x7E, 0x6E, 0x6E, 0x64, 0x37, 0x4E, 0x2E, 0x3F, 0xFD, 0x3C, 0xF4, 0xA6, 0xF5, 0x22, + 0xA8, 0x43, 0xF4, 0x13, 0x21, 0xB5, 0x4E, 0xA8, 0x6D, 0x50, 0x0A, 0xB3, 0xFE, 0x9F, 0x5C, + 0xE7, 0x1A, 0xCF, 0x36, 0x42, 0x30, 0x1C, 0x88, 0x7F, 0x29, 0xE9, 0xCD, 0x96, 0xF2, 0x6A, + 0x52, 0xB2, 0x25, 0x87, 0x63, 0xDC, 0xFC, 0x72, 0xE4, 0xF8, 0x5E, 0xB1, 0x97, 0xB4, 0x1E, + 0x08, 0x90, 0x68, 0x10, 0x73, 0x7F, 0x94, 0x61, 0x48, 0x49, 0x36, 0x9B, 0x7D, 0xBD, 0xDF, + 0xCD, 0xB1, 0xA3, 0x7D, 0xFB, 0xDD, 0x97, 0x8A, 0x0D, 0xFC, 0x9A, 0xB8, 0xA9, 0x33, 0xB5, + 0x4E, 0x50, 0x3D, 0x60, 0x90, 0xEB, 0xAB, 0xB8, 0xCB, 0x6E, 0x32, 0xE4, 0x6B, 0xB0, 0x3F, + 0x57, 0xB8, 0xA4, 0x6A, 0x7C, 0x00, 0x66, 0x39, 0xB1, 0x22, 0xE2, 0x04, 0x26, 0xA1, 0x5A, + 0x17, 0xAA, 0x80, 0xB6, 0xC0, 0xF6, 0xCF, 0x7A, 0xF8, 0x60, 0xE9, 0x52, 0xB8, 0x0E, 0x08, + 0xC0, 0xD5, 0x1F, 0xAB, 0x61, 0x62, 0x1A, 0x83, 0xD1, 0x92, 0xE1, 0x4D, 0x6D, 0xDF, 0x27, + 0x0E, 0xFF, 0xF9, 0xA3, 0x36, 0xFF, 0x73, 0xEF, 0x1D, 0xAB, 0xAC, 0xBF, 0xA7, 0xB3, 0x29, + 0xD2, 0xB2, 0x37, 0xAB, 0x08, 0x7D, 0xB6, 0x7E, 0x0D, 0x25, 0xAA, 0x49, 0x29, 0x9F, 0x61, + 0x52, 0x44, 0x19, 0x1C, 0x51, 0x95, 0x74, 0xB9, 0x3D, 0xDD, 0x95, 0x2C, 0x4F, 0x30, 0x56, + 0xC9, 0xEF, 0x3D, 0x87, 0x90, 0x1E, 0xF8, 0x69, 0xFF, 0x37, 0x06, 0x27, 0xDB, 0x72, 0x82, + 0x2C, 0xDE, 0xB8, 0x39, 0x0B, 0x78, 0xB1, 0x1F, 0x37, 0x54, 0xBF, 0x21, 0x32, 0x87, 0xB4, + 0xD9, 0x49, 0x2D, 0x29, 0x19, 0x43, 0x01, 0xD4, 0xC0, 0xA3, 0xFF, 0x09, 0x6F, 0x69, 0xC8, + 0x5D, 0x35, 0x1D, 0x10, 0x09, 0x91, 0xB6, 0x12, 0xEC, 0x04, 0xA6, 0x61, 0xEF, 0x73, 0xC7, + 0x4C, 0x04, 0x8E, 0x3E, 0xAE, 0xD7, 0xC2, 0x84, 0x48, 0xAB, 0x99, 0x96, 0x75, 0xD8, 0xAD, + 0xA7, 0x5B, 0xDE, 0x72, 0x44, 0x96, 0xC5, 0xB3, 0xEB, 0x8E, 0xED, 0xD6, 0x69, 0x81, 0xE6, + 0x07, 0x3A, 0x15, 0x0D, 0x66, 0x5F, 0x36, 0xA9, 0xAB, 0x53, 0x82, 0x47, 0x98, 0x27, 0xF2, + 0x16, 0x95, 0x05, 0x0B, 0xAE, 0xF1, 0x04, 0x92, 0x80, 0x20, 0xA4, 0x9B, 0x43, 0x66, 0x70, + 0x7F, 0x45, 0x0B, 0x4B, 0x85, 0x95, 0x10, 0x09, 0xC8, 0xD9, 0xF9, 0x5D, 0x40, 0x6D, 0x07, + 0x69, 0x18, 0xF3, 0xD6, 0x98, 0x61, 0x25, 0x8E, 0xA1, 0xE2, 0x24, 0xBD, 0xF0, 0xFA, 0x89, + 0xD8, 0x68, 0xB2, 0x03, 0x81, 0x63, 0xF9, 0x42, 0xD4, 0x1A, 0xD9, 0x4D, 0xCD, 0x30, 0x36, + 0x2D, 0xB1, 0x63, 0xFC, 0xA3, 0x2B, 0xA7, 0x07, 0x50, 0xBC, 0x67, 0xAB, 0x7D, 0x33, 0x1D, + 0xEC, 0x62, 0xFE, 0xD2, 0x65, 0xAA, 0xBA, 0x37, 0xC9, 0x7F, 0x67, 0x26, 0x9D, 0x8A, 0x8B, + 0x63, 0x0B, 0xE0, 0x30, 0x65, 0x07, 0x8C, 0xF3, 0xD1, 0xCF, 0x0D, 0xB4, 0x1E, 0xF3, 0x29, + 0xBE, 0x43, 0x1F, 0x34, 0x1E, 0x52, 0x02, 0xA7, 0x8D, 0x30, 0x2E, 0x3E, 0x39, 0x00, 0xB6, + 0x7B, 0x5C, 0x29, 0x39, 0xC0, 0x0D, 0xAB, 0xA0, 0x6D, 0x77, 0x3C, 0xB2, 0x18, 0x42, 0x57, + 0x63, 0xDA, 0x9E, 0xF5, 0xE0, 0x42, 0x43, 0xF6, 0x50, 0xFD, 0x71, 0x9B, 0x30, 0xE0, 0x92, + 0x8B, 0xD1, 0xE1, 0xC4, 0x96, 0xC9, 0xF5, 0x14, 0xB6, 0xF7, 0xA5, 0x10, 0x77, 0xF4, 0xF9, + 0xAC, 0xDC, 0x45, 0xE1, 0x3C, 0xD6, 0x0B, 0xA5, 0xE2, 0x58, 0x01, 0x19, 0x39, 0x14, 0x68, + 0x96, 0xC0, 0xCE, 0xA9, 0xDE, 0x84, 0x22, 0x59, 0x87, 0x70, 0xFD, 0x8A, 0x71, 0x64, 0x79, + 0x16, 0x37, 0x80, 0x83, 0xFD, 0x9C, 0x73, 0xE6, 0x9C, 0x8B, 0xCD, 0xC0, 0x69, 0x66, 0x90, + 0x45, 0x0A, 0xC9, 0x81, 0x4A, 0xDA, 0x26, 0xDA, 0xA1, 0x70, 0x03, 0x6C, 0x36, 0x9D, 0xAD, + 0xD7, 0xE2, 0x1F, 0x27, 0xBE, 0xBB, 0xEC, 0x63, 0xD9, 0xC2, 0x2A, 0x56, 0x4D, 0x63, 0xCD, + 0x92, 0xEE, 0xAF, 0xCA, 0xD0, 0x11, 0x35, 0x2F, 0x1D, 0xF1, 0x96, 0xD1, 0xAA, 0xDC, 0xF6, + 0x14, 0x3F, 0xA0, 0xEE, 0x90, 0x83, 0x9F, 0x42, 0x40, 0xE6, 0x2C, 0x10, 0x23, 0x00, 0x23, + 0x18, 0x8C, 0xA1, 0x26, 0x4B, 0x22, 0xE1, 0x36, 0x07, 0x55, 0xCB, 0xC3, 0xD2, 0xDD, 0x12, + 0x58, 0x19, 0x75, 0x03, 0xC6, 0xD8, 0x2E, 0xCE, 0x87, 0x1C, 0xC3, 0x15, 0x44, 0x2A, 0x30, + 0x00, 0x52, 0x39, 0x31, 0x13, 0xF4, 0x25, 0x75, 0x74, 0x15, 0x6C, 0xC5, 0xC1, 0xD2, 0x33, + 0x75, 0xC2, 0x41, 0x22, 0x28, 0x95, 0xDF, 0x97, 0x6C, 0x31, 0xF8, 0x35, 0xA6, 0x54, 0x29, + 0x5C, 0xF4, 0x20, 0x97, 0x69, 0xE5, 0x46, 0xFF, 0x34, 0x24, 0x73, 0x12, 0xB8, 0x61, 0x25, + 0x46, 0xB3, 0x8F, 0xBA, 0x3C, 0xFA, 0x06, 0xFF, 0x3F, 0x66, 0x9D, 0x22, 0x55, 0x46, 0x2F, + 0xFF, 0x44, 0xDB, 0x25, 0x29, 0xE0, 0x16, 0x6E, 0xEC, 0x87, 0x97, 0x92, 0x37, 0x23, 0x0E, + 0x52, 0x4E, 0xBB, 0x10, 0xBB, 0x1C, 0x73, 0x75, 0xD1, 0x31, 0xC3, 0xAD, 0xFE, 0xB8, 0x12, + 0x50, 0xA0, 0x69, 0x91, 0x36, 0xEA, 0x5F, 0x0D, 0xEC, 0x1A, 0x23, 0x4A, 0x7D, 0x94, 0x84, + 0xC8, 0x4A, 0x58, 0x6A, 0xA1, 0xA3, 0x75, 0xCA, 0x85, 0xE7, 0x96, 0x91, 0x07, 0x05, 0x3A, + 0x57, 0x61, 0x6A, 0x6F, 0xF1, 0xEF, 0xF7, 0xB3, 0xB1, 0x09, 0xB8, 0x91, 0xA8, 0xF9, 0x57, + 0xB8, 0x63, 0x95, 0xFF, 0xB4, 0x1C, 0x96, 0xE7, 0xE5, 0xEC, 0x06, 0x3A, 0x11, 0xE6, 0x81, + 0xAB, 0x23, 0xE4, 0x5E, 0x5A, 0xB6, 0x6B, 0x69, 0x62, 0x6F, 0x9D, 0xC4, 0x08, 0x6F, 0xA6, + 0xBE, 0x4D, 0x09, 0x12, 0x77, 0xCA, 0xDD, 0xB5, 0x2D, 0x66, 0xCB, 0x4F, 0x4F, 0x11, 0xF2, + 0x3A, 0x1A, 0x97, 0x1F, 0xFE, 0x50, 0x2F, 0x19, 0x32, 0x05, 0x45, 0xA0, 0x50, 0x60, 0x58, + 0x40, 0x40, 0x3D, 0xF6, 0xC3, 0x6F, 0x07, 0xC8, 0x26, 0x26, 0x0E, 0x42, 0x22, 0x96, 0x6D, + 0xFE, 0x95, 0x53, 0x70, 0xDC, 0x92, 0x12, 0x63, 0xFD, 0xA3, 0x7D, 0x6E, 0x44, 0xCD, 0x11, + 0x2C, 0x51, 0x6F, 0xBC, 0x50, 0xFC, 0x1C, 0xC8, 0x3A, 0x28, 0xF5, 0x39, 0xF8, 0x8C, 0x60, + 0x5D, 0xA5, 0x4A, 0xFA, 0xAB, 0x04, 0x7F, 0x34, 0x91, 0x53, 0xE7, 0x6C, 0x56, 0xC6, 0x14, + 0xE4, 0xCC, 0xE4, 0xBB, 0x6E, 0x47, 0x7A, 0x46, 0x6B, 0xE2, 0x88, 0xA0, 0xBD, 0xBD, 0xCC, + 0x51, 0xF3, 0x37, 0x4B, 0xB3, 0xA0, 0x19, 0x92, 0x48, 0x35, 0xBB, 0xBC, 0x79, 0x78, 0xFF, + 0x49, 0xC1, 0x2B, 0x93, 0xDF, 0x75, 0xA7, 0xFB, 0x94, 0x89, 0xAF, 0x50, 0x5E, 0x2D, 0xE1, + 0x78, 0x60, 0x0C, 0xDF, 0xF8, 0x7C, 0xFD, 0xCD, 0x2D, 0xE2, 0xFF, 0xD3, 0xA3, 0x4A, 0x48, + 0x0D, 0x40, 0x8F, 0x03, 0x4F, 0x2C, 0xBD, 0xFA, 0x2E, 0x16, 0xC3, 0xD4, 0xFD, 0x0B, 0xB3, + 0xBD, 0x4F, 0x30, 0xAD, 0xD0, 0xAE, 0xCA, 0x77, 0x9D, 0xDD, 0x3D, 0xA3, 0x66, 0xD0, 0xC1, + 0x6D, 0xCC, 0x3B, 0x56, 0x81, 0x5D, 0x80, 0x07, 0xD8, 0x84, 0x46, 0x71, 0x40, 0x57, 0xB3, + 0x44, 0x85, 0x63, 0x4E, 0x17, 0x2C, 0xB0, 0x21, 0x98, 0x43, 0x42, 0x04, 0x18, 0x84, 0xFA, + 0xB1, 0xD7, 0xC5, 0x5C, 0xCA, 0x25, 0x8B, 0x1A, 0x7A, 0x50, 0x60, 0x68, 0x4A, 0x30, 0xEA, + 0xE6, 0xDE, 0x19, 0xBB, 0x9F, 0x47, 0xEF, 0xDB, 0xC5, 0x81, 0x72, 0xF0, 0x8D, 0xBA, 0x74, + 0x3A, 0xD1, 0xD5, 0xC6, 0xD1, 0xE0, 0xAE, 0x28, 0x2A, 0x65, 0xE5, 0x0B, 0x09, 0xFA, 0xEA, + 0x5B, 0xA6, 0xDB, 0x38, 0xD8, 0x67, 0xC0, 0xBE, 0xA1, 0x12, 0x1C, 0x03, 0xB1, 0x81, 0xB8, + 0x95, 0xDD, 0x78, 0xF8, 0x16, 0x6E, 0xAB, 0xBB, 0xAA, 0x33, 0x54, 0x0E, 0x39, 0x83, 0x24, + 0x17, 0xB3, 0x0B, 0x3C, 0xA1, 0x62, 0x21, 0xB2, 0xA0, 0xF8, 0x49, 0xAB, 0x8B, 0x80, 0xC6, + 0x3D, 0xF1, 0x2E, 0x18, 0x44, 0x74, 0x5F, 0x98, 0x92, 0x33, 0xFB, 0xB2, 0x52, 0x6B, 0x97, + 0xE9, 0x48, 0x12, 0x91, 0x32, 0x50, 0x21, 0x75, 0x74, 0x69, 0x88, 0x54, 0xC6, 0xF3, 0xC9, + 0x37, 0x3C, 0xB3, 0x89, 0xAB, 0x33, 0x1F, 0x79, 0x57, 0xF7, 0xE4, 0xB5, 0x87, 0x0C, 0xA4, + 0x99, 0x48, 0x89, 0x63, 0x5F, 0x72, 0xA1, 0xBC, 0xFF, 0xFE, 0xF8, 0xB3, 0xF1, 0x00, 0xE4, + 0xD4, 0x01, 0x9B, 0xB7, 0x2E, 0x4F, 0xA0, 0x90, 0xE4, 0x9B, 0x6A, 0xA8, 0xBA, 0xE1, 0xD3, + 0xD5, 0xBC, 0xEB, 0xC5, 0xB2, 0x89, 0xB4, 0xE9, 0x4D, 0x3F, 0x4C, 0xFA, 0x8C, 0xCB, 0xCD, + 0x22, 0x08, 0xB8, 0xC7, 0xB3, 0xA3, 0xED, 0x6B, 0xAC, 0xF3, 0x2D, 0x98, 0x70, 0x41, 0x47, + 0x85, 0xE8, 0x6E, 0x31, 0x0A, 0xC2, 0x3E, 0x51, 0x39, 0x55, 0xF8, 0x4A, 0xE9, 0x48, 0x64, + 0x01, 0xDB, 0x8D, 0xE3, 0xAF, 0xA4, 0xB9, 0xD8, 0x19, 0xCA, 0x86, 0xCA, 0xA1, 0x6C, 0x1C, + 0x12, 0x3D, 0xA1, 0x02, 0x23, 0x1D, 0x29, 0x5D, 0x94, 0x04, 0xC6, 0x51, 0x01, 0x40, 0x0B, + 0xB3, 0x69, 0x25, 0x45, 0xEF, 0x43, 0x81, 0x4F, 0x97, 0x57, 0x0D, 0xA1, 0xA5, 0xC9, 0x9D, + 0xE6, 0x56, 0xB9, 0x38, 0x93, 0xA1, 0x78, 0xC5, 0xBF, 0x75, 0xFE, 0x81, 0x6A, 0x35, 0x64, + 0x89, 0x64, 0x43, 0x75, 0xFD, 0x29, 0x63, 0xD1, 0x15, 0xAB, 0x43, 0x60, 0x65, 0xDC, 0x98, + 0xD5, 0xC7, 0x6E, 0xF9, 0xB2, 0x38, 0xFB, 0x6E, 0xB0, 0x34, 0x9C, 0xA3, 0x73, 0x61, 0xF5, + 0x51, 0xFF, 0x1F, 0xCE, 0xB0, 0x08, 0x83, 0x29, 0xB3, 0x82, 0x07, 0xFA, 0xC4, 0xE5, 0x21, + 0xD3, 0xA0, 0xD4, 0xC0, 0xF8, 0x1A, 0x65, 0x9B, 0x35, 0x7A, 0xE3, 0x32, 0xA5, 0x4D, 0x77, + 0x1F, 0x23, 0x19, 0xCC, 0xE1, 0xB3, 0x50, 0x0D, 0xE8, 0x2F, 0x8B, 0x18, 0x89, 0x61, 0xCB, + 0x22, 0xBA, 0xE0, 0x4A, 0xA2, 0x7F, 0xA5, 0x1B, 0x45, 0x59, 0x33, 0xC4, 0x73, 0xDF, 0x42, + 0xC6, 0x00, 0x11, 0x37, 0xF2, 0x3C, 0x1B, 0xF4, 0x26, 0xD1, 0x6D, 0x93, 0xC1, 0x94, 0xD2, + 0x60, 0xE5, 0xF3, 0x91, 0x66, 0x92, 0x3C, 0x65, 0x27, 0xC1, 0x83, 0x13, 0x76, 0x5A, 0x88, + 0xEC, 0xB2, 0x59, 0x95, 0x18, 0x81, 0x2E, 0x94, 0x96, 0x53, 0x17, 0xB6, 0xFD, 0x8C, 0xCC, + 0xBE, 0x8D, 0x36, 0xB3, 0xC8, 0xF2, 0xB2, 0xBE, 0x0F, 0x12, 0x99, 0xFF, 0xFA, 0xF9, 0x18, + 0xAB, 0x30, 0xFA, 0xB1, 0x5B, 0xF2, 0xEE, 0xCA, 0x6E, 0xA1, 0xD9, 0xCE, 0xCC, 0x60, 0xA0, + 0x4D, 0xFD, 0x7C, 0xAD, 0x4D, 0x50, 0xB6, 0x88, 0x0D, 0x88, 0x3B, 0x28, 0x7F, 0xA1, 0x28, + 0x41, 0x0A, 0x43, 0xAD, 0xCC, 0x08, 0x14, 0xF3, 0xF2, 0x43, 0xE7, 0xCF, 0x6A, 0x5C, 0x11, + 0xD0, 0x6D, 0x99, 0xC8, 0x4F, 0xB1, 0x14, 0x06, 0xBC, 0x68, 0x6D, 0xBE, 0xCD, 0xD7, 0x58, + 0xA2, 0x17, 0xF5, 0x9E, 0xFD, 0xDA, 0xFA, 0xBF, 0x73, 0x57, 0x4A, 0xF8, 0xF3, 0xA9, 0x94, + 0xB3, 0x01, 0xE9, 0xA3, 0xDA, 0xEA, 0xC1, 0x40, 0x33, 0xAA, 0x3F, 0xE6, 0x0D, 0x6A, 0xE2, + 0xF3, 0x74, 0xE8, 0x1B, 0x3C, 0x2B, 0x25, 0x44, 0x8E, 0x1C, 0x36, 0xBE, 0xA9, 0x27, 0x6E, + 0x6A, 0x48, 0x8E, 0x2F, 0x2C, 0x9D, 0x71, 0x66, 0x23, 0x7C, 0x7A, 0x74, 0x93, 0x46, 0x2D, + 0xCA, 0x6B, 0xC6, 0x33, 0xDA, 0x1E, 0x1E, 0x44, 0x07, 0xFD, 0x89, 0x5D, 0x30, 0x02, 0x4C, + 0xB1, 0x73, 0xC0, 0x91, 0xEB, 0xA5, 0x61, 0x89, 0xA4, 0x04, 0xFD, 0xD5, 0x5F, 0x54, 0x59, + 0x81, 0xC3, 0x2A, 0x13, 0x89, 0xDA, 0x68, 0xB6, 0x3A, 0x9C, 0x70, 0x6F, 0x48, 0xB4, 0x3C, + 0xF8, 0x9B, 0xF8, 0xF2, 0x59, 0xBF, 0xF4, 0x8D, 0x06, 0x58, 0xEA, 0xA2, 0xA6, 0xB4, 0x70, + 0x08, 0x80, 0x2B, 0x50, 0x13, 0x36, 0x79, 0x17, 0x0B, 0x94, 0x0E, 0x4D, 0xF5, 0xC8, 0x14, + 0xB9, 0x02, 0x7D, 0xEE, 0x6B, 0xBD, 0x10, 0xB4, 0x85, 0x74, 0xA1, 0xB9, 0x84, 0x67, 0xC6, + 0x2C, 0xDB, 0xDA, 0x55, 0x54, 0x16, 0xDA, 0x02, 0xB6, 0xDA, 0x2A, 0x9B, 0x51, 0xD6, 0xDC, + 0x87, 0x80, 0xC1, 0xB8, 0x6F, 0x0C, 0xEF, 0x4B, 0xD1, 0x1A, 0x9F, 0x36, 0x2E, 0x9C, 0x7E, + 0x5F, 0x17, 0xE2, 0xC1, 0x82, 0x0C, 0x42, 0x0D, 0x15, 0x18, 0xCA, + ], +]; diff --git a/framework/common/src/crypto/mod.rs b/framework/common/src/crypto/mod.rs new file mode 100644 index 0000000..e8e59e5 --- /dev/null +++ b/framework/common/src/crypto/mod.rs @@ -0,0 +1,87 @@ +#![allow(dead_code)] + +mod aes; +mod magic; + +pub mod rsa_utils; + +use aes::*; +use magic::*; +use rand_mt::Mt64; + +pub struct MhyXorpad([u8; 4096]); + +impl MhyXorpad { + pub fn from_ec2b(ec2b: &[u8]) -> Self { + let ec2b_magic = u32::from_be_bytes(ec2b[0..4].try_into().unwrap()); + assert_eq!(ec2b_magic, 0x45633262); // "Ec2b" + + let key_len = u32::from_le_bytes(ec2b[4..8].try_into().unwrap()); + assert_eq!(key_len, 16); + + let data_len = u32::from_le_bytes(ec2b[24..28].try_into().unwrap()); + assert_eq!(data_len, 2048); + + let mut key: [u8; 16] = ec2b[8..24].try_into().unwrap(); + let data = &ec2b[28..2048 + 28]; + + key_scramble(&mut key); + (0..16).for_each(|i| key[i] ^= KEY_XORPAD_TABLE[i]); + + Self(get_decrypt_vector(&mut key, data)) + } + + pub fn from_seed(seed: u64) -> Self { + let mut mt = Mt64::new(seed); + let new_seed = mt.next_u64(); + mt.reseed(new_seed); + mt.next_u64(); + + let mut buf = Vec::with_capacity(4096); + (0..512).for_each(|_| buf.extend(mt.next_u64().to_be_bytes())); + + Self(buf.try_into().unwrap()) + } + + pub fn xor(&self, data: &mut [u8]) { + for (i, b) in data.iter_mut().enumerate() { + *b ^= self.0[i % 4096] + } + } +} + +fn key_scramble(key: &mut [u8]) { + let mut round_keys = [0u8; 176]; + for round in 0..11 { + for i in 0..16 { + for j in 0..16 { + let idx = (round << 8) + (i * 16) + j; + round_keys[round * 16 + i] ^= AES_XORPAD_TABLE[1][idx] ^ AES_XORPAD_TABLE[0][idx]; + } + } + } + + let mut chip = [0u8; 16]; + oqs_mhy128_enc_c(key, &round_keys, &mut chip); + + key.copy_from_slice(&chip); +} + +fn get_decrypt_vector(key: &mut [u8], crypt: &[u8]) -> [u8; 4096] { + let mut output = Vec::with_capacity(4096); + + let val = crypt + .chunks_exact(8) + .map(|chunk| u64::from_le_bytes(chunk.try_into().unwrap())) + .fold(0xFFFFFFFFFFFFFFFF, |val, i| val ^ i); + + let key_qword_0 = u64::from_le_bytes(key[0..8].try_into().unwrap()); + let key_qword_1 = u64::from_le_bytes(key[8..16].try_into().unwrap()); + + let mut mt = Mt64::new(key_qword_1 ^ 0xCEAC3B5A867837AC ^ val ^ key_qword_0); + for _ in 0..512 { + output.extend(mt.next_u64().to_le_bytes()); + } + + output.try_into().unwrap() +} diff --git a/framework/common/src/crypto/rsa_utils.rs b/framework/common/src/crypto/rsa_utils.rs new file mode 100644 index 0000000..113530c --- /dev/null +++ b/framework/common/src/crypto/rsa_utils.rs @@ -0,0 +1,44 @@ +use rsa::{ + pkcs1v15::SigningKey, + sha2::Sha256, + signature::{RandomizedSigner, SignatureEncoding}, + Pkcs1v15Encrypt, RsaPrivateKey, RsaPublicKey, +}; + +const RSA_CHUNK_SIZE: usize = 245; + +#[must_use] +pub fn public_encrypt(public_key: &str, data: &[u8]) -> Option> { + let public_key: RsaPublicKey = + rsa::pkcs8::DecodePublicKey::from_public_key_pem(public_key).ok()?; + let mut rng = rand::thread_rng(); + + let mut result: Vec = Vec::new(); + for chunk in data.chunks(RSA_CHUNK_SIZE) { + let encrypted_chunk = public_key.encrypt(&mut rng, Pkcs1v15Encrypt, chunk).ok()?; + result.extend(encrypted_chunk); + } + + Some(result) +} + +#[must_use] +pub fn private_sign(private_key: &str, data: &[u8]) -> Option> { + let private_key = rsa::pkcs1::DecodeRsaPrivateKey::from_pkcs1_pem(private_key).ok()?; + let signing_key = SigningKey::::new(private_key); + + let mut rng = rand::thread_rng(); + Some( + signing_key + .sign_with_rng(&mut rng, data) + .to_bytes() + .to_vec(), + ) +} + +#[must_use] +pub fn private_decrypt(private_key: &str, cipher: &[u8]) -> Option> { + let private_key: RsaPrivateKey = + rsa::pkcs1::DecodeRsaPrivateKey::from_pkcs1_pem(private_key).ok()?; + private_key.decrypt(Pkcs1v15Encrypt, cipher).ok() +} diff --git a/framework/common/src/db/data.rs b/framework/common/src/db/data.rs new file mode 100644 index 0000000..4298264 --- /dev/null +++ b/framework/common/src/db/data.rs @@ -0,0 +1,96 @@ +use serde::{Deserialize, Serialize}; +use sqlx::FromRow; + +#[derive(Debug, FromRow)] +pub struct DbClientConfig { + pub id: i64, + pub version: String, + pub name: String, + pub stop_server_config_str: String, + pub client_custom_config_str: String, + pub dispatch_seed: String, +} + +#[derive(Debug, FromRow)] +pub struct DbRegionConfig { + pub id: i64, + pub name: String, + pub title: String, + pub region_type: String, + pub area_type: String, + pub dispatch_url: String, + pub sdk_env: i32, + pub client_secret_key: Vec, + pub rsa_key_list: String, +} + +impl DbRegionConfig { + pub fn is_key_allowed(&self, key_id: u32) -> bool { + self.rsa_key_list + .split(',') + .map(|s| s.parse::()) + .flatten() + .find(|i| key_id == *i) + .is_some() + } +} + +#[derive(Debug, FromRow)] +pub struct DbBindConfig { + pub id: i64, + pub client_version: String, + pub region_name: String, + pub channel_id: i32, +} + +#[derive(Debug, FromRow)] +pub struct DbChannelIdConfig { + pub id: i64, + pub channel_id: i32, + pub enable_login_pc: bool, +} + +#[derive(Debug, FromRow)] +pub struct DbClientRegionConfig { + pub id: i64, + pub client_version: String, + pub region_name: String, + pub client_region_custom_config: String, +} + +#[derive(Debug, FromRow)] +pub struct DbRsakeyConfig { + pub id: i64, + pub client_public_key: String, + pub server_private_key: String, +} + +#[derive(Deserialize, Serialize)] +pub struct PlayerExtJsonData { + pub reg_platform: u32, +} + +#[derive(FromRow, Debug)] +pub struct DbPlayerUidRow { + pub uid: i32, + pub account_uid: String, + pub ext: String, + pub tag: i32, +} + +#[derive(FromRow, Debug)] +pub struct DbPlayerDataRow { + pub uid: i32, + pub nickname: String, + pub level: i32, + pub exp: i32, + pub vip_point: i32, + pub json_data: String, + pub bin_data: Vec, + pub extra_bin_data: Option>, + pub tag_list: String, + pub is_delete: bool, + pub reserved_1: i32, + pub reserved_2: i32, + pub before_login_bin_data: Option>, +} diff --git a/framework/common/src/db/deploy_config_mgr.rs b/framework/common/src/db/deploy_config_mgr.rs new file mode 100644 index 0000000..de470a1 --- /dev/null +++ b/framework/common/src/db/deploy_config_mgr.rs @@ -0,0 +1,88 @@ +use super::data::*; +use sqlx::{query_as, PgPool, Postgres, QueryBuilder}; + +#[derive(Clone)] +pub struct DbDeployConfigMgr(PgPool); + +impl DbDeployConfigMgr { + pub fn new(pool: PgPool) -> Self { + Self(pool) + } + + pub async fn find_db_client_config(&self, version: String) -> Option { + query_as("SELECT * from t_client_config where version = ($1)") + .bind(version) + .fetch_one(&self.0) + .await + .ok() + } + + pub async fn enable_login_pc(&self, channel_id: i32) -> Option { + Some( + query_as::<_, DbChannelIdConfig>( + "SELECT * from t_channel_id_config where channel_id = ($1)", + ) + .bind(channel_id) + .fetch_one(&self.0) + .await + .ok()? + .enable_login_pc, + ) + } + + pub async fn find_bind_region_config_vec(&self, client_version: String) -> Vec { + query_as("SELECT * from t_bind_config where client_version = ($1)") + .bind(client_version) + .fetch_all(&self.0) + .await + .unwrap_or_default() + } + + pub async fn find_db_client_region_config( + &self, + client_version: String, + region_name: String, + ) -> Option { + query_as("SELECT * from t_client_region_config where client_version = ($1) and region_name = ($2)") + .bind(client_version) + .bind(region_name) + .fetch_one(&self.0) + .await + .ok() + } + + pub async fn find_db_region_config(&self, name: String) -> Option { + query_as("SELECT * from t_region_config where name = ($1)") + .bind(name) + .fetch_one(&self.0) + .await + .ok() + } + + pub async fn find_db_rsakey_config(&self, id: i64) -> Option { + query_as("SELECT * from t_rsakey_config where id = ($1)") + .bind(id) + .fetch_one(&self.0) + .await + .ok() + } + + pub async fn fetch_region_list(&self, binds: &[DbBindConfig]) -> Vec { + let mut regions_query = + QueryBuilder::::new("SELECT * from t_region_config where name in ("); + + binds.iter().enumerate().for_each(|(i, b)| { + regions_query.push_bind(b.region_name.clone()); + if binds.len() > i + 1 { + regions_query.push(","); + } + }); + + regions_query + .push(")") + .build_query_as() + .fetch_all(&self.0) + .await + .unwrap_or_default() + } +} diff --git a/framework/common/src/db/error.rs b/framework/common/src/db/error.rs new file mode 100644 index 0000000..74b2bb5 --- /dev/null +++ b/framework/common/src/db/error.rs @@ -0,0 +1,9 @@ +use thiserror::Error; + +#[derive(Debug, Error)] +pub enum DbError { + #[error("Failed to connect to database")] + ConnectionFailed, + #[error("Failed to run initial migration: {0}")] + StartupMigrationFailed(#[from] sqlx::migrate::MigrateError), +} diff --git a/framework/common/src/db/mod.rs b/framework/common/src/db/mod.rs new file mode 100644 index 0000000..e619ece --- /dev/null +++ b/framework/common/src/db/mod.rs @@ -0,0 +1,24 @@ +use sqlx::{migrate, PgPool}; + +pub mod data; +mod deploy_config_mgr; +mod error; +mod redis_mgr; +mod sql_op_player_data; +pub use deploy_config_mgr::DbDeployConfigMgr; +pub use error::DbError; +pub use redis_mgr::RedisMgr; +pub use sql_op_player_data::SqlOpPlayerData; + +pub async fn connect(connection_string: &str) -> Result { + let pool = PgPool::connect(connection_string) + .await + .map_err(|_| DbError::ConnectionFailed)?; + + migrate!("./migrations") + .run(&pool) + .await + .map_err(|err| DbError::from(err))?; + + Ok(pool) +} diff --git a/framework/common/src/db/redis_mgr.rs b/framework/common/src/db/redis_mgr.rs new file mode 100644 index 0000000..497ed70 --- /dev/null +++ b/framework/common/src/db/redis_mgr.rs @@ -0,0 +1,58 @@ +use std::time::Duration; + +use prost::Message; +use proto::PlayerStatusRedisData; +use redis::{aio::MultiplexedConnection, AsyncCommands, Client, RedisError}; +use tokio::sync::Mutex; + +pub struct RedisMgr(Mutex); + +impl RedisMgr { + pub async fn new(redis_conn_str: &str) -> Result { + let client = Client::open(redis_conn_str)?; + let connection = client + .get_multiplexed_tokio_connection_with_response_timeouts( + Duration::from_secs(1), + Duration::from_secs(1), + ) + .await?; + + Ok(Self(Mutex::new(connection))) + } + + pub async fn get_player_status(&self, uid: u32) -> Option { + match self + .0 + .lock() + .await + .get::>(format!("player:status:{uid}")) + .await + { + Ok(Some(proto_str)) => { + let data = rbase64::decode(&proto_str).ok()?; + Some(PlayerStatusRedisData::decode(&*data).ok()?) + } + Ok(None) => Some(PlayerStatusRedisData::default()), + Err(_) => None, + } + } + + pub async fn compare_and_modify_player_status( + &self, + uid: u32, + _last_login_rand: u64, + new_data: PlayerStatusRedisData, + ) { + let data = new_data.encode_to_vec(); + + let _ = self + .0 + .lock() + .await + .set::, Option>( + format!("player:status:{uid}"), + Some(rbase64::encode(&data)), + ) + .await; + } +} diff --git a/framework/common/src/db/sql_op_player_data.rs b/framework/common/src/db/sql_op_player_data.rs new file mode 100644 index 0000000..6aea7d6 --- /dev/null +++ b/framework/common/src/db/sql_op_player_data.rs @@ -0,0 +1,105 @@ +use std::error::Error; + +use super::data::*; +use proto::PlayerData; +use sqlx::{query, query_as, PgPool, Row}; + +pub struct SqlOpPlayerData(PgPool); + +impl SqlOpPlayerData { + pub fn new(pool: PgPool) -> Self { + Self(pool) + } + + pub async fn select_player_uid_by_account( + &self, + account_uid: String, + ) -> Result, Box> { + Ok( + query_as("SELECT * from t_user_uid where account_uid = ($1)") + .bind(account_uid) + .fetch_optional(&self.0) + .await?, + ) + } + + pub async fn insert_player_uid_by_account( + &self, + account_uid: String, + platform_type: u32, + ) -> Result> { + let max_uid = query("SELECT uid from t_user_uid ORDER BY uid DESC LIMIT 1") + .fetch_optional(&self.0) + .await?; + + let max_uid = match max_uid { + Some(max_uid) => max_uid.try_get::(0)?, + _ => 0, + }; + + let ext = serde_json::to_string(&PlayerExtJsonData { + reg_platform: platform_type, + })?; + + query("INSERT INTO t_user_uid VALUES ($1, $2, $3, $4)") + .bind(max_uid + 1) + .bind(account_uid) + .bind(ext) + .bind(0) + .execute(&self.0) + .await?; + + Ok(max_uid + 1) + } + + pub async fn select_player_data_by_uid( + &self, + uid: i32, + ) -> Result, Box> { + match query_as("SELECT * from t_player_data where uid = ($1)") + .bind(uid) + .fetch_optional(&self.0) + .await + { + Ok(data) => Ok(data), + Err(err) => { + tracing::error!("failed to select player data, uid: {uid}, err: {err}"); + Err(err.into()) + } + } + } + + pub async fn insert_player_data_by_uid( + &self, + uid: i32, + data: &PlayerData, + ) -> Result<(), Box> { + query( + "INSERT INTO t_player_data (uid, nickname, level, exp, bin_data, is_delete, reserved_1, reserved_2) VALUES ($1, $2, $3, $4, $5, $6, $7, $8)", + ) + .bind(uid) + .bind(data.nickname.as_str()) + .bind(data.level as i32) + .bind(data.exp as i32) + .bind(data.bin.clone()) + .bind(false).bind(0).bind(0) + .execute(&self.0).await?; + + Ok(()) + } + + pub async fn update_player_data_by_uid( + &self, + uid: i32, + nickname: String, + level: i32, + exp: i32, + bin_data: Vec, + ) -> Result<(), Box> { + query( + "UPDATE t_player_data SET nickname = ($1), level = ($2), exp = ($3), bin_data = ($4) WHERE uid = ($5)", + ).bind(nickname).bind(level).bind(exp).bind(bin_data).bind(uid).execute(&self.0).await?; + + Ok(()) + } +} diff --git a/framework/common/src/lib.rs b/framework/common/src/lib.rs new file mode 100644 index 0000000..b8d3d57 --- /dev/null +++ b/framework/common/src/lib.rs @@ -0,0 +1,10 @@ +pub mod base; +pub mod config; +pub mod crypto; +pub mod db; +pub mod log; +pub mod net; +pub mod tools; + +mod service_box; +pub use service_box::{ServiceBox, ServiceQualifier}; diff --git a/framework/common/src/log/mod.rs b/framework/common/src/log/mod.rs new file mode 100644 index 0000000..3072a93 --- /dev/null +++ b/framework/common/src/log/mod.rs @@ -0,0 +1,6 @@ +pub fn init_tracing() { + #[cfg(target_os = "windows")] + ansi_term::enable_ansi_support().unwrap(); + + env_logger::init_from_env(env_logger::Env::new().default_filter_or("info")); +} diff --git a/framework/common/src/net/aclient/mod.rs b/framework/common/src/net/aclient/mod.rs new file mode 100644 index 0000000..85e087b --- /dev/null +++ b/framework/common/src/net/aclient/mod.rs @@ -0,0 +1,80 @@ +use std::time::Duration; + +use crate::config::IpString; + +use super::{tools::Packet, NetResult}; +use prost::Message; +use proto::PacketHead; +use tokio::sync::mpsc::{channel, Receiver, Sender}; +use zeromq::{PushSocket, Socket, SocketSend}; + +pub struct AClient { + tx: Sender, +} + +impl AClient { + pub fn new(host: IpString, cur_app_id: u32) -> Self { + let (tx, rx) = channel(32); + + tokio::spawn(async move { Self::network_func(cur_app_id, host, rx).await }); + Self { tx } + } + + async fn network_func(cur_app_id: u32, host: IpString, mut rx: Receiver) { + let mut socket = None; + loop { + let mut packet = rx.recv().await.unwrap(); + packet.head.sender_app_id = cur_app_id; + + let sock = match socket.as_mut() { + Some(socket) => socket, + None => { + socket = Some(Self::connect(&host).await); + socket.as_mut().unwrap() + } + }; + + if let Err(err) = sock.send(packet.to_vec().into()).await { + tracing::error!( + "network_func: socket send failed, will try to reconnect next time. Err: {err}" + ); + socket = None; + } + } + } + + pub async fn send(&self, cmd_id: u16, head: PacketHead, proto: impl Message) -> NetResult<()> { + let packet = Packet { + cmd_id, + head, + recv_vec: proto.encode_to_vec(), + }; + + self.send_packet(packet).await + } + + pub async fn send_packet(&self, packet: Packet) -> NetResult<()> { + self.tx.send(packet).await.unwrap(); + Ok(()) + } + + pub fn send_packet_blocking(&self, packet: Packet) -> NetResult<()> { + self.tx.blocking_send(packet).unwrap(); + Ok(()) + } + + pub async fn connect(host: &IpString) -> PushSocket { + let mut new_socket = PushSocket::new(); + loop { + if new_socket + .connect(&format!("tcp://{}", host.0)) + .await + .is_ok() + { + break new_socket; + } + + tokio::time::sleep(Duration::from_millis(500)).await; + } + } +} diff --git a/framework/common/src/net/aserver/aserver_session.rs b/framework/common/src/net/aserver/aserver_session.rs new file mode 100644 index 0000000..6524e0d --- /dev/null +++ b/framework/common/src/net/aserver/aserver_session.rs @@ -0,0 +1,42 @@ +use prost::Message; +use proto::PacketHead; + +use crate::{ + config::IpString, + net::{AClient, NetError}, +}; + +pub struct AServerSession { + pub app_id: u32, + client: AClient, +} + +impl AServerSession { + pub fn new(app_id: u32, service_ip: IpString, cur_app_id: u32) -> Self { + let client = AClient::new(service_ip, cur_app_id); + Self { app_id, client } + } + + pub async fn send(&self, cmd_id: u16, proto: impl Message) -> Result<(), NetError> { + self.client.send(cmd_id, PacketHead::default(), proto).await + } +} + +#[macro_export] +macro_rules! rpc_handlers { + ($($name: ident;)*) => { + pub async fn on_recv(&self, packet: ::common::net::tools::Packet) -> Result<(), Box> { + use ::proto::*; + use ::prost::Message; + use ::paste::paste; + paste! { + match packet.cmd_id { + $( + $name::CMD_ID => self.[](packet).await, + )* + _ => self.default_packet_process_func(packet).await + } + } + } + }; +} diff --git a/framework/common/src/net/aserver/mod.rs b/framework/common/src/net/aserver/mod.rs new file mode 100644 index 0000000..2a79439 --- /dev/null +++ b/framework/common/src/net/aserver/mod.rs @@ -0,0 +1,50 @@ +use std::collections::VecDeque; + +use tokio::sync::Mutex; +use zeromq::{PullSocket, Socket, SocketRecv}; + +use crate::config::IpString; + +use super::{tools::Packet, NetError, NetResult}; + +mod aserver_session; +pub use aserver_session::AServerSession; + +pub struct AServer(Mutex); + +impl AServer { + pub async fn bind(host: IpString) -> NetResult { + let mut socket = PullSocket::new(); + socket + .bind(&format!("tcp://{}", host.0)) + .await + .map_err(|err| NetError::BindFail(err))?; + + Ok(Self(Mutex::new(socket))) + } + + pub async fn recv(&self) -> NetResult> { + let message = self + .0 + .lock() + .await + .recv() + .await + .map_err(|err| NetError::RecvFail(err))?; + + let out = message + .into_vecdeque() + .into_iter() + .map(|buf| match Packet::parse_from_array(&buf) { + Ok(packet) => Some(packet), + Err(err) => { + tracing::warn!("Failed to parse packet: {err}"); + None + } + }) + .flatten() + .collect(); + + Ok(out) + } +} diff --git a/framework/common/src/net/error.rs b/framework/common/src/net/error.rs new file mode 100644 index 0000000..fe4f702 --- /dev/null +++ b/framework/common/src/net/error.rs @@ -0,0 +1,20 @@ +use thiserror::Error; +use zeromq::ZmqError; + +use super::ServiceType; + +#[derive(Error, Debug)] +pub enum NetError { + #[error("Failed to connect to remote service: {0}")] + ConnectFail(#[source] ZmqError), + #[error("Failed to bind: {0}")] + BindFail(#[source] ZmqError), + #[error("Failed to send data to remote service: {0}")] + SendFail(#[source] ZmqError), + #[error("Recv failed: {0}")] + RecvFail(#[source] ZmqError), + #[error("Service with app id {0} not found")] + MissingAppId(u32), + #[error("No service of type {0:?}")] + MissingServiceType(ServiceType), +} diff --git a/framework/common/src/net/kcp_server/error.rs b/framework/common/src/net/kcp_server/error.rs new file mode 100644 index 0000000..40c1dff --- /dev/null +++ b/framework/common/src/net/kcp_server/error.rs @@ -0,0 +1,7 @@ +use thiserror::Error; + +#[derive(Error, Debug)] +pub enum KcpServerError { + #[error("find_session failed, session_id={0}")] + SessionNotFound(u32), +} diff --git a/framework/common/src/net/kcp_server/kcp_conn_mgr.rs b/framework/common/src/net/kcp_server/kcp_conn_mgr.rs new file mode 100644 index 0000000..5485467 --- /dev/null +++ b/framework/common/src/net/kcp_server/kcp_conn_mgr.rs @@ -0,0 +1,176 @@ +use std::{ + error::Error, + net::SocketAddr, + sync::{Arc, OnceLock, Weak}, + task::{Context, Poll}, +}; + +use rand::RngCore; +use tokio::net::UdpSocket; + +use crate::net::tools::connect_packet::*; + +use super::{KcpServerError, KcpServerMgr, KcpSession}; + +pub struct KcpConnMgr +where + Session: KcpSession, +{ + socket: UdpSocket, + server_mgr: OnceLock>>, + #[allow(dead_code)] + max_conn_num: usize, // todo + udp_mtu: usize, + recv_buf_len: usize, +} + +impl KcpConnMgr +where + Session: KcpSession + 'static, +{ + pub async fn new( + addr: &str, + max_conn_num: usize, + udp_mtu: usize, + recv_buf_len: usize, + ) -> Result { + let socket = UdpSocket::bind(addr).await?; + + Ok(Self { + socket, + server_mgr: OnceLock::new(), + max_conn_num, + udp_mtu, + recv_buf_len, + }) + } + + pub async fn run(self: Arc) -> Result<(), Box> { + let mut buf = vec![0u8; self.udp_mtu]; + loop { + let Ok((len, addr)) = self.socket.recv_from(&mut buf).await else { + continue; + }; + + let buf = &buf[..len]; + match len { + CONTROL_PACKET_SIZE => match get_control_packet_type(buf) { + Some(ControlPacketType::Connect) => { + if let Err(err) = self.handle_connect_packet(buf, addr).await { + tracing::warn!("handle_connect_packet failed {err:?}"); + } + } + Some(ControlPacketType::Disconnect) => { + if let Err(err) = self.handle_disconnect_packet(buf, addr).await { + tracing::warn!("handle_disconnect_packet failed {err:?}"); + } + } + Some(ControlPacketType::SendBackConv) => { + tracing::warn!("server received SendBackConv packet from {addr:?}") + } + None => (), + }, + 28.. => { + if let Err(err) = self.handle_kcp_packet(buf.into()).await { + tracing::warn!("handle_kcp_packet failed {err:?}"); + } + } + _ => (), + }; + } + } + + async fn handle_connect_packet( + self: &Arc, + buf: &[u8], + addr: SocketAddr, + ) -> Result<(), std::io::Error> { + let server_mgr = self.server_mgr(); + + let token = match get_token_from_control_packet(buf) { + 0 => rand::thread_rng().next_u32(), + token => token, + }; + let session_id = server_mgr.gen_new_session_id(); + let data = get_data_from_control_packet(buf); + + let mut session = Session::new(self.clone(), session_id, token, self.recv_buf_len, addr); + session.on_connect(data); + server_mgr.add_session(session_id, session); + + tracing::info!( + "add_session from ip={} port={} data={} token={}", + addr.ip(), + addr.port(), + data, + token + ); + + let packet = make_send_back_conv_packet(session_id, token, data); + self.socket.send_to(&packet, addr).await?; + + Ok(()) + } + + async fn handle_disconnect_packet( + self: &Arc, + buf: &[u8], + _addr: SocketAddr, + ) -> Result<(), std::io::Error> { + let server_mgr = self.server_mgr(); + + let conv = get_conv_from_control_packet(buf); + let data = get_data_from_control_packet(buf); + + server_mgr.disconnect(conv, data).await; + tracing::info!( + "disconnect session from client, session_id={} data={}", + conv, + data + ); + + Ok(()) + } + + async fn handle_kcp_packet(&self, buf: Box<[u8]>) -> Result<(), Box> { + let conv = mhy_kcp::get_conv(&buf); + let Some(session) = self.server_mgr().find_session(conv) else { + return Err(KcpServerError::SessionNotFound(conv))?; + }; + + tokio::spawn(async move { session.input(buf).await }); + Ok(()) + } + + pub async fn disconnect(&self, session_id: u32, data: u32) { + let Some(session) = self.server_mgr().find_session(session_id) else { + tracing::warn!("disconnect find_session failed, session_id={session_id}"); + return; + }; + + let packet = make_disconnect_packet(session_id, session.get_user_token(), data); + let _ = self + .socket + .send_to(&packet, session.get_udp_remote_endpoint()) + .await; + } + + pub fn send_udp_packet( + &self, + cx: &mut Context<'_>, + buf: &[u8], + endpoint: SocketAddr, + ) -> Poll> { + self.socket.poll_send_to(cx, buf, endpoint) + } + + pub fn set_server_mgr(&self, server_mgr: Arc>) { + if self.server_mgr.set(Arc::downgrade(&server_mgr)).is_err() { + panic!("KcpConnMgr::set_server_mgr shouldn't be called twice") + } + } + + fn server_mgr(&self) -> Arc> { + self.server_mgr.get().unwrap().upgrade().unwrap() + } +} diff --git a/framework/common/src/net/kcp_server/kcp_server_mgr.rs b/framework/common/src/net/kcp_server/kcp_server_mgr.rs new file mode 100644 index 0000000..0858ae2 --- /dev/null +++ b/framework/common/src/net/kcp_server/kcp_server_mgr.rs @@ -0,0 +1,74 @@ +use std::sync::{ + atomic::{AtomicU32, Ordering}, + Arc, +}; + +use dashmap::DashMap; + +use crate::config::IpString; + +use super::{KcpConnMgr, KcpSession}; + +pub struct KcpServerMgr +where + Session: KcpSession, +{ + conn_mgr: Arc>, + session_id_counter: AtomicU32, + session_map: DashMap>, +} + +impl KcpServerMgr +where + Session: KcpSession + 'static, +{ + pub async fn new( + outer_ip: IpString, + listen_port: u16, + max_conn_num: usize, + udp_mtu: usize, + recv_buf_len: usize, + ) -> Result { + let addr = format!("{}:{}", outer_ip.0, listen_port); + let conn_mgr = KcpConnMgr::new(&addr, max_conn_num, udp_mtu, recv_buf_len).await?; + + Ok(Self { + conn_mgr: Arc::new(conn_mgr), + session_id_counter: AtomicU32::new(0), + session_map: DashMap::new(), + }) + } + + pub async fn run(self: Arc) { + self.conn_mgr.set_server_mgr(self.clone()); + if let Err(err) = self.conn_mgr.clone().run().await { + tracing::error!("KcpConnMgr run fail {err:?}") + } + } + + pub fn add_session(&self, session_id: u32, session: Session) { + self.session_map.insert(session_id, Arc::new(session)); + } + + pub fn find_session(&self, session_id: u32) -> Option> { + self.session_map.get(&session_id).map(|s| s.clone()) + } + + pub async fn disconnect(&self, session_id: u32, data: u32) { + let Some(session) = self.find_session(session_id) else { + tracing::warn!("disconnect find_session failed, session_id={session_id}"); + return; + }; + + session.on_disconnect(data); + self.conn_mgr.disconnect(session_id, data).await; + } + + pub fn session_count(&self) -> usize { + self.session_map.len() + } + + pub fn gen_new_session_id(&self) -> u32 { + self.session_id_counter.fetch_add(1, Ordering::SeqCst) + 1 + } +} diff --git a/framework/common/src/net/kcp_server/kcp_session.rs b/framework/common/src/net/kcp_server/kcp_session.rs new file mode 100644 index 0000000..67ebabc --- /dev/null +++ b/framework/common/src/net/kcp_server/kcp_session.rs @@ -0,0 +1,23 @@ +use std::{net::SocketAddr, sync::Arc}; + +use super::KcpConnMgr; + +pub trait KcpSession: Sync + Send { + fn new( + conn_mgr: Arc>, + session_id: u32, + token: u32, + recv_buf_len: usize, + udp_remote_endpoint: SocketAddr, + ) -> Self + where + Self: Sized; + + fn on_connect(&mut self, data: u32); + fn on_disconnect(&self, reason: u32); + fn input(self: Arc, buf: Box<[u8]>) -> impl std::future::Future + Send; + fn get_remote_ip(&self) -> u32; + fn get_user_session_id(&self) -> u32; + fn get_user_token(&self) -> u32; + fn get_udp_remote_endpoint(&self) -> SocketAddr; +} diff --git a/framework/common/src/net/kcp_server/mod.rs b/framework/common/src/net/kcp_server/mod.rs new file mode 100644 index 0000000..91b5a2f --- /dev/null +++ b/framework/common/src/net/kcp_server/mod.rs @@ -0,0 +1,9 @@ +mod error; +mod kcp_conn_mgr; +mod kcp_server_mgr; +mod kcp_session; + +pub use error::KcpServerError; +pub use kcp_conn_mgr::KcpConnMgr; +pub use kcp_server_mgr::KcpServerMgr; +pub use kcp_session::KcpSession; diff --git a/framework/common/src/net/mod.rs b/framework/common/src/net/mod.rs new file mode 100644 index 0000000..87537be --- /dev/null +++ b/framework/common/src/net/mod.rs @@ -0,0 +1,35 @@ +mod aclient; +mod aserver; +mod error; +pub mod kcp_server; +pub mod tools; + +pub type NetResult = Result; + +pub use aclient::AClient; +pub use aserver::{AServer, AServerSession}; +pub use error::NetError; +use serde::{Deserialize, Serialize}; + +#[derive(Serialize, Deserialize, Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd)] +#[repr(u32)] +pub enum ServiceType { + Gateserver = 2, + Gameserver = 3, + Nodeserver = 4, + Dbgate = 5, + Dispatch = 7, + Muipserver = 8, + OfflineMsg = 9, + Mail = 10, + Mp = 11, + HttpProxy = 12, + Activity = 13, + Pathfinding = 14, + Social = 15, + Oaserver = 16, + Match = 17, + OfflineOp = 18, + Tothemoon = 19, + GCG = 20, +} diff --git a/framework/common/src/net/tools/connect_packet.rs b/framework/common/src/net/tools/connect_packet.rs new file mode 100644 index 0000000..96139b6 --- /dev/null +++ b/framework/common/src/net/tools/connect_packet.rs @@ -0,0 +1,63 @@ +pub const CONTROL_PACKET_SIZE: usize = 20; + +pub fn make_control_packet( + head_magic: u32, + tail_magic: u32, + conv: u32, + token: u32, + data: u32, +) -> [u8; CONTROL_PACKET_SIZE] { + let mut buf = Vec::with_capacity(CONTROL_PACKET_SIZE); + + buf.extend(head_magic.to_be_bytes()); + buf.extend(conv.to_be_bytes()); + buf.extend(token.to_be_bytes()); + buf.extend(data.to_be_bytes()); + buf.extend(tail_magic.to_be_bytes()); + + buf.try_into().unwrap() +} + +#[derive(Clone, Copy, PartialEq, Eq)] +pub enum ControlPacketType { + Connect, + SendBackConv, + Disconnect, +} + +#[allow(dead_code)] +pub fn make_connect_packet(conv: u32, token: u32, data: u32) -> [u8; CONTROL_PACKET_SIZE] { + make_control_packet(0xFF, 0xFFFFFFFF, conv, token, data) +} + +pub fn make_send_back_conv_packet(conv: u32, token: u32, data: u32) -> [u8; CONTROL_PACKET_SIZE] { + make_control_packet(0x145, 0x14514545, conv, token, data) +} + +pub fn make_disconnect_packet(conv: u32, token: u32, data: u32) -> [u8; CONTROL_PACKET_SIZE] { + make_control_packet(0x194, 0x19419494, conv, token, data) +} + +pub fn get_conv_from_control_packet(data: &[u8]) -> u32 { + u32::from_be_bytes(data[4..8].try_into().unwrap()) +} + +pub fn get_token_from_control_packet(data: &[u8]) -> u32 { + u32::from_be_bytes(data[8..12].try_into().unwrap()) +} + +pub fn get_data_from_control_packet(data: &[u8]) -> u32 { + u32::from_be_bytes(data[12..16].try_into().unwrap()) +} + +pub fn get_control_packet_type(data: &[u8]) -> Option { + let head_magic = u32::from_be_bytes(data[0..4].try_into().unwrap()); + let tail_magic = u32::from_be_bytes(data[16..20].try_into().unwrap()); + + match (head_magic, tail_magic) { + (0xFF, 0xFFFFFFFF) => Some(ControlPacketType::Connect), + (0x145, 0x14514545) => Some(ControlPacketType::SendBackConv), + (0x194, 0x19419494) => Some(ControlPacketType::Disconnect), + _ => None, + } +} diff --git a/framework/common/src/net/tools/mod.rs b/framework/common/src/net/tools/mod.rs new file mode 100644 index 0000000..b0623bf --- /dev/null +++ b/framework/common/src/net/tools/mod.rs @@ -0,0 +1,3 @@ +pub(crate) mod connect_packet; +mod packet; +pub use packet::Packet; diff --git a/framework/common/src/net/tools/packet.rs b/framework/common/src/net/tools/packet.rs new file mode 100644 index 0000000..02c35f7 --- /dev/null +++ b/framework/common/src/net/tools/packet.rs @@ -0,0 +1,118 @@ +#![allow(unused)] + +use std::net::Ipv4Addr; + +use prost::Message; +use proto::{PacketHead, YSMessage}; +use thiserror::Error; + +#[derive(Error, Debug)] +pub enum PacketParseError { + #[error("buf_len={0} is too short")] + BufferIsTooShort(usize), + #[error("head magic error")] + HeadMagicMismatch, + #[error("body_len={0} is too long")] + TooLongBodyLen(usize), + #[error("buf_len={0} is too short, packet_len={1}")] + BufferExceeded(usize, usize), + #[error("PacketHead::decode failed")] + HeadParseFailed, + #[error("tail magic error 0x{0:X}")] + TailMagicMismatch(u16), +} + +#[derive(Clone)] +pub struct Packet { + pub cmd_id: u16, + pub head: PacketHead, + pub recv_vec: Vec, +} + +impl Packet { + const MIN_PACKET_LEN: usize = 12; + const HEAD_MAGIC: u16 = 0x4567; + const TAIL_MAGIC: u16 = 0x89AB; + + pub fn new(proto: impl YSMessage, head: PacketHead) -> Self { + Self { + cmd_id: proto.get_cmd_id(), + head, + recv_vec: proto.encode_to_vec(), + } + } + + pub fn parse_from_array(buf: &[u8]) -> Result { + let buf_len = buf.len(); + + if buf_len < Self::MIN_PACKET_LEN { + return Err(PacketParseError::BufferIsTooShort(buf_len)); + } + + let head_magic = u16::from_be_bytes(buf[0..2].try_into().unwrap()); + if head_magic != Self::HEAD_MAGIC { + return Err(PacketParseError::HeadMagicMismatch); + } + + let cmd_id = u16::from_be_bytes(buf[2..4].try_into().unwrap()); + let head_len = u16::from_be_bytes(buf[4..6].try_into().unwrap()) as usize; + let body_len = u32::from_be_bytes(buf[6..10].try_into().unwrap()) as usize; + + if body_len > 0x19999999 { + return Err(PacketParseError::TooLongBodyLen(body_len)); + } + + let packet_len = Self::MIN_PACKET_LEN + head_len + body_len; + if buf_len < packet_len { + return Err(PacketParseError::BufferExceeded(buf_len, packet_len)); + } + + let Ok(head) = PacketHead::decode(&buf[10..10 + head_len]) else { + return Err(PacketParseError::HeadParseFailed); + }; + + let tail_magic = u16::from_be_bytes( + buf[10 + head_len + body_len..12 + head_len + body_len] + .try_into() + .unwrap(), + ); + + if tail_magic != Self::TAIL_MAGIC { + return Err(PacketParseError::TailMagicMismatch(tail_magic)); + } + + Ok(Self { + cmd_id, + head, + recv_vec: buf[10 + head_len..10 + head_len + body_len].to_vec(), + }) + } + + pub fn to_vec(&self) -> Vec { + let mut output = Vec::with_capacity( + Self::MIN_PACKET_LEN + self.head.encoded_len() + self.recv_vec.len(), + ); + + let head = self.head.encode_to_vec(); + output.extend(Self::HEAD_MAGIC.to_be_bytes()); + output.extend(self.cmd_id.to_be_bytes()); + output.extend((head.len() as u16).to_be_bytes()); + output.extend((self.recv_vec.len() as u32).to_be_bytes()); + output.extend(head); + output.extend(&self.recv_vec); + output.extend(Self::TAIL_MAGIC.to_be_bytes()); + + output + } + + pub fn get_proto(&self) -> Result + where + T: prost::Message + Default, + { + T::decode(&*self.recv_vec) + } + + pub fn get_user_ip(&self) -> String { + Ipv4Addr::from(self.head.user_ip).to_string() + } +} diff --git a/framework/common/src/service_box.rs b/framework/common/src/service_box.rs new file mode 100644 index 0000000..bfab1a0 --- /dev/null +++ b/framework/common/src/service_box.rs @@ -0,0 +1,76 @@ +use std::collections::BTreeMap; + +use crate::{ + config::AppConfig, + net::{tools::Packet, AClient, NetError, ServiceType}, +}; + +pub struct ServiceBox { + services: BTreeMap, +} + +pub enum ServiceQualifier { + Type(ServiceType), + AppId(u32), +} + +impl ServiceBox { + pub fn new(own_app_id: u32, applications: &BTreeMap>) -> Self { + let mut services = BTreeMap::new(); + + for (ty, apps) in applications.iter() { + apps.iter().for_each(|a| { + services.insert( + a.app_id, + (*ty, AClient::new(a.inner_ip.clone(), own_app_id)), + ); + }); + } + + Self { services } + } + + pub async fn push_packet_to_service( + &self, + qualifier: ServiceQualifier, + packet: Packet, + ) -> Result<(), NetError> { + let client = match qualifier { + ServiceQualifier::AppId(id) => { + &self.services.get(&id).ok_or(NetError::MissingAppId(id))?.1 + } + ServiceQualifier::Type(svc_type) => { + &self + .services + .values() + .find(|(ty, _)| *ty == svc_type) + .ok_or(NetError::MissingAppId(0))? + .1 + } + }; + + client.send_packet(packet).await + } + + pub fn push_packet_to_service_blocking( + &self, + qualifier: ServiceQualifier, + packet: Packet, + ) -> Result<(), NetError> { + let client = match qualifier { + ServiceQualifier::AppId(id) => { + &self.services.get(&id).ok_or(NetError::MissingAppId(id))?.1 + } + ServiceQualifier::Type(svc_type) => { + &self + .services + .values() + .find(|(ty, _)| *ty == svc_type) + .ok_or(NetError::MissingAppId(0))? + .1 + } + }; + + client.send_packet_blocking(packet) + } +} diff --git a/framework/common/src/tools/mod.rs b/framework/common/src/tools/mod.rs new file mode 100644 index 0000000..8ce4325 --- /dev/null +++ b/framework/common/src/tools/mod.rs @@ -0,0 +1,2 @@ +pub mod string_utils; +pub mod time_utils; diff --git a/framework/common/src/tools/string_utils.rs b/framework/common/src/tools/string_utils.rs new file mode 100644 index 0000000..b474215 --- /dev/null +++ b/framework/common/src/tools/string_utils.rs @@ -0,0 +1,5 @@ +pub fn get_string_hash(s: &str) -> u32 { + s.chars().fold(0, |hash, c| { + (((c as u64) + 131 * hash as u64) & 0xFFFFFFFF) as u32 + }) +} diff --git a/framework/common/src/tools/time_utils.rs b/framework/common/src/tools/time_utils.rs new file mode 100644 index 0000000..3e424b3 --- /dev/null +++ b/framework/common/src/tools/time_utils.rs @@ -0,0 +1,15 @@ +use std::time::{SystemTime, UNIX_EPOCH}; + +pub fn get_now() -> u64 { + SystemTime::now() + .duration_since(UNIX_EPOCH) + .unwrap() + .as_secs() as u64 +} + +pub fn get_now_ms() -> u64 { + SystemTime::now() + .duration_since(UNIX_EPOCH) + .unwrap() + .as_millis() as u64 +} diff --git a/gameserver/Cargo.toml b/gameserver/Cargo.toml new file mode 100644 index 0000000..ce42042 --- /dev/null +++ b/gameserver/Cargo.toml @@ -0,0 +1,33 @@ +[package] +name = "gameserver" +edition = "2021" +version.workspace = true + +[dependencies] +env_logger.workspace = true + +serde.workspace = true +serde_json.workspace = true +toml.workspace = true +num_enum.workspace = true + +parking_lot.workspace = true +tokio.workspace = true +tokio-util.workspace = true + +tracing.workspace = true +tracing-futures.workspace = true +tracing-log.workspace = true +tracing-subscriber.workspace = true +tracing-bunyan-formatter.workspace = true + +dashmap.workspace = true +rand.workspace = true +paste.workspace = true +prost.workspace = true +hex.workspace = true +rbase64.workspace = true +proto.workspace = true + +common.workspace = true +data.workspace = true diff --git a/gameserver/gameserver.toml b/gameserver/gameserver.toml new file mode 100644 index 0000000..1d3b06f --- /dev/null +++ b/gameserver/gameserver.toml @@ -0,0 +1,25 @@ +app_id = 4 + +[[applications.Dispatch]] +app_id = 1 +inner_ip = "127.0.0.1:22001" + +[[applications.Gateserver]] +app_id = 2 +inner_ip = "127.0.0.1:22002" + +[[applications.Dbgate]] +app_id = 3 +inner_ip = "127.0.0.1:22003" + +[[applications.Gameserver]] +app_id = 4 +inner_ip = "127.0.0.1:22004" + +[region] +name = "dev_mualani" +dev_sdk_account = true + +[database] +connection_string = "postgres://postgres:@localhost:5432/hk4e" +redis_url = "redis://127.0.0.1/" diff --git a/gameserver/src/ability/ability_comp.rs b/gameserver/src/ability/ability_comp.rs new file mode 100644 index 0000000..ac68b92 --- /dev/null +++ b/gameserver/src/ability/ability_comp.rs @@ -0,0 +1,104 @@ +use std::{cell::RefCell, collections::BTreeMap, rc::Rc, sync::LazyLock}; + +use common::tools::string_utils::get_string_hash; +use proto::{AbilityControlBlock, AbilityEmbryo}; + +use crate::player::avatar::Avatar; + +// TODO: Real ability logic +#[derive(Default)] +pub struct AbilityComp { + pub creature: Option>>, + target_ability_id_map: BTreeMap, + last_ability_id: u32, +} + +const COMMON_AVATAR_ABILITIES: [&'static str; 9] = [ + "Avatar_DefaultAbility_VisionReplaceDieInvincible", + "Avatar_DefaultAbility_AvartarInShaderChange", + "Avatar_SprintBS_Invincible", + "Avatar_Freeze_Duration_Reducer", + "Avatar_Attack_ReviveEnergy", + "Avatar_Component_Initializer", + "Avatar_HDMesh_Controller", + "Avatar_Trampoline_Jump_Controller", + "Avatar_ArkheGrade_CD_Controller", +]; + +impl AbilityComp { + pub fn init(&mut self, creature: Rc>) { + self.creature = Some(creature); + self.init_target_ability(); + } + + pub fn init_target_ability(&mut self) { + let mut target_ability_vec = Vec::new(); + + for ability_name in &COMMON_AVATAR_ABILITIES { + target_ability_vec.push((get_string_hash(ability_name), 0)); + } + + self.get_all_static_config_abilities(&mut target_ability_vec); + + for (ability_name_hash, override_name_hash) in target_ability_vec { + self.add_target_ability(ability_name_hash, override_name_hash); + } + } + + fn add_target_ability(&mut self, ability_name_hash: u32, mut override_name_hash: u32) { + static DEFAULT_OVERRIDE_NAME_HASH: LazyLock = + LazyLock::new(|| get_string_hash("Default")); + + if override_name_hash == 0 { + override_name_hash = *DEFAULT_OVERRIDE_NAME_HASH; + } + + let ability_id = self.last_ability_id + 1; + self.last_ability_id += 1; + + self.target_ability_id_map + .insert(ability_id, (ability_name_hash, override_name_hash)); + } + + pub fn get_proto_ability_control_block( + &self, + proto_ability_control_block: &mut AbilityControlBlock, + ) { + for (id, (name_hash, override_name_hash)) in self.target_ability_id_map.iter() { + proto_ability_control_block + .ability_embryo_list + .push(AbilityEmbryo { + ability_id: *id, + ability_name_hash: *name_hash, + ability_override_name_hash: *override_name_hash, + }); + } + } + + fn get_all_static_config_abilities(&self, target_ability_vec: &mut Vec<(u32, u32)>) { + let avatar_id = self + .creature + .as_ref() + .unwrap() + .borrow() + .base_avatar() + .avatar_id; + + let avatar_data = data::iter_avatar_data() + .find(|a| a.id == avatar_id) + .unwrap(); + + let name = avatar_data.icon_name.replace("UI_AvatarIcon_", ""); // TODO: that's kind of hack + let Some(config) = data::get_config_avatar(&name) else { + tracing::error!("get_config_avatar failed, name:{name}"); + return; + }; + + for ability_entry in config.abilities.iter() { + target_ability_vec.push(( + get_string_hash(&ability_entry.ability_name), + get_string_hash(&ability_entry.ability_override), + )); + } + } +} diff --git a/gameserver/src/ability/mod.rs b/gameserver/src/ability/mod.rs new file mode 100644 index 0000000..2507b23 --- /dev/null +++ b/gameserver/src/ability/mod.rs @@ -0,0 +1,2 @@ +mod ability_comp; +pub use ability_comp::AbilityComp; diff --git a/gameserver/src/config.rs b/gameserver/src/config.rs new file mode 100644 index 0000000..95f518f --- /dev/null +++ b/gameserver/src/config.rs @@ -0,0 +1,28 @@ +use std::collections::BTreeMap; + +use common::{ + config::{AppConfig, DatabaseConfig, RegionConfig}, + net::ServiceType, +}; +use serde::Deserialize; + +const DEFAULT_TOML: &str = include_str!("../gameserver.toml"); + +#[derive(Deserialize, Clone)] +pub struct GameserverConfig { + pub app_id: u32, + pub applications: BTreeMap>, + pub database: DatabaseConfig, + #[allow(dead_code)] + pub region: RegionConfig, +} + +pub fn load() -> Option { + match common::config::load_or_create_config("gameserver.toml", DEFAULT_TOML) { + Ok(config) => Some(config), + Err(err) => { + tracing::error!("Failed to load config: {err}"); + None + } + } +} diff --git a/gameserver/src/creature/creature.rs b/gameserver/src/creature/creature.rs new file mode 100644 index 0000000..612e8c4 --- /dev/null +++ b/gameserver/src/creature/creature.rs @@ -0,0 +1,27 @@ +use crate::entity::Entity; +use num_enum::FromPrimitive; + +pub trait Creature: Entity { + fn set_level(&mut self, level: u32); + fn assign_prop(&mut self) { + // Dummy + } + fn set_cur_hp_full(&mut self); + fn get_life_state(&self) -> LifeState; + fn set_life_state(&mut self, state: LifeState); + + fn get_cur_hp(&self) -> f32 { + 0.0 + } + fn set_cur_hp(&mut self, _hp: f32) {} +} + +#[repr(u32)] +#[derive(Debug, Default, Clone, Copy, PartialEq, Eq, FromPrimitive)] +pub enum LifeState { + LifeNone = 0, + #[default] + LifeAlive = 1, + LifeDead = 2, + LifeRevive = 3, +} diff --git a/gameserver/src/creature/fight_prop_comp.rs b/gameserver/src/creature/fight_prop_comp.rs new file mode 100644 index 0000000..3c6f485 --- /dev/null +++ b/gameserver/src/creature/fight_prop_comp.rs @@ -0,0 +1,83 @@ +use paste::paste; +use std::collections::{BTreeMap, HashMap}; + +use data::FightPropType; + +pub type FightPropValue = f32; + +#[derive(Default)] +pub struct FightPropComp { + pub fight_cur_prop_map: BTreeMap, + pub fight_cal_prop_map: BTreeMap, +} + +macro_rules! impl_get_cur { + ($($ty: ident;)*) => { + paste! { + $(pub fn [](&self) -> FightPropValue { + let percent = self.get_prop_value(FightPropType::[<$ty Percent>]) + 1.0; + let percent = FightPropValue::max(percent, 0.0); + + let base = percent * self.get_prop_value(FightPropType::[]); + base + self.get_prop_value(FightPropType::$ty) + })* + } + }; +} + +impl FightPropComp { + pub fn get_fight_prop_value_map(&self) -> HashMap { + let mut all_map: HashMap = self + .fight_cur_prop_map + .iter() + .map(|(t, v)| (*t as u32, *v)) + .collect(); + all_map.extend( + self.fight_cal_prop_map + .iter() + .map(|(t, v)| (*t as u32, *v)) + .collect::>(), + ); + all_map + } + + pub fn get_prop_value(&self, ty: FightPropType) -> FightPropValue { + match ty { + FightPropType::CurAttack => self.get_cur_attack(), + FightPropType::CurDefense => self.get_cur_defense(), + FightPropType::CurSpeed => self.get_cur_speed(), + ty if Self::is_cur_prop_type(ty) => self + .fight_cur_prop_map + .get(&ty) + .cloned() + .unwrap_or_default(), + ty => self.find_cal_prop_value(ty), + } + } + + impl_get_cur! { Attack; Defense; } + + pub fn get_cur_speed(&self) -> FightPropValue { + let percent = self.get_prop_value(FightPropType::SpeedPercent) + 1.0; + let percent = FightPropValue::max(percent, 0.0); + + percent * self.get_prop_value(FightPropType::BaseSpeed) + } + + pub fn set_cur_hp(&mut self, hp: FightPropValue) { + self.fight_cur_prop_map.insert(FightPropType::CurHp, hp); + } + + fn find_cal_prop_value(&self, ty: FightPropType) -> FightPropValue { + self.fight_cal_prop_map + .get(&ty) + .cloned() + .unwrap_or_default() + } + + fn is_cur_prop_type(ty: FightPropType) -> bool { + ty >= FightPropType::CurFireEnergy + && ty <= FightPropType::CurSpeed + && ty != FightPropType::MaxHp + } +} diff --git a/gameserver/src/creature/mod.rs b/gameserver/src/creature/mod.rs new file mode 100644 index 0000000..d40915f --- /dev/null +++ b/gameserver/src/creature/mod.rs @@ -0,0 +1,6 @@ +mod creature; +mod fight_prop_comp; +pub mod property; + +pub use creature::{Creature, LifeState}; +pub use fight_prop_comp::FightPropComp; diff --git a/gameserver/src/creature/property.rs b/gameserver/src/creature/property.rs new file mode 100644 index 0000000..d9030b8 --- /dev/null +++ b/gameserver/src/creature/property.rs @@ -0,0 +1,16 @@ +use std::collections::HashMap; + +use proto::{prop_value, PropValue}; + +pub type PropValueMap = HashMap; + +pub fn append_int_prop_value(map: &mut PropValueMap, ty: u32, ival: i64) { + map.insert( + ty, + PropValue { + r#type: ty, + val: ival, + value: Some(prop_value::Value::Ival(ival)), + }, + ); +} diff --git a/gameserver/src/entity/entity.rs b/gameserver/src/entity/entity.rs new file mode 100644 index 0000000..03c43e6 --- /dev/null +++ b/gameserver/src/entity/entity.rs @@ -0,0 +1,53 @@ +use std::{fmt::Display, rc::Rc}; + +use data::math_def::Vector3; +use proto::{ProtEntityType, SceneEntityInfo}; + +use crate::player::Player; + +pub trait Entity { + fn get_entity_type(&self) -> ProtEntityType; + fn get_group_id(&self) -> u32; + fn entity_id(&self) -> u32; + fn set_entity_id(&mut self, id: u32); + fn position(&self) -> &Vector3; + fn rotation(&self) -> &Vector3; + fn set_position(&mut self, pos: Vector3); + fn set_rotation(&mut self, rot: Vector3); + fn get_owner_player(&self) -> Option>; + + fn is_on_scene(&self) -> bool { + self.entity_id() != 0 + } + + fn can_enter_region(&self) -> bool { + false + } + + fn get_desc(&self) -> String { + let pos = self.position(); + format!( + "[entity_id:{},group_id:{},pos:{},{},{}]", + self.entity_id(), + self.get_group_id(), + pos.x, + pos.y, + pos.z + ) + } + + fn get_player_uid(&self) -> u32 { + match self.get_owner_player() { + Some(player) => player.uid, + None => 0, + } + } + + fn to_client(&self, _scene_entity_info: &mut SceneEntityInfo) {} +} + +impl Display for dyn Entity { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "{}", self.get_desc()) + } +} diff --git a/gameserver/src/entity/entity_mgr.rs b/gameserver/src/entity/entity_mgr.rs new file mode 100644 index 0000000..344d59c --- /dev/null +++ b/gameserver/src/entity/entity_mgr.rs @@ -0,0 +1,12 @@ +use proto::ProtEntityType; + +use crate::{player::avatar::AvatarTeamEntity, scene::Scene}; + +use super::Entity; + +pub fn create_avatar_team_entity(scene: &mut Scene) -> AvatarTeamEntity { + let mut entity = AvatarTeamEntity::default(); + entity.set_entity_id(scene.gen_new_entity_id(ProtEntityType::ProtEntityTeam)); + + entity +} diff --git a/gameserver/src/entity/entity_utils.rs b/gameserver/src/entity/entity_utils.rs new file mode 100644 index 0000000..93ba92e --- /dev/null +++ b/gameserver/src/entity/entity_utils.rs @@ -0,0 +1,5 @@ +use proto::ProtEntityType; + +pub fn get_entity_id(ty: ProtEntityType, index: u32) -> u32 { + index | ((ty as u32) << 24) +} diff --git a/gameserver/src/entity/mod.rs b/gameserver/src/entity/mod.rs new file mode 100644 index 0000000..a1952fe --- /dev/null +++ b/gameserver/src/entity/mod.rs @@ -0,0 +1,8 @@ +mod entity; + +pub use entity::Entity; +pub mod entity_mgr; +pub mod entity_utils; +mod vision_context; + +pub use vision_context::VisionContext; diff --git a/gameserver/src/entity/vision_context.rs b/gameserver/src/entity/vision_context.rs new file mode 100644 index 0000000..aa0f16f --- /dev/null +++ b/gameserver/src/entity/vision_context.rs @@ -0,0 +1,17 @@ +use proto::VisionType; + +pub struct VisionContext { + pub vision_type: VisionType, + pub param: u32, + pub exclude_uid: u32, +} + +impl VisionContext { + pub fn new(vision_type: VisionType) -> Self { + Self { + vision_type, + param: 0, + exclude_uid: 0, + } + } +} diff --git a/gameserver/src/gadget/mod.rs b/gameserver/src/gadget/mod.rs new file mode 100644 index 0000000..d02d66e --- /dev/null +++ b/gameserver/src/gadget/mod.rs @@ -0,0 +1,3 @@ +mod weapon_gadget; + +pub use weapon_gadget::WeaponGadget; diff --git a/gameserver/src/gadget/weapon_gadget.rs b/gameserver/src/gadget/weapon_gadget.rs new file mode 100644 index 0000000..6daf5b6 --- /dev/null +++ b/gameserver/src/gadget/weapon_gadget.rs @@ -0,0 +1,122 @@ +use data::math_def::Vector3; +use proto::{AbilitySyncStateInfo, Retcode, SceneWeaponInfo}; + +use crate::{creature::Creature, entity::Entity}; + +pub struct WeaponGadgetBase { + pub item_id: u32, + pub gadget_id: u32, + level: u32, + entity_id: u32, + pos: Vector3, + rot: Vector3, +} + +pub struct AvatarWeaponGadget { + pub base: WeaponGadgetBase, + pub weapon_guid: u64, +} + +pub enum WeaponGadget { + Avatar(AvatarWeaponGadget), +} + +impl WeaponGadget { + pub fn new_avatar(item_id: u32, guid: u64) -> Self { + Self::Avatar(AvatarWeaponGadget { + base: WeaponGadgetBase { + item_id, + gadget_id: 50000000 + item_id, // TODO! + entity_id: 0, + level: 1, + pos: Vector3::default(), + rot: Vector3::default(), + }, + weapon_guid: guid, + }) + } + + pub fn base(&self) -> &WeaponGadgetBase { + match self { + Self::Avatar(gadget) => &gadget.base, + } + } + + pub fn base_mut(&mut self) -> &mut WeaponGadgetBase { + match self { + Self::Avatar(gadget) => &mut gadget.base, + } + } + + pub fn init_ability(&mut self) -> Result<(), Retcode> { + // TODO: self.base_mut().ability_comp ... + + Ok(()) + } + + pub fn to_client(&self) -> SceneWeaponInfo { + SceneWeaponInfo { + ability_info: Some(AbilitySyncStateInfo::default()), + level: self.base().level, + item_id: self.base().item_id, + gadget_id: self.base().gadget_id, + entity_id: self.entity_id(), + guid: match self { + Self::Avatar(gadget) => gadget.weapon_guid, + }, + ..Default::default() + } + } +} + +impl Creature for WeaponGadget { + fn set_level(&mut self, level: u32) { + self.base_mut().level = level; + } + + fn set_cur_hp_full(&mut self) {} + + fn get_life_state(&self) -> crate::creature::LifeState { + crate::creature::LifeState::LifeNone + } + + fn set_life_state(&mut self, _state: crate::creature::LifeState) {} +} + +impl Entity for WeaponGadget { + fn get_entity_type(&self) -> proto::ProtEntityType { + proto::ProtEntityType::ProtEntityWeapon + } + + fn get_group_id(&self) -> u32 { + 0 + } + + fn entity_id(&self) -> u32 { + self.base().entity_id + } + + fn set_entity_id(&mut self, id: u32) { + self.base_mut().entity_id = id; + } + + fn position(&self) -> &Vector3 { + &self.base().pos + } + + fn rotation(&self) -> &Vector3 { + &self.base().rot + } + + fn get_owner_player(&self) -> Option> { + None + } + + fn set_position(&mut self, pos: data::math_def::Vector3) { + self.base_mut().pos = pos; + } + + fn set_rotation(&mut self, rot: data::math_def::Vector3) { + self.base_mut().rot = rot; + } +} diff --git a/gameserver/src/gameserver_service.rs b/gameserver/src/gameserver_service.rs new file mode 100644 index 0000000..0590ed7 --- /dev/null +++ b/gameserver/src/gameserver_service.rs @@ -0,0 +1,71 @@ +use std::{error::Error, sync::Arc}; + +use common::{db::RedisMgr, net::tools::Packet, ServiceBox}; +use dashmap::DashMap; +use proto::PlayerLoginReq; + +use crate::{ + config::GameserverConfig, + network::{NetworkMgr, PlayerSessionProxy}, + player::PlayerMgr, +}; + +pub struct GameserverService { + pub config: GameserverConfig, + pub network_mgr: NetworkMgr, + pub service_box: ServiceBox, + pub redis_mgr: RedisMgr, + pub player_sessions: DashMap>, + pub player_mgr: PlayerMgr, +} + +impl GameserverService { + pub async fn new(config: GameserverConfig) -> Result> { + let network_mgr = NetworkMgr::new(&config).await?; + let service_box = ServiceBox::new(config.app_id, &config.applications); + let redis_mgr = RedisMgr::new(&config.database.redis_url).await?; + + Ok(Self { + config, + network_mgr, + service_box, + redis_mgr, + player_sessions: DashMap::new(), + player_mgr: PlayerMgr::new(), + }) + } + + pub async fn run(&self) { + self.network_mgr.run().await + } + + pub fn find_player_session(&self, uid: u32) -> Option> { + self.player_sessions.get(&uid).map(|a| a.clone()) + } + + pub fn remove_player_session(&self, uid: u32) { + self.player_sessions.remove(&uid); + } + + pub fn create_player_session( + &self, + packet: &Packet, + login_req: PlayerLoginReq, + ) -> Option> { + let uid = packet.head.user_id; + let mut session = PlayerSessionProxy::new(uid); + session.set_login_packet_head(packet); + session.set_login_req(login_req.clone()); + + if self.player_sessions.contains_key(&uid) { + tracing::warn!("duplicated session: {uid}"); + None + } else { + let session = Arc::new(session); + self.player_sessions.insert(uid, session.clone()); + + session.on_connect(); + Some(session) + } + } +} diff --git a/gameserver/src/handler/avatar_handler.rs b/gameserver/src/handler/avatar_handler.rs new file mode 100644 index 0000000..4be384a --- /dev/null +++ b/gameserver/src/handler/avatar_handler.rs @@ -0,0 +1,117 @@ +use common::net::tools::Packet; +use proto::{ChangeAvatarRsp, Retcode, SetUpAvatarTeamRsp}; + +use crate::player::Player; + +use super::get_proto; +use std::{error::Error, rc::Rc}; + +pub fn on_set_up_avatar_team_req( + player: &Rc, + packet: Packet, +) -> Result<(), Box> { + let req = get_proto!(packet, SetUpAvatarTeamReq); + let mut rsp = SetUpAvatarTeamRsp { + avatar_team_guid_list: req.avatar_team_guid_list.clone(), + team_id: req.team_id, + cur_avatar_guid: req.cur_avatar_guid, + retcode: Retcode::RetSucc.into(), + }; + + if req.avatar_team_guid_list.len() <= 4 { + if let Err(ret) = player.check_is_in_safe_state_for_change_team() { + rsp.retcode = ret.into(); + tracing::info!( + "SetUpAvatarTeam fails, not in safe state, uid:{}, ret:{ret:?}", + player.uid + ); + } else { + if player + .player_avatar_comp + .borrow() + .check_avatar_guid_vec_all_formal(&req.avatar_team_guid_list) + .is_ok() + { + let avatar_comp = player.player_avatar_comp.borrow(); + if let Err(ret) = avatar_comp.set_up_avatar_team( + req.team_id, + &req.avatar_team_guid_list, + req.cur_avatar_guid, + ) { + tracing::info!("set_up_avatar_team fails, uid:{}", player.uid); + rsp.retcode = ret.into(); + } + } else { + rsp.retcode = Retcode::RetFail.into(); + tracing::info!("checkAvatarTeamAllFormal failed"); + } + } + } else { + tracing::warn!( + "avatar_guid_list_size too large:{}", + req.avatar_team_guid_list.len() + ); + rsp.retcode = Retcode::RetFail.into(); + } + + player.send_proto(rsp); + Ok(()) +} + +pub fn on_change_avatar_req(player: &Rc, packet: Packet) -> Result<(), Box> { + let req = get_proto!(packet, ChangeAvatarReq); + let mut rsp = ChangeAvatarRsp::default(); + + if player.player_scene_comp.borrow().get_dest_scene().is_some() { + tracing::info!("intransfer cannot choose cur avatar team."); + rsp.retcode = Retcode::RetAvatarNotOnScene.into(); + player.send_proto(rsp); + return Ok(()); + } + + rsp.cur_guid = req.guid; + rsp.skill_id = req.skill_id; + + if req.guid != 0 { + if player + .player_avatar_comp + .borrow() + .is_my_avatar_in_scene_team(req.guid) + { + let cur_guid = { + let cur_avatar_ptr = player.player_avatar_comp.borrow().get_cur_avatar().unwrap(); + let cur_avatar = cur_avatar_ptr.borrow(); + cur_avatar.base_avatar().guid + }; + + if req.guid == cur_guid { + rsp.retcode = Retcode::RetSucc.into(); + } else { + let avatar_comp = player.player_avatar_comp.borrow(); + if let Err(ret) = avatar_comp.check_change_cur_avatar(req.guid) { + tracing::info!("check_change_cur_avatar ret:{ret:?}, guid:{}", req.guid); + rsp.retcode = ret.into(); + } else { + if req.is_move { + // TODO! + } + + let _ = avatar_comp.change_cur_avatar(req.guid, true); + rsp.retcode = Retcode::RetSucc.into(); + } + } + } else { + tracing::info!( + "avatar not in cur team, player:{} guid:{}", + player.uid, + req.guid + ); + rsp.retcode = Retcode::RetAvatarNotExistInTeam.into(); + } + } else { + tracing::warn!("guid != 0 !!! player:{}", player.uid); + rsp.retcode = Retcode::RetFail.into(); + } + + Ok(()) +} diff --git a/gameserver/src/handler/login_handler.rs b/gameserver/src/handler/login_handler.rs new file mode 100644 index 0000000..c8b8519 --- /dev/null +++ b/gameserver/src/handler/login_handler.rs @@ -0,0 +1,225 @@ +use std::{error::Error, net::Ipv4Addr, sync::Arc}; + +use common::{ + base::NetService, + net::{tools::Packet, ServiceType}, + tools::time_utils, + ServiceQualifier, +}; +use proto::{ + PacketHead, PlayerLoginReq, PlayerLoginRsp, PlayerLogoutReason, PlayerLogoutReq, + PlayerStatusType, Retcode, +}; + +use crate::{gameserver_service, network::PlayerSessionProxy, player::Player}; + +pub async fn on_player_login_req(packet: Packet) -> Result<(), Box> { + let Ok(req) = packet.get_proto::() else { + tracing::error!( + "get_proto PlayerLoginReq failed, uid: {}", + packet.head.user_id + ); + return Ok(()); + }; + + if let Err(ret) = player_login(packet, req).await { + tracing::error!("LoginHandler::player_login failed, retcode: {ret:?}",); + } + + Ok(()) +} + +async fn player_login(packet: Packet, req: PlayerLoginReq) -> Result<(), Retcode> { + let client_ip = Ipv4Addr::from(packet.head.user_ip).to_string(); + tracing::info!("[TEST_IP] playerLogin, ip:{client_ip}"); + + let uid = packet.head.user_id; + + let session = if let Some(session) = gameserver_service().find_player_session(uid) { + if is_from_same_client_session(&session, &packet) { + tracing::warn!("RET_REPEAT_LOGIN uid: {uid}"); + return Err(Retcode::RetRepeatLogin); + } + + // tracing::error!("GameserverService::bind_player_session: not implemented."); + // stop previous session + + gameserver_service().remove_player_session(uid); + gameserver_service().player_mgr.remove_from_online_map(uid); + + if let Some(coro) = session.exec_coroutine.read().as_ref() { + coro.push_packet(Packet::new( + PlayerLogoutReq { + reason: PlayerLogoutReason::ClientReq.into(), + }, + PacketHead { + user_id: session.uid, + user_session_id: session.get_gateserver_session_id(), + ..Default::default() + }, + )); + } + + let Some(session) = gameserver_service().create_player_session(&packet, req.clone()) else { + tracing::error!("create_player_session failed"); + return Err(Retcode::RetFail); + }; + + session + } else { + let Some(session) = gameserver_service().create_player_session(&packet, req.clone()) else { + tracing::error!("create_player_session failed"); + return Err(Retcode::RetFail); + }; + + session + }; + + session.gen_new_login_rand(); + async_modify_player_status( + &packet, + PlayerStatusType::PlayerStatusOnline, + ModifyPlayerStatusContext { + last_login_rand: req.login_rand, + cur_login_rand: session.get_cur_login_rand(), + }, + ) + .await; + + let service = gameserver_service(); + let _ = service + .service_box + .push_packet_to_service( + ServiceQualifier::Type(ServiceType::Dbgate), + Packet::new( + PlayerLoginReq { + login_rand: session.get_cur_login_rand(), + ..req + }, + PacketHead { + sender_app_id: service.network_mgr.app_id(), + ..packet.head + }, + ), + ) + .await; + + Ok(()) +} + +async fn async_modify_player_status( + packet: &Packet, + status: PlayerStatusType, + context: ModifyPlayerStatusContext, +) { + let app_id = gameserver_service().network_mgr.app_id(); + gameserver_service() + .redis_mgr + .compare_and_modify_player_status( + packet.head.user_id, + context.last_login_rand, + proto::PlayerStatusRedisData { + status: status.into(), + gameserver_id: app_id, + login_rand: context.cur_login_rand, + login_time: time_utils::get_now() as u32, + }, + ) + .await; +} + +pub async fn on_player_login_rsp(packet: Packet) { + let Some(session) = gameserver_service().find_player_session(packet.head.user_id) else { + tracing::warn!( + "find_player_session uid: {} failed,or session is not connected", + packet.head.user_id + ); + return; + }; + + player_login_result(session, packet); +} + +fn player_login_result(session: Arc, packet: Packet) { + let service = gameserver_service(); + + let Ok(rsp) = packet.get_proto::() else { + tracing::error!("get_proto failed"); + return; + }; + + if service.player_mgr.find_online_player(session.uid).is_some() { + tracing::error!("uid: {} player is still exist", session.uid); + return; + } + + let cur_login_rand = session.get_cur_login_rand(); + if cur_login_rand == rsp.login_rand { + // asyncPlayerLoginInitCallback + add_player_to_online_map(session.clone(), rsp); + } +} + +fn add_player_to_online_map(session: Arc, rsp: PlayerLoginRsp) { + *session.exec_coroutine.write() = Some(Player::start(session.clone(), session.uid)); + + gameserver_service() + .player_mgr + .add_to_online_map(session.uid, session.get_gateserver_session_id()); + + session + .exec_coroutine + .read() + .as_ref() + .unwrap() + .push_packet(Packet::new(rsp, PacketHead::default())); +} + +fn is_from_same_client_session(session: &PlayerSessionProxy, packet: &Packet) -> bool { + packet.head.sender_app_id == session.get_gateserver_id() + && packet.head.user_session_id == session.get_gateserver_session_id() +} + +struct ModifyPlayerStatusContext { + pub last_login_rand: u64, + pub cur_login_rand: u64, +} + +pub async fn on_player_force_exit_req(packet: Packet) -> Result<(), Box> { + let Some(session) = gameserver_service().find_player_session(packet.head.user_id) else { + tracing::warn!( + "on_player_force_exit: player session not found, session id: {}, uid: {}", + packet.head.user_session_id, + packet.head.user_id + ); + return Ok(()); + }; + + let uid = packet.head.user_id; + + if let Some(coroutine) = session.exec_coroutine.read().as_ref() { + coroutine.push_packet(Packet::new( + PlayerLogoutReq { + reason: PlayerLogoutReason::ClientReq.into(), + }, + packet.head.clone(), + )); + } else { + tracing::warn!("on_player_force_exit: coroutine not running, uid: {uid}"); + } + + gameserver_service().player_mgr.remove_from_online_map(uid); + async_modify_player_status( + &packet, + PlayerStatusType::PlayerStatusOffline, + ModifyPlayerStatusContext { + cur_login_rand: 0, + last_login_rand: session.get_cur_login_rand(), + }, + ) + .await; + + gameserver_service().remove_player_session(uid); + + Ok(()) +} diff --git a/gameserver/src/handler/mod.rs b/gameserver/src/handler/mod.rs new file mode 100644 index 0000000..68d4fa8 --- /dev/null +++ b/gameserver/src/handler/mod.rs @@ -0,0 +1,53 @@ +pub mod avatar_handler; +pub mod login_handler; +pub mod player_handler; +pub mod player_misc_handler; +pub mod scene_handler; + +macro_rules! get_proto { + ($packet: expr, $proto: ident) => { + match $packet.get_proto::<::proto::$proto>() { + Ok(proto) => proto, + Err(_) => { + ::tracing::error!( + concat!("get_proto ", stringify!($proto), " failed, uid: {}"), + $packet.head.user_id + ); + return Ok(()); + } + } + }; +} + +macro_rules! game_packet_handlers { + ($($category: ident::$name: ident;)*) => { + pub fn process_packet(player: &::std::rc::Rc, packet: ::common::net::tools::Packet) -> Result<(), Box> { + use ::proto::CmdID; + ::paste::paste! { + match packet.cmd_id { + $( + ::proto::$name::CMD_ID => crate::handler::[<$category:snake>]::[](player, packet), + )* + _ => { + tracing::warn!("can not find func for cmd_id={}", packet.cmd_id); + Ok(()) + } + } + } + } + }; +} + +pub(crate) use get_proto; + +game_packet_handlers! { + PlayerMiscHandler::PingReq; + PlayerHandler::SetPlayerBornDataReq; + PlayerHandler::PlayerLogoutReq; + SceneHandler::EnterSceneReadyReq; + SceneHandler::SceneInitFinishReq; + SceneHandler::EnterSceneDoneReq; + SceneHandler::PostEnterSceneReq; + AvatarHandler::SetUpAvatarTeamReq; + AvatarHandler::ChangeAvatarReq; +} diff --git a/gameserver/src/handler/player_handler.rs b/gameserver/src/handler/player_handler.rs new file mode 100644 index 0000000..a52ecc8 --- /dev/null +++ b/gameserver/src/handler/player_handler.rs @@ -0,0 +1,40 @@ +use std::{error::Error, rc::Rc}; + +use common::net::tools::Packet; +use proto::{PlayerLogoutReason, ServerDisconnectClientNotify, SetPlayerBornDataRsp}; + +use crate::player::Player; + +use super::get_proto; + +pub fn on_set_player_born_data_req( + player: &Rc, + packet: Packet, +) -> Result<(), Box> { + let req = get_proto!(packet, SetPlayerBornDataReq); + + let retcode = player.set_player_born_data(req).err().unwrap_or_default(); + + player.send_proto(SetPlayerBornDataRsp { + retcode: retcode.into(), + }); + + Ok(()) +} + +pub fn on_player_logout_req(player: &Rc, packet: Packet) -> Result<(), Box> { + let req = get_proto!(packet, PlayerLogoutReq); + + tracing::info!("on_player_logout, uid: {}", player.uid); + + if player.block_stop_coroutine().is_err() { + return Ok(()); + } + + player.save_to_db(); + if req.reason == PlayerLogoutReason::ClientReq as i32 { + player.send_proto(ServerDisconnectClientNotify { data: 1 }); + } + + Ok(()) +} diff --git a/gameserver/src/handler/player_misc_handler.rs b/gameserver/src/handler/player_misc_handler.rs new file mode 100644 index 0000000..47bb02a --- /dev/null +++ b/gameserver/src/handler/player_misc_handler.rs @@ -0,0 +1,22 @@ +use std::{error::Error, rc::Rc}; + +use common::net::tools::Packet; +use proto::PingRsp; + +use crate::player::Player; + +use super::get_proto; + +pub fn on_ping_req(player: &Rc, packet: Packet) -> Result<(), Box> { + let req = get_proto!(packet, PingReq); + + let mut rsp = PingRsp { + retcode: -1, + ..Default::default() + }; + + player.on_ping_req(req, &mut rsp); + player.send_proto(rsp); + + Ok(()) +} diff --git a/gameserver/src/handler/scene_handler.rs b/gameserver/src/handler/scene_handler.rs new file mode 100644 index 0000000..0b27d7e --- /dev/null +++ b/gameserver/src/handler/scene_handler.rs @@ -0,0 +1,70 @@ +use std::{error::Error, rc::Rc}; + +use common::net::tools::Packet; +use proto::{ + EnterSceneDoneRsp, EnterSceneReadyRsp, PostEnterSceneRsp, Retcode, SceneInitFinishRsp, +}; + +use crate::player::Player; + +use super::get_proto; + +pub fn on_enter_scene_ready_req(player: &Rc, packet: Packet) -> Result<(), Box> { + let req = get_proto!(packet, EnterSceneReadyReq); + + let result = player.enter_scene_ready(&req); + + player.send_proto(EnterSceneReadyRsp { + enter_scene_token: req.enter_scene_token, + retcode: result.err().unwrap_or_default().into(), + }); + + Ok(()) +} + +pub fn on_scene_init_finish_req(player: &Rc, packet: Packet) -> Result<(), Box> { + let req = get_proto!(packet, SceneInitFinishReq); + + let mut rsp = SceneInitFinishRsp { + retcode: Retcode::RetFail.into(), + enter_scene_token: req.enter_scene_token, + }; + + player.player_basic_comp.borrow().notify_server_time(); + let ret = player + .scene_init_finish(&req) + .err() + .unwrap_or(Retcode::RetSucc); + + rsp.retcode = ret.into(); + player.send_proto(rsp); + Ok(()) +} + +pub fn on_enter_scene_done_req(player: &Rc, packet: Packet) -> Result<(), Box> { + let req = get_proto!(packet, EnterSceneDoneReq); + + if let Err(ret) = player.enter_scene_done(&req) { + tracing::info!("end_enter_scene failed, uid:{}", player.uid); + player.send_proto(EnterSceneDoneRsp { + retcode: ret.into(), + enter_scene_token: req.enter_scene_token, + }); + } + + Ok(()) +} + +pub fn on_post_enter_scene_req(player: &Rc, packet: Packet) -> Result<(), Box> { + let req = get_proto!(packet, PostEnterSceneReq); + + if let Err(ret) = player.post_enter_scene(&req) { + tracing::info!("post_enter_scene failed, uid:{}", player.uid); + player.send_proto(PostEnterSceneRsp { + retcode: ret.into(), + enter_scene_token: req.enter_scene_token, + }); + } + + Ok(()) +} diff --git a/gameserver/src/item/equip_comp.rs b/gameserver/src/item/equip_comp.rs new file mode 100644 index 0000000..a85d8c1 --- /dev/null +++ b/gameserver/src/item/equip_comp.rs @@ -0,0 +1,57 @@ +use std::{cell::RefCell, rc::Rc}; + +use proto::{avatar_bin, AvatarBin}; + +use crate::{gadget::WeaponGadget, player::item::Weapon}; + +#[derive(Default)] +pub struct EquipComp { + pub equip_guid_vec: Vec, + pub weapon_gadget: Option>>, +} + +impl EquipComp { + pub fn set_init_weapon(&mut self, weapon_guid: u64) { + if self.equip_guid_vec.len() != 0 { + tracing::warn!("weapon has been initialized"); + } else { + self.equip_guid_vec.push(weapon_guid); + } + } + + pub fn init(&mut self, equip_vec: Vec<&Weapon>) { + let weapon = equip_vec.first().unwrap(); + + // TODO: this is old cringe item system, refactor it! (should be: Item->Equip->(Relic, Weapon)) + self.create_and_set_weapon_gadget(weapon.base.base.guid, weapon.base.base.item_id); + } + + pub fn create_and_set_weapon_gadget(&mut self, weapon_guid: u64, item_id: u32) { + self.weapon_gadget = Some(Rc::new(RefCell::new(WeaponGadget::new_avatar( + item_id, + weapon_guid, + )))); + } + + pub fn to_client(&self, info: &mut proto::AvatarInfo) { + info.equip_guid_list = self.equip_guid_vec.clone(); + } + + pub fn from_bin(bin: &AvatarBin) -> Self { + if let Some(avatar_bin::Detail::FormalAvatar(avatar)) = bin.detail.as_ref() { + Self { + equip_guid_vec: avatar.equip_guid_list.clone(), + weapon_gadget: None, + } + } else { + Self::default() + } + } + + pub fn to_bin(&self, bin: &mut AvatarBin) { + // Non-formal avatar is not allowed to have persistent equip. + if let Some(avatar_bin::Detail::FormalAvatar(avatar)) = bin.detail.as_mut() { + avatar.equip_guid_list = self.equip_guid_vec.clone() + } + } +} diff --git a/gameserver/src/item/mod.rs b/gameserver/src/item/mod.rs new file mode 100644 index 0000000..67917b4 --- /dev/null +++ b/gameserver/src/item/mod.rs @@ -0,0 +1,3 @@ +mod equip_comp; + +pub use equip_comp::EquipComp; diff --git a/gameserver/src/main.rs b/gameserver/src/main.rs new file mode 100644 index 0000000..456c9aa --- /dev/null +++ b/gameserver/src/main.rs @@ -0,0 +1,35 @@ +use std::{error::Error, sync::OnceLock}; + +use common::log; +use gameserver_service::GameserverService; + +mod ability; +mod config; +mod creature; +mod entity; +mod gadget; +mod gameserver_service; +mod handler; +mod item; +mod network; +mod player; +mod scene; + +static SERVICE: OnceLock = OnceLock::new(); + +#[tokio::main] +async fn main() -> Result<(), Box> { + log::init_tracing(); + data::load_txt_data()?; + data::load_all_config_avatar()?; + let config = config::load().unwrap(); + let service = GameserverService::new(config).await?; + let service = SERVICE.get_or_init(|| service); + service.run().await; + + Ok(()) +} + +fn gameserver_service() -> &'static GameserverService { + SERVICE.get().unwrap() +} diff --git a/gameserver/src/network/gateserver_session.rs b/gameserver/src/network/gateserver_session.rs new file mode 100644 index 0000000..cde3d33 --- /dev/null +++ b/gameserver/src/network/gateserver_session.rs @@ -0,0 +1,45 @@ +use std::error::Error; + +use common::{ + config::IpString, + net::{tools::Packet, AServerSession, NetError}, +}; +use proto::CmdID; + +use crate::{gameserver_service, handler::login_handler}; + +pub struct GateserverSession { + _server_session: AServerSession, +} + +impl GateserverSession { + pub async fn new(app_id: u32, service_ip: IpString, cur_app_id: u32) -> Result { + Ok(Self { + _server_session: AServerSession::new(app_id, service_ip, cur_app_id), + }) + } + + pub async fn on_recv(&self, packet: Packet) -> Result<(), Box> { + match packet.cmd_id { + proto::PlayerLoginReq::CMD_ID => login_handler::on_player_login_req(packet).await, + proto::PlayerForceExitReq::CMD_ID => { + login_handler::on_player_force_exit_req(packet).await + } + _ => { + let Some(session) = gameserver_service() + .player_sessions + .get(&packet.head.user_id) + else { + tracing::warn!("user_session_id: {} not found", packet.head.user_session_id); + return Ok(()); + }; + + if let Some(player_coroutine) = session.exec_coroutine.read().as_ref() { + player_coroutine.push_packet(packet); + } + + Ok(()) + } + } + } +} diff --git a/gameserver/src/network/mod.rs b/gameserver/src/network/mod.rs new file mode 100644 index 0000000..b16a9cc --- /dev/null +++ b/gameserver/src/network/mod.rs @@ -0,0 +1,8 @@ +mod network_mgr; +pub use network_mgr::NetworkMgr; + +mod gateserver_session; +pub use gateserver_session::GateserverSession; + +mod player_session_proxy; +pub use player_session_proxy::PlayerSessionProxy; diff --git a/gameserver/src/network/network_mgr.rs b/gameserver/src/network/network_mgr.rs new file mode 100644 index 0000000..53d32df --- /dev/null +++ b/gameserver/src/network/network_mgr.rs @@ -0,0 +1,73 @@ +use std::error::Error; + +use dashmap::DashMap; +use paste::paste; + +use common::{ + base::NetService, + impl_net_service, + net::{tools::Packet, AServer, NetError, ServiceType}, + rpc_handlers, services, +}; + +use crate::{config::GameserverConfig, gameserver_service, handler::login_handler}; + +use super::GateserverSession; + +pub struct NetworkMgr { + server: AServer, + gateserver_sessions: DashMap, +} + +impl NetworkMgr { + pub async fn new(config: &GameserverConfig) -> Result { + let inner_ip = config + .applications + .get(&ServiceType::Gameserver) + .unwrap() + .iter() + .find(|a| a.app_id == config.app_id) + .unwrap() + .inner_ip + .clone(); + + Ok(Self { + server: AServer::bind(inner_ip).await?, + gateserver_sessions: DashMap::new(), + }) + } + + pub async fn run(&self) { + loop { + let Ok(mut packets) = self.server.recv().await else { + continue; + }; + + while let Some(packet) = packets.pop_front() { + if let Err(err) = self.on_recv_to_svc(packet).await { + tracing::warn!("on_recv fail: {err}"); + } + } + } + } + + rpc_handlers! { + PlayerLoginRsp; + } + + services! { + Gateserver; + } + + pub async fn on_player_login_rsp(&self, packet: Packet) -> Result<(), Box> { + login_handler::on_player_login_rsp(packet).await; + + Ok(()) + } + + pub async fn default_packet_process_func(&self, _: Packet) -> Result<(), Box> { + Ok(()) + } +} + +impl_net_service!(Gameserver); diff --git a/gameserver/src/network/player_session_proxy.rs b/gameserver/src/network/player_session_proxy.rs new file mode 100644 index 0000000..acef754 --- /dev/null +++ b/gameserver/src/network/player_session_proxy.rs @@ -0,0 +1,115 @@ +use std::{ + net::Ipv4Addr, + sync::atomic::{AtomicU32, AtomicU64, Ordering}, +}; + +use common::{ + base::NetService, + net::{tools::Packet, ServiceType}, + tools::time_utils, + ServiceQualifier, +}; +use parking_lot::RwLock; +use proto::{PacketHead, PlayerLoginReq}; + +use crate::{gameserver_service, player::PlayerCoroExec}; + +pub struct PlayerSessionProxy { + pub uid: u32, + pub client_ip: String, + pub flag: String, + login_packet_head: PacketHead, + pub login_req: PlayerLoginReq, + cur_login_rand: AtomicU64, + pub exec_coroutine: RwLock>, +} + +impl PlayerSessionProxy { + pub fn new(uid: u32) -> Self { + Self { + uid, + client_ip: String::new(), + flag: String::new(), + login_packet_head: PacketHead::default(), + login_req: PlayerLoginReq::default(), + cur_login_rand: AtomicU64::new(0), + exec_coroutine: RwLock::new(None), + } + } + + pub fn set_login_packet_head(&mut self, packet: &Packet) { + self.login_packet_head = packet.head.clone(); + self.client_ip = Ipv4Addr::from(packet.head.user_ip).to_string(); + self.flag = Self::create_flag_str(self.get_gateserver_id(), packet.head.user_session_id); + } + + pub fn set_login_req(&mut self, login_req: PlayerLoginReq) { + self.login_req = login_req; + } + + pub fn get_gateserver_id(&self) -> u32 { + self.login_packet_head.sender_app_id + } + + pub fn get_gateserver_session_id(&self) -> u32 { + self.login_packet_head.user_session_id + } + + pub fn get_cur_login_rand(&self) -> u64 { + self.cur_login_rand.load(Ordering::SeqCst) + } + + pub fn gen_new_login_rand(&self) { + let login_rand = do_gen_login_rand(); + self.cur_login_rand.store(login_rand, Ordering::SeqCst); + + if login_rand != 0 { + tracing::info!( + "[LOGIN] uid: {} gate login_rand: {} cur_login_rand: {} gatesession: {}", + self.uid, + self.login_req.login_rand, + login_rand, + &self.flag + ); + } else { + tracing::warn!("do_gen_login_rand return 0"); + } + } + + pub fn send_packet(&self, mut packet: Packet) { + packet.head = PacketHead { + user_id: self.uid, + user_ip: self.login_packet_head.user_ip, + user_session_id: self.login_packet_head.user_session_id, + rpc_id: ServiceType::Gateserver as u32, + ..Default::default() + }; + + let dst_app_id = self.login_packet_head.sender_app_id; + let _ = gameserver_service() + .service_box + .push_packet_to_service_blocking(ServiceQualifier::AppId(dst_app_id), packet); + } + + pub fn on_connect(&self) { + tracing::info!( + "[LOGIN][SESSION] on_connect uid: {} gatesession: {}", + self.uid, + &self.flag + ); + } + + fn create_flag_str(gate_id: u32, gate_session: u32) -> String { + format!("{gate_id}:{gate_session}") + } +} + +fn do_gen_login_rand() -> u64 { + static SEQ: AtomicU32 = AtomicU32::new(0); + + let v4 = ((gameserver_service().network_mgr.app_id() >> 16) & 0xFFFF) as u64; + let v5 = ((SEQ.fetch_add(1, Ordering::SeqCst) + 1) & 0xFFFF) as u64; + let now = (time_utils::get_now() & 0xFFFFFFFF) as u64; + + v4 << 48 | v5 << 32 | now +} diff --git a/gameserver/src/player/avatar/avatar.rs b/gameserver/src/player/avatar/avatar.rs new file mode 100644 index 0000000..7090c93 --- /dev/null +++ b/gameserver/src/player/avatar/avatar.rs @@ -0,0 +1,439 @@ +use std::{ + cell::RefCell, + rc::{Rc, Weak}, +}; + +use data::{math_def::Vector3, prop_type::PROP_LEVEL, FightPropType}; +use proto::{ + avatar_bin::{self, Detail}, + AbilitySyncStateInfo, AnimatorParameterValueInfoPair, AvatarBin, AvatarExcelInfo, + EntityAuthorityInfo, EntityClientData, FightPropPair, Iolgpkjjcfi, Lcjbmelilap, MotionInfo, + PropPair, PropValue, ProtEntityType, SceneAvatarInfo, SceneEntityInfo, +}; + +use crate::{ + ability::AbilityComp, + creature::{property::PropValueMap, Creature, FightPropComp, LifeState}, + entity::Entity, + item::EquipComp, + player::{item::Item, Player}, +}; + +use super::{FormalAvatar, MirrorAvatar, TrialAvatar}; + +pub enum Avatar { + Formal(FormalAvatar), + Trial(TrialAvatar), + Mirror(MirrorAvatar), +} + +impl Avatar { + pub fn base_avatar(&self) -> &BaseAvatar { + match self { + Self::Formal(a) => &a.base, + Self::Trial(a) => &a.base, + Self::Mirror(a) => &a.base, + } + } + + pub fn base_avatar_mut(&mut self) -> &mut BaseAvatar { + match self { + Self::Formal(a) => &mut a.base, + Self::Trial(a) => &mut a.base, + Self::Mirror(a) => &mut a.base, + } + } + + pub fn on_add_to_scene_team(&mut self) { + self.base_avatar_mut().on_add_to_scene_team(); + } + + pub fn on_remove_from_scene_team(&mut self) { + self.base_avatar_mut().on_remove_from_scene_team(); + } + + pub fn init(&mut self) { + let base = self.base_avatar_mut(); + base.skill_depot_id = data::iter_avatar_data() + .find(|a| a.id == base.avatar_id) + .unwrap() + .skill_depot_id; + + let player = self.base_avatar().player().unwrap(); + let item_comp = player.player_item_comp.borrow(); + + let equip_item_vec = self + .base_avatar() + .equip_comp + .equip_guid_vec + .iter() + .map(|guid| item_comp.pack_store.items.get(guid).unwrap()) + .collect::>(); + + let mut equip_vec = Vec::new(); + + for item in equip_item_vec.iter() { + match item { + // TODO: Item::Equip -> Weapon, Relic + Item::Weapon(weapon) => equip_vec.push(weapon), + } + } + + self.base_avatar_mut().equip_comp.init(equip_vec); + } + + pub fn set_last_valid_position(&mut self, pos: Vector3) { + self.base_avatar_mut().last_valid_pos = pos; + } + + pub fn set_last_valid_rotation(&mut self, rot: Vector3) { + self.base_avatar_mut().last_valid_rot = rot; + } + + pub fn to_client(&self) -> proto::AvatarInfo { + let mut info = match self { + Self::Formal(avatar) => avatar.to_client(), + Self::Trial(avatar) => avatar.to_client(), + Self::Mirror(avatar) => avatar.to_client(), + }; + + info.avatar_type = self.get_avatar_type(); + info + } + + pub fn to_client_scene_entity(&self, scene_entity_info: &mut SceneEntityInfo) { + Entity::to_client(self, scene_entity_info); + } + + pub fn to_client_avatar_entity(&self, scene_avatar_info: &mut SceneAvatarInfo) { + let player = self.get_owner_player().unwrap(); + + scene_avatar_info.uid = player.uid; + scene_avatar_info.peer_id = player.peer_id.get(); + scene_avatar_info.avatar_id = self.base_avatar().avatar_id; + scene_avatar_info.guid = self.base_avatar().guid; + scene_avatar_info.equip_id_list = { + let item_comp = player.player_item_comp.borrow(); + self.base_avatar() + .equip_comp + .equip_guid_vec + .iter() + .map(|guid| { + item_comp + .pack_store + .items + .get(guid) + .map(|item| item.item_id()) + }) + .flatten() + .collect() + }; + + scene_avatar_info.skill_depot_id = self.base_avatar().skill_depot_id; + scene_avatar_info.born_time = self.base_avatar().born_time; + scene_avatar_info.team_resonance_list = vec![10301]; // TODO! + scene_avatar_info.wearing_flycloak_id = self.base_avatar().flycloak_id; + scene_avatar_info.costume_id = 0; // TODO! + scene_avatar_info.excel_info = Some(AvatarExcelInfo::default()); + scene_avatar_info.weapon = self + .base_avatar() + .equip_comp + .weapon_gadget + .as_ref() + .map(|gadget| gadget.borrow().to_client()); + } + + pub fn from_bin(bin: AvatarBin) -> Self { + let level = bin.level; + let cur_hp = bin.cur_hp; + + let mut avatar = match bin.detail.clone().unwrap() { + Detail::FormalAvatar(detail) => Self::Formal(FormalAvatar::from_bin(bin, detail)), + Detail::TrialAvatar(detail) => Self::Trial(TrialAvatar::from_bin(bin, detail)), + Detail::MirrorAvatar(detail) => Self::Mirror(MirrorAvatar::from_bin(bin, detail)), + }; + + avatar.set_level(level); + avatar.set_cur_hp(cur_hp); + // TODO: cur_elem_energy + + avatar + } + + pub fn to_bin(&self) -> AvatarBin { + match self { + Self::Formal(a) => a.to_bin(), + Self::Trial(a) => a.to_bin(), + Self::Mirror(a) => a.to_bin(), + } + } + + pub fn get_avatar_type(&self) -> u32 { + match self { + Self::Formal(_) => 1, + Self::Trial(_) => 2, + Self::Mirror(_) => 3, + } + } +} + +#[derive(Default)] +pub struct BaseAvatar { + player: Weak, + pub avatar_id: u32, + pub guid: u64, + pub level: u32, + pub life_state: LifeState, + pub promote_level: u32, + pub skill_depot_id: u32, + // skill_map, buff_map, depot_map + pub satiation_val: f32, + pub satiation_penalty_time: f32, + pub flycloak_id: u32, + pub born_time: u32, + // Components + pub fight_prop_comp: FightPropComp, + pub equip_comp: EquipComp, + pub ability_comp: Rc>, + // Entity + pub entity_id: u32, + pub pos: Vector3, + pub rot: Vector3, + pub last_valid_pos: Vector3, + pub last_valid_rot: Vector3, +} + +impl BaseAvatar { + pub fn to_client(&self, prop_map: PropValueMap) -> proto::AvatarInfo { + let mut info = proto::AvatarInfo { + avatar_id: self.avatar_id, + guid: self.guid, + prop_map, + life_state: self.life_state as u32, + skill_depot_id: self.skill_depot_id, + wearing_flycloak_id: self.flycloak_id, + born_time: self.born_time, + fetter_info: Some(proto::AvatarFetterInfo { + exp_level: 1, + ..Default::default() + }), + fight_prop_map: self.fight_prop_comp.get_fight_prop_value_map(), + ..Default::default() + }; + self.equip_comp.to_client(&mut info); + + info + } + + pub fn from_bin(bin: AvatarBin) -> Self { + let mut fight_prop_comp = FightPropComp::default(); + fight_prop_comp.set_cur_hp(bin.cur_hp); + + let equip_comp = EquipComp::from_bin(&bin); + + Self { + player: Weak::new(), + avatar_id: bin.avatar_id, + guid: bin.guid, + level: bin.level, + life_state: bin.life_state.into(), + promote_level: bin.promote_level, + skill_depot_id: bin.skill_depot_id, + satiation_val: bin.satiation_val, + satiation_penalty_time: bin.satiation_penalty_time, + flycloak_id: bin.flycloak_id, + born_time: bin.born_time, + fight_prop_comp, + equip_comp, + ..Default::default() + } + } + + pub fn to_bin(&self, detail: avatar_bin::Detail) -> AvatarBin { + let mut bin = AvatarBin { + detail: Some(detail), + avatar_id: self.avatar_id, + guid: self.guid, + level: self.level, + life_state: self.life_state as u32, + cur_hp: self.fight_prop_comp.get_prop_value(FightPropType::CurHp), + cur_elem_energy: 0.0, // todo + promote_level: self.promote_level, + skill_depot_id: self.skill_depot_id, + satiation_val: self.satiation_val, + satiation_penalty_time: self.satiation_penalty_time, + flycloak_id: self.flycloak_id, + born_time: self.born_time, + ..Default::default() + }; + + self.equip_comp.to_bin(&mut bin); + bin + } + + pub fn on_add_to_scene_team(&mut self) { + // TODO + } + + pub fn on_remove_from_scene_team(&mut self) { + // TODO + } + + pub fn set_player(&mut self, player: Rc) { + self.player = Rc::downgrade(&player) + } + + fn player(&self) -> Option> { + self.player.upgrade() + } +} + +impl Creature for Avatar { + fn set_level(&mut self, level: u32) { + self.base_avatar_mut().level = level; + self.assign_prop(); + } + + fn assign_prop(&mut self) { + // TODO: level-based calculation + let id = self.base_avatar().avatar_id; + let config = data::iter_avatar_data().find(|a| a.id == id).unwrap(); + + let base = self.base_avatar_mut(); + let fpc = &mut base.fight_prop_comp; + + fpc.fight_cal_prop_map + .insert(FightPropType::BaseHp, config.hp_base); + fpc.fight_cal_prop_map + .insert(FightPropType::MaxHp, config.hp_base); + fpc.fight_cal_prop_map + .insert(FightPropType::BaseAttack, config.defense_base); + fpc.fight_cal_prop_map + .insert(FightPropType::BaseDefense, config.defense_base); + } + + fn set_cur_hp_full(&mut self) { + let base = self.base_avatar_mut(); + let fpc = &mut base.fight_prop_comp; + + fpc.set_cur_hp(fpc.get_prop_value(FightPropType::MaxHp)); + } + + fn get_life_state(&self) -> LifeState { + self.base_avatar().life_state + } + + fn set_life_state(&mut self, state: LifeState) { + self.base_avatar_mut().life_state = state; + } + + fn get_cur_hp(&self) -> f32 { + let base = self.base_avatar(); + base.fight_prop_comp.get_prop_value(FightPropType::CurHp) + } + + fn set_cur_hp(&mut self, hp: f32) { + let base = self.base_avatar_mut(); + let fpc = &mut base.fight_prop_comp; + + fpc.set_cur_hp(hp); + } +} + +impl Entity for Avatar { + fn get_entity_type(&self) -> ProtEntityType { + ProtEntityType::ProtEntityAvatar + } + + fn get_group_id(&self) -> u32 { + 0 + } + + fn entity_id(&self) -> u32 { + self.base_avatar().entity_id + } + + fn set_entity_id(&mut self, id: u32) { + self.base_avatar_mut().entity_id = id + } + + fn position(&self) -> &data::math_def::Vector3 { + &self.base_avatar().pos + } + + fn rotation(&self) -> &data::math_def::Vector3 { + &self.base_avatar().rot + } + + fn get_owner_player(&self) -> Option> { + self.base_avatar().player() + } + + fn is_on_scene(&self) -> bool { + self.entity_id() != 0 + } + + fn set_position(&mut self, pos: data::math_def::Vector3) { + self.base_avatar_mut().pos = pos; + } + + fn set_rotation(&mut self, rot: data::math_def::Vector3) { + self.base_avatar_mut().rot = rot; + } + + fn to_client(&self, scene_entity_info: &mut SceneEntityInfo) { + scene_entity_info.entity_id = self.entity_id(); + scene_entity_info.entity_type = self.get_entity_type().into(); + scene_entity_info.life_state = self.get_life_state() as u32; + + scene_entity_info.motion_info = Some(MotionInfo { + pos: Some(self.position().to_client()), + rot: Some(self.rotation().to_client()), + speed: Some(proto::Vector::default()), + ..Default::default() + }); + + // TODO: macro for this stuff + scene_entity_info.prop_list = vec![PropPair { + r#type: PROP_LEVEL, + prop_value: Some(PropValue { + r#type: PROP_LEVEL, + val: self.base_avatar().level as i64, + value: Some(proto::prop_value::Value::Ival( + self.base_avatar().level as i64, + )), + }), + }]; + + scene_entity_info.fight_prop_list = self + .base_avatar() + .fight_prop_comp + .get_fight_prop_value_map() + .iter() + .map(|(ty, val)| FightPropPair { + prop_type: *ty, + prop_value: *val, + }) + .collect(); + + let mut scene_avatar_info = SceneAvatarInfo::default(); + self.to_client_avatar_entity(&mut scene_avatar_info); + scene_entity_info.entity = + Some(proto::scene_entity_info::Entity::Avatar(scene_avatar_info)); + + scene_entity_info.animator_para_list = vec![AnimatorParameterValueInfoPair { + animator_para: Some(Iolgpkjjcfi::default()), + name_id: 0, + }]; + + scene_entity_info.entity_client_data = Some(EntityClientData::default()); + scene_entity_info.entity_authority_info = Some(EntityAuthorityInfo { + ability_info: Some(AbilitySyncStateInfo::default()), + born_pos: Some(proto::Vector::default()), + client_extra_info: Some(Lcjbmelilap { + ffioldkchck: Some(proto::Vector::default()), + }), + ..Default::default() + }); + } +} diff --git a/gameserver/src/player/avatar/avatar_team.rs b/gameserver/src/player/avatar/avatar_team.rs new file mode 100644 index 0000000..c8c4b77 --- /dev/null +++ b/gameserver/src/player/avatar/avatar_team.rs @@ -0,0 +1,19 @@ +pub struct AvatarTeam { + pub avatar_vec: Vec, + pub team_name: String, + pub last_cur_avatar_guid: u64, +} + +// TODO: this will be used once we implement team setup +#[allow(dead_code)] +impl AvatarTeam { + pub fn add_avatar(&mut self, avatar_id: u64) { + self.avatar_vec.push(avatar_id); + } + + pub fn del_avatar(&mut self, avatar_id: u64) { + if let Some(idx) = self.avatar_vec.iter().position(|a| *a == avatar_id) { + self.avatar_vec.remove(idx); + } + } +} diff --git a/gameserver/src/player/avatar/avatar_team_entity.rs b/gameserver/src/player/avatar/avatar_team_entity.rs new file mode 100644 index 0000000..4fd46c5 --- /dev/null +++ b/gameserver/src/player/avatar/avatar_team_entity.rs @@ -0,0 +1,64 @@ +use std::rc::{Rc, Weak}; + +use data::math_def::Vector3; +use proto::{AbilityControlBlock, AbilitySyncStateInfo, TeamEnterSceneInfo}; + +use crate::{entity::Entity, player::Player}; + +#[derive(Default)] +pub struct AvatarTeamEntity { + pos: Vector3, + rot: Vector3, + player: Weak, + id: u32, +} + +impl AvatarTeamEntity { + pub fn set_player(&mut self, player_ptr: &Rc) { + self.player = Rc::downgrade(player_ptr); + } + + pub fn to_client(&self, team_enter_info: &mut TeamEnterSceneInfo) { + team_enter_info.ability_control_block = Some(AbilityControlBlock::default()); + team_enter_info.team_ability_info = Some(AbilitySyncStateInfo::default()); + team_enter_info.team_entity_id = self.id; + } +} + +impl Entity for AvatarTeamEntity { + fn get_entity_type(&self) -> proto::ProtEntityType { + proto::ProtEntityType::ProtEntityTeam + } + + fn get_group_id(&self) -> u32 { + 0 + } + + fn entity_id(&self) -> u32 { + self.id + } + + fn set_entity_id(&mut self, id: u32) { + self.id = id; + } + + fn position(&self) -> &data::math_def::Vector3 { + &self.pos + } + + fn rotation(&self) -> &data::math_def::Vector3 { + &self.rot + } + + fn set_position(&mut self, pos: data::math_def::Vector3) { + self.pos = pos; + } + + fn set_rotation(&mut self, rot: data::math_def::Vector3) { + self.rot = rot; + } + + fn get_owner_player(&self) -> Option> { + self.player.upgrade() + } +} diff --git a/gameserver/src/player/avatar/formal_avatar.rs b/gameserver/src/player/avatar/formal_avatar.rs new file mode 100644 index 0000000..0948538 --- /dev/null +++ b/gameserver/src/player/avatar/formal_avatar.rs @@ -0,0 +1,54 @@ +use std::collections::HashMap; + +use data::prop_type::{PROP_EXP, PROP_LEVEL}; +use proto::{avatar_bin::Detail, AvatarBin, FormalAvatarBin}; + +use crate::creature::property::append_int_prop_value; + +use super::avatar::BaseAvatar; + +#[derive(Default)] +pub struct FormalAvatar { + pub base: BaseAvatar, + pub exp: u32, + // TODO: fetter, expedition + pub avatar_repeat_count: u32, + pub is_focus: bool, + pub taken_promote_reward_level_list: Vec, + pub costume_id: u32, +} + +impl FormalAvatar { + pub fn to_client(&self) -> proto::AvatarInfo { + let mut map = HashMap::new(); + append_int_prop_value(&mut map, PROP_LEVEL, self.base.level.into()); + append_int_prop_value(&mut map, PROP_EXP, self.exp.into()); + + let mut info = self.base.to_client(map); + info.costume_id = self.costume_id; + + info + } + + pub fn from_bin(bin: AvatarBin, detail_bin: FormalAvatarBin) -> Self { + Self { + base: BaseAvatar::from_bin(bin), + exp: detail_bin.exp, + avatar_repeat_count: detail_bin.avatar_repeat_count, + is_focus: detail_bin.is_focus, + taken_promote_reward_level_list: detail_bin.taken_promote_reward_level_list, + costume_id: detail_bin.costume_id, + } + } + + pub fn to_bin(&self) -> AvatarBin { + self.base.to_bin(Detail::FormalAvatar(FormalAvatarBin { + exp: self.exp, + avatar_repeat_count: self.avatar_repeat_count, + is_focus: self.is_focus, + taken_promote_reward_level_list: self.taken_promote_reward_level_list.clone(), + costume_id: self.costume_id, + ..Default::default() + })) + } +} diff --git a/gameserver/src/player/avatar/mirror_avatar.rs b/gameserver/src/player/avatar/mirror_avatar.rs new file mode 100644 index 0000000..b4a37c2 --- /dev/null +++ b/gameserver/src/player/avatar/mirror_avatar.rs @@ -0,0 +1,36 @@ +use std::collections::HashMap; + +use data::prop_type::PROP_LEVEL; +use proto::{avatar_bin::Detail, AvatarBin, MirrorAvatarBin}; + +use crate::creature::property::append_int_prop_value; + +use super::BaseAvatar; + +#[derive(Default)] +pub struct MirrorAvatar { + pub base: BaseAvatar, + pub avatar_snapshot_type: u32, +} + +impl MirrorAvatar { + pub fn to_client(&self) -> proto::AvatarInfo { + let mut map = HashMap::new(); + append_int_prop_value(&mut map, PROP_LEVEL, self.base.level.into()); + + self.base.to_client(map) + } + + pub fn from_bin(bin: AvatarBin, detail_bin: MirrorAvatarBin) -> Self { + Self { + base: BaseAvatar::from_bin(bin), + avatar_snapshot_type: detail_bin.avatar_snapshot_type, + } + } + + pub fn to_bin(&self) -> AvatarBin { + self.base.to_bin(Detail::MirrorAvatar(MirrorAvatarBin { + avatar_snapshot_type: self.avatar_snapshot_type, + })) + } +} diff --git a/gameserver/src/player/avatar/mod.rs b/gameserver/src/player/avatar/mod.rs new file mode 100644 index 0000000..4c11bf9 --- /dev/null +++ b/gameserver/src/player/avatar/mod.rs @@ -0,0 +1,15 @@ +mod avatar; +mod avatar_team; +mod avatar_team_entity; +mod formal_avatar; +mod mirror_avatar; +mod player_avatar_comp; +mod trial_avatar; + +pub use avatar::{Avatar, BaseAvatar}; +pub use avatar_team::AvatarTeam; +pub use avatar_team_entity::AvatarTeamEntity; +pub use formal_avatar::FormalAvatar; +pub use mirror_avatar::MirrorAvatar; +pub use player_avatar_comp::PlayerAvatarComp; +pub use trial_avatar::TrialAvatar; diff --git a/gameserver/src/player/avatar/player_avatar_comp.rs b/gameserver/src/player/avatar/player_avatar_comp.rs new file mode 100644 index 0000000..0013b93 --- /dev/null +++ b/gameserver/src/player/avatar/player_avatar_comp.rs @@ -0,0 +1,764 @@ +use std::{ + cell::RefCell, + collections::{BTreeMap, HashMap, HashSet}, + rc::{Rc, Weak}, +}; + +use common::tools::time_utils; +use data::iter_avatar_data; +use proto::{ + AvatarDataNotify, AvatarTeamBin, AvatarTeamUpdateNotify, PlayerAvatarCompBin, Retcode, + VisionType, +}; +use tokio::sync::OnceCell; + +use crate::{ + creature::{Creature, LifeState}, + entity::{Entity, VisionContext}, + player::Player, + scene::Scene, +}; + +use super::{Avatar, AvatarTeam, AvatarTeamEntity, FormalAvatar, MirrorAvatar, TrialAvatar}; + +#[derive(Default)] +pub struct PlayerAvatarComp { + player: OnceCell>, + pub avatar_map: BTreeMap>>, + pub trial_avatar_guid_set: HashSet, + pub temp_avatar_guid_set: HashSet, + pub avatar_team_map: BTreeMap>, + pub cur_avatar_team_id: u32, + pub last_change_avatar_time_ms: u64, + pub is_spring_auto_use: bool, + pub spring_auto_use_percent: u32, + pub last_background_avatar_recover_time: u32, + pub is_flyable: bool, + pub is_transferable: bool, + pub last_avatar_guid: u64, + pub choose_avatar_guid: u64, + pub die_type: u32, + pub owned_flycloak_set: HashSet, + pub owned_costume_set: HashSet, + pub team_entity: Weak>, + cur_avatar_ptr: RefCell>>, +} + +impl PlayerAvatarComp { + const INIT_TEAM_ID: u32 = 1; + const TRAVELER_MALE_ID: u32 = 10000005; + const TRAVELER_FEMALE_ID: u32 = 10000007; + + pub fn set_player(&self, player: Rc) { + self.player.set(Rc::downgrade(&player)).unwrap(); + } + + pub fn player(&self) -> Option> { + self.player.get().map(|p| p.upgrade())? + } + + pub fn init(&mut self) { + if self.get_avatar_count() != 0 { + if self.choose_avatar_guid != 0 { + let player = self.player().unwrap(); + for (_, avatar) in self.avatar_map.iter_mut() { + let mut avatar = avatar.borrow_mut(); + avatar.base_avatar_mut().set_player(player.clone()); + avatar.init(); + } + + if self.avatar_team_map.is_empty() { + self.avatar_team_map.insert( + Self::INIT_TEAM_ID, + RefCell::new(AvatarTeam { + avatar_vec: vec![self.choose_avatar_guid], + last_cur_avatar_guid: 0, + team_name: String::new(), + }), + ); + + tracing::warn!( + "avatar_team_map empty player_uid: {}", + self.player().unwrap().uid + ); + } + + if !self.avatar_team_map.contains_key(&self.cur_avatar_team_id) { + tracing::warn!( + "cur_avatar_team_id:{} not in team_map player_uid: {}", + self.cur_avatar_team_id, + self.player().unwrap().uid + ); + + self.cur_avatar_team_id = *self.avatar_team_map.iter().next().unwrap().0; + } + + let mut cur_team = self + .avatar_team_map + .get(&self.cur_avatar_team_id) + .unwrap() + .borrow_mut(); + if cur_team.avatar_vec.is_empty() { + cur_team.avatar_vec.push(self.choose_avatar_guid); + tracing::warn!( + "cur_avatar_team avatar empty player_uid: {} cur_avatar_team_id: {}", + self.player().unwrap().uid, + self.cur_avatar_team_id + ); + } + + if !cur_team.avatar_vec.contains(&cur_team.last_cur_avatar_guid) { + cur_team.last_cur_avatar_guid = cur_team.avatar_vec[0]; + } + } else { + tracing::error!( + "choose_avatar_guid = 0 player_uid: {}", + self.player().unwrap().uid + ); + } + } + } + + pub fn check_avatar_guid_vec_all_formal(&self, guid_vec: &[u64]) -> Result<(), Retcode> { + for guid in guid_vec { + if self.find_formal_avatar(*guid).is_none() { + tracing::warn!("find_formal_avatar failed, avatar_guid: {guid}"); + return Err(Retcode::RetFail); + } + } + + Ok(()) + } + + pub fn get_cur_avatar_team_with_temp_avatar(&self) -> Vec { + let cur_team = self + .avatar_team_map + .get(&self.cur_avatar_team_id) + .unwrap() + .borrow(); + let mut result = cur_team.avatar_vec.clone(); + result.extend(self.trial_avatar_guid_set.iter().collect::>()); + + result + } + + pub fn get_cur_avatar_team_vec(&self) -> Vec>> { + let cur_avatar_team = self.avatar_team_map.get(&self.cur_avatar_team_id).unwrap(); + cur_avatar_team + .borrow() + .avatar_vec + .iter() + .map(|guid| self.avatar_map.get(guid).map(|a| a.clone())) + .flatten() + .collect() + } + + pub fn get_my_avatar_team_in_scene_team(&self) -> Vec { + let player = self.player().unwrap(); + let cur_world = player + .player_scene_comp + .borrow() + .get_cur_scene() + .unwrap() + .borrow() + .base() + .cur_world_wtr + .upgrade() + .unwrap(); + + let cur_world = cur_world.borrow(); + cur_world + .scene_team + .get_avatar_guid_vec(player.uid) + .unwrap_or_default() + } + + pub fn is_my_avatar_in_scene_team(&self, guid: u64) -> bool { + let guid_vec = self.get_my_avatar_team_in_scene_team(); + if !guid_vec.contains(&guid) { + tracing::info!("guid:{guid} not in scene team, guid_vec:{guid_vec:?}"); + false + } else { + true + } + } + + pub fn set_up_avatar_team( + &self, + team_id: u32, + avatar_guid_vec: &[u64], + target_avatar_guid: u64, + ) -> Result<(), Retcode> { + let Some(_cur_avatar_ptr) = self.cur_avatar_ptr.borrow().upgrade() else { + tracing::warn!("cur_avatar_ptr is None"); + return Err(Retcode::RetFail); + }; + + if let Err(ret) = self.check_avatar_team_can_set_up(team_id, avatar_guid_vec) { + tracing::info!("check_avatar_team_can_set_up failed"); + return Err(ret); + } + + if self.cur_avatar_team_id == team_id + && !self.temp_avatar_guid_set.contains(&target_avatar_guid) + && !avatar_guid_vec.contains(&target_avatar_guid) + { + tracing::warn!("can't find avatar in team, guid:{target_avatar_guid}"); + return Err(Retcode::RetAvatarNotExistInTeam); + } + + if let Err(ret) = self.check_change_cur_avatar(target_avatar_guid) { + tracing::info!("check_change_cur_avatar failed, guid:{target_avatar_guid}"); + return Err(ret); + } + + self.avatar_team_map + .get(&team_id) + .unwrap() + .borrow_mut() + .avatar_vec = avatar_guid_vec.to_vec(); + self.notify_avatar_team(team_id); + + if self.cur_avatar_team_id == team_id { + self.sync_cur_avatar_team_to_scene_team(target_avatar_guid)?; + } + + Ok(()) + } + + fn notify_avatar_team(&self, team_id: u32) { + let avatar_team = self.avatar_team_map.get(&team_id).unwrap().borrow(); + + self.player().unwrap().send_proto(AvatarTeamUpdateNotify { + temp_avatar_guid_list: self.temp_avatar_guid_set.iter().cloned().collect(), + avatar_team_map: HashMap::from([( + team_id, + proto::AvatarTeam { + team_name: avatar_team.team_name.clone(), + avatar_guid_list: avatar_team.avatar_vec.clone(), + }, + )]), + }); + } + + fn sync_cur_avatar_team_to_scene_team(&self, target_avatar_guid: u64) -> Result<(), Retcode> { + let cur_team = self.get_cur_avatar_team_with_temp_avatar(); + if cur_team.is_empty() { + tracing::warn!( + "cur_team empty, target_avatar_guid:{target_avatar_guid}, uid:{}", + self.player().unwrap().uid + ); + return Err(Retcode::RetFail); + } + + let player = self.player().unwrap(); + let scene_comp = player.player_scene_comp.borrow(); + let Some(cur_scene) = scene_comp.get_cur_scene() else { + tracing::info!( + "get_cur_scene target_avatar_guid:{target_avatar_guid}, uid:{}", + self.player().unwrap().uid + ); + return Err(Retcode::RetFail); + }; + drop(scene_comp); + + if let Err(ret) = + self.set_scene_team_and_add_to_scene(cur_team, target_avatar_guid, cur_scene) + { + tracing::warn!("set_scene_team_and_add_to_scene fails"); + return Err(ret); + } + + Ok(()) + } + + fn set_scene_team_and_add_to_scene( + &self, + avatar_vec: Vec, + appear_avatar_guid: u64, + cur_scene: Rc>, + ) -> Result<(), Retcode> { + let cur_world = cur_scene.borrow().base().cur_world_wtr.upgrade().unwrap(); + + let old_team = cur_world + .borrow() + .scene_team + .get_avatar_guid_vec(self.player().unwrap().uid) + .unwrap(); + + if let Err(ret) = cur_world + .borrow_mut() + .scene_team + .set_player_avatar_team_and_add_to_scene( + self.player().unwrap().uid, + avatar_vec.clone(), + appear_avatar_guid, + &mut cur_scene.borrow_mut(), + false, + ) + { + tracing::warn!( + "set_player_avatar_team_and_add_to_scene fails, uid:{}", + self.player().unwrap().uid + ); + return Err(ret); + } + + if appear_avatar_guid != self.get_cur_avatar().unwrap().borrow().base_avatar().guid { + if let Err(ret) = self.change_cur_avatar(appear_avatar_guid, false) { + tracing::warn!( + "change_cur_avatar fails, ret:{ret:?}, uid: {}", + self.player().unwrap().uid + ); + } + } + + cur_world.borrow().scene_team.notify_scene_team_update(); + let cur_team = cur_world + .borrow() + .scene_team + .get_avatar_guid_vec(self.player().unwrap().uid) + .unwrap(); + + tracing::info!("set_scene_team_and_add_to_scene set_avatar_vec:{avatar_vec:?}, old_team:{old_team:?}, cur_team:{cur_team:?}, uid:{}", self.player().unwrap().uid); + + let scene = { + let player = self.player().unwrap(); + let scene_comp = player.player_scene_comp.borrow(); + scene_comp.get_cur_scene().unwrap() + }; + + for guid in old_team { + if !cur_team.contains(&guid) { + if let Some(avatar_ptr) = self.find_avatar(guid) { + scene.borrow_mut().del_avatar_and_weapon_entity(avatar_ptr); + } + } + } + + Ok(()) + } + + pub fn change_cur_avatar(&self, guid: u64, is_notify: bool) -> Result<(), Retcode> { + let Some(cur_avatar_ptr) = self.cur_avatar_ptr.borrow().upgrade() else { + tracing::error!( + "cur_avatar_ptr is None, guid: {guid}, player: {}", + self.player().unwrap().uid + ); + return Err(Retcode::RetFail); + }; + + let Some(dest_avatar_ptr) = self.find_avatar(guid) else { + tracing::error!("find_avatar fails, guid:{guid}"); + return Err(Retcode::RetFail); + }; + + { + let mut dest_avatar = dest_avatar_ptr.borrow_mut(); + let cur_avatar = cur_avatar_ptr.borrow(); + + dest_avatar.set_position(cur_avatar.position().clone()); + dest_avatar.set_rotation(cur_avatar.rotation().clone()); + dest_avatar.set_last_valid_position(cur_avatar.position().clone()); + dest_avatar.set_last_valid_rotation(cur_avatar.rotation().clone()); + } + + let scene = { + let player = self.player().unwrap(); + let scene_comp = player.player_scene_comp.borrow(); + scene_comp.get_cur_scene().unwrap() + }; + + let vision_type = match is_notify { + true => VisionType::VisionReplace, + false => VisionType::VisionReplaceNoNotify, + }; + + if let Err(ret) = scene.borrow_mut().entity_disappear( + &(cur_avatar_ptr.clone() as Rc>), + VisionContext::new(vision_type), + ) { + tracing::warn!("entity_disappear fails"); + return Err(ret); + } + + if dest_avatar_ptr.borrow().entity_id() == 0 { + tracing::warn!("change_cur_avatar fails. avatar entityid is 0."); + return Err(Retcode::RetFail); + } + + if let Err(ret) = scene.borrow_mut().entity_appear( + &(dest_avatar_ptr.clone() as Rc>), + VisionContext::new(vision_type), + ) { + tracing::warn!("entity_appear fails"); + return Err(ret); + } + + *self.cur_avatar_ptr.borrow_mut() = Rc::downgrade(&dest_avatar_ptr); + self.avatar_team_map + .get(&self.cur_avatar_team_id) + .unwrap() + .borrow_mut() + .last_cur_avatar_guid = guid; + + Ok(()) + } + + pub fn check_avatar_team_can_set_up( + &self, + team_id: u32, + avatar_guid_vec: &[u64], + ) -> Result<(), Retcode> { + if !self.avatar_team_map.contains_key(&team_id) { + return Err(Retcode::RetCanNotFindTeam); + } + + if avatar_guid_vec.len() > 4 { + return Err(Retcode::RetFail); + } + + let mut avatar_guid_set = HashSet::with_capacity(avatar_guid_vec.len()); + for guid in avatar_guid_vec { + if !avatar_guid_set.insert(*guid) { + tracing::info!("duplicate avatar guid:{guid}"); + return Err(Retcode::RetDuplicateAvatar); + } + } + + for guid in avatar_guid_vec { + if self.find_avatar(*guid).is_none() { + return Err(Retcode::RetCanNotFindAvatar); + } + } + + Ok(()) + } + + pub fn check_change_cur_avatar(&self, _guid: u64) -> Result<(), Retcode> { + Ok(()) + } + + pub fn on_login(&mut self, _is_new_player: bool) { + for index in 1..=4 { + if !self.avatar_team_map.contains_key(&index) { + self.avatar_team_map.insert( + index, + RefCell::new(AvatarTeam { + avatar_vec: Vec::new(), + last_cur_avatar_guid: 0, + team_name: String::new(), + }), + ); + } + } + + self.owned_flycloak_set.insert(140001); + self.try_add_default_unlock_costume(); + } + + pub fn notify_all_data(&self) { + let notify = AvatarDataNotify { + avatar_list: self + .avatar_map + .iter() + .map(|(_, av)| av.borrow().to_client()) + .collect(), + cur_avatar_team_id: self.cur_avatar_team_id, + avatar_team_map: self + .avatar_team_map + .iter() + .map(|(id, team)| { + ( + *id, + proto::AvatarTeam { + team_name: team.borrow().team_name.clone(), + avatar_guid_list: team.borrow().avatar_vec.clone(), + }, + ) + }) + .collect(), + choose_avatar_guid: self.choose_avatar_guid, + owned_flycloak_list: self.owned_flycloak_set.clone().into_iter().collect(), + owned_costume_list: self.owned_costume_set.clone().into_iter().collect(), + ..Default::default() + }; + + self.player().unwrap().send_proto(notify); + } + + fn try_add_default_unlock_costume(&mut self) { + // TODO! this is for free skins. + } + + pub fn on_first_login(&self) { + // empty. + } + + pub fn set_born_avatar(&mut self, avatar_id: u32) -> Result<(), Retcode> { + if self.get_avatar_count() != 0 { + tracing::error!("can not redo it"); + return Err(Retcode::RetFail); + } + + if avatar_id != Self::TRAVELER_MALE_ID && avatar_id != Self::TRAVELER_FEMALE_ID { + tracing::error!("invalid born avatar, avatar_id:{avatar_id}"); + return Err(Retcode::RetFail); + } + + self.cur_avatar_team_id = 1; + let Some(guid) = self.add_formal_avatar(avatar_id, false, 1, 0) else { + tracing::error!("add_formal_avatar fails, avatar_id:{avatar_id}"); + return Err(Retcode::RetFail); + }; + + let mut team = self.avatar_team_map.get_mut(&1).unwrap().borrow_mut(); + team.avatar_vec.push(guid); + team.last_cur_avatar_guid = guid; + self.choose_avatar_guid = guid; + self.last_background_avatar_recover_time = time_utils::get_now() as u32; + self.spring_auto_use_percent = 50; + self.cur_avatar_team_id = 1; + + Ok(()) + } + + pub fn add_formal_avatar( + &mut self, + avatar_id: u32, + is_notify: bool, + add_avatar_reason: u32, + action_reason: u32, + ) -> Option { + let player = self.player().unwrap(); + if self.has_avatar(avatar_id, 1) { + tracing::warn!("formal avatar avatar_id:{avatar_id} already exist"); + return None; + } + + let Some(avatar_config) = iter_avatar_data().find(|a| a.id == avatar_id) else { + tracing::error!("find_avatar_config fails, avatar_id:{avatar_id}"); + return None; + }; + + let Some(mut avatar) = self.create_avatar(1, avatar_id, 0) else { + tracing::error!("create_avatar fails, avatar_id:{avatar_id}"); + return None; + }; + + let guid = avatar.base_avatar().guid; + + avatar.base_avatar_mut().set_player(player.clone()); + avatar.base_avatar_mut().skill_depot_id = avatar_config.skill_depot_id; + avatar.set_level(1); + avatar.base_avatar_mut().life_state = LifeState::LifeAlive; + let add_equip_result = player + .player_item_comp + .borrow_mut() + .force_add_equip_by_add_avatar(avatar_config.initial_weapon); + + avatar + .base_avatar_mut() + .equip_comp + .set_init_weapon(add_equip_result.guid); + + avatar.set_cur_hp_full(); + if self + .add_avatar(avatar, is_notify, add_avatar_reason, action_reason) + .is_err() + { + tracing::error!("add_avatar failed, avatar_id:{avatar_id}"); + return None; + } + + Some(guid) + } + + pub fn add_avatar( + &mut self, + mut avatar: Avatar, + is_notify: bool, + _add_avatar_reason: u32, + _action_reason: u32, + ) -> Result<(), Retcode> { + avatar.init(); + self.emplace_avatar(avatar)?; + + if is_notify { + // TODO! + } + + Ok(()) + } + + fn create_avatar(&self, avatar_type: u32, avatar_id: u32, avatar_guid: u64) -> Option { + let mut avatar = match avatar_type { + 1 => Avatar::Formal(FormalAvatar::default()), + 2 => Avatar::Trial(TrialAvatar::default()), + 3 => Avatar::Mirror(MirrorAvatar::default()), + _ => { + tracing::error!("unknown avatar_type:{avatar_type}"); + return None; + } + }; + + avatar.base_avatar_mut().avatar_id = avatar_id; + + let avatar_guid = match avatar_guid { + 0 => { + let player = self.player().unwrap(); + let mut basic_comp = player.player_basic_comp.borrow_mut(); + basic_comp.gen_guid() + } + guid => guid, + }; + + if avatar_guid == 0 { + tracing::error!( + "gen_guid failed, avatar_type:{avatar_type} avatar_id:{avatar_id} uid:{}", + self.player().unwrap().uid + ); + return None; + } + + avatar.base_avatar_mut().guid = avatar_guid; + avatar.base_avatar_mut().born_time = time_utils::get_now() as u32; + + Some(avatar) + } + + pub fn has_avatar(&self, avatar_id: u32, avatar_type: u32) -> bool { + self.avatar_map.iter().any(|(_, a)| { + let a = a.borrow(); + a.base_avatar().avatar_id == avatar_id && a.get_avatar_type() == avatar_type + }) + } + + pub fn find_avatar(&self, guid: u64) -> Option>> { + self.avatar_map.get(&guid).cloned() + } + + pub fn find_formal_avatar(&self, guid: u64) -> Option>> { + let avatar = self.avatar_map.get(&guid).cloned(); + if let Some(avatar) = avatar.as_ref() { + if avatar.borrow().get_avatar_type() != 1 { + return None; + } + } + + avatar + } + + pub fn get_cur_avatar(&self) -> Option>> { + self.cur_avatar_ptr.borrow().upgrade() + } + + pub fn set_cur_avatar(&mut self, cur_avatar_ptr: &Rc>) { + *self.cur_avatar_ptr.borrow_mut() = Rc::downgrade(cur_avatar_ptr); + } + + pub fn from_bin(bin: PlayerAvatarCompBin) -> Self { + let mut comp = Self { + player: OnceCell::new(), + avatar_map: BTreeMap::new(), + trial_avatar_guid_set: HashSet::new(), + temp_avatar_guid_set: bin.temp_avatar_guid_list.into_iter().collect(), + avatar_team_map: bin + .team_map + .into_iter() + .map(|(i, t)| { + ( + i, + RefCell::new(AvatarTeam { + team_name: t.team_name, + last_cur_avatar_guid: t.last_cur_avatar_guid, + avatar_vec: t.avatar_guid_list, + }), + ) + }) + .collect(), + cur_avatar_team_id: bin.cur_team_id, + last_change_avatar_time_ms: bin.last_change_avatar_time, + is_spring_auto_use: bin.is_spring_auto_use, + spring_auto_use_percent: bin.spring_auto_use_percent, + last_background_avatar_recover_time: bin.last_backgroud_avatar_recover_time, + is_flyable: bin.is_flyable, + is_transferable: bin.is_transferable, + last_avatar_guid: bin.last_avatar_guid, + choose_avatar_guid: bin.choose_avatar_guid, + die_type: bin.die_type, + owned_flycloak_set: bin.owned_flycloak_list.into_iter().collect(), + owned_costume_set: bin.owned_costume_id_list.into_iter().collect(), + team_entity: Weak::new(), + cur_avatar_ptr: RefCell::new(Weak::new()), + }; + + bin.avatar_list.into_iter().for_each(|a| { + let _ = comp.emplace_avatar(Avatar::from_bin(a)); + }); + + comp + } + + pub fn to_bin(&self) -> PlayerAvatarCompBin { + PlayerAvatarCompBin { + avatar_list: self + .avatar_map + .values() + .map(|a| a.borrow().to_bin()) + .collect(), + team_map: self + .avatar_team_map + .iter() + .map(|(i, t)| { + ( + *i, + AvatarTeamBin { + team_name: t.borrow().team_name.clone(), + last_cur_avatar_guid: t.borrow().last_cur_avatar_guid, + avatar_guid_list: t.borrow().avatar_vec.clone(), + }, + ) + }) + .collect(), + cur_team_id: self.cur_avatar_team_id, + last_change_avatar_time: self.last_change_avatar_time_ms, + is_spring_auto_use: self.is_spring_auto_use, + spring_auto_use_percent: self.spring_auto_use_percent, + last_backgroud_avatar_recover_time: self.last_background_avatar_recover_time, + is_flyable: self.is_flyable, + is_transferable: self.is_transferable, + last_avatar_guid: self.last_avatar_guid, + choose_avatar_guid: self.choose_avatar_guid, + die_type: self.die_type, + owned_flycloak_list: self.owned_flycloak_set.iter().cloned().collect(), + owned_costume_id_list: self.owned_costume_set.iter().cloned().collect(), + temp_avatar_guid_list: self.temp_avatar_guid_set.iter().cloned().collect(), + ..Default::default() + } + } + + pub fn emplace_avatar(&mut self, avatar: Avatar) -> Result<(), Retcode> { + let guid = avatar.base_avatar().guid; + if guid == 0 { + tracing::error!("avatar guid is 0, uid:{}", self.player().unwrap().uid); + return Err(Retcode::RetFail); + } + + if !self.avatar_map.contains_key(&guid) { + if avatar.get_avatar_type() == 2 { + self.trial_avatar_guid_set.insert(guid); + } + + self.avatar_map.insert(guid, Rc::new(RefCell::new(avatar))); + Ok(()) + } else { + tracing::error!("emplace Avatar failed, uid:{}", self.player().unwrap().uid); + Err(Retcode::RetFail) + } + } + + pub fn get_avatar_count(&self) -> usize { + self.avatar_map.len() + } +} diff --git a/gameserver/src/player/avatar/trial_avatar.rs b/gameserver/src/player/avatar/trial_avatar.rs new file mode 100644 index 0000000..13b261f --- /dev/null +++ b/gameserver/src/player/avatar/trial_avatar.rs @@ -0,0 +1,40 @@ +use std::collections::HashMap; + +use data::prop_type::PROP_LEVEL; +use proto::{avatar_bin::Detail, AvatarBin, TrialAvatarBin}; + +use crate::creature::property::append_int_prop_value; + +use super::BaseAvatar; + +#[derive(Default)] +pub struct TrialAvatar { + pub base: BaseAvatar, + pub trial_avatar_id: u32, + pub is_inherit: bool, +} + +impl TrialAvatar { + pub fn to_client(&self) -> proto::AvatarInfo { + let mut map = HashMap::new(); + append_int_prop_value(&mut map, PROP_LEVEL, self.base.level.into()); + + self.base.to_client(map) + } + + pub fn from_bin(bin: AvatarBin, detail_bin: TrialAvatarBin) -> Self { + Self { + base: BaseAvatar::from_bin(bin), + trial_avatar_id: detail_bin.trial_avatar_id, + is_inherit: detail_bin.is_inherit, + } + } + + pub fn to_bin(&self) -> AvatarBin { + self.base.to_bin(Detail::TrialAvatar(TrialAvatarBin { + trial_avatar_id: self.trial_avatar_id, + is_inherit: self.is_inherit, + ..Default::default() + })) + } +} diff --git a/gameserver/src/player/basic/mod.rs b/gameserver/src/player/basic/mod.rs new file mode 100644 index 0000000..d5198f4 --- /dev/null +++ b/gameserver/src/player/basic/mod.rs @@ -0,0 +1,2 @@ +mod player_basic_comp; +pub use player_basic_comp::PlayerBasicComp; diff --git a/gameserver/src/player/basic/player_basic_comp.rs b/gameserver/src/player/basic/player_basic_comp.rs new file mode 100644 index 0000000..5aa3128 --- /dev/null +++ b/gameserver/src/player/basic/player_basic_comp.rs @@ -0,0 +1,251 @@ +use std::{ + collections::BTreeMap, + rc::{Rc, Weak}, +}; + +use common::tools::time_utils; +use proto::{ + OpenStateUpdateNotify, PlayerBasicCompBin, PlayerGameTimeNotify, Retcode, ServerTimeNotify, +}; +use tokio::sync::OnceCell; + +use crate::player::Player; + +#[derive(Default)] +pub struct PlayerBasicComp { + player: OnceCell>, + is_guid_init: bool, + last_world_level_limit: u32, + pub level: u32, + pub exp: u32, + pub nickname: String, + pub total_game_time: u32, + pub trans_no_count: u64, + pub is_weather_locked: bool, + pub is_game_time_locked: bool, + pub persist_stamina_limit: f32, + pub cur_persist_stamina: f32, + pub cur_temporary_stamina: f32, + pub open_state_map: BTreeMap, + pub player_time_ms: u64, + pub last_login_time: u32, + pub register_time: u32, + pub total_login_days: u32, + pub update_login_days_time: u32, + pub reward_taken_level_list: Vec, + pub language_type: u32, + pub client_app_version: String, + pub client_device_info: String, + pub client_system_version: String, + pub is_guest: bool, + pub online_time: u32, + pub is_proficient_player: bool, + pub set_language_tag: u32, + pub head_image_avatar_id: u32, + pub guid_seq_id: u32, + pub is_rebate_mail_sent: bool, + pub is_rebate_mail_received: bool, + pub register_cps: String, + pub cur_json_climate_type: u32, + pub cur_climate_meter: f32, + pub last_logout_time: u32, + pub data_version: u32, + pub last_daily_refresh_time: u32, + pub is_auto_unlock_specific_equip: bool, + pub profile_picture_costume_id: u32, + pub online_id: String, + pub psn_id: String, + pub last_login_platform: u32, + pub pivot_client_time: f64, + pub pivot_unix_time: f64, + pub client_total_tick_time: f64, + pub player_stat_id: u64, + pub game_time: u32, + pub last_game_time_update_time: u64, + pub cur_login_time: u64, + pub is_online: bool, + pub is_game_time_locked_by_client: bool, +} + +impl PlayerBasicComp { + pub fn set_player(&self, player: Rc) { + self.player.set(Rc::downgrade(&player)).unwrap(); + } + + pub fn player(&self) -> Option> { + self.player.get().map(|p| p.upgrade())? + } + + #[allow(dead_code)] + pub fn increase_player_stat_id(&mut self) { + self.player_stat_id += 1; + } + + pub fn init(&mut self) { + self.is_guid_init = true; + self.last_world_level_limit = self.calc_world_level_limit(); + } + + pub fn on_login(&mut self, _is_new_player: bool) { + self.cur_login_time = time_utils::get_now(); + self.is_online = true; + self.is_game_time_locked_by_client = false; + } + + pub fn on_first_login(&mut self) { + self.level = 1; + let now = time_utils::get_now(); + self.register_time = now as u32; + self.game_time = (7.31 * 60.0) as u32; + self.last_game_time_update_time = now; + self.is_weather_locked = true; + self.is_game_time_locked = true; + self.last_daily_refresh_time = now as u32; + } + + pub fn notify_all_data(&self) { + self.notify_all_open_state_data(); + } + + pub fn notify_all_open_state_data(&self) { + self.player().unwrap().send_proto(OpenStateUpdateNotify { + open_state_map: self.open_state_map.clone().into_iter().collect(), + }); + } + + pub fn notify_server_time(&self) { + self.player().unwrap().send_proto(ServerTimeNotify { + server_time: time_utils::get_now_ms(), + }); + } + + pub fn notify_game_time(&self, player: &Player) { + player.send_proto(PlayerGameTimeNotify { + is_home: false, + uid: self.player().unwrap().uid, + game_time: self.game_time, + }); + } + + pub fn gen_guid(&mut self) -> u64 { + if !self.is_guid_init { + tracing::error!("called before init"); + return 0; + } + + let uid = self.player().unwrap().uid; + self.guid_seq_id += 1; + + ((uid as u64) << 32) | (self.guid_seq_id as u64) + } + + pub fn check_nick_name(&self, _nick_name: &str) -> Result<(), Retcode> { + Ok(()) + } + + fn calc_world_level_limit(&self) -> u32 { + // TODO! + 8 + } + + pub fn from_bin(bin: PlayerBasicCompBin) -> Self { + Self { + player: OnceCell::new(), + level: bin.level, + exp: bin.exp, + nickname: bin.nickname, + total_game_time: bin.total_game_time, + trans_no_count: bin.trans_no_count, + is_weather_locked: bin.is_weather_locked, + is_game_time_locked: bin.is_game_time_locked, + persist_stamina_limit: bin.persist_stamina_limit, + cur_persist_stamina: bin.cur_persist_stamina, + cur_temporary_stamina: bin.cur_temporary_stamina, + open_state_map: bin.open_state_map.into_iter().collect(), + player_time_ms: bin.player_time_ms, + last_login_time: bin.last_login_time, + register_time: bin.register_time, + total_login_days: bin.total_login_days, + update_login_days_time: bin.update_login_days_time, + reward_taken_level_list: bin.reward_taken_level_list, + language_type: bin.language_type, + client_app_version: bin.client_app_version, + client_device_info: bin.client_device_info, + client_system_version: bin.client_system_version, + is_guest: bin.is_guest, + online_time: bin.online_time, + is_proficient_player: bin.is_proficient_player, + set_language_tag: bin.set_language_tag, + head_image_avatar_id: bin.head_image_avatar_id, + guid_seq_id: bin.guid_seq_id, + is_rebate_mail_sent: bin.is_rebate_mail_sent, + is_rebate_mail_received: bin.is_rebate_mail_received, + register_cps: bin.register_cps, + cur_json_climate_type: bin.cur_json_climate_type, + cur_climate_meter: bin.cur_climate_meter, + last_logout_time: bin.last_logout_time, + data_version: bin.data_version, + last_daily_refresh_time: bin.last_daily_refresh_time, + is_auto_unlock_specific_equip: bin.is_auto_unlock_specific_equip, + profile_picture_costume_id: bin.profile_picture_costume_id, + online_id: bin.online_id, + psn_id: bin.psn_id, + last_login_platform: bin.last_login_platform, + pivot_client_time: bin.pivot_client_time, + pivot_unix_time: bin.pivot_unix_time, + client_total_tick_time: bin.client_total_tick_time, + player_stat_id: bin.player_stat_id, + ..Default::default() + } + } + + pub fn to_bin(&self) -> PlayerBasicCompBin { + PlayerBasicCompBin { + level: self.level.clone(), + exp: self.exp.clone(), + nickname: self.nickname.clone(), + total_game_time: self.total_game_time.clone(), + trans_no_count: self.trans_no_count.clone(), + is_weather_locked: self.is_weather_locked.clone(), + is_game_time_locked: self.is_game_time_locked.clone(), + persist_stamina_limit: self.persist_stamina_limit.clone(), + cur_persist_stamina: self.cur_persist_stamina.clone(), + cur_temporary_stamina: self.cur_temporary_stamina.clone(), + open_state_map: self.open_state_map.clone().into_iter().collect(), + player_time_ms: self.player_time_ms.clone(), + last_login_time: self.last_login_time.clone(), + register_time: self.register_time.clone(), + total_login_days: self.total_login_days.clone(), + update_login_days_time: self.update_login_days_time.clone(), + reward_taken_level_list: self.reward_taken_level_list.clone(), + language_type: self.language_type.clone(), + client_app_version: self.client_app_version.clone(), + client_device_info: self.client_device_info.clone(), + client_system_version: self.client_system_version.clone(), + is_guest: self.is_guest.clone(), + online_time: self.online_time.clone(), + is_proficient_player: self.is_proficient_player.clone(), + set_language_tag: self.set_language_tag.clone(), + head_image_avatar_id: self.head_image_avatar_id.clone(), + guid_seq_id: self.guid_seq_id.clone(), + is_rebate_mail_sent: self.is_rebate_mail_sent.clone(), + is_rebate_mail_received: self.is_rebate_mail_received.clone(), + register_cps: self.register_cps.clone(), + cur_json_climate_type: self.cur_json_climate_type.clone(), + cur_climate_meter: self.cur_climate_meter.clone(), + last_logout_time: self.last_logout_time.clone(), + data_version: self.data_version.clone(), + last_daily_refresh_time: self.last_daily_refresh_time.clone(), + is_auto_unlock_specific_equip: self.is_auto_unlock_specific_equip.clone(), + profile_picture_costume_id: self.profile_picture_costume_id.clone(), + online_id: self.online_id.clone(), + psn_id: self.psn_id.clone(), + last_login_platform: self.last_login_platform.clone(), + pivot_client_time: self.pivot_client_time.clone(), + pivot_unix_time: self.pivot_unix_time.clone(), + client_total_tick_time: self.client_total_tick_time.clone(), + player_stat_id: self.player_stat_id.clone(), + nickname_audit_bin: None, + } + } +} diff --git a/gameserver/src/player/item/equip.rs b/gameserver/src/player/item/equip.rs new file mode 100644 index 0000000..622338f --- /dev/null +++ b/gameserver/src/player/item/equip.rs @@ -0,0 +1,37 @@ +use proto::item_bin::Detail; +use proto::{EquipBin, ItemBin}; + +use super::BaseItem; + +#[derive(Default)] +pub struct Equip { + pub base: BaseItem, + pub is_locked: bool, +} + +impl Equip { + pub fn to_client(&self, detail: proto::equip::Detail) -> proto::Item { + self.base + .to_client(proto::item::Detail::Equip(proto::Equip { + is_locked: self.is_locked, + detail: Some(detail), + })) + } + + pub fn from_bin(bin: ItemBin, detail: EquipBin) -> Self { + Self { + base: BaseItem::from_bin(bin), + is_locked: detail.is_locked, + } + } + + pub fn to_bin(&self, item_type: u32) -> ItemBin { + let mut item_bin = self.base.to_bin(item_type); + item_bin.detail = Some(Detail::Equip(EquipBin { + is_locked: self.is_locked, + ..Default::default() + })); + + item_bin + } +} diff --git a/gameserver/src/player/item/item.rs b/gameserver/src/player/item/item.rs new file mode 100644 index 0000000..b133453 --- /dev/null +++ b/gameserver/src/player/item/item.rs @@ -0,0 +1,119 @@ +use proto::{ItemBin, ItemParamBin}; + +use super::Weapon; + +pub enum Item { + Weapon(Weapon), +} + +impl Item { + pub fn item_id(&self) -> u32 { + self.base().item_id + } + + pub fn guid(&self) -> u64 { + self.base().guid + } + + pub fn base(&self) -> &BaseItem { + match self { + Item::Weapon(weapon) => &weapon.base.base, + } + } + + pub fn to_client(&self) -> proto::Item { + match self { + Self::Weapon(weapon) => weapon.to_client(), + } + } + + pub fn from_bin(bin: ItemBin) -> Self { + match bin.item_type { + 4 => { + // ugly but saving system is retarded.. (oneof-based polymorphism) + let proto::item_bin::Detail::Equip(equip) = bin.detail.clone().unwrap() else { + panic!("Failed to unwrap EquipBin for Weapon") + }; + let proto::equip_bin::Detail::Weapon(weapon) = equip.detail.clone().unwrap() else { + panic!("Failed to unwrap WeaponBin") + }; + + Item::Weapon(Weapon::from_bin(bin, equip, weapon)) + } + _ => todo!("item type {}", bin.item_type), + } + } + + pub fn to_bin(&self) -> ItemBin { + match self { + Item::Weapon(weapon) => weapon.to_bin(), + } + } +} + +#[allow(dead_code)] +pub struct AddItemResult { + pub item_id: u32, + pub guid: u64, + pub add_count: u32, + pub cur_count: u32, +} + +pub struct ItemParam { + pub item_id: u32, + pub count: u32, + pub level: u32, + pub promote_level: u32, +} + +impl ItemParam { + pub fn from_bin(bin: ItemParamBin) -> Self { + Self { + item_id: bin.item_id, + count: bin.count, + level: bin.level, + promote_level: bin.promote_level, + } + } + + pub fn to_bin(&self) -> ItemParamBin { + ItemParamBin { + item_id: self.item_id, + count: self.count, + level: self.level, + promote_level: self.promote_level, + } + } +} + +#[derive(Default)] +pub struct BaseItem { + pub item_id: u32, + pub guid: u64, +} + +impl BaseItem { + pub fn to_client(&self, detail: proto::item::Detail) -> proto::Item { + proto::Item { + item_id: self.item_id, + guid: self.guid, + detail: Some(detail), + } + } + + pub fn from_bin(bin: ItemBin) -> Self { + Self { + item_id: bin.item_id, + guid: bin.guid, + } + } + + pub fn to_bin(&self, item_type: u32) -> ItemBin { + ItemBin { + item_id: self.item_id, + guid: self.guid, + item_type, + ..Default::default() + } + } +} diff --git a/gameserver/src/player/item/item_store.rs b/gameserver/src/player/item/item_store.rs new file mode 100644 index 0000000..2bc0212 --- /dev/null +++ b/gameserver/src/player/item/item_store.rs @@ -0,0 +1,63 @@ +use std::collections::BTreeMap; + +use proto::{ItemStoreBin, PlayerStoreNotify, StoreType}; + +use crate::player::Player; + +use super::{AddItemResult, Item}; + +#[derive(Default)] +pub struct ItemStore { + pub items: BTreeMap, + pub is_material_item_num_alarmed: bool, +} + +impl ItemStore { + pub fn notify_all_data(&self, player: &Player) { + // TODO: ItemStore::notifyMaxWeight + self.notify_all_item(player); + } + + pub fn notify_all_item(&self, player: &Player) { + player.send_proto(PlayerStoreNotify { + store_type: StoreType::StorePack.into(), + weight_limit: 30000, + item_list: self + .items + .iter() + .map(|(_, item)| item.to_client()) + .collect(), + }) + } + + pub fn force_add_equip_by_add_avatar(&mut self, item: Item) -> AddItemResult { + let result = AddItemResult { + item_id: item.item_id(), + guid: item.guid(), + add_count: 1, + cur_count: 1, + }; + + self.items.insert(item.guid(), item); + result + } + + pub fn from_bin(bin: ItemStoreBin) -> Self { + Self { + items: bin + .item_list + .into_iter() + .map(|bin| (bin.guid, Item::from_bin(bin))) + .collect(), + is_material_item_num_alarmed: bin.is_material_item_num_alarmed, + } + } + + pub fn to_bin(&self) -> ItemStoreBin { + ItemStoreBin { + item_list: self.items.iter().map(|(_, item)| item.to_bin()).collect(), + is_material_item_num_alarmed: self.is_material_item_num_alarmed, + ..Default::default() + } + } +} diff --git a/gameserver/src/player/item/mod.rs b/gameserver/src/player/item/mod.rs new file mode 100644 index 0000000..a122018 --- /dev/null +++ b/gameserver/src/player/item/mod.rs @@ -0,0 +1,10 @@ +mod equip; +mod item; +mod item_store; +mod player_item_comp; +mod weapon; + +pub use equip::Equip; +pub use item::*; +pub use player_item_comp::PlayerItemComp; +pub use weapon::Weapon; diff --git a/gameserver/src/player/item/player_item_comp.rs b/gameserver/src/player/item/player_item_comp.rs new file mode 100644 index 0000000..2edc567 --- /dev/null +++ b/gameserver/src/player/item/player_item_comp.rs @@ -0,0 +1,108 @@ +use std::{ + collections::{BTreeMap, BTreeSet}, + rc::{Rc, Weak}, +}; + +use proto::PlayerItemCompBin; +use tokio::sync::OnceCell; + +use crate::player::Player; + +use super::{item_store::ItemStore, AddItemResult, Equip, Item, ItemParam, Weapon}; + +#[derive(Default)] +pub struct PlayerItemComp { + player: OnceCell>, + pub pack_store: ItemStore, + pub history_item_set: BTreeSet, + pub hcoin: u32, + pub scoin: u32, + pub item_cd_map: BTreeMap, +} + +impl PlayerItemComp { + pub fn set_player(&self, player: Rc) { + self.player.set(Rc::downgrade(&player)).unwrap(); + } + + pub fn player(&self) -> Option> { + self.player.get().map(|p| p.upgrade())? + } + + pub fn init(&mut self) { + // TODO: check item hard limits + } + + pub fn on_login(&mut self, _is_new_player: bool) { + // TODO: Resin changing, ::checkAllMaterialsDelete (?) + } + + pub fn notify_all_data(&self) { + self.pack_store.notify_all_data(&self.player().unwrap()); + } + + pub fn force_add_equip_by_add_avatar(&mut self, item_id: u32) -> AddItemResult { + let item = self.create_item(ItemParam { + item_id, + count: 1, + level: 1, + promote_level: 0, + }); + + self.pack_store.force_add_equip_by_add_avatar(item) + } + + pub fn create_item(&mut self, item_param: ItemParam) -> Item { + self.create_item_batch(vec![item_param]).remove(0) + } + + pub fn create_item_batch(&mut self, item_param_vec: Vec) -> Vec { + let mut created_items = Vec::with_capacity(item_param_vec.len()); + for param in item_param_vec { + let guid = self + .player() + .unwrap() + .player_basic_comp + .borrow_mut() + .gen_guid(); + // TODO: currently only weapons are supported! + + created_items.push(Item::Weapon(Weapon { + base: Equip { + is_locked: false, + base: super::BaseItem { + item_id: param.item_id, + guid, + }, + }, + level: param.level, + promote_level: param.promote_level, + ..Default::default() + })); + } + + created_items + } + + pub fn from_bin(bin: PlayerItemCompBin) -> Self { + Self { + player: OnceCell::new(), + pack_store: ItemStore::from_bin(bin.pack_store.unwrap_or_default()), + history_item_set: bin.history_item_list.into_iter().collect(), + hcoin: bin.hcoin, + scoin: bin.scoin, + item_cd_map: bin.item_cd_map.into_iter().collect(), + } + } + + pub fn to_bin(&self) -> PlayerItemCompBin { + PlayerItemCompBin { + pack_store: Some(self.pack_store.to_bin()), + history_item_list: self.history_item_set.clone().into_iter().collect(), + hcoin: self.hcoin, + scoin: self.scoin, + item_cd_map: self.item_cd_map.clone().into_iter().collect(), + ..Default::default() + } + } +} diff --git a/gameserver/src/player/item/weapon.rs b/gameserver/src/player/item/weapon.rs new file mode 100644 index 0000000..23166fa --- /dev/null +++ b/gameserver/src/player/item/weapon.rs @@ -0,0 +1,55 @@ +use std::collections::BTreeMap; + +use proto::{EquipBin, ItemBin, WeaponBin}; + +use super::Equip; + +#[derive(Default)] +pub struct Weapon { + pub base: Equip, + pub exp: u32, + pub level: u32, + pub promote_level: u32, + pub affix_map: BTreeMap, +} + +impl Weapon { + pub fn to_client(&self) -> proto::Item { + self.base + .to_client(proto::equip::Detail::Weapon(proto::Weapon { + level: self.level, + exp: self.exp, + promote_level: self.promote_level, + affix_map: self.affix_map.clone().into_iter().collect(), + ..Default::default() + })) + } + + pub fn from_bin(bin: ItemBin, equip_bin: EquipBin, detail: WeaponBin) -> Self { + Self { + level: detail.level, + exp: detail.exp, + promote_level: detail.promote_level, + affix_map: detail.affix_map.into_iter().collect(), + base: Equip::from_bin(bin, equip_bin), + } + } + + pub fn to_bin(&self) -> ItemBin { + let mut item = self.base.to_bin(self.get_item_type()); + if let Some(proto::item_bin::Detail::Equip(equip)) = item.detail.as_mut() { + equip.detail = Some(proto::equip_bin::Detail::Weapon(WeaponBin { + level: self.level, + promote_level: self.promote_level, + exp: self.exp, + affix_map: self.affix_map.clone().into_iter().collect(), + })) + } + + item + } + + pub fn get_item_type(&self) -> u32 { + 4 + } +} diff --git a/gameserver/src/player/mod.rs b/gameserver/src/player/mod.rs new file mode 100644 index 0000000..f2a7c80 --- /dev/null +++ b/gameserver/src/player/mod.rs @@ -0,0 +1,13 @@ +mod player; +mod player_coro_exec; +mod player_login_comp; +mod player_mgr; + +pub mod avatar; +pub mod basic; +pub mod item; + +pub use player::Player; +pub use player_coro_exec::PlayerCoroExec; +pub use player_login_comp::PlayerLoginComp; +pub use player_mgr::PlayerMgr; diff --git a/gameserver/src/player/player.rs b/gameserver/src/player/player.rs new file mode 100644 index 0000000..2213357 --- /dev/null +++ b/gameserver/src/player/player.rs @@ -0,0 +1,908 @@ +use std::{ + cell::{Cell, RefCell}, + rc::{Rc, Weak}, + sync::{self, mpsc::Receiver, Arc}, +}; + +use common::{net::tools::Packet, tools::time_utils}; +use data::{ + get_default_world_main_scene_id, + math_def::Vector3, + prop_type::{ + PROP_CUR_PERSIST_STAMINA, PROP_IS_FLYABLE, PROP_IS_GAME_TIME_LOCKED, + PROP_IS_SPRING_AUTO_USE, PROP_IS_TRANSFERABLE, PROP_IS_WEATHER_LOCKED, PROP_MAX_STAMINA, + PROP_PLAYER_EXP, PROP_PLAYER_HCOIN, PROP_PLAYER_LEVEL, PROP_PLAYER_SCOIN, + PROP_SPRING_AUTO_USE_PERCENT, + }, + AvatarUseType, +}; + +use prost::Message; +use proto::{ + AbilitySyncStateInfo, AvatarEnterSceneInfo, CmdID, DoSetPlayerBornDataNotify, + EnterSceneDoneReq, EnterSceneDoneRsp, EnterScenePeerNotify, EnterSceneReadyReq, EnterType, + MpLevelEntityInfo, PacketHead, PingReq, PingRsp, PlayerData, PlayerDataBin, PlayerDataNotify, + PlayerEnterSceneInfoNotify, PlayerEnterSceneNotify, PlayerLoginRsp, PostEnterSceneReq, + PostEnterSceneRsp, Retcode, SavePlayerDataReq, SceneInitFinishReq, SetPlayerBornDataReq, + TeamEnterSceneInfo, VisionType, YSMessage, +}; +use rand::RngCore; + +use crate::{ + creature::{property::append_int_prop_value, Creature, LifeState}, + entity::{Entity, VisionContext}, + gadget::WeaponGadget, + gameserver_service, handler, + network::PlayerSessionProxy, + scene::{EnterSceneState, PlayerSceneComp, Scene}, +}; + +use super::{ + avatar::PlayerAvatarComp, basic::PlayerBasicComp, item::PlayerItemComp, PlayerCoroExec, + PlayerLoginComp, +}; + +pub struct Player { + pub uid: u32, + session: RefCell>, + pub player_basic_comp: Rc>, + pub player_login_comp: Rc>, + pub player_avatar_comp: Rc>, + pub player_scene_comp: Rc>, + pub player_item_comp: Rc>, + pub peer_id: Cell, + last_recv_ping_time: Cell, + last_save_time: Cell, + is_coro_stopping: Cell, +} + +impl Player { + pub fn construct_player(uid: u32) -> Self { + Self { + uid, + session: RefCell::new(sync::Weak::new()), + player_basic_comp: Rc::new(RefCell::new(PlayerBasicComp::default())), + player_login_comp: Rc::new(RefCell::new(PlayerLoginComp::default())), + player_avatar_comp: Rc::new(RefCell::new(PlayerAvatarComp::default())), + player_scene_comp: Rc::new(RefCell::new(PlayerSceneComp::default())), + player_item_comp: Rc::new(RefCell::new(PlayerItemComp::default())), + peer_id: Cell::new(0), + last_recv_ping_time: Cell::new(0), + last_save_time: Cell::new(0), + is_coro_stopping: Cell::new(false), + } + } + + pub fn login( + &self, + is_new_player: bool, + is_relogin: bool, + target_uid: u32, + target_home_owner_uid: u32, + is_client_relogin: bool, + ) { + tracing::info!("Player::login uid:{} is_new_player:{} is_relogin:{} target_uid:{} is_client_relogin:{}", self.uid, is_new_player, is_relogin, target_uid, is_client_relogin); + + self.update_last_ping_time(); + self.player_scene_comp.borrow_mut().pre_login(is_relogin); + if is_new_player { + self.first_login(); + } + + // TODO: checkLuaShellOnLogin + + self.player_basic_comp.borrow_mut().on_login(is_new_player); + self.player_login_comp.borrow_mut().on_login(is_new_player); + self.player_item_comp.borrow_mut().on_login(is_new_player); + self.player_avatar_comp.borrow_mut().on_login(is_new_player); + self.player_scene_comp.borrow_mut().on_login(is_new_player); + + // TODO: PlayerSceneComp::afterLogin + + if self.player_avatar_comp.borrow().get_avatar_count() == 0 { + self.send_proto(DoSetPlayerBornDataNotify::default()); + } else { + self.init_and_begin_enter_scene( + false, + target_uid, + target_home_owner_uid, + is_client_relogin, + ); + } + } + + fn first_login(&self) { + self.player_basic_comp.borrow_mut().on_first_login(); + self.player_avatar_comp.borrow_mut().on_first_login(); + self.player_scene_comp.borrow_mut().on_first_login(); + } + + pub fn block_stop_coroutine(&self) -> Result<(), ()> { + if self.is_coro_stopping.get() { + tracing::error!("block_stop_coroutine called repeated, uid:{}", self.uid); + return Err(()); + } + + self.is_coro_stopping.set(true); + Ok(()) + } + + fn coroutine_loop(uid: u32, rx: Receiver, session: Arc) { + let player = Rc::new(Self::construct_player(uid)); + player.set_session(session, false); + + loop { + if player.is_coro_stopping.get() { + break; + } + + let packet = rx.recv().unwrap(); + + match packet.cmd_id { + PlayerLoginRsp::CMD_ID => { + let rsp: PlayerLoginRsp = packet.get_proto().unwrap(); + let player_data = PlayerData::decode(rsp.player_data.as_ref()).unwrap(); + player.from_bin(player_data).unwrap(); + player.init(); + + player.login(rsp.is_new_player, false, 0, 0, false); + player.send_proto(rsp); + + // First post-login save + player.save_to_db(); + player.last_save_time.set(time_utils::get_now()); + } + _ => { + let _ = handler::process_packet(&player, packet); + } + } + + // TODO: configurable save time? + if time_utils::get_now() - player.last_save_time.get() > 30 { + player.save_to_db(); + player.last_save_time.set(time_utils::get_now()); + } + } + } + + pub fn start(session: Arc, uid: u32) -> PlayerCoroExec { + PlayerCoroExec::start(move |rx| Self::coroutine_loop(uid, rx, session.clone())) + } + + pub fn set_session(&self, session: Arc, _is_relogin: bool) { + *self.session.borrow_mut() = Arc::downgrade(&session); + } + + pub fn send_proto(&self, proto: impl YSMessage) { + self.session + .borrow() + .upgrade() + .unwrap() + .send_packet(Packet { + cmd_id: proto.get_cmd_id(), + head: PacketHead::default(), + recv_vec: proto.encode_to_vec(), + }); + } + + pub fn on_ping_req(&self, req: PingReq, rsp: &mut PingRsp) { + tracing::info!("[PING] uid:{}, seq:{}", self.uid, req.seq); + rsp.retcode = Retcode::RetSucc.into(); + rsp.seq = req.seq; + rsp.client_time = req.client_time; + self.update_last_ping_time(); + } + + pub fn set_player_born_data(&self, req: SetPlayerBornDataReq) -> Result<(), Retcode> { + if self.player_avatar_comp.borrow().get_avatar_count() != 0 { + return Err(Retcode::RetRepeatSetPlayerBornData); + } + + self.player_basic_comp + .borrow() + .check_nick_name(&req.nick_name)?; + + if self + .player_avatar_comp + .borrow_mut() + .set_born_avatar(req.avatar_id) + .is_err() + { + return Err(Retcode::RetAvatarIdError); + } + + self.player_basic_comp.borrow_mut().nickname = req.nick_name; + self.init_and_begin_enter_scene(false, 0, 0, false); + + Ok(()) + } + + pub fn check_is_in_safe_state_for_change_team(&self) -> Result<(), Retcode> { + Ok(()) + } + + pub fn init_and_begin_enter_scene( + &self, + _is_relogin: bool, + _target_uid: u32, + _target_home_owner_uid: u32, + _is_client_relogin: bool, + ) { + // Unlock all stuff here + // TODO: MUIP/GM for this + + self.player_avatar_comp.borrow_mut().is_flyable = true; + self.player_avatar_comp.borrow_mut().is_transferable = true; + self.player_avatar_comp.borrow_mut().is_spring_auto_use = true; + self.player_avatar_comp.borrow_mut().spring_auto_use_percent = 50; + + for open_state in data::iter_open_state_data() { + self.player_basic_comp + .borrow_mut() + .open_state_map + .insert(open_state.id, 1); + } + + for avatar in data::iter_avatar_data() { + if avatar.use_type == AvatarUseType::AvatarFormal { + if !self.player_avatar_comp.borrow().has_avatar(avatar.id, 1) { + self.player_avatar_comp + .borrow_mut() + .add_formal_avatar(avatar.id, false, 1, 0) + .unwrap(); + } + } + } + + self.notify_all_data(); + + let cur_scene_id = get_default_world_main_scene_id(); + + let cur_scene = { + let mut scene_comp = self.player_scene_comp.borrow_mut(); + scene_comp.dest_world_ptr = Some(scene_comp.own_world.clone()); + + let dest_world = scene_comp.own_world.borrow(); + let cur_scene = dest_world.scene_map.get(&cur_scene_id).unwrap().clone(); + cur_scene.borrow_mut().base_mut().cur_world_wtr = Rc::downgrade(&scene_comp.own_world); + + cur_scene + }; + + let (pos, rot) = { + let cur_scene = cur_scene.borrow_mut(); + cur_scene.base().get_last_owner_location() + }; + + self.begin_enter_scene( + cur_scene, + pos, + rot, + EnterType::EnterSelf, + VisionType::VisionMeet, + ); + } + + fn begin_enter_scene( + &self, + dest_scene_ptr: Rc>, + pos: Vector3, + rot: Vector3, + enter_type: EnterType, + vision_type: VisionType, + ) { + let mut scene_comp = self.player_scene_comp.borrow_mut(); + if scene_comp.enter_scene_state != EnterSceneState::ENTER_SCENE_NONE + && scene_comp.enter_scene_state != EnterSceneState::ENTER_SCENE_POST + { + tracing::warn!( + "begin_enter_scene with last one not finish, uid:{}", + self.uid + ); + } + + self.mark_destination( + &dest_scene_ptr, + pos.clone(), + rot, + enter_type, + vision_type, + &mut scene_comp, + ); + + let enter_scene_token = match scene_comp.enter_scene_token { + 0 => rand::thread_rng().next_u32() & 0xFFFF, // OG: gettid lmfao + _ => scene_comp.enter_scene_token.wrapping_add(100), + }; + + scene_comp.enter_scene_token = enter_scene_token; + + let scene = dest_scene_ptr.borrow(); + let scene_id = scene.base().scene_id; + let notify = PlayerEnterSceneNotify { + scene_id, + pos: Some(pos.to_client()), + scene_transaction: scene.base().scene_transaction.clone(), + enter_scene_token, + scene_begin_time: scene.base().begin_time_ms, + r#type: enter_type.into(), + target_uid: self.uid, + ..Default::default() + }; + + scene_comp.enter_scene_state = EnterSceneState::ENTER_SCENE_NOTIFY; + + tracing::info!("[EnterScene] BeginEnterScene uid:{} enter_type:{:?} token:{} dest_scene_id:{} pos:{:?} target_uid:{}", self.uid, enter_type, notify.enter_scene_token, scene_id, pos, 0); + + self.send_proto(notify); + } + + pub fn enter_scene_ready(self: &Rc, req: &EnterSceneReadyReq) -> Result<(), Retcode> { + { + let scene_comp = self.player_scene_comp.borrow(); + + if scene_comp.enter_scene_token != req.enter_scene_token { + tracing::info!( + "[EnterScene] token not match, client_token:{} server_token:{}", + req.enter_scene_token, + scene_comp.enter_scene_token + ); + + return Err(Retcode::RetEnterSceneTokenInvalid); + } + + if scene_comp.enter_scene_state != EnterSceneState::ENTER_SCENE_NOTIFY { + tracing::warn!("EnterSceneState is not EnterSceneNotify, uid:{}", self.uid); + return Err(Retcode::RetFail); + } + }; + + self.pre_enter_scene()?; + + let mut scene_comp = self.player_scene_comp.borrow_mut(); + let dest_scene = scene_comp.get_dest_scene().unwrap(); + let dest_scene = dest_scene.borrow(); + let scene = dest_scene.base(); + let notify = EnterScenePeerNotify { + enter_scene_token: scene_comp.enter_scene_token, + dest_scene_id: scene_comp.dest_scene_id, + host_peer_id: scene.get_host_peer_id().unwrap_or_default(), + peer_id: scene.get_peer_id(self.uid).unwrap_or_default(), + }; + + tracing::info!( + "[EnterScene] EnterSceneReady uid:{}, dest_scene_id:{}, peer_id:{}, host_peer_id:{}", + self.uid, + notify.dest_scene_id, + notify.peer_id, + notify.host_peer_id + ); + + scene_comp.enter_scene_state = EnterSceneState::ENTER_SCENE_READY; + self.send_proto(notify); + + Ok(()) + } + + pub fn scene_init_finish(self: &Rc, req: &SceneInitFinishReq) -> Result<(), Retcode> { + let scene_comp = self.player_scene_comp.borrow(); + + if scene_comp.enter_scene_token != req.enter_scene_token { + tracing::warn!( + "[ENTER_SCENE] token not match, client_token:{} server_token:{}", + req.enter_scene_token, + scene_comp.enter_scene_token + ); + + return Err(Retcode::RetEnterSceneTokenInvalid); + } + + if scene_comp.enter_scene_state != EnterSceneState::ENTER_SCENE_READY { + tracing::warn!("EnterSceneState is not EnterSceneReady, uid:{}", self.uid); + return Err(Retcode::RetFail); + } + + let dest_pos = scene_comp.dest_pos.clone(); + let dest_rot = scene_comp.dest_rot.clone(); + let enter_type = scene_comp.dest_enter_type; + let vision_type = scene_comp.dest_vision_type; + let is_need_enter_world = { + let Some(dest_scene) = scene_comp.get_dest_scene() else { + tracing::error!("get_dest_scene failed, uid:{}", self.uid); + return Err(Retcode::RetFail); + }; + + let is_reenter_dungeon = match scene_comp.get_cur_scene() { + Some(_) => false, + None => matches!(*dest_scene.borrow(), Scene::Dungeon(_)), + }; + !is_reenter_dungeon + }; + + drop(scene_comp); + + if is_need_enter_world { + let (world_owner_uid, dest_world_ptr) = { + let scene_comp = self.player_scene_comp.borrow(); + let owner_uid = scene_comp + .dest_world_ptr + .as_ref() + .unwrap() + .borrow() + .get_owner_uid(); + let dest_world_ptr = scene_comp.dest_world_ptr.clone().unwrap(); + + (owner_uid, dest_world_ptr) + }; + + let mut dest_world = dest_world_ptr.borrow_mut(); + + if let Err(ret) = dest_world.player_enter(self) { + tracing::info!( + "uid: {} player_enter world fails, owner_uid: {}", + self.uid, + world_owner_uid + ); + return Err(ret); + } + } + + let dest_scene = self.player_scene_comp.borrow().get_dest_scene(); + self.player_enter_scene(dest_scene, dest_pos, dest_rot, enter_type, vision_type)?; + self.player_scene_comp.borrow_mut().enter_scene_state = EnterSceneState::ENTER_SCENE_INIT; + + Ok(()) + } + + pub fn enter_scene_done(self: &Rc, req: &EnterSceneDoneReq) -> Result<(), Retcode> { + let mut scene_comp = self.player_scene_comp.borrow_mut(); + + if scene_comp.enter_scene_token != req.enter_scene_token { + tracing::warn!( + "[ENTER_SCENE] token not match, client_token:{} server_token:{}", + req.enter_scene_token, + scene_comp.enter_scene_token + ); + return Err(Retcode::RetEnterSceneTokenInvalid); + } + + if scene_comp.enter_scene_state != EnterSceneState::ENTER_SCENE_INIT { + tracing::warn!("EnterSceneState is not EnterSceneInit, uid:{}", self.uid); + return Err(Retcode::RetFail); + } + + let Some(cur_scene) = scene_comp.get_cur_scene() else { + tracing::warn!("get_cur_scene is None, uid:{}", self.uid); + return Err(Retcode::RetFail); + }; + + let vision_type = scene_comp.dest_vision_type; + let dest_pos = scene_comp.dest_pos.clone(); + let dest_rot = scene_comp.dest_rot.clone(); + + let Some(cur_avatar_ptr) = ({ + let avatar_comp = self.player_avatar_comp.borrow(); + avatar_comp.get_cur_avatar() + }) else { + tracing::warn!("[EnterScene] get_cur_avatar failed, uid:{}", self.uid); + return Err(Retcode::RetFail); + }; + + { + let mut cur_avatar = cur_avatar_ptr.borrow_mut(); + if cur_avatar.get_life_state() == LifeState::LifeDead { + cur_avatar.set_life_state(LifeState::LifeAlive); + + if cur_avatar.get_cur_hp() == 0.0 { + cur_avatar.set_cur_hp(1.0); + } + } + + cur_avatar.set_position(dest_pos.clone()); + cur_avatar.set_rotation(dest_rot.clone()); + cur_avatar.set_last_valid_position(dest_pos); + cur_avatar.set_last_valid_rotation(dest_rot); + } + + let vision_context = VisionContext::new(vision_type); + if cur_scene + .borrow_mut() + .entity_appear(&(cur_avatar_ptr as Rc>), vision_context) + .is_err() + { + tracing::warn!("[EnterScene] entity_appear failed, uid:{}", self.uid); + return Err(Retcode::RetFail); + } + + scene_comp.enter_scene_state = EnterSceneState::ENTER_SCENE_DONE; + // TODO: scene_comp.notify_current_weather(); + + // Why here but ok.. + self.send_proto(EnterSceneDoneRsp { + retcode: Retcode::RetSucc.into(), + enter_scene_token: req.enter_scene_token, + }); + + tracing::info!("[EnterScene] enter_scene_done succ, uid:{}", self.uid); + + Ok(()) + } + + pub fn post_enter_scene(self: &Rc, req: &PostEnterSceneReq) -> Result<(), Retcode> { + { + let scene_comp = self.player_scene_comp.borrow(); + + if scene_comp.enter_scene_token != req.enter_scene_token { + tracing::warn!( + "[ENTER_SCENE] token not match, client_token:{} server_token:{}", + req.enter_scene_token, + scene_comp.enter_scene_token + ); + return Err(Retcode::RetEnterSceneTokenInvalid); + } + + if scene_comp.enter_scene_state != EnterSceneState::ENTER_SCENE_DONE { + tracing::warn!("EnterSceneState is not EnterSceneDone, uid:{}", self.uid); + return Err(Retcode::RetFail); + } + + if scene_comp.get_cur_scene().is_none() { + tracing::warn!("get_cur_scene is None, uid:{}", self.uid); + return Err(Retcode::RetFail); + }; + } + + self.clear_destination(); + self.player_scene_comp.borrow_mut().enter_scene_state = EnterSceneState::ENTER_SCENE_POST; + // TODO: self.player_basic_comp.borrow_mut().is_in_transfer = false; + + tracing::info!("[EnterScene] post_enter_scene succ, uid:{}", self.uid); + + self.send_proto(PostEnterSceneRsp { + retcode: Retcode::RetSucc.into(), + enter_scene_token: req.enter_scene_token, + }); + + Ok(()) + } + + fn player_enter_scene( + self: &Rc, + dest_scene_ptr: Option>>, + pos: Vector3, + rot: Vector3, + _enter_type: EnterType, + _vision_type: VisionType, + ) -> Result<(), Retcode> { + let Some(dest_scene_ptr) = dest_scene_ptr else { + tracing::error!("dest_scene_ptr is None, uid: {}", self.uid); + return Err(Retcode::RetFail); + }; + + let cur_avatar_team = self.init_enter_scene_avatar(&mut dest_scene_ptr.borrow_mut())?; + + let (cur_avatar_team, appear_avatar) = { + let avatar_comp = self.player_avatar_comp.borrow(); + let avatar_team = avatar_comp + .avatar_team_map + .get(&avatar_comp.cur_avatar_team_id) + .unwrap(); + + let cur_avatar_team = cur_avatar_team + .iter() + .map(|guid| avatar_comp.avatar_map.get(guid).unwrap().clone()) + .collect(); + + let appear_avatar = avatar_comp + .avatar_map + .get(&avatar_team.borrow().last_cur_avatar_guid) + .unwrap() + .clone(); + + (cur_avatar_team, appear_avatar) + }; + + if dest_scene_ptr + .borrow_mut() + .player_enter(self, pos, rot, false, cur_avatar_team, &appear_avatar) + .is_err() + { + tracing::error!("player_enter fails, uid: {}", self.uid); + return Err(Retcode::RetEnterSceneFail); + } + + self.player_scene_comp.borrow_mut().cur_scene_wtr = Rc::downgrade(&dest_scene_ptr); + + Ok(()) + } + + pub fn notify_player_enter_scene_info(&self, scene: &mut Scene) { + use crate::entity::Entity; + // TODO: OG server gets scene from PlayerSceneComp here + + let cur_avatar_entity_id = { + let Some(cur_avatar) = self.player_avatar_comp.borrow().get_cur_avatar() else { + tracing::error!("cur_avatar_ptr is None"); + return; + }; + + let cur_avatar = cur_avatar.borrow(); + cur_avatar.entity_id() + }; + + let mut notify = PlayerEnterSceneInfoNotify::default(); + notify.cur_avatar_entity_id = cur_avatar_entity_id; + notify.enter_scene_token = self.player_scene_comp.borrow().enter_scene_token; + + { + let avatar_comp = self.player_avatar_comp.borrow(); + for avatar in avatar_comp.get_cur_avatar_team_vec() { + let avatar = avatar.borrow(); + let weapon_gadget = avatar + .base_avatar() + .equip_comp + .weapon_gadget + .as_ref() + .unwrap(); + + let weapon_gadget = weapon_gadget.borrow(); + notify.avatar_enter_info.push(AvatarEnterSceneInfo { + avatar_guid: avatar.base_avatar().guid, + weapon_guid: match &*weapon_gadget { + WeaponGadget::Avatar(gadget) => gadget.weapon_guid, + //_ => 0, + }, + avatar_entity_id: avatar.entity_id(), + weapon_entity_id: weapon_gadget.entity_id(), + aobhcppmkma: Some(AbilitySyncStateInfo::default()), + pnanfpcioko: Some(AbilitySyncStateInfo::default()), + buff_id_list: Vec::with_capacity(0), + server_buff_list: Vec::with_capacity(0), + }); + } + + let Some(avatar_team_entity) = avatar_comp.team_entity.upgrade() else { + tracing::error!("team_entity is None"); + return; + }; + + let mut team_enter_info = TeamEnterSceneInfo::default(); + avatar_team_entity.borrow().to_client(&mut team_enter_info); + notify.team_enter_info = Some(team_enter_info); + } + + let mp_level_entity = scene.get_or_create_mp_level_entity(); + let mut mp_level_entity_info = MpLevelEntityInfo::default(); + mp_level_entity + .borrow() + .to_client(&mut mp_level_entity_info); + + notify.mp_level_entity_info = Some(mp_level_entity_info); + self.send_proto(notify); + } + + fn init_enter_scene_avatar(&self, dest_scene_ptr: &mut Scene) -> Result, Retcode> { + // TODO: special avatars for dungeons/challenges + + let avatar_comp = self.player_avatar_comp.borrow(); + let cur_avatar_team = avatar_comp.get_cur_avatar_team_with_temp_avatar(); + + let cur_world_ptr = dest_scene_ptr.base_mut().cur_world_wtr.upgrade().unwrap(); + let mut cur_world = cur_world_ptr.borrow_mut(); + + let _team_avatar_vec = cur_world + .scene_team + .team_avatar_map + .get_mut(&self.uid) + .unwrap(); + + /* TODO: check if this actually should be done here, I doubt tbh + * cur_avatar_team.iter().for_each(|guid| { + team_avatar_vec.push(crate::scene::SceneTeamAvatar { + uid: self.uid, + avatar_guid: *guid, + }) + });*/ + + // TODO: avatar_comp.is_all_avatar_dead() -> revive + + Ok(cur_avatar_team) + } + + fn pre_enter_scene(self: &Rc) -> Result<(), Retcode> { + let scene_comp = self.player_scene_comp.borrow(); + + let Some(mut dest_world_ptr) = scene_comp.dest_world_ptr.as_ref().map(|d| d.borrow_mut()) + else { + tracing::error!("dest_world_ptr is None, uid: {}", self.uid); + return Err(Retcode::RetFail); + }; + + dest_world_ptr.player_pre_enter(self).map_err(|retcode| { + tracing::warn!( + "uid: {} pre-enter world fails, owner: {}", + self.uid, + dest_world_ptr.get_owner_uid() + ); + retcode + })?; + + scene_comp + .get_dest_scene() + .unwrap() + .borrow_mut() + .base_mut() + .player_pre_enter(self.clone()) + .map_err(|retcode| { + tracing::warn!("[EnterScene] playerPreEnter failed, uid:{}", self.uid); + retcode + })?; + + Ok(()) + } + + fn mark_destination( + &self, + dest_scene_ptr: &Rc>, + pos: Vector3, + rot: Vector3, + enter_type: EnterType, + vision_type: VisionType, + comp: &mut PlayerSceneComp, + ) { + comp.dest_pos = pos; + comp.dest_rot = rot; + comp.set_dest_scene(Rc::downgrade(dest_scene_ptr)); + comp.dest_enter_type = enter_type; + comp.dest_vision_type = vision_type; + } + + fn clear_destination(&self) { + let mut comp = self.player_scene_comp.borrow_mut(); + comp.set_dest_scene(Weak::new()); + comp.dest_enter_type = EnterType::EnterNone; + comp.dest_vision_type = VisionType::VisionNone; + } + + fn notify_all_data(&self) { + self.notify_player_data(); + + self.player_basic_comp.borrow().notify_all_data(); + self.player_item_comp.borrow().notify_all_data(); + self.player_avatar_comp.borrow().notify_all_data(); + } + + fn notify_player_data(&self) { + let mut notify = PlayerDataNotify::default(); + + let basic_comp = self.player_basic_comp.borrow(); + let avatar_comp = self.player_avatar_comp.borrow(); + let item_comp = self.player_item_comp.borrow(); + + notify.nick_name = basic_comp.nickname.clone(); + notify.server_time = time_utils::get_now(); + + let map = &mut notify.prop_map; + append_int_prop_value( + map, + PROP_IS_SPRING_AUTO_USE, + avatar_comp.is_spring_auto_use.into(), + ); + append_int_prop_value( + map, + PROP_SPRING_AUTO_USE_PERCENT, + avatar_comp.spring_auto_use_percent.into(), + ); + append_int_prop_value(map, PROP_IS_FLYABLE, avatar_comp.is_flyable.into()); + append_int_prop_value( + map, + PROP_IS_TRANSFERABLE, + avatar_comp.is_transferable.into(), + ); + append_int_prop_value( + map, + PROP_IS_WEATHER_LOCKED, + basic_comp.is_weather_locked.into(), + ); + append_int_prop_value( + map, + PROP_IS_GAME_TIME_LOCKED, + basic_comp.is_game_time_locked.into(), + ); + append_int_prop_value(map, PROP_PLAYER_LEVEL, basic_comp.level.into()); + append_int_prop_value(map, PROP_PLAYER_EXP, basic_comp.exp.into()); + append_int_prop_value(map, PROP_PLAYER_HCOIN, item_comp.hcoin.into()); + append_int_prop_value(map, PROP_PLAYER_SCOIN, item_comp.scoin.into()); + append_int_prop_value(map, PROP_MAX_STAMINA, 10000); + append_int_prop_value(map, PROP_CUR_PERSIST_STAMINA, 10000); + + self.send_proto(notify); + } + + fn update_last_ping_time(&self) { + self.last_recv_ping_time.set(time_utils::get_now()); + } + + pub fn save_to_db(&self) { + use common::{net::ServiceType, ServiceQualifier}; + let player_data = self.to_bin(); + + if let Err(err) = gameserver_service() + .service_box + .push_packet_to_service_blocking( + ServiceQualifier::Type(ServiceType::Dbgate), + Packet::new( + SavePlayerDataReq { + player_data: player_data.encode_to_vec(), + save_stat_id: 0, // TODO + }, + PacketHead { + user_id: self.uid, + user_session_id: self + .session + .borrow() + .upgrade() + .map(|s| s.get_gateserver_session_id()) + .unwrap_or_default(), + ..Default::default() + }, + ), + ) + { + tracing::warn!("save_to_db failed, uid: {}, err: {err}", self.uid); + } + } + + pub fn from_bin(&self, data: PlayerData) -> Result<(), prost::DecodeError> { + // TODO: PlayerData::bin zlib + let bin = PlayerDataBin::decode(&*data.bin)?; + + *self.player_basic_comp.borrow_mut() = + PlayerBasicComp::from_bin(bin.basic_bin.unwrap_or_default()); + *self.player_login_comp.borrow_mut() = + PlayerLoginComp::from_bin(bin.login_bin.unwrap_or_default()); + *self.player_avatar_comp.borrow_mut() = + PlayerAvatarComp::from_bin(bin.avatar_bin.unwrap_or_default()); + *self.player_item_comp.borrow_mut() = + PlayerItemComp::from_bin(bin.item_bin.unwrap_or_default()); + *self.player_scene_comp.borrow_mut() = + PlayerSceneComp::from_bin(bin.scene_bin.unwrap_or_default()); + + Ok(()) + } + + pub fn to_bin(&self) -> PlayerData { + let mut bin = PlayerDataBin::default(); + bin.basic_bin = Some(self.player_basic_comp.borrow().to_bin()); + bin.login_bin = Some(self.player_login_comp.borrow().to_bin()); + bin.avatar_bin = Some(self.player_avatar_comp.borrow().to_bin()); + bin.item_bin = Some(self.player_item_comp.borrow().to_bin()); + bin.scene_bin = Some(self.player_scene_comp.borrow().to_bin()); + + let basic_comp = self.player_basic_comp.borrow(); + PlayerData { + uid: self.uid, + nickname: basic_comp.nickname.clone(), + level: basic_comp.level, + exp: basic_comp.exp, + bin: bin.encode_to_vec(), + ..Default::default() + } + } + + pub fn init(self: &Rc) { + self.player_basic_comp.borrow_mut().set_player(self.clone()); + self.player_login_comp.borrow_mut().set_player(self.clone()); + self.player_avatar_comp + .borrow_mut() + .set_player(self.clone()); + self.player_item_comp.borrow_mut().set_player(self.clone()); + self.player_scene_comp.borrow_mut().set_player(self.clone()); + + self.player_basic_comp.borrow_mut().init(); + self.player_login_comp.borrow_mut().init(); + self.player_avatar_comp.borrow_mut().init(); + self.player_item_comp.borrow_mut().init(); + self.player_scene_comp.borrow_mut().init(); + } +} diff --git a/gameserver/src/player/player_coro_exec.rs b/gameserver/src/player/player_coro_exec.rs new file mode 100644 index 0000000..b790d8d --- /dev/null +++ b/gameserver/src/player/player_coro_exec.rs @@ -0,0 +1,25 @@ +use std::{ + sync::mpsc::{self, Receiver, Sender}, + thread, +}; + +use common::net::tools::Packet; + +pub struct PlayerCoroExec { + tx: Sender, +} + +impl PlayerCoroExec { + pub fn start) -> () + Send>(coro_loop_func: F) -> Self { + let (tx, rx) = mpsc::channel(); + thread::spawn(move || coro_loop_func(rx)); + + Self { tx } + } + + pub fn push_packet(&self, packet: Packet) { + let _ = self.tx.send(packet).inspect_err(|err| { + tracing::error!("PlayerCoroExec: tx.send() failed: {err}"); + }); + } +} diff --git a/gameserver/src/player/player_login_comp.rs b/gameserver/src/player/player_login_comp.rs new file mode 100644 index 0000000..b196537 --- /dev/null +++ b/gameserver/src/player/player_login_comp.rs @@ -0,0 +1,56 @@ +use std::rc::{Rc, Weak}; + +use proto::PlayerLoginCompBin; +use tokio::sync::OnceCell; + +use super::Player; + +#[derive(Default)] +pub struct PlayerLoginComp { + player: OnceCell>, + pub taken_login_reward_config_list: Vec, + pub last_login_refresh_time: u32, + pub recv_questionnaire_mail_config_list: Vec, + pub last_recv_questionnaire_mail_time: u32, +} + +impl PlayerLoginComp { + pub fn set_player(&self, player: Rc) { + self.player.set(Rc::downgrade(&player)).unwrap(); + } + + #[allow(dead_code)] + pub fn player(&self) -> Option> { + self.player.get().map(|p| p.upgrade())? + } + + pub fn init(&mut self) {} + + pub fn on_login(&mut self, is_new_player: bool) { + self.refresh_login_reward(true); + self.refresh_questionnaire_mail(is_new_player); + } + + // TODO + fn refresh_login_reward(&mut self, _is_login: bool) {} + fn refresh_questionnaire_mail(&mut self, _is_new_player: bool) {} + + pub fn from_bin(bin: PlayerLoginCompBin) -> Self { + Self { + player: OnceCell::new(), + taken_login_reward_config_list: bin.taken_login_reward_config_list, + last_login_refresh_time: bin.last_login_refresh_time, + recv_questionnaire_mail_config_list: bin.recv_questionnaire_mail_config_list, + last_recv_questionnaire_mail_time: bin.last_recv_questionnaire_mail_time, + } + } + + pub fn to_bin(&self) -> PlayerLoginCompBin { + PlayerLoginCompBin { + taken_login_reward_config_list: self.taken_login_reward_config_list.clone(), + last_login_refresh_time: self.last_login_refresh_time, + recv_questionnaire_mail_config_list: self.recv_questionnaire_mail_config_list.clone(), + last_recv_questionnaire_mail_time: self.last_recv_questionnaire_mail_time, + } + } +} diff --git a/gameserver/src/player/player_mgr.rs b/gameserver/src/player/player_mgr.rs new file mode 100644 index 0000000..1170f4f --- /dev/null +++ b/gameserver/src/player/player_mgr.rs @@ -0,0 +1,25 @@ +use dashmap::DashMap; + +pub struct PlayerMgr { + player_map: DashMap, // uid-session_id +} + +impl PlayerMgr { + pub fn new() -> Self { + Self { + player_map: DashMap::new(), + } + } + + pub fn add_to_online_map(&self, uid: u32, session_id: u32) { + self.player_map.insert(uid, session_id); + } + + pub fn remove_from_online_map(&self, uid: u32) { + self.player_map.remove(&uid); + } + + pub fn find_online_player(&self, uid: u32) -> Option { + self.player_map.get(&uid).map(|a| a.clone()) + } +} diff --git a/gameserver/src/scene/dungeon_scene.rs b/gameserver/src/scene/dungeon_scene.rs new file mode 100644 index 0000000..1cdd2c2 --- /dev/null +++ b/gameserver/src/scene/dungeon_scene.rs @@ -0,0 +1,29 @@ +use proto::SceneBin; + +use super::BaseScene; + +pub struct DungeonScene { + pub base: BaseScene, +} + +impl DungeonScene { + pub fn new(scene_id: u32) -> Self { + Self { + base: BaseScene::new(scene_id), + } + } + + pub fn from_bin(scene_id: u32, bin: SceneBin) -> Self { + Self { + base: BaseScene::from_bin(scene_id, bin), + } + } + + pub fn to_bin(&self) -> SceneBin { + self.base.to_bin() + } + + pub fn init(&mut self) { + self.base.init(); + } +} diff --git a/gameserver/src/scene/grid.rs b/gameserver/src/scene/grid.rs new file mode 100644 index 0000000..23d7771 --- /dev/null +++ b/gameserver/src/scene/grid.rs @@ -0,0 +1,36 @@ +use std::{cell::RefCell, collections::BTreeMap, rc::Rc}; + +use crate::entity::Entity; + +use super::region::Region; + +#[derive(Default)] +pub struct Grid { + entity_map: BTreeMap>>, + region_vec: Vec, +} + +impl Grid { + #[allow(dead_code)] + pub fn has_entity(&self) -> bool { + self.entity_map.len() != 0 + } + + pub fn add_entity(&mut self, entity: Rc>) { + let entity_id = entity.borrow().entity_id(); + self.entity_map.insert(entity_id, entity); + } + + pub fn del_entity(&mut self, entity: &Rc>) { + let entity_id = entity.borrow().entity_id(); + self.entity_map.remove(&entity_id); + } + + pub fn add_region(&mut self, region: Region) { + self.region_vec.push(region); + } + + pub fn get_all_entity(&self) -> Vec>> { + self.entity_map.values().map(|a| a.clone()).collect() + } +} diff --git a/gameserver/src/scene/grid_mgr.rs b/gameserver/src/scene/grid_mgr.rs new file mode 100644 index 0000000..fe2faeb --- /dev/null +++ b/gameserver/src/scene/grid_mgr.rs @@ -0,0 +1,57 @@ +use std::{cell::RefCell, collections::HashMap, rc::Rc}; + +use data::math_def::Coordinate; +use proto::ProtEntityType; + +use crate::entity::Entity; + +use super::{grid::Grid, region::Region, VisionLevelType}; + +#[allow(unused)] +pub struct GridMgr { + pub range_type: VisionLevelType, + pub length: u32, + pub width: u32, + pub sight_radius: u32, + pub grid_map: HashMap<(i32, i32), Grid>, +} + +impl GridMgr { + pub fn get_grid(&mut self, x: i32, y: i32) -> &mut Grid { + self.grid_map.entry((x, y)).or_insert_with(Grid::default) + } + + pub fn place_entity( + &mut self, + entity: Rc>, + coordinate: Coordinate, + ) -> Result>>, ()> { + let entity_type = { + let entity = entity.borrow(); + entity.get_entity_type() + }; + + let grid = self.get_grid(coordinate.x, coordinate.y); + if entity_type == ProtEntityType::ProtEntityRegion { + tracing::error!("GridMgr::place_entity shouldn't be used for Region entity"); + return Err(()); + } else { + grid.add_entity(entity); + } + + Ok(grid.get_all_entity()) + } + + pub fn remove_entity(&mut self, entity: &Rc>, coordinate: Coordinate) { + let grid = self.get_grid(coordinate.x, coordinate.y); + grid.del_entity(entity); + } + + #[allow(dead_code)] + pub fn place_region(&mut self, region: Region, coordinate: Coordinate) -> Result<(), ()> { + let grid = self.get_grid(coordinate.x, coordinate.y); + grid.add_region(region); + + Ok(()) + } +} diff --git a/gameserver/src/scene/mod.rs b/gameserver/src/scene/mod.rs new file mode 100644 index 0000000..5fd7303 --- /dev/null +++ b/gameserver/src/scene/mod.rs @@ -0,0 +1,20 @@ +mod dungeon_scene; +mod grid; +mod grid_mgr; +mod mp_level_entity; +mod player_scene_comp; +mod player_world; +mod player_world_scene; +mod region; +mod scene; +pub mod scene_mgr; +mod scene_sight_comp; +mod scene_team; + +pub use mp_level_entity::MPLevelEntity; +pub use player_scene_comp::{EnterSceneState, PlayerSceneComp}; +pub use player_world::PlayerWorld; +pub use scene::*; +pub use scene_team::*; + +pub use scene_sight_comp::{SceneSightComp, VisionLevelType}; diff --git a/gameserver/src/scene/mp_level_entity.rs b/gameserver/src/scene/mp_level_entity.rs new file mode 100644 index 0000000..90506b4 --- /dev/null +++ b/gameserver/src/scene/mp_level_entity.rs @@ -0,0 +1,64 @@ +use std::rc::Rc; + +use data::math_def::Vector3; +use proto::{AbilitySyncStateInfo, MpLevelEntityInfo}; + +use crate::{entity::Entity, player::Player}; + +#[derive(Default)] +pub struct MPLevelEntity { + pos: Vector3, + rot: Vector3, + id: u32, + authority_peer_id: u32, +} + +impl MPLevelEntity { + pub fn set_authority_peer_id(&mut self, id: u32) { + self.authority_peer_id = id; + } + + pub fn to_client(&self, entity_info: &mut MpLevelEntityInfo) { + entity_info.ability_info = Some(AbilitySyncStateInfo::default()); + entity_info.authority_peer_id = self.authority_peer_id; + entity_info.entity_id = self.id; + } +} + +impl Entity for MPLevelEntity { + fn get_entity_type(&self) -> proto::ProtEntityType { + proto::ProtEntityType::ProtEntityMpLevel + } + + fn get_group_id(&self) -> u32 { + 0 + } + + fn entity_id(&self) -> u32 { + self.id + } + + fn set_entity_id(&mut self, id: u32) { + self.id = id; + } + + fn position(&self) -> &data::math_def::Vector3 { + &self.pos + } + + fn rotation(&self) -> &data::math_def::Vector3 { + &self.rot + } + + fn set_position(&mut self, pos: data::math_def::Vector3) { + self.pos = pos; + } + + fn set_rotation(&mut self, rot: data::math_def::Vector3) { + self.rot = rot; + } + + fn get_owner_player(&self) -> Option> { + None + } +} diff --git a/gameserver/src/scene/player_scene_comp.rs b/gameserver/src/scene/player_scene_comp.rs new file mode 100644 index 0000000..36ffdb9 --- /dev/null +++ b/gameserver/src/scene/player_scene_comp.rs @@ -0,0 +1,146 @@ +use std::{ + cell::RefCell, + collections::BTreeMap, + rc::{Rc, Weak}, +}; + +use data::math_def::Vector3; +use proto::{DungeonProductBin, EnterType, PlayerSceneCompBin, SceneProductBin, VisionType}; +use tokio::sync::OnceCell; + +use crate::player::Player; + +use super::{PlayerWorld, Scene}; + +#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Default)] +#[allow(non_camel_case_types)] +pub enum EnterSceneState { + #[default] + ENTER_SCENE_NONE, + ENTER_SCENE_NOTIFY, + ENTER_SCENE_READY, + ENTER_SCENE_INIT, + ENTER_SCENE_DONE, + ENTER_SCENE_POST, +} + +#[derive(Default)] +pub struct PlayerSceneComp { + player: OnceCell>, + pub own_world: Rc>, + pub cur_scene_owner_uid: u32, + pub my_prev_scene_id: u32, + pub my_prev_pos: Vector3, + pub my_prev_rot: Vector3, + pub my_cur_scene_id: u32, + pub monster_seen_list: Vec, + //pub mark_point_list: Vec, + pub world_product_map: BTreeMap, + pub my_cur_area_id: u32, + pub dungeon_product_map: BTreeMap, + pub my_cur_player_scene_id: u32, + pub my_cur_home_scene_id: u32, + pub cur_scene_id: u32, + pub cur_scene_wtr: Weak>, + pub dest_scene_id: u32, + pub dest_pos: Vector3, + pub dest_rot: Vector3, + pub dest_enter_type: EnterType, + pub dest_vision_type: VisionType, + pub dest_world_ptr: Option>>, + pub dest_scene_wtr: Weak>, + pub enter_scene_state: EnterSceneState, + pub enter_scene_token: u32, +} + +impl PlayerSceneComp { + pub fn set_player(&self, player: Rc) { + self.own_world.borrow_mut().set_player(player.clone()); + self.player.set(Rc::downgrade(&player)).unwrap(); + } + + pub fn init(&mut self) { + self.own_world.borrow_mut().init(); + } + + pub fn pre_login(&mut self, is_relogin: bool) { + self.own_world.borrow_mut().pre_player_login(is_relogin); + } + + pub fn on_login(&mut self, _is_new_player: bool) { + self.reset_dest_scene(); + } + + pub fn on_first_login(&mut self) { + let mut world = self.own_world.borrow_mut(); + let main_world_scene = world.scene_map.get_mut(&3).unwrap(); + main_world_scene + .borrow_mut() + .base_mut() + .set_player_last_valid_location_on_first_login(); + } + + pub fn set_dest_scene(&mut self, scene_wtr: Weak>) { + if let Some(scene) = scene_wtr.upgrade() { + self.dest_scene_id = scene.borrow().base().scene_id; + self.dest_scene_wtr = scene_wtr; + } else { + self.dest_scene_wtr = Weak::new(); + self.dest_scene_id = 0; + } + } + + pub fn get_dest_scene(&self) -> Option>> { + self.dest_scene_wtr.upgrade() + } + + pub fn get_cur_scene(&self) -> Option>> { + self.cur_scene_wtr.upgrade() + } + + fn reset_dest_scene(&mut self) { + self.dest_scene_wtr = Weak::new(); + self.dest_scene_id = 0; + self.dest_pos.reset(); + self.dest_rot.reset(); + } + + pub fn from_bin(bin: PlayerSceneCompBin) -> Self { + Self { + player: OnceCell::new(), + own_world: Rc::new(RefCell::new(PlayerWorld::from_bin( + bin.world.unwrap_or_default(), + ))), + cur_scene_owner_uid: bin.cur_scene_owner_uid, + my_prev_scene_id: bin.my_prev_scene_id, + my_prev_pos: Vector3::from_bin(bin.my_prev_pos.unwrap_or_default()), + my_prev_rot: Vector3::from_bin(bin.my_prev_rot.unwrap_or_default()), + my_cur_scene_id: bin.my_cur_scene_id, + monster_seen_list: bin.monster_seen_list, + world_product_map: bin.world_product_map.into_iter().collect(), + my_cur_area_id: bin.my_cur_area_id, + dungeon_product_map: bin.dungeon_product_map.into_iter().collect(), + my_cur_player_scene_id: bin.my_cur_player_scene_id, + my_cur_home_scene_id: bin.my_cur_home_scene_id, + ..Default::default() + } + } + + pub fn to_bin(&self) -> PlayerSceneCompBin { + PlayerSceneCompBin { + world: Some(self.own_world.borrow().to_bin()), + cur_scene_owner_uid: self.cur_scene_owner_uid.clone(), + my_prev_scene_id: self.my_prev_scene_id.clone(), + my_prev_pos: Some(self.my_prev_pos.to_bin()), + my_prev_rot: Some(self.my_prev_rot.to_bin()), + my_cur_scene_id: self.my_cur_scene_id.clone(), + monster_seen_list: self.monster_seen_list.clone(), + world_product_map: self.world_product_map.clone().into_iter().collect(), + my_cur_area_id: self.my_cur_area_id.clone(), + dungeon_product_map: self.dungeon_product_map.clone().into_iter().collect(), + my_cur_player_scene_id: self.my_cur_player_scene_id.clone(), + my_cur_home_scene_id: self.my_cur_home_scene_id.clone(), + ..Default::default() + } + } +} diff --git a/gameserver/src/scene/player_world.rs b/gameserver/src/scene/player_world.rs new file mode 100644 index 0000000..6c6edf8 --- /dev/null +++ b/gameserver/src/scene/player_world.rs @@ -0,0 +1,258 @@ +use std::{ + cell::RefCell, + collections::{BTreeMap, HashMap}, + rc::{Rc, Weak}, +}; + +use common::tools::time_utils; +use proto::{Retcode, WorldBin}; +use tokio::sync::OnceCell; + +use crate::player::Player; + +use super::{scene_mgr, Scene, SceneTeam}; + +pub struct WorldPlayerSlotInfo { + pub uid: u32, + pub pre_enter_time: u64, +} + +pub struct WorldPlayerInfo { + pub player_wtr: Weak, + pub enter_time: u64, + pub cur_scene_id: u32, +} + +#[derive(Default)] +pub struct PlayerWorld { + player: OnceCell>, + pub scene_team: SceneTeam, + slot_info_map: HashMap, + player_info_map: HashMap, + pub scene_map: BTreeMap>>, + pub level: u32, + pub last_adjust_time: u32, + pub adjust_level: u32, +} + +impl PlayerWorld { + pub fn set_player(&self, player: Rc) { + self.player.set(Rc::downgrade(&player)).unwrap(); + self.scene_map + .values() + .for_each(|scene| scene.borrow_mut().set_own_player(player.clone())); + } + + pub fn player(&self) -> Option> { + self.player.get().map(|p| p.upgrade())? + } + + pub fn init(&mut self) { + if self.scene_map.len() != 0 { + for (_, scene) in self.scene_map.iter_mut() { + scene.borrow_mut().init(); + } + + let default_scene_id = data::get_default_world_main_scene_id(); + + // TODO: last scene id + self.scene_team.init( + self.player().unwrap(), + self.player().unwrap().uid, + default_scene_id, + ); + } else { + let default_scene_id = data::get_default_world_main_scene_id(); + let mut scene = scene_mgr::create_scene(default_scene_id, self.player().unwrap()); + scene.init(); + self.scene_map + .insert(default_scene_id, Rc::new(RefCell::new(scene))); + tracing::info!( + "[SCENE] first create scene, scene_id:{}, uid: {}", + default_scene_id, + self.player().unwrap().uid + ); + + self.scene_team.init( + self.player().unwrap(), + self.player().unwrap().uid, + default_scene_id, + ); + } + } + + pub fn get_main_world_scene(&self) -> Option>> { + self.scene_map + .get(&data::get_default_world_main_scene_id()) + .cloned() + } + + pub fn pre_player_login(&mut self, is_relogin: bool) { + for (_, scene) in self.scene_map.iter_mut() { + scene.borrow_mut().pre_player_login(is_relogin); + } + } + + pub fn player_pre_enter(&mut self, player: &Player) -> Result<(), Retcode> { + if self.is_world_full() { + tracing::warn!("uid: {} player_pre_enter fails, world is full", player.uid); + return Err(Retcode::RetFail); + } + + let owner_uid = self.get_owner_uid(); + + if self + .slot_info_map + .insert( + player.uid, + WorldPlayerSlotInfo { + uid: player.uid, + pre_enter_time: time_utils::get_now(), + }, + ) + .is_some() + { + tracing::warn!( + "uid: {} already pre_enter world, owner: {}", + player.uid, + owner_uid + ); + } + + // TODO: World::notifyPreEnterMpPlayer + + tracing::info!( + "[WORLD] uid: {} pre-Enter world, owner: {}", + player.uid, + owner_uid + ); + + Ok(()) + } + + pub fn player_enter(&mut self, player: &Rc) -> Result<(), Retcode> { + let Some(own_player) = self.player() else { + tracing::error!("get_own_player fails"); + return Err(Retcode::RetFail); + }; + + if let Err(ret) = self.check_player_enter(player) { + tracing::warn!( + "[WORLD] uid: {} enter world fail, owner: {}, ret: {:?}", + player.uid, + own_player.uid, + ret + ); + return Err(ret); + } + + tracing::info!( + "[WORLD] uid: {} enter world, owner: {}", + player.uid, + own_player.uid + ); + + self.player_info_map.insert( + player.uid, + WorldPlayerInfo { + player_wtr: Rc::downgrade(player), + enter_time: time_utils::get_now(), + cur_scene_id: 0, + }, + ); + + self.scene_team.on_player_enter(player.clone()); + + // TODO: World::notifyAllPlayerInfo + // TODO: PlayerWorld::notifyWorldAndOwnerData + + if self.get_player_count() > 1 { + // MP stuff + // TODO: PlayerWorld::onPlayerCountChange + // TODO: World::notifyEnterWorldChatChannel + } + + Ok(()) + } + + pub fn check_player_enter(&self, player: &Player) -> Result<(), Retcode> { + let own_player = self.player().ok_or(Retcode::RetFail)?; + + if self.is_world_full() { + tracing::error!( + "uid: {} enter owner: {} world fails", + player.uid, + own_player.uid + ); + return Err(Retcode::RetFail); + } + + if own_player.uid != player.uid { + if !self.player_info_map.contains_key(&own_player.uid) { + tracing::warn!( + "owner_uid:{} not in world, uid:{}", + own_player.uid, + player.uid + ); + return Err(Retcode::RetMpGuestLoadingFirstEnter); + } + } + + if !self.slot_info_map.contains_key(&player.uid) { + tracing::warn!( + "world owner: {} cannot found slot for uid: {}", + own_player.uid, + player.uid + ); + return Err(Retcode::RetFail); + } + + Ok(()) + } + + fn is_world_full(&self) -> bool { + self.get_player_count() >= self.get_max_player_count() + } + + pub fn get_player_count(&self) -> usize { + self.scene_team.get_team_player_num() + } + + pub fn get_max_player_count(&self) -> usize { + 4 + } + + pub fn get_owner_uid(&self) -> u32 { + self.player().map(|p| p.uid).unwrap_or_default() + } + + pub fn from_bin(bin: WorldBin) -> Self { + Self { + scene_map: bin + .scene_map + .into_iter() + .map(|(id, sc)| (id, Rc::new(RefCell::new(Scene::from_bin(id, sc))))) + .collect(), + scene_team: SceneTeam::default(), + level: bin.level, + last_adjust_time: bin.last_adjust_time, + adjust_level: bin.adjust_level, + player: OnceCell::new(), + slot_info_map: HashMap::new(), + player_info_map: HashMap::new(), + } + } + + pub fn to_bin(&self) -> WorldBin { + WorldBin { + scene_map: self + .scene_map + .iter() + .map(|(id, sc)| (*id, sc.borrow().to_bin())) + .collect(), + level: self.level, + last_adjust_time: self.last_adjust_time, + adjust_level: self.adjust_level, + } + } +} diff --git a/gameserver/src/scene/player_world_scene.rs b/gameserver/src/scene/player_world_scene.rs new file mode 100644 index 0000000..bc8361d --- /dev/null +++ b/gameserver/src/scene/player_world_scene.rs @@ -0,0 +1,29 @@ +use proto::SceneBin; + +use super::BaseScene; + +pub struct PlayerWorldScene { + pub base: BaseScene, +} + +impl PlayerWorldScene { + pub fn new(scene_id: u32) -> Self { + Self { + base: BaseScene::new(scene_id), + } + } + + pub fn from_bin(scene_id: u32, bin: SceneBin) -> Self { + Self { + base: BaseScene::from_bin(scene_id, bin), + } + } + + pub fn to_bin(&self) -> SceneBin { + self.base.to_bin() + } + + pub fn init(&mut self) { + self.base.init(); + } +} diff --git a/gameserver/src/scene/region.rs b/gameserver/src/scene/region.rs new file mode 100644 index 0000000..314e420 --- /dev/null +++ b/gameserver/src/scene/region.rs @@ -0,0 +1,119 @@ +#![allow(unused)] + +use std::{cell::RefCell, collections::HashMap, rc::Rc, sync::Arc}; + +use data::math_def::{Vector3, VECTOR3_ZERO}; +use parking_lot::Mutex; + +use crate::entity::Entity; + +use super::Scene; + +#[derive(Default)] +pub struct RegionBase { + pub entity_table: HashMap>>, +} + +pub enum RegionShape { + Sphere, + Cubic, + Cylinder, + Polygon, +} + +pub enum Region { + Cubic(RegionBase, Vector3, Vector3), +} + +impl Region { + pub fn new_cubic(pos: Vector3, size: Vector3) -> Region { + Region::Cubic(RegionBase::default(), pos, size) + } + + pub fn get_region_shape(&self) -> RegionShape { + match self { + //Self::Sphere(..) => RegionShape::Sphere, + Self::Cubic(..) => RegionShape::Cubic, + } + } + + pub fn add_entity(&mut self, entity_ptr: Arc>) { + let entity_id = entity_ptr.lock().entity_id(); + self.base_mut().entity_table.insert(entity_id, entity_ptr); + + // TODO: group events + } + + pub fn is_in_region(&self, pos: &Vector3) -> bool { + match self { + Self::Cubic(_, position, size) => { + if pos.x < (position.x as f32 - (size.x as f32 / 2.0)) + || ((size.x as f32 / 2.0) + position.x as f32) < pos.x as f32 + { + return false; + } + + if pos.y < (position.y as f32 - (size.y as f32 / 2.0)) + || ((size.y as f32 / 2.0) + position.y as f32) < pos.y as f32 + { + return false; + } + + pos.z < (position.z as f32 - (size.z as f32 / 2.0)) + || ((size.z as f32 / 2.0) + position.z as f32) < pos.z as f32 + } + } + } + + fn base(&self) -> &RegionBase { + match self { + //Self::Sphere(base) => &base, + Self::Cubic(base, ..) => &base, + } + } + + fn base_mut(&mut self) -> &mut RegionBase { + match self { + //Self::Sphere(base) => &mut base, + Self::Cubic(base, ..) => base, + } + } +} + +impl Entity for Region { + fn get_entity_type(&self) -> proto::ProtEntityType { + proto::ProtEntityType::ProtEntityRegion + } + + fn get_group_id(&self) -> u32 { + 0 // todo? + } + + fn entity_id(&self) -> u32 { + 0 + } + + fn set_entity_id(&mut self, _id: u32) {} + + fn position(&self) -> &data::math_def::Vector3 { + match self { + Self::Cubic(_, pos, ..) => pos, + } + } + + fn rotation(&self) -> &data::math_def::Vector3 { + &VECTOR3_ZERO + } + + fn set_position(&mut self, pos: data::math_def::Vector3) { + match self { + Self::Cubic(_, p, ..) => *p = pos, + }; + } + + fn set_rotation(&mut self, _rot: data::math_def::Vector3) {} + + fn get_owner_player(&self) -> Option> { + None + } +} diff --git a/gameserver/src/scene/scene.rs b/gameserver/src/scene/scene.rs new file mode 100644 index 0000000..4a0d898 --- /dev/null +++ b/gameserver/src/scene/scene.rs @@ -0,0 +1,851 @@ +use std::{ + cell::RefCell, + collections::{BTreeMap, HashMap}, + rc::{Rc, Weak}, + sync::atomic::{AtomicU32, Ordering}, +}; + +use common::tools::time_utils; +use data::{ + math_def::{Vector2, Vector3}, + SceneType, +}; +use proto::{ + EnterType, HostPlayerNotify, ProtEntityType, Retcode, SceneBin, SceneDataNotify, + SceneEntityAppearNotify, SceneEntityDisappearNotify, SceneEntityInfo, SceneForceUnlockNotify, + ScenePlayerLocationBin, VisionType, +}; +use tokio::sync::OnceCell; + +use crate::{ + entity::{entity_mgr, entity_utils, Entity, VisionContext}, + player::{avatar::Avatar, Player}, +}; + +use super::{ + dungeon_scene::DungeonScene, player_world_scene::PlayerWorldScene, MPLevelEntity, PlayerWorld, + SceneSightComp, +}; + +pub enum Scene { + PlayerWorld(PlayerWorldScene), + Dungeon(DungeonScene), +} + +impl Scene { + pub fn new(scene_id: u32) -> Self { + let scene_type = data::iter_scene_data() + .find(|s| s.id == scene_id) + .unwrap() + .r#type; + + match scene_type { + SceneType::World => Self::PlayerWorld(PlayerWorldScene::new(scene_id)), + SceneType::Dungeon => Self::Dungeon(DungeonScene::new(scene_id)), + _ => panic!("Invalid scene type {scene_type:?}"), + } + } + + pub fn from_bin(scene_id: u32, bin: SceneBin) -> Self { + let scene_type = data::iter_scene_data() + .find(|s| s.id == scene_id) + .unwrap() + .r#type; + + match scene_type { + SceneType::World => Self::PlayerWorld(PlayerWorldScene::from_bin(scene_id, bin)), + SceneType::Dungeon => Self::Dungeon(DungeonScene::from_bin(scene_id, bin)), + _ => panic!("Invalid scene type {scene_type:?}"), + } + } + + pub fn to_bin(&self) -> SceneBin { + match self { + Self::PlayerWorld(scene) => scene.to_bin(), + Self::Dungeon(scene) => scene.to_bin(), + } + } + + pub fn base(&self) -> &BaseScene { + match self { + Self::PlayerWorld(scene) => &scene.base, + Self::Dungeon(scene) => &scene.base, + } + } + + pub fn base_mut(&mut self) -> &mut BaseScene { + match self { + Self::PlayerWorld(scene) => &mut scene.base, + Self::Dungeon(scene) => &mut scene.base, + } + } + + pub fn gen_new_entity_id(&self, ty: ProtEntityType) -> u32 { + self.base().gen_new_entity_id(ty) + } + + pub fn init(&mut self) { + match self { + Self::PlayerWorld(scene) => scene.init(), + Self::Dungeon(scene) => scene.init(), + } + } + + pub fn player_enter( + &mut self, + player: &Rc, + pos: Vector3, + rot: Vector3, + is_relogin: bool, + enter_scene_avatar: Vec>>, + appear_avatar_ptr: &Rc>, + ) -> Result<(), Retcode> { + let uid = player.uid; + let Some(_peer_id) = self.base().get_peer_id(uid) else { + return Err(Retcode::RetFail); + }; + + self.base_mut() + .player_map + .insert(player.uid, Rc::downgrade(player)); + + { + let Some(host_player) = self + .base() + .host_player_wtr + .as_ref() + .map(|p| p.upgrade()) + .flatten() + else { + return Err(Retcode::RetFail); + }; + + let mut host_avatar_comp = host_player.player_avatar_comp.borrow_mut(); + if host_avatar_comp.team_entity.upgrade().is_none() { + let team_entity = + Rc::new(RefCell::new(entity_mgr::create_avatar_team_entity(self))); + team_entity.borrow_mut().set_player(player); + host_avatar_comp.team_entity = Rc::downgrade(&team_entity); + + self.base_mut() + .add_gridless_entity(team_entity as Rc>)?; + } + } + + let mut avatar_comp = player.player_avatar_comp.borrow_mut(); + if let Some(cur_avatar) = avatar_comp.get_cur_avatar() { + if cur_avatar.borrow().is_on_scene() { + tracing::error!("[ENTER] last cur avatar is on scene! uid: {}", player.uid); + } + } + + let mut scene_comp = player.player_scene_comp.borrow_mut(); + let dest_enter_type = scene_comp.dest_enter_type; + let prev_scene_id = scene_comp.cur_scene_id; + let new_scene_id = self.base().scene_id; + + scene_comp.cur_scene_id = new_scene_id; + scene_comp.cur_scene_owner_uid = self.base().owner_uid(); + + drop(scene_comp); + // SET after: player.player_scene_comp.lock().cur_scene_wtr = self + + avatar_comp.set_cur_avatar(appear_avatar_ptr); + drop(avatar_comp); + + let appear_avatar_guid = { + let appear_avatar = appear_avatar_ptr.borrow(); + appear_avatar.base_avatar().guid + }; + + let avatar_guid_vec = enter_scene_avatar + .iter() + .map(|a| a.borrow().base_avatar().guid) + .collect(); + let cur_world_ptr = self.base().cur_world_wtr.upgrade().unwrap(); + cur_world_ptr + .borrow_mut() + .scene_team + .set_player_avatar_team_and_add_to_scene( + player.uid, + avatar_guid_vec, + appear_avatar_guid, + self, + false, + ) + .map_err(|err| { + tracing::error!( + "set_player_avatar_team_and_add_to_scene failed, uid:{}", + player.uid + ); + err + })?; + + if self.base().owner_uid() == player.uid { + let scene_id = self.base().scene_id; + + let mut scene_comp = player.player_scene_comp.borrow_mut(); + scene_comp.my_cur_scene_id = scene_id; + scene_comp.my_cur_player_scene_id = scene_id; + // TODO: differentiate between home/player scene! + // scene_comp.my_home_scene_id = scene_id; + } + + if prev_scene_id != new_scene_id + || is_relogin + || dest_enter_type == EnterType::EnterGotoRecreate + { + self.notify_scene_and_host_data(player.uid); + player.notify_player_enter_scene_info(self); + // Player::setIsDataResVersionChanged(player, 0); + } else if prev_scene_id == new_scene_id { + // TODO: for Goto/Jump ('re-enter' current scene) + // v91 = Player::getAvatarComp(v90); + // std::function::function> const&,std::shared_ptr)::{lambda(Avatar &)#1},void,void>( + // (std::function *const)&v140, + // (Scene::playerEnter::)(v7 + 480)); + // PlayerAvatarComp::foreachMyAvatarInSceneTeam(v91, (std::function *)&v140); + } + + let scene_player_location = ScenePlayerLocation { + cur_pos: pos.clone(), + cur_rot: rot.clone(), + last_valid_pos: pos.clone(), + last_valid_rot: rot.clone(), + }; + + self.set_player_location(player.uid, scene_player_location); + + { + let avatar_comp = player.player_avatar_comp.borrow(); + let cur_avatar_ptr = avatar_comp.get_cur_avatar().unwrap(); + let mut cur_avatar = cur_avatar_ptr.borrow_mut(); + cur_avatar.set_position(pos.clone()); + cur_avatar.set_rotation(rot.clone()); + cur_avatar.set_last_valid_position(pos); + cur_avatar.set_last_valid_rotation(rot); + } + + // TODO: Scene::notifyAllPlayerInfo(); + cur_world_ptr.borrow().scene_team.notify_scene_team_update(); + + // Scene::notifyAllTeamEntity() -> SyncTeamEntityNotify ? + // Scene::notifyAllPlayTeamEntity() + + Ok(()) + } + + pub fn get_or_create_mp_level_entity(&mut self) -> Rc> { + if let Some(mp_level_entity) = self.base().mp_level_entity_ptr.as_ref() { + return mp_level_entity.clone(); + } + + let mut mp_level_entity = MPLevelEntity::default(); + mp_level_entity.set_authority_peer_id(self.base().get_host_peer_id().unwrap_or_default()); + mp_level_entity.set_entity_id(self.gen_new_entity_id(ProtEntityType::ProtEntityMpLevel)); + + let mp_level_entity_ptr = Rc::new(RefCell::new(mp_level_entity)); + self.add_gridless_entity(mp_level_entity_ptr.clone() as Rc>) + .unwrap(); + + self.base_mut().mp_level_entity_ptr = Some(mp_level_entity_ptr.clone()); + mp_level_entity_ptr + } + + pub fn set_player_location(&mut self, uid: u32, player_location: ScenePlayerLocation) { + if self.base().owner_uid() == uid { + self.base_mut().owner_player_location = player_location.clone(); + } + + tracing::info!( + "[ENTER_SCENE] set_player_location, last_valid_pos:{:?}, cur_pos:{:?}", + player_location.last_valid_pos, + player_location.cur_pos + ); + + self.base_mut() + .player_location_map + .insert(uid, player_location); + } + + fn notify_scene_and_host_data(&self, uid: u32) { + let Some(player) = self.base().find_player(uid) else { + tracing::warn!("find_player failed, uid:{uid}"); + return; + }; + + self.notify_all_unlock_force(player.as_ref()); + self.notify_host_to_player(player.as_ref()); + self.notify_scene_data(player.as_ref()); + + if false + // if let Some(home_comp) = self.base().get_own_home() + { + // home_comp.notify_game_time(player.as_ref()); + } else { + let own_player = self.base().own_player().unwrap(); + own_player + .player_basic_comp + .borrow() + .notify_game_time(player.as_ref()); + } + } + + fn notify_all_unlock_force(&self, player: &Player) { + player.send_proto(SceneForceUnlockNotify { + force_id_list: self.base().unlocked_force_list.clone(), + is_add: false, + }); + } + + fn notify_host_to_player(&self, player: &Player) { + let Some(host_player) = self.base().get_host_player() else { + tracing::error!("host_player_ptr is None"); + return; + }; + + player.send_proto(HostPlayerNotify { + host_uid: host_player.uid, + host_peer_id: self.base().get_peer_id(host_player.uid).unwrap(), + }); + } + + fn notify_scene_data(&self, player: &Player) { + let mut scene_data_notify = SceneDataNotify::default(); + if self.fill_scene_data_notify(&mut scene_data_notify).is_err() { + tracing::warn!("fill_scene_data_notify failed"); + return; + } + + player.send_proto(scene_data_notify); + } + + fn fill_scene_data_notify(&self, _notify: &mut SceneDataNotify) -> Result<(), Retcode> { + // TODO! + Ok(()) + } + + pub fn add_avatar_and_weapon_entity( + &mut self, + avatar_ptr: Rc>, + _is_enter_scene: bool, + ) -> Result<(), Retcode> { + { + let mut avatar = avatar_ptr.borrow_mut(); + avatar.set_entity_id(self.gen_new_entity_id(ProtEntityType::ProtEntityAvatar)); + + tracing::info!( + "[LR] add_avatar_and_weapon_entity, avatar_id:{} avatar_guid:{} entity_id:{}", + avatar.base_avatar().avatar_id, + avatar.base_avatar().guid, + avatar.entity_id() + ); + } + + self.add_gridless_entity(avatar_ptr.clone() as Rc>) + .map_err(|_| { + tracing::warn!("add_gridless_entity fails"); + Retcode::RetFail + })?; + + let ability_comp = { + let avatar = avatar_ptr.borrow(); + avatar.base_avatar().ability_comp.clone() + }; + + ability_comp.borrow_mut().init(avatar_ptr.clone()); + + let mut avatar = avatar_ptr.borrow_mut(); + let Some(weapon_gadget) = avatar.base_avatar_mut().equip_comp.weapon_gadget.as_mut() else { + tracing::error!("missing weapon gadget!"); + return Err(Retcode::RetFail); + }; + + weapon_gadget + .borrow_mut() + .set_entity_id(self.gen_new_entity_id(ProtEntityType::ProtEntityWeapon)); + + self.add_gridless_entity(weapon_gadget.clone() as Rc>) + .map_err(|_| { + tracing::warn!( + "add_gridless_entity fails, weapon_entity_id:{}", + weapon_gadget.borrow().entity_id() + ); + Retcode::RetFail + })?; + + weapon_gadget.borrow_mut().init_ability().map_err(|_| { + tracing::warn!("init_ability fails"); + Retcode::RetFail + })?; + + Ok(()) + } + + pub fn del_avatar_and_weapon_entity(&mut self, avatar_ptr: Rc>) { + let entity_id = avatar_ptr.borrow().entity_id(); + avatar_ptr.borrow_mut().set_entity_id(0); + if self + .del_gridless_entity(avatar_ptr.clone() as Rc>) + .is_err() + { + tracing::warn!( + "del_gridless_entity_fails {}", + avatar_ptr.borrow().get_desc() + ); + return; + } + + let avatar = avatar_ptr.borrow(); + if let Some(gadget) = avatar.base_avatar().equip_comp.weapon_gadget.clone() { + if self + .del_gridless_entity(gadget.clone() as Rc>) + .is_err() + { + tracing::warn!( + "del_gridless_entity fails, weapon_entity_id:{}", + gadget.borrow().entity_id() + ); + return; + } + } + + tracing::info!( + "del_avatar_and_weapon_entity finished, avatar_entity_id:{entity_id}, guid:{}", + avatar.base_avatar().guid + ); + } + + pub fn entity_appear( + &mut self, + entity: &Rc>, + vision_context: VisionContext, + ) -> Result<(), Retcode> { + let sight_comp = self.base_mut().sight_comp.as_mut().unwrap(); + let Ok(meet_entity_vec) = sight_comp.place_entity(entity.clone()) else { + tracing::error!("place_entity fails"); + return Err(Retcode::RetFail); + }; + + let (pos, entity_id) = { + let entity = entity.borrow(); + ( + Vector2 { + x: entity.position().x, + y: entity.position().z, + }, + entity.entity_id(), + ) + }; + + let coordinate = + sight_comp.pos_to_coordinate(sight_comp.get_vision_level_type(&entity), &pos); + + tracing::info!( + "[FY] meet entity vec: {:?} @ {:?}", + meet_entity_vec + .iter() + .map(|a| a.borrow().get_desc()) + .collect::>(), + coordinate + ); + + self.base_mut().entity_map.insert(entity_id, entity.clone()); + + // TODO: PlayerViewMgr + + if vision_context.vision_type != VisionType::VisionReplaceNoNotify { + for player_wtr in self.base().player_map.values() { + if let Some(player) = player_wtr.upgrade() { + self.notify_entity_appear(&player, &meet_entity_vec, &vision_context) + } + } + } + + Ok(()) + } + + pub fn entity_disappear( + &mut self, + entity: &Rc>, + vision_context: VisionContext, + ) -> Result<(), Retcode> { + if !entity.borrow().is_on_scene() { + tracing::info!("entity is not on scene {}", entity.borrow().get_desc()); + return Ok(()); + } + + self.base_mut() + .sight_comp + .as_mut() + .unwrap() + .remove_entity(entity); + + // TODO: disappear nearby entities on avatar death (PROT_ENTITY_AVATAR and not replace) + if vision_context.vision_type != VisionType::VisionReplaceNoNotify { + for player_wtr in self.base().player_map.values() { + if let Some(player) = player_wtr.upgrade() { + self.notify_entity_disappear( + &player, + &[entity.borrow().entity_id()], + &vision_context, + ) + } + } + } + + Ok(()) + } + + fn notify_entity_appear( + &self, + player: &Player, + entity_vec: &[Rc>], + context: &VisionContext, + ) { + let mut notify = SceneEntityAppearNotify::default(); + + for entity_ptr in entity_vec { + let entity = entity_ptr.borrow(); + let mut scene_entity_info = SceneEntityInfo::default(); + entity.to_client(&mut scene_entity_info); + notify.entity_list.push(scene_entity_info); + } + + notify.appear_type = context.vision_type.into(); + notify.param = context.param; + + player.send_proto(notify); + } + + fn notify_entity_disappear( + &self, + player: &Player, + entity_id_vec: &[u32], + context: &VisionContext, + ) { + player.send_proto(SceneEntityDisappearNotify { + entity_list: entity_id_vec.to_vec(), + disappear_type: context.vision_type.into(), + param: context.param, + }); + } + + fn add_gridless_entity(&mut self, entity: Rc>) -> Result<(), Retcode> { + self.base_mut().add_gridless_entity(entity) + } + + fn del_gridless_entity(&mut self, entity: Rc>) -> Result<(), Retcode> { + self.base_mut().del_gridless_entity(entity) + } + + pub fn pre_player_login(&mut self, is_relogin: bool) { + self.base_mut().pre_player_login(is_relogin); + } + + pub fn set_own_player(&self, player: Rc) { + self.base().set_own_player(player); + } +} + +#[derive(Default, Clone)] +pub struct ScenePlayerLocation { + pub cur_pos: Vector3, + pub cur_rot: Vector3, + pub last_valid_pos: Vector3, + pub last_valid_rot: Vector3, +} + +impl ScenePlayerLocation { + pub fn from_bin(bin: ScenePlayerLocationBin) -> Self { + Self { + cur_pos: Vector3::from_bin(bin.cur_pos.unwrap_or_default()), + cur_rot: Vector3::from_bin(bin.cur_rot.unwrap_or_default()), + last_valid_pos: Vector3::from_bin(bin.last_valid_pos.unwrap_or_default()), + last_valid_rot: Vector3::from_bin(bin.last_valid_rot.unwrap_or_default()), + } + } + + pub fn to_bin(&self) -> ScenePlayerLocationBin { + ScenePlayerLocationBin { + cur_pos: Some(self.cur_pos.to_bin()), + cur_rot: Some(self.cur_rot.to_bin()), + last_valid_pos: Some(self.last_valid_pos.to_bin()), + last_valid_rot: Some(self.last_valid_rot.to_bin()), + } + } +} + +pub struct ScenePlayerPeerInfo { + pub uid: u32, + #[allow(unused)] + pub enter_time: u64, +} + +#[derive(Default)] +pub struct BaseScene { + own_player: OnceCell>, + pub scene_id: u32, + pub unlocked_point_list: Vec, + pub unlocked_force_list: Vec, + pub locked_point_list: Vec, + pub owner_player_location: ScenePlayerLocation, + pub unhide_point_list: Vec, + pub scene_transaction: String, + pub begin_time_ms: u64, + peer_map: BTreeMap, + host_player_wtr: Option>, + player_map: HashMap>, + pub cur_world_wtr: Weak>, + pub gridless_entity_map: HashMap>>, + next_entity_index: AtomicU32, + pub mp_level_entity_ptr: Option>>, + pub player_location_map: HashMap, + pub sight_comp: Option, + pub entity_map: HashMap>>, +} + +impl BaseScene { + pub fn new(scene_id: u32) -> Self { + Self { + scene_id, + ..Default::default() + } + } + + pub fn init(&mut self) { + self.scene_transaction = self.create_scene_transaction_on_init(); + self.begin_time_ms = time_utils::get_now_ms(); + + self.sight_comp = Some( + SceneSightComp::new_grid( + Vector2::default(), + Vector2 { + // TODO! + x: 100000.0, + y: 100000.0, + }, + ) + .unwrap(), + ); + } + + pub fn pre_player_login(&mut self, _is_relogin: bool) { + // TODO: BlockGroupComp::prePlayerLogin() + } + + pub fn player_pre_enter(&mut self, player: Rc) -> Result<(), Retcode> { + if self.get_peer_id(player.uid).is_some() { + tracing::info!("peer_id exist in scene, scene_id:{}", self.scene_id); + return Ok(()); + } + + if self.peer_map.len() > 3 { + tracing::info!("scene is full, scene_id:{}", self.scene_id); + Err(Retcode::RetMpSceneIsFull) + } else { + let mut peer_id = 1; + self.peer_map.keys().for_each(|id| { + if peer_id == *id { + peer_id += 1; + } + }); + + if peer_id > 7 { + tracing::error!("invalid peer_id:{peer_id}"); + return Err(Retcode::RetFail); + } + + player.peer_id.set(peer_id); + self.peer_map.insert( + peer_id, + ScenePlayerPeerInfo { + uid: player.uid, + enter_time: time_utils::get_now(), + }, + ); + + if self.host_player_wtr.is_none() { + self.set_host_player(player.clone()); + } + + tracing::info!( + "[EnterScene] player preEnter scene, scene_id:{}", + self.scene_id + ); + Ok(()) + } + } + + pub fn set_host_player(&mut self, player: Rc) { + self.host_player_wtr = Some(Rc::downgrade(&player)); + + player.send_proto(HostPlayerNotify { + host_uid: player.uid, + host_peer_id: self.get_peer_id(player.uid).unwrap(), + }) + } + + pub fn get_peer_id(&self, uid: u32) -> Option { + self.peer_map + .iter() + .find(|(_, info)| info.uid == uid) + .map(|(id, _)| *id) + } + + pub fn get_host_peer_id(&self) -> Option { + self.host_player_wtr + .clone() + .map(|w| w.upgrade())? + .map(|p| self.get_peer_id(p.uid))? + } + + pub fn get_host_player(&self) -> Option> { + self.host_player_wtr.clone().map(|w| w.upgrade()).flatten() + } + + pub fn find_player(&self, uid: u32) -> Option> { + self.player_map.get(&uid).map(|p| p.upgrade()).flatten() + } + + pub fn add_gridless_entity( + &mut self, + entity_ptr: Rc>, + ) -> Result<(), Retcode> { + let entity_id = entity_ptr.borrow().entity_id(); + tracing::info!("[LR] add_gridless_entity, entity_id:{entity_id}"); + if self.gridless_entity_map.contains_key(&entity_id) { + tracing::warn!("duplicated gridless entity_id:{entity_id}"); + return Err(Retcode::RetFail); + } + + self.gridless_entity_map + .insert(entity_id, entity_ptr.clone()); + + Ok(()) + } + + pub fn del_gridless_entity( + &mut self, + entity_ptr: Rc>, + ) -> Result<(), Retcode> { + let entity_id = entity_ptr.borrow().entity_id(); + self.gridless_entity_map.remove(&entity_id); + tracing::info!("[LR] del_gridless_entity, entity_id:{entity_id}"); + + Ok(()) + } + + pub fn set_player_last_valid_location_on_first_login(&mut self) { + // Currently hardcoded spawn pos, because no lua. + + self.owner_player_location.last_valid_pos = Vector3 { + x: 2747.562, + y: 194.633, + z: -1719.386, + }; + + self.owner_player_location.last_valid_rot = Vector3 { + x: 0.0, + y: 307.0, + z: 0.0, + }; + } + + pub fn get_last_owner_location(&self) -> (Vector3, Vector3) { + ( + self.owner_player_location.last_valid_pos.clone(), + self.owner_player_location.last_valid_rot.clone(), + ) + } + + pub fn gen_new_entity_id(&self, ty: ProtEntityType) -> u32 { + let mut next_entity_index = self.next_entity_index.load(Ordering::SeqCst); + let mut is_rewind = false; + if next_entity_index <= 0xFFFFFE { + next_entity_index = self.next_entity_index.fetch_add(1, Ordering::SeqCst) + 1; + } else { + is_rewind = true; + next_entity_index = 1; + self.next_entity_index.store(1, Ordering::SeqCst); + } + + if is_rewind { + tracing::warn!( + "next_entity_index rewind. scene_id:{} owner_uid:{} scene_time_ms:{}", + self.scene_id, + self.owner_uid(), + self.get_scene_time_ms() + ); + + // TODO: config->kick_out_on_entity_id_circle + } + + entity_utils::get_entity_id(ty, next_entity_index) + } + + pub fn get_scene_time_ms(&self) -> u64 { + time_utils::get_now_ms() - self.begin_time_ms + } + + fn create_scene_transaction_on_init(&self) -> String { + static TRANSACTION_COUNTER: AtomicU32 = AtomicU32::new(0); + + format!( + "{}-{}-{}-{}", + self.scene_id, + self.owner_uid(), + time_utils::get_now(), + TRANSACTION_COUNTER.fetch_add(1, Ordering::SeqCst) + 1 + ) + } + + pub fn from_bin(scene_id: u32, bin: SceneBin) -> Self { + Self { + scene_id, + scene_transaction: String::new(), + begin_time_ms: 0, + own_player: OnceCell::new(), + unlocked_point_list: bin.unlocked_point_list, + unlocked_force_list: bin.unlocked_force_list, + locked_point_list: bin.locked_point_list, + owner_player_location: ScenePlayerLocation::from_bin( + bin.owner_player_location.unwrap_or_default(), + ), + unhide_point_list: bin.unhide_point_list, + peer_map: BTreeMap::new(), + host_player_wtr: None, + player_map: HashMap::new(), + cur_world_wtr: Weak::new(), + gridless_entity_map: HashMap::new(), + next_entity_index: AtomicU32::new(0), + mp_level_entity_ptr: None, + player_location_map: HashMap::new(), + sight_comp: None, + entity_map: HashMap::new(), + } + } + + pub fn to_bin(&self) -> SceneBin { + SceneBin { + unlocked_point_list: self.unlocked_point_list.clone(), + unlocked_force_list: self.unlocked_force_list.clone(), + locked_point_list: self.locked_point_list.clone(), + owner_player_location: Some(self.owner_player_location.to_bin()), + unhide_point_list: self.unhide_point_list.clone(), + ..Default::default() + } + } + + pub fn own_player(&self) -> Option> { + self.own_player.get().map(|p| p.upgrade())? + } + + pub fn set_own_player(&self, player: Rc) { + let _ = self.own_player.set(Rc::downgrade(&player)); + } + + pub fn owner_uid(&self) -> u32 { + self.own_player().unwrap().uid + } +} diff --git a/gameserver/src/scene/scene_mgr.rs b/gameserver/src/scene/scene_mgr.rs new file mode 100644 index 0000000..e8d5713 --- /dev/null +++ b/gameserver/src/scene/scene_mgr.rs @@ -0,0 +1,12 @@ +use std::rc::Rc; + +use crate::player::Player; + +use super::Scene; + +pub fn create_scene(scene_id: u32, player: Rc) -> Scene { + let scene = Scene::new(scene_id); + scene.set_own_player(player); + + scene +} diff --git a/gameserver/src/scene/scene_sight_comp.rs b/gameserver/src/scene/scene_sight_comp.rs new file mode 100644 index 0000000..d729e59 --- /dev/null +++ b/gameserver/src/scene/scene_sight_comp.rs @@ -0,0 +1,226 @@ +use std::{cell::RefCell, collections::HashMap, rc::Rc}; + +use data::math_def::{Coordinate, Vector2}; +use num_enum::FromPrimitive; +use proto::Retcode; + +use crate::entity::Entity; + +use super::grid_mgr::GridMgr; + +#[derive(Debug, Default, Clone, Copy, FromPrimitive)] +#[repr(u32)] +pub enum VisionLevelType { + #[default] + VisionLevelNormal, + VisionLevelLittleRemote, + VisionLevelRemote, + VisionLevelSuper, + VisionLevelNearby, + VisionLevelSuperNearby, +} + +pub struct SceneGridComp { + begin_pos: Vector2, + #[allow(unused)] + scene_size: Vector2, + grid_mgr_arr: [GridMgr; 6], +} + +pub enum SceneSightComp { + Grid(SceneGridComp), +} + +impl SceneSightComp { + pub fn new_grid(begin_pos: Vector2, scene_size: Vector2) -> Result { + let grid_comp = SceneGridComp::new(begin_pos, scene_size)?; + Ok(Self::Grid(grid_comp)) + } + + pub fn place_entity( + &mut self, + entity: Rc>, + ) -> Result>>, ()> { + match self { + Self::Grid(grid_comp) => grid_comp.place_entity(entity), + } + } + + pub fn remove_entity(&mut self, entity: &Rc>) { + match self { + Self::Grid(grid_comp) => grid_comp.remove_entity(entity), + } + } + + pub fn pos_to_coordinate(&self, range_type: VisionLevelType, pos: &Vector2) -> Coordinate { + match self { + Self::Grid(grid_comp) => grid_comp.pos_to_coordinate(range_type, pos), + } + } + + pub fn get_vision_level_type(&self, entity: &Rc>) -> VisionLevelType { + match self { + Self::Grid(grid_comp) => grid_comp.get_vision_level_type(entity), + } + } +} + +impl SceneGridComp { + pub fn new(begin_pos: Vector2, scene_size: Vector2) -> Result { + if scene_size.x == 0.0 || scene_size.y == 0.0 { + tracing::error!("0 == scene_size_.x || 0 == scene_size_.y"); + return Err(Retcode::RetFail); + } + + let mut grid_mgr_vec = Vec::with_capacity(6); + for vision_level in 0..6 { + let vision_level = vision_level.into(); + let grid_width = Self::get_grid_width(vision_level); + let sight_range = Self::get_sight_range(vision_level); + + if grid_width == 0 || sight_range == 0 { + tracing::error!("type: {vision_level:?} grid_width or sight_range invalid!"); + return Err(Retcode::RetFail); + } + + if grid_width * (sight_range / grid_width) != sight_range { + tracing::error!("{sight_range} / {grid_width} divide not exactly!"); + return Err(Retcode::RetFail); + } + + let Ok(grid_mgr) = + Self::create_grid_mgr(vision_level, grid_width, sight_range, &scene_size) + else { + tracing::error!("create_grid_mgr type: {vision_level:?} grid_width: {grid_width} sight_range: {sight_range} failed"); + return Err(Retcode::RetFail); + }; + + grid_mgr_vec.push(grid_mgr); + } + + Ok(Self { + begin_pos, + scene_size, + grid_mgr_arr: grid_mgr_vec.try_into().unwrap_or_else(|_| unreachable!()), + }) + } + + fn create_grid_mgr( + range_type: VisionLevelType, + grid_width: u32, + sight_range: u32, + scene_size: &Vector2, + ) -> Result { + if grid_width == 0 { + tracing::error!("invalid width: {grid_width}"); + return Err(()); + } + + let length = + ((grid_width as f32 + scene_size.x - 1.0) / (grid_width as f32)).round() as u32; + + if length > 0xFFFF { + tracing::error!("invalid length: {length}"); + return Err(()); + } + + let width = ((grid_width as f32 + scene_size.y - 1.0) / (grid_width as f32)).round() as u32; + if width > 0xFFFF { + tracing::error!("invalid width: {width}"); + return Err(()); + } + + Ok(GridMgr { + range_type, + length, + width, + sight_radius: sight_range, + grid_map: HashMap::new(), + }) + } + + pub fn place_entity( + &mut self, + entity: Rc>, + ) -> Result>>, ()> { + let vision_level_type = self.get_vision_level_type(&entity); + + let coordinate = { + let entity = entity.borrow(); + let pos = entity.position(); + let pos = Vector2 { x: pos.x, y: pos.z }; + + self.pos_to_coordinate(vision_level_type, &pos) + }; + + let grid_mgr = &mut self.grid_mgr_arr[vision_level_type as usize]; + let Ok(meet_entity_vec) = grid_mgr.place_entity(entity, coordinate) else { + tracing::error!("range_type: {vision_level_type:?} place_entity failed"); + return Err(()); + }; + + Ok(meet_entity_vec) + } + + pub fn remove_entity(&mut self, entity: &Rc>) { + let vision_level_type = self.get_vision_level_type(entity); + + let coordinate = { + let entity = entity.borrow(); + let pos = entity.position(); + let pos = Vector2 { x: pos.x, y: pos.z }; + + self.pos_to_coordinate(vision_level_type, &pos) + }; + + let grid_mgr = &mut self.grid_mgr_arr[vision_level_type as usize]; + grid_mgr.remove_entity(entity, coordinate); + } + + pub fn pos_to_coordinate(&self, range_type: VisionLevelType, pos: &Vector2) -> Coordinate { + let grid_width = Self::get_grid_width(range_type); + Coordinate { + x: (pos.x - self.begin_pos.x) as i32 / grid_width as i32, + y: (pos.y - self.begin_pos.y) as i32 / grid_width as i32, + } + } + + pub fn get_vision_level_type(&self, _entity: &Rc>) -> VisionLevelType { + // TODO! + VisionLevelType::VisionLevelNormal + } + + pub fn get_grid_width(vision_level: VisionLevelType) -> u32 { + // SceneGridComp::scene_grid_width: dd 20, 50, 250, 1000, 2 dup(20) + match vision_level { + VisionLevelType::VisionLevelNormal => 20, + VisionLevelType::VisionLevelLittleRemote => 50, + VisionLevelType::VisionLevelRemote => 250, + VisionLevelType::VisionLevelSuper => 1000, + VisionLevelType::VisionLevelNearby => 20, + VisionLevelType::VisionLevelSuperNearby => 20, + } + } + + pub fn get_sight_range(vision_level: VisionLevelType) -> u32 { + match vision_level { + VisionLevelType::VisionLevelNormal => 80, + VisionLevelType::VisionLevelLittleRemote => 200, + VisionLevelType::VisionLevelRemote => 1000, + VisionLevelType::VisionLevelSuper => 4000, + VisionLevelType::VisionLevelNearby => 40, + VisionLevelType::VisionLevelSuperNearby => 40, + } + } +} + +// TODO: this in gameserver config +/* + + + + + + + +*/ diff --git a/gameserver/src/scene/scene_team.rs b/gameserver/src/scene/scene_team.rs new file mode 100644 index 0000000..2966295 --- /dev/null +++ b/gameserver/src/scene/scene_team.rs @@ -0,0 +1,376 @@ +use std::{ + cell::RefCell, + collections::{BTreeMap, HashSet}, + rc::{Rc, Weak}, +}; + +use proto::{ + AbilityControlBlock, AbilitySyncStateInfo, Retcode, SceneAvatarInfo, SceneEntityInfo, + SceneTeamUpdateNotify, +}; + +use crate::{ + creature::{Creature, LifeState}, + player::avatar::Avatar, +}; +use crate::{gadget::WeaponGadget, player::Player}; + +use super::Scene; + +#[derive(Clone)] +pub struct SceneTeamAvatar { + pub uid: u32, + pub avatar_guid: u64, + pub avatar_ptr: Rc>, +} + +impl std::fmt::Debug for SceneTeamAvatar { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + f.debug_struct("SceneTeamAvatar") + .field("uid", &self.uid) + .field("avatar_guid", &self.avatar_guid) + .finish() + } +} + +impl SceneTeamAvatar { + pub fn to_client(&self, proto: &mut proto::SceneTeamAvatar, is_mp_mode: bool) { + use crate::entity::Entity; + + let avatar = self.avatar_ptr.borrow(); + + proto.player_uid = self.uid; + proto.avatar_guid = self.avatar_guid; + proto.entity_id = avatar.entity_id(); + proto.is_on_scene = avatar.is_on_scene(); + proto.is_player_cur_avatar = true; // TODO! + proto.pnanfpcioko = Some(AbilitySyncStateInfo::default()); + proto.aobhcppmkma = Some(AbilitySyncStateInfo::default()); + + let mut scene_entity_info = SceneEntityInfo::default(); + avatar.to_client_scene_entity(&mut scene_entity_info); + proto.scene_entity_info = Some(scene_entity_info); + + // TODO: AbilityComp::get_proto_ability_control_block() + proto.ability_control_block = Some(AbilityControlBlock::default()); + avatar + .base_avatar() + .ability_comp + .borrow() + .get_proto_ability_control_block(&mut proto.ability_control_block.as_mut().unwrap()); + + { + let weapon_gadget = avatar + .base_avatar() + .equip_comp + .weapon_gadget + .as_ref() + .unwrap(); + + proto.weapon_guid = match &*weapon_gadget.borrow() { + WeaponGadget::Avatar(gadget) => gadget.weapon_guid, + }; + proto.weapon_entity_id = weapon_gadget.borrow().entity_id(); + } + + if is_mp_mode { + proto.avatar_info = Some(avatar.to_client()); + + let mut scene_avatar_info = SceneAvatarInfo::default(); + avatar.to_client_avatar_entity(&mut scene_avatar_info); + proto.scene_avatar_info = Some(scene_avatar_info); + } + } +} + +#[derive(Default)] +pub struct SceneTeam { + pub player_uid_vec: Vec, + pub player_map: BTreeMap>, + pub team_avatar_map: BTreeMap>, + pub is_in_mp_mode: bool, + pub host_uid: u32, + pub scene_id: u32, + pub is_in_single_avatar_mode: bool, +} + +impl SceneTeam { + pub fn init(&mut self, player: Rc, host_uid: u32, scene_id: u32) { + self.host_uid = host_uid; + self.scene_id = scene_id; + self.player_map + .insert(self.host_uid, Rc::downgrade(&player)); + } + + pub fn get_avatar_guid_vec(&self, uid: u32) -> Option> { + let Some(avatar_vec) = self.team_avatar_map.get(&uid) else { + return None; + }; + + Some(avatar_vec.iter().map(|a| a.avatar_guid).collect()) + } + + pub fn get_allow_avatar_num(&self, uid: u32) -> usize { + if !self.team_avatar_map.contains_key(&uid) { + return 0; + } + + if self.is_in_single_avatar_mode { + return 1; + } + + let is_host = self.host_uid == uid; + let team_player_num = self.get_team_player_num(); + + Self::allow_avatar_num(team_player_num, is_host) + } + + pub fn on_player_enter(&mut self, player: Rc) { + if !self.team_avatar_map.contains_key(&player.uid) { + if player.uid == self.host_uid { + if self.player_uid_vec.len() != 0 { + tracing::info!("[SCENE_TEAM] host enter scene team after other, host_uid: {} player_uid_vec:{:?}", self.host_uid, self.player_uid_vec); + } + + self.player_uid_vec.insert(0, player.uid); + } else { + self.player_uid_vec.push(player.uid); + } + + self.team_avatar_map.insert(player.uid, Vec::new()); + self.player_map.insert(player.uid, Rc::downgrade(&player)); + } + } + + pub fn set_player_avatar_team_and_add_to_scene( + &mut self, + uid: u32, + mut avatar_guid_vec: Vec, + appear_avatar_guid: u64, + scene: &mut Scene, + is_notify: bool, + ) -> Result<(), Retcode> { + if self + .set_player_avatar_team(uid, &mut avatar_guid_vec, appear_avatar_guid, is_notify) + .is_err() + { + tracing::warn!( + "set_player_avatar_team failed, uid: {uid}, avatar_vec: {avatar_guid_vec:?}" + ); + return Err(Retcode::RetFail); + } + + for avatar in self.get_all_scene_team_avatar_vec() { + if let Err(ret) = scene.add_avatar_and_weapon_entity(avatar.avatar_ptr.clone(), true) { + tracing::error!("add_avatar_and_weapon_entity fails {avatar:?}"); + return Err(ret); + } + } + + if is_notify { + self.notify_scene_team_update(); + } + + Ok(()) + } + + pub fn set_player_avatar_team( + &mut self, + uid: u32, + guid_vec: &mut Vec, + appear_avatar_guid: u64, + _is_notify: bool, + ) -> Result<(), Retcode> { + let player = self + .player_map + .get(&uid) + .map(|p| p.upgrade()) + .flatten() + .ok_or(Retcode::RetFail)?; + + let allow_avatar_num = self.get_allow_avatar_num(uid); + if allow_avatar_num < guid_vec.len() { + tracing::warn!( + "guid_vec size is {}, allow: {allow_avatar_num}", + guid_vec.len() + ); + guid_vec.truncate(allow_avatar_num); + } + + if guid_vec.is_empty() { + guid_vec.push(appear_avatar_guid); + } + + let old_avatar_vec = self.get_all_scene_team_avatar_vec(); + let Some(player_avatar_vec) = self.team_avatar_map.get_mut(&uid) else { + tracing::error!("set_player_avatar_team: uid: {uid} not found"); + return Err(Retcode::RetFail); + }; + + let mut new_avatar_vec = Vec::new(); + let mut avatar_guid_set = HashSet::with_capacity(guid_vec.len()); + + for (i, guid) in guid_vec.iter().enumerate() { + let avatar_comp = player.player_avatar_comp.borrow(); + let Some(avatar) = avatar_comp.find_avatar(*guid) else { + tracing::error!("invalid avatar guid in guid_vec"); + return Err(Retcode::RetFail); + }; + + if !avatar_guid_set.insert(*guid) { + tracing::error!( + "duplicate guid in guid_vec, guid:{}, guid_vec:{:?}", + *guid, + &guid_vec + ); + } + + if i == 0 { + if avatar.borrow().get_life_state() == LifeState::LifeDead { + tracing::warn!("avatar dead, guid:{}, guid_vec:{:?}", *guid, &guid_vec); + } + } + + new_avatar_vec.push(SceneTeamAvatar { + uid, + avatar_guid: *guid, + avatar_ptr: avatar.clone(), + }); + } + + *player_avatar_vec = new_avatar_vec; + + self.resize_avatar_team(); + self.on_scene_team_change(old_avatar_vec); + + Ok(()) + } + + pub fn notify_scene_team_update(&self) { + let mut notify = SceneTeamUpdateNotify::default(); + + for uid in &self.player_uid_vec { + let Some(team_avatars) = self.team_avatar_map.get(&uid) else { + continue; + }; + + let Some(player) = self.player_map.get(&uid).map(|p| p.upgrade()).flatten() else { + continue; + }; + + for scene_team_avatar in team_avatars { + let mut scene_team_avatar_proto = proto::SceneTeamAvatar::default(); + scene_team_avatar.to_client(&mut scene_team_avatar_proto, self.is_in_mp_mode); + scene_team_avatar_proto.scene_id = self.scene_id; + scene_team_avatar_proto.is_player_cur_avatar = player + .player_avatar_comp + .borrow() + .get_cur_avatar() + .unwrap() + .borrow() + .base_avatar() + .guid + == scene_team_avatar.avatar_guid; + + notify.scene_team_avatar_list.push(scene_team_avatar_proto); + + tracing::info!( + "notify avatar: {}", + scene_team_avatar + .avatar_ptr + .borrow() + .base_avatar() + .avatar_id + ); + } + } + + notify.is_in_mp = self.is_in_mp_mode; + + for (_, player_wtr) in self.player_map.iter() { + if let Some(player) = player_wtr.upgrade() { + player.send_proto(notify.clone()); + } + } + } + + pub fn get_all_scene_team_avatar_vec(&self) -> Vec { + let mut retstr = Vec::new(); + for (_, avatar_vec) in self.team_avatar_map.iter() { + avatar_vec.iter().for_each(|a| retstr.push(a.clone())); + } + + retstr + } + + pub fn get_team_player_num(&self) -> usize { + self.player_map.len() + } + + pub fn is_avatar_in_team(&self, player_uid: u32, avatar_guid: u64) -> bool { + let Some(team_avatar_vec) = self.team_avatar_map.get(&player_uid) else { + return false; + }; + + team_avatar_vec.iter().any(|a| a.avatar_guid == avatar_guid) + } + + fn on_scene_team_change(&mut self, old_avatar_vec: Vec) { + // TODO: RefreshAbilityGuard, FightPropGuard, TalentComp + + let new_avatar_vec = self.get_all_scene_team_avatar_vec(); + + let mut diff_remove_avatar_vec = Vec::new(); + let mut diff_add_avatar_vec = Vec::new(); + + for avatar in &old_avatar_vec { + if !self.is_avatar_in_team(avatar.uid, avatar.avatar_guid) { + diff_remove_avatar_vec.push(avatar.clone()); + } + } + + for avatar in &new_avatar_vec { + if !old_avatar_vec + .iter() + .any(|a| avatar.uid == a.uid && avatar.avatar_guid == a.avatar_guid) + { + diff_add_avatar_vec.push(avatar.clone()); + } + } + + tracing::info!("[SCENE_TEAM_CHANGE] diff_remove_avatar_vec:{diff_remove_avatar_vec:?} diff_add_avatar_vec:{diff_add_avatar_vec:?}"); + + for team_avatar in diff_remove_avatar_vec { + team_avatar + .avatar_ptr + .borrow_mut() + .on_remove_from_scene_team(); + } + + for team_avatar in diff_add_avatar_vec { + team_avatar.avatar_ptr.borrow_mut().on_add_to_scene_team(); + } + + self.refresh_team_resonances(); + } + + fn refresh_team_resonances(&self) { + // TODO: TeamResonanceExcelConfigMgr::getSatisfiedTeamResonances + } + + fn resize_avatar_team(&mut self) { + // TODO! This is probably only useful for MP, + // so this is not implemented for now + } + + fn allow_avatar_num(team_size: usize, is_host: bool) -> usize { + match team_size { + 1 => 10, + 2 => 2, + 4 => 1, + 3 if is_host => 2, + 3 => 1, + _ => 0, + } + } +} diff --git a/gateserver/Cargo.toml b/gateserver/Cargo.toml new file mode 100644 index 0000000..b64a785 --- /dev/null +++ b/gateserver/Cargo.toml @@ -0,0 +1,34 @@ +[package] +name = "gateserver" +edition = "2021" +version.workspace = true + +[dependencies] +env_logger.workspace = true + +redis.workspace = true +sqlx.workspace = true +serde.workspace = true +serde_json.workspace = true +toml.workspace = true + +tokio.workspace = true +tokio-util.workspace = true + +tracing.workspace = true +tracing-futures.workspace = true +tracing-log.workspace = true +tracing-subscriber.workspace = true +tracing-bunyan-formatter.workspace = true + +thiserror.workspace = true + +rand.workspace = true +paste.workspace = true +prost.workspace = true +hex.workspace = true +rbase64.workspace = true +proto.workspace = true +mhy-kcp.workspace = true + +common.workspace = true diff --git a/gateserver/gateserver.toml b/gateserver/gateserver.toml new file mode 100644 index 0000000..cf8ecdb --- /dev/null +++ b/gateserver/gateserver.toml @@ -0,0 +1,33 @@ +app_id = 2 + +[[applications.Dispatch]] +app_id = 1 +inner_ip = "127.0.0.1:22001" + +[[applications.Gateserver]] +app_id = 2 +inner_ip = "127.0.0.1:22002" + +[[applications.Dbgate]] +app_id = 3 +inner_ip = "127.0.0.1:22003" + +[[applications.Gameserver]] +app_id = 4 +inner_ip = "127.0.0.1:22004" + +[region] +name = "dev_mualani" +dev_sdk_account = true + +[net.player_server] +outer_ip = "127.0.0.1" +listen_port = 22101 +max_conn_num = 500 +recv_buf_len = 24756 +timeout_sec = 30 +mtu = 1200 + +[database] +connection_string = "postgres://postgres:@localhost:5432/hk4e" +redis_url = "redis://127.0.0.1/" diff --git a/gateserver/src/config.rs b/gateserver/src/config.rs new file mode 100644 index 0000000..0389612 --- /dev/null +++ b/gateserver/src/config.rs @@ -0,0 +1,44 @@ +use std::collections::BTreeMap; + +use common::{ + config::{AppConfig, DatabaseConfig, IpString, RegionConfig}, + net::ServiceType, +}; +use serde::Deserialize; + +const DEFAULT_TOML: &str = include_str!("../gateserver.toml"); + +#[derive(Deserialize, Clone)] +pub struct PlayerServerConfig { + pub outer_ip: IpString, + pub listen_port: u16, + pub max_conn_num: usize, + pub recv_buf_len: usize, + #[allow(dead_code)] + pub timeout_sec: u32, + pub mtu: usize, +} + +#[derive(Deserialize, Clone)] +pub struct NetConfig { + pub player_server: PlayerServerConfig, +} + +#[derive(Deserialize, Clone)] +pub struct GateserverConfig { + pub app_id: u32, + pub applications: BTreeMap>, + pub database: DatabaseConfig, + pub region: RegionConfig, + pub net: NetConfig, +} + +pub fn load() -> Option { + match common::config::load_or_create_config("gateserver.toml", DEFAULT_TOML) { + Ok(config) => Some(config), + Err(err) => { + tracing::error!("Failed to load config: {err}"); + None + } + } +} diff --git a/gateserver/src/main.rs b/gateserver/src/main.rs new file mode 100644 index 0000000..74d5692 --- /dev/null +++ b/gateserver/src/main.rs @@ -0,0 +1,25 @@ +use std::{error::Error, sync::OnceLock}; + +use common::log; +use service::GateserverService; + +mod config; +mod network; +mod service; + +static SERVICE: OnceLock = OnceLock::new(); + +#[tokio::main] +async fn main() -> Result<(), Box> { + log::init_tracing(); + let config = config::load().unwrap(); + let service = GateserverService::new(config).await?; + let service = SERVICE.get_or_init(|| service); + service.run().await; + + Ok(()) +} + +fn gateserver_service() -> &'static GateserverService { + SERVICE.get().unwrap() +} diff --git a/gateserver/src/network/dispatch_connect.rs b/gateserver/src/network/dispatch_connect.rs new file mode 100644 index 0000000..f973196 --- /dev/null +++ b/gateserver/src/network/dispatch_connect.rs @@ -0,0 +1,58 @@ +use std::{net::Ipv4Addr, sync::Arc}; + +use common::{ + net::{tools::Packet, NetError, ServiceType}, + ServiceQualifier, +}; +use proto::{AddGateserverNotify, KeepAliveNotify, PacketHead}; + +use crate::gateserver_service; + +pub struct DispatchConnect; + +impl DispatchConnect { + pub async fn on_connect(&self) -> Result<(), NetError> { + let player_server_conf = &gateserver_service().config.net.player_server; + + gateserver_service() + .service_box + .push_packet_to_service( + ServiceQualifier::Type(ServiceType::Dispatch), + Packet::new( + AddGateserverNotify { + domain_name: String::new(), + outer_ip: u32::from_be_bytes( + player_server_conf + .outer_ip + .0 + .parse::() + .unwrap() + .octets(), + ), + listen_port: player_server_conf.listen_port as u32, + use_domain_name: false, + }, + PacketHead::default(), + ), + ) + .await + } + + pub async fn keep_alive_loop(self: Arc) { + loop { + let _ = gateserver_service() + .service_box + .push_packet_to_service( + ServiceQualifier::Type(ServiceType::Dispatch), + Packet::new( + KeepAliveNotify::default(), + PacketHead { + sender_load: gateserver_service().get_service_load(), + ..Default::default() + }, + ), + ) + .await; + } + } +} diff --git a/gateserver/src/network/mod.rs b/gateserver/src/network/mod.rs new file mode 100644 index 0000000..ea81614 --- /dev/null +++ b/gateserver/src/network/mod.rs @@ -0,0 +1,6 @@ +mod dispatch_connect; +mod network_mgr; +mod player_session; + +pub use network_mgr::NetworkMgr; +pub use player_session::PlayerSession; diff --git a/gateserver/src/network/network_mgr.rs b/gateserver/src/network/network_mgr.rs new file mode 100644 index 0000000..325cdf4 --- /dev/null +++ b/gateserver/src/network/network_mgr.rs @@ -0,0 +1,122 @@ +use std::{error::Error, sync::Arc}; + +use common::{ + impl_net_service, + net::{kcp_server::KcpServerMgr, tools::Packet, AServer, NetError, ServiceType}, + rpc_handlers, +}; +use proto::{ENetReason, PacketHead}; + +use crate::{config::GateserverConfig, gateserver_service}; + +use super::{dispatch_connect::DispatchConnect, PlayerSession}; + +pub struct NetworkMgr { + server: AServer, + dispatch_conn: Arc, + kcp_server_mgr: Arc>, +} + +impl NetworkMgr { + pub async fn new(config: &GateserverConfig) -> Result { + let app_config = config + .applications + .get(&ServiceType::Gateserver) + .map(|v| v.iter().find(|a| a.app_id == config.app_id)) + .unwrap_or_default() + .expect("Failed to get applications.Gateserver entry"); + + let server = AServer::bind(app_config.inner_ip.clone()).await?; + + let player_server_conf = &config.net.player_server; + let kcp_server_mgr = Arc::new( + KcpServerMgr::::new( + player_server_conf.outer_ip.clone(), + player_server_conf.listen_port, + player_server_conf.max_conn_num, + player_server_conf.mtu, + player_server_conf.recv_buf_len, + ) + .await + .expect("failed to initialize KcpServerMgr"), + ); + + Ok(Self { + server, + dispatch_conn: Arc::new(DispatchConnect), + kcp_server_mgr, + }) + } + + pub async fn run(&self) { + tokio::spawn(self.kcp_server_mgr.clone().run()); + + self.dispatch_conn.on_connect().await.unwrap(); + tokio::spawn(self.dispatch_conn.clone().keep_alive_loop()); + + loop { + let Ok(mut packets) = self.server.recv().await else { + continue; + }; + + while let Some(packet) = packets.pop_front() { + if let Err(err) = self.on_recv(packet).await { + tracing::warn!("on_recv fail: {err}"); + } + } + } + } + + rpc_handlers! { + GetPlayerTokenRsp; + PlayerLoginRsp; + } + + async fn on_get_player_token_rsp(&self, packet: Packet) -> Result<(), Box> { + let rsp = gateserver_service() + .login_handler + .on_get_player_token_rsp(&packet) + .await; + + if let Some(session) = self.find_player_session(packet.head.user_session_id) { + session + .send_packet(Packet::new(rsp, PacketHead::default())) + .await?; + } + + Ok(()) + } + + async fn on_player_login_rsp(&self, packet: Packet) -> Result<(), Box> { + gateserver_service() + .login_handler + .on_player_login_rsp(packet) + .await; + + Ok(()) + } + + pub async fn default_packet_process_func(&self, packet: Packet) -> Result<(), Box> { + if let Some(session) = self.find_player_session(packet.head.user_session_id) { + session.send_packet(packet).await?; + } + + Ok(()) + } + + pub async fn disconnect(&self, session_id: u32, reason: ENetReason) { + self.kcp_server_mgr + .disconnect(session_id, reason as u32) + .await + } + + pub fn get_player_session_num(&self) -> usize { + self.kcp_server_mgr.session_count() + } + + pub fn find_player_session(&self, session_id: u32) -> Option> { + self.kcp_server_mgr.find_session(session_id) + } +} + +impl_net_service!(Gateserver); diff --git a/gateserver/src/network/player_session.rs b/gateserver/src/network/player_session.rs new file mode 100644 index 0000000..8cc66e1 --- /dev/null +++ b/gateserver/src/network/player_session.rs @@ -0,0 +1,445 @@ +use std::{ + collections::VecDeque, + io::Error, + net::{IpAddr, SocketAddr}, + pin::Pin, + sync::{Arc, OnceLock, Weak}, + task::{Context, Poll}, +}; + +use common::{ + crypto::MhyXorpad, + net::{ + kcp_server::{KcpConnMgr, KcpSession}, + tools::Packet, + ServiceType, + }, + tools::time_utils, + ServiceQualifier, +}; +use mhy_kcp::Kcp; +use proto::{ + CmdID, ENetReason, GetPlayerTokenReq, GetPlayerTokenRsp, PacketHead, PingReq, PingRsp, + PlayerLoginReq, +}; +use tokio::{ + io::AsyncWrite, + sync::{Mutex, OnceCell}, +}; + +use crate::gateserver_service; + +pub struct PlayerSession { + session_id: u32, + token: u32, + recv_buf_len: usize, + udp_remote_endpoint: SocketAddr, + is_editor: bool, + kcp: Mutex>, + connect_time: u64, + secret_key: OnceCell, + uid: OnceCell, + account_uid: OnceCell, + account_token: OnceCell, + platform_type: OnceCell, + login_finished: OnceCell<()>, + recv_login: OnceCell<()>, + gameserver_id: OnceCell, +} + +impl PlayerSession { + pub fn session_time(&self) -> u32 { + (time_utils::get_now() - self.connect_time) as u32 + } + + async fn ikcp_input(&self, buf: &[u8]) -> Result<(), mhy_kcp::Error> { + let mut kcp = self.kcp.lock().await; + + kcp.input(buf)?; + kcp.async_update(self.session_time()).await?; + kcp.async_flush().await + } + + async fn on_recv(&self, data: &mut [u8]) -> Result<(), Box> { + self.encrypt_packet_data(data).await; + let mut packet = match Packet::parse_from_array(data) { + Ok(packet) => packet, + Err(err) => { + tracing::warn!( + "Packet::parse_from_array failed, uid: {}, session_id: {}, err: {}", + self.get_uid(), + self.session_id, + err + ); + return Ok(()); + } + }; + + self.init_packet_head(&mut packet); + packet.head.enet_is_reliable = 1; + + if !self.is_finish_login() && packet.cmd_id == PingReq::CMD_ID { + let Ok(req) = packet.get_proto::() else { + tracing::warn!( + "get_proto PingReq failed, session_id={}, ip:{}, port:{}", + self.session_id, + self.udp_remote_endpoint.ip(), + self.udp_remote_endpoint.port() + ); + return Ok(()); + }; + + let rsp = PingRsp { + retcode: 0, + client_time: req.client_time, + seq: req.seq, + }; + + let mut packet = Packet::new(rsp, PacketHead::default()); + + self.init_packet_head(&mut packet); + tracing::info!( + "recv ping before login finish, session_id={} uid:{} ip:{} port:{}", + self.session_id, + self.get_uid(), + self.udp_remote_endpoint.ip(), + self.udp_remote_endpoint.port() + ); + + return self.send_packet(packet).await; + } + + if self.uid.get().is_none() { + if packet.cmd_id != GetPlayerTokenReq::CMD_ID && packet.cmd_id != PingReq::CMD_ID { + tracing::error!( + "refuse packet cmd_id={} because uid=0, ip:{}, port:{}", + packet.cmd_id, + self.udp_remote_endpoint.ip(), + self.udp_remote_endpoint.port() + ); + + gateserver_service() + .disconnect(self.session_id, ENetReason::EnetLoginUnfinished) + .await; + } else if packet.cmd_id == GetPlayerTokenReq::CMD_ID { + self.on_get_player_token_req(packet).await; + } + } else { + if !self.is_recv_login() && packet.cmd_id != PlayerLoginReq::CMD_ID { + tracing::error!("need LoginReq first cmd_id: {}", packet.cmd_id); + gateserver_service() + .disconnect(self.session_id, ENetReason::EnetLoginUnfinished) + .await; + + return Ok(()); + } + + if packet.cmd_id == PlayerLoginReq::CMD_ID { + let _ = self.recv_login.set(()); + gateserver_service() + .login_handler + .on_player_login_req(packet) + .await; + } else if self.is_recv_login() { + gateserver_service() + .service_box + .push_packet_to_service( + ServiceQualifier::AppId(self.get_gameserver_id()), + packet, + ) + .await?; + } + } + + Ok(()) + } + + pub async fn send_packet(&self, packet: Packet) -> Result<(), Box> { + let mut buf = packet.to_vec(); + + if packet.cmd_id == GetPlayerTokenRsp::CMD_ID { + self.encrypt_first_packet_data(&mut buf).await; + } else { + self.encrypt_packet_data(&mut buf).await; + } + + let mut kcp = self.kcp.lock().await; + kcp.send(&buf)?; + kcp.async_flush().await?; + kcp.async_update(self.session_time()).await?; + + Ok(()) + } + + fn init_packet_head(&self, packet: &mut Packet) { + let head = &mut packet.head; + head.user_id = self.get_uid(); + head.user_session_id = self.session_id; + head.user_ip = self.get_remote_ip(); + head.source_service = ServiceType::Gateserver as u32; + head.sender_app_id = gateserver_service().config.app_id; + + // TODO: tothemoon and pathfinding + head.target_service = ServiceType::Gameserver as u32; + head.rpc_id = self.get_gameserver_id(); + } + + pub fn get_uid(&self) -> u32 { + self.uid.get().map(|u| *u).unwrap_or_default() + } + + pub fn set_uid(&self, uid: u32) { + let _ = self.uid.set(uid); + } + + pub fn get_account_token(&self) -> String { + self.account_token.get().cloned().unwrap_or_default() + } + + pub fn get_platform_type(&self) -> u32 { + self.platform_type.get().cloned().unwrap_or_default() + } + + pub fn set_gameserver_id(&self, id: u32) { + let _ = self.gameserver_id.set(id); + } + + pub fn get_gameserver_id(&self) -> u32 { + self.gameserver_id.get().cloned().unwrap_or_default() + } + + async fn on_get_player_token_req(&self, packet: Packet) { + let Ok(get_player_token) = packet.get_proto::() else { + tracing::warn!( + "get_proto GetPlayerToken failed, session_id:{}", + self.session_id + ); + return; + }; + if self.account_uid.get().is_none() { + self.account_uid + .set(get_player_token.account_uid.clone()) + .unwrap(); + self.account_token + .set(get_player_token.account_token.clone()) + .unwrap(); + self.platform_type + .set(get_player_token.platform_type) + .unwrap(); + } else { + gateserver_service() + .disconnect(self.session_id, ENetReason::EnetLoginUnfinished) + .await; + tracing::info!("[LOGIN] disconnect session_id:{} reason:{} cmd: req account_uid:{} session account_uid:{}", self.session_id, ENetReason::EnetLoginUnfinished.as_str_name(), get_player_token.account_uid, self.account_uid.get().unwrap()); + return; + } + + tracing::info!( + "[LOGIN] PlayerGetToken account_uid:{}", + &get_player_token.account_uid + ); + + gateserver_service() + .login_handler + .on_get_player_token_req(packet) + .await; + } + + async fn encrypt_packet_data(&self, data: &mut [u8]) { + if let Some(xorpad) = self.secret_key.get() { + xorpad.xor(data); + } else { + self.encrypt_first_packet_data(data).await; + } + } + + async fn encrypt_first_packet_data(&self, data: &mut [u8]) { + static FIRST_PACKET_SECRET_KEY: OnceLock = OnceLock::new(); + + let xorpad = match FIRST_PACKET_SECRET_KEY.get() { + Some(xorpad) => xorpad, + None => { + let service = gateserver_service(); + let region_config = service + .deploy_config_mgr + .find_db_region_config(service.config.region.name.clone()) + .await + .expect("Failed to find region config"); + FIRST_PACKET_SECRET_KEY + .get_or_init(|| MhyXorpad::from_ec2b(®ion_config.client_secret_key)) + } + }; + + xorpad.xor(data); + } + + pub fn set_secret_key(&self, secret_key: MhyXorpad) { + let _ = self.secret_key.set(secret_key); + } + + pub fn set_is_finish_login(&self) { + let _ = self.login_finished.set(()); + } + + pub fn set_is_recv_login(&self) { + let _ = self.recv_login.set(()); + } + + pub fn is_finish_login(&self) -> bool { + self.login_finished.get().is_some() + } + + pub fn is_recv_login(&self) -> bool { + self.recv_login.get().is_some() + } +} + +struct KcpOutput { + conn_mgr: Weak>, + udp_remote_endpoint: SocketAddr, +} + +impl KcpSession for PlayerSession { + fn new( + conn_mgr: Arc>, + session_id: u32, + token: u32, + recv_buf_len: usize, + udp_remote_endpoint: SocketAddr, + ) -> Self + where + Self: Sized, + { + Self { + session_id, + token, + recv_buf_len, + udp_remote_endpoint, + is_editor: false, + kcp: Mutex::new(Kcp::new( + session_id, + token, + false, + KcpOutput { + conn_mgr: Arc::downgrade(&conn_mgr), + udp_remote_endpoint, + }, + )), + connect_time: time_utils::get_now(), + secret_key: OnceCell::new(), + uid: OnceCell::new(), + account_uid: OnceCell::new(), + account_token: OnceCell::new(), + platform_type: OnceCell::new(), + login_finished: OnceCell::new(), + recv_login: OnceCell::new(), + gameserver_id: OnceCell::new(), + } + } + + fn on_connect(&mut self, data: u32) { + match ENetReason::try_from(data as i32) { + Ok(ENetReason::EnetClientEditorConnectKey) => { + tracing::info!( + "[LOGIN] player connect from unity editor, ip:{}, port:{}, session_id:{}", + self.udp_remote_endpoint.ip(), + self.udp_remote_endpoint.port(), + self.session_id + ); + self.is_editor = true; + } + Ok(ENetReason::EnetClientConnectKey) => tracing::info!( + "[LOGIN] player connect from mobile phone, ip:{}, port:{}, session_id:{}", + self.udp_remote_endpoint.ip(), + self.udp_remote_endpoint.port(), + self.session_id + ), + _ => tracing::info!( + "[LOGIN] invalid connect data:{}, ip:{}, port:{}, session_id:{}", + data, + self.udp_remote_endpoint.ip(), + self.udp_remote_endpoint.port(), + self.session_id + ), + } + } + + async fn input(self: Arc, udp_data: Box<[u8]>) { + if let Err(err) = self.ikcp_input(&udp_data).await { + tracing::warn!( + "ikcp_input failed, not a valid kcp packet, session_id={}, ip={}, port={}, bytes_recvd={}, ret={}", + self.session_id, + self.udp_remote_endpoint.ip(), + self.udp_remote_endpoint.port(), + udp_data.len(), + err + ); + return; + } + + let mut queue = VecDeque::>::new(); + let mut buf = vec![0; self.recv_buf_len]; + while let Ok(len) = self.kcp.lock().await.recv(&mut buf) { + queue.push_back(buf[..len].into()); + } + + while let Some(mut packet) = queue.pop_front() { + if let Err(err) = self.on_recv(&mut packet).await { + tracing::warn!("on_recv fail: {err}") + } + } + } + + fn get_remote_ip(&self) -> u32 { + match self.udp_remote_endpoint.ip() { + IpAddr::V4(ip) => u32::from_be_bytes(ip.octets()), + IpAddr::V6(_) => panic!("ipv6 is not supported in this context"), + } + } + + fn get_user_session_id(&self) -> u32 { + self.session_id + } + + fn on_disconnect(&self, reason: u32) { + // TODO: PlayerDisconnectNotify + + let reason = if let Ok(reason) = ENetReason::try_from(reason as i32) { + reason.as_str_name().to_string() + } else { + reason.to_string() + }; + + tracing::info!("[LOGIN] player disconnect, uid:{}, connect time:{}, is editor:{}, reason:{}, session_id:{}", + self.get_uid(), self.session_time() / 1000, self.is_editor, reason, self.session_id); + } + + fn get_user_token(&self) -> u32 { + self.token + } + + fn get_udp_remote_endpoint(&self) -> SocketAddr { + self.udp_remote_endpoint + } +} + +impl AsyncWrite for KcpOutput { + fn poll_write( + self: Pin<&mut Self>, + cx: &mut Context<'_>, + buf: &[u8], + ) -> Poll> { + self.conn_mgr + .upgrade() + .unwrap() + .send_udp_packet(cx, buf, self.udp_remote_endpoint) + } + + fn poll_flush(self: Pin<&mut Self>, _cx: &mut Context<'_>) -> Poll> { + Poll::Ready(Ok(())) + } + + fn poll_shutdown(self: Pin<&mut Self>, _cx: &mut Context<'_>) -> Poll> { + Poll::Ready(Ok(())) + } +} diff --git a/gateserver/src/service/gateserver_service.rs b/gateserver/src/service/gateserver_service.rs new file mode 100644 index 0000000..f1872a2 --- /dev/null +++ b/gateserver/src/service/gateserver_service.rs @@ -0,0 +1,70 @@ +use std::{error::Error, sync::Arc}; + +use common::{ + db::{self, DbDeployConfigMgr, RedisMgr}, + net::ServiceType, + ServiceBox, +}; +use proto::ENetReason; + +use crate::{ + config::GateserverConfig, + network::{NetworkMgr, PlayerSession}, +}; + +use super::login_handler::LoginHandler; + +pub struct GateserverService { + pub network_mgr: NetworkMgr, + pub service_box: ServiceBox, + pub deploy_config_mgr: DbDeployConfigMgr, + pub redis_mgr: RedisMgr, + pub config: GateserverConfig, + pub login_handler: LoginHandler, +} + +impl GateserverService { + pub async fn new(config: GateserverConfig) -> Result> { + let deploy_config_mgr = + DbDeployConfigMgr::new(db::connect(&config.database.connection_string).await?); + let redis_mgr = RedisMgr::new(&config.database.redis_url).await?; + + let network_mgr = NetworkMgr::new(&config).await?; + let service_box = ServiceBox::new(config.app_id, &config.applications); + + Ok(Self { + network_mgr, + service_box, + deploy_config_mgr, + redis_mgr, + config, + login_handler: LoginHandler, + }) + } + + pub async fn run(&self) { + self.network_mgr.run().await + } + + pub fn find_player_session(&self, session_id: u32) -> Option> { + self.network_mgr.find_player_session(session_id) + } + + pub fn get_service_load(&self) -> u32 { + self.network_mgr.get_player_session_num() as u32 + } + + pub async fn disconnect(&self, session_id: u32, reason: ENetReason) { + self.network_mgr.disconnect(session_id, reason).await + } + + pub fn choose_gameserver_id(&self) -> u32 { + self.config + .applications + .get(&ServiceType::Gameserver) + .unwrap() + .first() + .unwrap() + .app_id + } +} diff --git a/gateserver/src/service/login_handler.rs b/gateserver/src/service/login_handler.rs new file mode 100644 index 0000000..304235a --- /dev/null +++ b/gateserver/src/service/login_handler.rs @@ -0,0 +1,312 @@ +use common::{ + crypto::{rsa_utils, MhyXorpad}, + net::{kcp_server::KcpSession, tools::Packet, NetError, ServiceType}, + tools::time_utils, + ServiceQualifier, +}; +use proto::{ + GetPlayerTokenReq, GetPlayerTokenRsp, PacketHead, PlayerLoginReq, PlayerStatusRedisData, + PlayerStatusType, +}; +use rand::RngCore; +use thiserror::Error; + +use crate::{gateserver_service, network::PlayerSession}; + +pub struct LoginHandler; + +#[derive(Eq, PartialEq)] +pub enum SdkRetcode { + Fail = -1, + #[allow(dead_code)] + Succ = 0, +} + +#[derive(Error, Debug)] +enum GenSecretSeedError { + #[error("client_rand_key is too long:{0} uid:{1}")] + TooLongClientRandKey(usize, u32), + #[error("this region doesn't allow key_id:{0}")] + KeyNotAllowed(u32), + #[error("key_id:{0} config not found or key is empty")] + KeyNotFound(u32), + #[error("client_rand_key decrypt failed, uid:{0}")] + ClientRandKeyDecryptFail(u32), + #[error("client_rand_key is not uint64, uid:{0}")] + ClientRandKeySizeMismatch(u32), + #[error("client public encrypt failed, server_key:{0}, uid:{1}")] + ClientPublicEncryptFail(String, u32), + #[error("server private sign failed, server_key:{0}, uid:{1}")] + ServerPrivateSignFail(String, u32), +} + +impl LoginHandler { + pub async fn on_get_player_token_req(&self, packet: Packet) { + let user_session_id = packet.head.user_session_id; + let Some(session) = gateserver_service().find_player_session(user_session_id) else { + tracing::warn!("find_player_session: {user_session_id} failed"); + return; + }; + + if self.get_player_token(&session, packet).await.is_none() { + let rsp = GetPlayerTokenRsp { + retcode: 1, + ..Default::default() + }; + let _ = session + .send_packet(Packet::new(rsp, PacketHead::default())) + .await; + }; + } + + pub async fn on_player_login_req(&self, packet: Packet) { + let user_session_id = packet.head.user_session_id; + let Some(session) = gateserver_service().find_player_session(user_session_id) else { + tracing::warn!("find_player_session: {user_session_id} failed"); + return; + }; + + session.set_is_recv_login(); + let _ = self.player_login(&session, packet).await; + } + + pub async fn on_player_login_rsp(&self, packet: Packet) { + let user_session_id = packet.head.user_session_id; + let Some(session) = gateserver_service().find_player_session(user_session_id) else { + tracing::warn!("find_player_session: {user_session_id} failed"); + return; + }; + + session.set_is_finish_login(); + if session.send_packet(packet).await.is_err() { + tracing::error!("send_packet failed uid: {}", session.get_uid()); + } else { + tracing::info!( + "[LOGIN] send LoginRsp to client session: {} uid: {}", + user_session_id, + session.get_uid() + ); + } + } + + async fn get_player_token(&self, session: &PlayerSession, packet: Packet) -> Option<()> { + let Ok(proto) = packet.get_proto::() else { + tracing::warn!("get GetPlayerTokenReq failed"); + return None; + }; + + if !gateserver_service().config.region.dev_sdk_account { + if self + .check_sdk_account(&proto.account_uid, &proto.account_token) + .await + == SdkRetcode::Fail + { + tracing::warn!("account_uid: {} sdk_retcode is FAIL", &proto.account_uid); + return None; + } + } + + self.forward_get_player_token_req(session.get_user_session_id(), packet) + .await + .ok() + } + + async fn player_login(&self, session: &PlayerSession, packet: Packet) -> Option<()> { + let uid = session.get_uid(); + if uid == 0 { + tracing::error!("get_uid is 0, GetPlayerToken first"); + return None; + } + + let Ok(mut req) = packet.get_proto::() else { + tracing::error!("get PlayerLoginReq failed"); + return None; + }; + + if req.token != session.get_account_token() { + tracing::error!( + "uid: {} token not fit: {} {}", + uid, + req.token, + session.get_account_token() + ); + return None; + } + + let platform_type = session.get_platform_type(); + if req.platform_type != platform_type { + tracing::warn!("different platform_type in TokenReq and LoginReq! in login_req:{} going to change it to:{}", req.platform_type, platform_type); + req.platform_type = platform_type; + } + + let Some(status) = self.async_query_player_status(uid).await else { + return None; + }; + + let gameserver_id = match status.status() { + PlayerStatusType::PlayerStatusOnline => { + tracing::info!( + "[LOGIN] online, game: {}, login_rand: {}", + status.gameserver_id, + status.login_rand + ); + status.gameserver_id + } + PlayerStatusType::PlayerStatusOffline => { + let id = gateserver_service().choose_gameserver_id(); + tracing::info!("[LOGIN] offline, and choose game: {id}"); + id + } + }; + + session.set_gameserver_id(gameserver_id); + + let mut packet = packet.clone(); + packet.head.user_session_id = session.get_user_session_id(); + packet.head.user_id = uid; + packet.head.user_ip = session.get_remote_ip(); + gateserver_service() + .service_box + .push_packet_to_service(ServiceQualifier::AppId(gameserver_id), packet) + .await + .ok() + } + + async fn async_query_player_status(&self, uid: u32) -> Option { + let ret = gateserver_service().redis_mgr.get_player_status(uid).await; + match ret { + Some(_) => tracing::info!("query_player_status succ uid: {uid}"), + None => tracing::error!("get_player_status failed, uid: {uid}"), + } + + ret + } + + async fn forward_get_player_token_req( + &self, + session_id: u32, + mut packet: Packet, + ) -> Result<(), NetError> { + let app_id = gateserver_service().config.app_id; + + packet.head.source_service = ServiceType::Gateserver as u32; + packet.head.sender_app_id = app_id; + packet.head.user_session_id = session_id; + + gateserver_service() + .service_box + .push_packet_to_service(ServiceQualifier::Type(ServiceType::Dbgate), packet) + .await + } + + pub async fn check_sdk_account(&self, _account_uid: &str, _account_token: &str) -> SdkRetcode { + tracing::error!("LoginHandler::check_sdk_account not implemented"); + SdkRetcode::Fail + } + + pub async fn on_get_player_token_rsp(&self, packet: &Packet) -> GetPlayerTokenRsp { + let session_id = packet.head.user_session_id; + let Ok(mut rsp) = packet.get_proto::() else { + tracing::error!("get GetPlayerTokenRsp failed"); + return GetPlayerTokenRsp { + retcode: -1, + ..Default::default() + }; + }; + + tracing::info!( + "on_get_player_token_rsp session_id:{} uid:{} account_uid:{} ret:{} platform_type:{}", + session_id, + rsp.uid, + &rsp.account_uid, + rsp.retcode, + rsp.platform_type + ); + + let Some(session) = gateserver_service().find_player_session(session_id) else { + tracing::warn!("find_player_session: {session_id} failed"); + return rsp; + }; + + if rsp.retcode == 0 { + match self.gen_secret_seed(&mut rsp).await { + Ok(seed) => { + let secret_key = MhyXorpad::from_seed(seed); + session.set_secret_key(secret_key); + session.set_uid(rsp.uid); + } + Err(err) => tracing::warn!("gen SecretSeed failed, uid: {}, {err}", rsp.uid), + } + } + + rsp + } + + async fn gen_secret_seed( + &self, + rsp: &mut GetPlayerTokenRsp, + ) -> Result { + let service = gateserver_service(); + + let uid = rsp.uid; + let rand_key = rbase64::decode(&rsp.server_rand_key).unwrap_or_default(); + rsp.server_rand_key.clear(); + rsp.retcode = -1; + + let server_rand_key = + ((rand::thread_rng().next_u32() as u64) << 32) | (time_utils::get_now() & 0xFFFFFFFF); + + if rand_key.len() <= 0x200 { + let region_config = service + .deploy_config_mgr + .find_db_region_config(service.config.region.name.clone()) + .await + .unwrap(); + let key_id = rsp.key_id; + + if !region_config.is_key_allowed(key_id) { + return Err(GenSecretSeedError::KeyNotAllowed(key_id)); + } + + let rsa_config = service + .deploy_config_mgr + .find_db_rsakey_config(key_id.into()) + .await + .ok_or(GenSecretSeedError::KeyNotFound(key_id))?; + + let client_rand_key = + rsa_utils::private_decrypt(&rsa_config.server_private_key, &rand_key) + .ok_or(GenSecretSeedError::ClientRandKeyDecryptFail(uid))?; + + let client_rand_key = u64::from_be_bytes( + client_rand_key + .try_into() + .map_err(|_| GenSecretSeedError::ClientRandKeySizeMismatch(uid))?, + ); + + let server_rand_key_b = server_rand_key.to_be_bytes(); + let server_seed_encrypted = + rsa_utils::public_encrypt(&rsa_config.client_public_key, &server_rand_key_b) + .ok_or(GenSecretSeedError::ClientPublicEncryptFail( + hex::encode(&server_rand_key_b), + uid, + ))?; + + let server_sign = + rsa_utils::private_sign(&rsa_config.server_private_key, &server_rand_key_b).ok_or( + GenSecretSeedError::ServerPrivateSignFail(hex::encode(&server_rand_key_b), uid), + )?; + + rsp.retcode = 0; + rsp.server_rand_key = rbase64::encode(&server_seed_encrypted); + rsp.sign = rbase64::encode(&server_sign); + + Ok(client_rand_key ^ server_rand_key) + } else { + Err(GenSecretSeedError::TooLongClientRandKey( + rand_key.len(), + uid, + )) + } + } +} diff --git a/gateserver/src/service/mod.rs b/gateserver/src/service/mod.rs new file mode 100644 index 0000000..d90515b --- /dev/null +++ b/gateserver/src/service/mod.rs @@ -0,0 +1,3 @@ +mod gateserver_service; +mod login_handler; +pub use gateserver_service::GateserverService; diff --git a/hk4e_data/Cargo.toml b/hk4e_data/Cargo.toml new file mode 100644 index 0000000..c0df1ce --- /dev/null +++ b/hk4e_data/Cargo.toml @@ -0,0 +1,11 @@ +[package] +name = "data" +edition = "2021" +version.workspace = true + +[dependencies] +proto.workspace = true +csv.workspace = true +serde.workspace = true +serde_json.workspace = true +paste.workspace = true diff --git a/hk4e_data/src/fight_prop_type.rs b/hk4e_data/src/fight_prop_type.rs new file mode 100644 index 0000000..31cfcfb --- /dev/null +++ b/hk4e_data/src/fight_prop_type.rs @@ -0,0 +1,100 @@ +#[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Clone, Copy)] +#[repr(u32)] +pub enum FightPropType { + None = 0, + BaseHp = 1, + Hp = 2, + HpPercent = 3, + BaseAttack = 4, + Attack = 5, + AttackPercent = 6, + BaseDefense = 7, + Defense = 8, + DefensePercent = 9, + BaseSpeed = 10, + SpeedPercent = 11, + HpMpPercent = 12, + AttackMpPercent = 13, + Critical = 20, + AntiCritical = 21, + CriticalHurt = 22, + ChargeEfficiency = 23, + AddHurt = 24, + SubHurt = 25, + HealAdd = 26, + HealedAdd = 27, + ElementMastery = 28, + PhysicalSubHurt = 29, + PhysicalAddHurt = 30, + DefenceIgnoreRatio = 31, + DefenceIgnoreDelta = 32, + FireAddHurt = 40, + ElecAddHurt = 41, + WaterAddHurt = 42, + GrassAddHurt = 43, + WindAddHurt = 44, + RockAddHurt = 45, + IceAddHurt = 46, + HitHeadAddHurt = 47, + FireSubHurt = 50, + ElecSubHurt = 51, + WaterSubHurt = 52, + GrassSubHurt = 53, + WindSubHurt = 54, + RockSubHurt = 55, + IceSubHurt = 56, + EffectHit = 60, + EffectResist = 61, + FreezeResist = 62, + TorporResist = 63, + DizzyResist = 64, + FreezeShorten = 65, + TorporShorten = 66, + DizzyShorten = 67, + MaxFireEnergy = 70, + MaxElecEnergy = 71, + MaxWaterEnergy = 72, + MaxGrassEnergy = 73, + MaxWindEnergy = 74, + MaxIceEnergy = 75, + MaxRockEnergy = 76, + SkillCdMinusRatio = 80, + ShieldCostMinusRatio = 81, + CurFireEnergy = 1000, + CurElecEnergy = 1001, + CurWaterEnergy = 1002, + CurGrassEnergy = 1003, + CurWindEnergy = 1004, + CurIceEnergy = 1005, + CurRockEnergy = 1006, + CurHp = 1010, + MaxHp = 2000, + CurAttack = 2001, + CurDefense = 2002, + CurSpeed = 2003, + NonextraAttack = 3000, + NonextraDefense = 3001, + NonextraCritical = 3002, + NonextraAntiCritical = 3003, + NonextraCriticalHurt = 3004, + NonextraChargeEfficiency = 3005, + NonextraElementMastery = 3006, + NonextraPhysicalSubHurt = 3007, + NonextraFireAddHurt = 3008, + NonextraElecAddHurt = 3009, + NonextraWaterAddHurt = 3010, + NonextraGrassAddHurt = 3011, + NonextraWindAddHurt = 3012, + NonextraRockAddHurt = 3013, + NonextraIceAddHurt = 3014, + NonextraFireSubHurt = 3015, + NonextraElecSubHurt = 3016, + NonextraWaterSubHurt = 3017, + NonextraGrassSubHurt = 3018, + NonextraWindSubHurt = 3019, + NonextraRockSubHurt = 3020, + NonextraIceSubHurt = 3021, + NonextraSkillCdMinusRatio = 3022, + NonextraShieldCostMinusRatio = 3023, + NonextraPhysicalAddHurt = 3024, +} diff --git a/hk4e_data/src/json_data_manual/mod.rs b/hk4e_data/src/json_data_manual/mod.rs new file mode 100644 index 0000000..7e4f0b3 --- /dev/null +++ b/hk4e_data/src/json_data_manual/mod.rs @@ -0,0 +1,50 @@ +use std::{collections::HashMap, io::Read, sync::OnceLock}; + +use serde::Deserialize; + +#[derive(Deserialize)] +#[serde(rename_all = "camelCase")] +pub struct ConfigAvatarAbilityEntry { + #[serde(rename = "abilityID")] + pub ability_id: String, + pub ability_name: String, + pub ability_override: String, +} + +#[derive(Deserialize)] +pub struct ConfigAvatar { + pub abilities: Vec, +} + +static AVATAR_CONFIG_MAP: OnceLock> = OnceLock::new(); + +pub fn load_all_config_avatar() -> Result<(), Box> { + let mut map = HashMap::new(); + + let mut read_dir = std::fs::read_dir("data/json/avatar/")?; + while let Some(entry) = read_dir.next() { + if let Ok(entry) = entry { + let path = entry.path(); + if path.is_file() { + let name = path + .to_str() + .unwrap() + .replace("data/json/avatar/ConfigAvatar_", "") + .replace(".json", ""); + let mut file = std::fs::File::open(path)?; + + let mut data = String::new(); + file.read_to_string(&mut data)?; + + map.insert(name, serde_json::from_str(&data)?); + } + } + } + + let _ = AVATAR_CONFIG_MAP.set(map); + Ok(()) +} + +pub fn get_config_avatar(name: &str) -> Option<&ConfigAvatar> { + AVATAR_CONFIG_MAP.get().unwrap().get(name) +} diff --git a/hk4e_data/src/lib.rs b/hk4e_data/src/lib.rs new file mode 100644 index 0000000..95553e4 --- /dev/null +++ b/hk4e_data/src/lib.rs @@ -0,0 +1,9 @@ +pub mod math_def; +pub mod prop_type; + +mod fight_prop_type; +mod json_data_manual; +mod txt_data_manual; +pub use fight_prop_type::FightPropType; +pub use json_data_manual::*; +pub use txt_data_manual::*; diff --git a/hk4e_data/src/math_def.rs b/hk4e_data/src/math_def.rs new file mode 100644 index 0000000..7d9dfc0 --- /dev/null +++ b/hk4e_data/src/math_def.rs @@ -0,0 +1,88 @@ +use proto::{Vector, VectorBin}; + +#[derive(Default, PartialEq, Clone, Debug)] +pub struct Vector3 { + pub x: f32, + pub y: f32, + pub z: f32, +} + +#[derive(Default, PartialEq, Clone, Debug)] +pub struct Vector2 { + pub x: f32, + pub y: f32, +} + +#[derive(Default, PartialEq, Eq, Clone, Debug)] +pub struct Coordinate { + pub x: i32, + pub y: i32, +} + +pub static VECTOR3_ZERO: Vector3 = Vector3 { + x: 0.0, + y: 0.0, + z: 0.0, +}; + +impl Vector3 { + pub fn from_bin(bin: VectorBin) -> Self { + Self { + x: bin.x, + y: bin.y, + z: bin.z, + } + } + + pub fn to_bin(&self) -> VectorBin { + VectorBin { + x: self.x, + y: self.y, + z: self.z, + } + } + + pub fn to_client(&self) -> Vector { + Vector { + x: self.x, + y: self.y, + z: self.z, + } + } + + pub fn reset(&mut self) { + self.x = 0.0; + self.y = 0.0; + self.z = 0.0; + } + + pub fn is_zero(&self) -> bool { + if self.x.abs() >= 0.00000011920929 { + return false; + } + + if self.y.abs() >= 0.00000011920929 { + return false; + } + + self.z.abs() < 0.00000011920929 + } + + pub fn is_valid(&self) -> bool { + self.x.is_finite() && self.y.is_finite() && self.z.is_finite() + } + + pub fn is_valid_rot(&self) -> bool { + let range = 0.0..361.0; + self.is_valid() + && range.contains(&self.x) + && range.contains(&self.y) + && range.contains(&self.z) + } +} + +impl ToString for Vector3 { + fn to_string(&self) -> String { + format!("{{{},{},{}}}", self.x, self.y, self.z) + } +} diff --git a/hk4e_data/src/prop_type.rs b/hk4e_data/src/prop_type.rs new file mode 100644 index 0000000..c63e6b6 --- /dev/null +++ b/hk4e_data/src/prop_type.rs @@ -0,0 +1,43 @@ +pub const PROP_EXP: u32 = 1001; +pub const PROP_BREAK_LEVEL: u32 = 1002; +pub const PROP_SATIATION_VAL: u32 = 1003; +pub const PROP_SATIATION_PENALTY_TIME: u32 = 1004; +pub const PROP_LEVEL: u32 = 4001; + +pub const PROP_LAST_CHANGE_AVATAR_TIME: u32 = 10001; +pub const PROP_MAX_SPRING_VOLUME: u32 = 10002; +pub const PROP_CUR_SPRING_VOLUME: u32 = 10003; +pub const PROP_IS_SPRING_AUTO_USE: u32 = 10004; +pub const PROP_SPRING_AUTO_USE_PERCENT: u32 = 10005; +pub const PROP_IS_FLYABLE: u32 = 10006; +pub const PROP_IS_WEATHER_LOCKED: u32 = 10007; +pub const PROP_IS_GAME_TIME_LOCKED: u32 = 10008; +pub const PROP_IS_TRANSFERABLE: u32 = 10009; +pub const PROP_MAX_STAMINA: u32 = 10010; +pub const PROP_CUR_PERSIST_STAMINA: u32 = 10011; +pub const PROP_CUR_TEMPORARY_STAMINA: u32 = 10012; +pub const PROP_PLAYER_LEVEL: u32 = 10013; +pub const PROP_PLAYER_EXP: u32 = 10014; +pub const PROP_PLAYER_HCOIN: u32 = 10015; +pub const PROP_PLAYER_SCOIN: u32 = 10016; +pub const PROP_PLAYER_MP_SETTING_TYPE: u32 = 10017; +pub const PROP_IS_MP_MODE_AVAILABLE: u32 = 10018; +pub const PROP_PLAYER_WORLD_LEVEL: u32 = 10019; +pub const PROP_PLAYER_RESIN: u32 = 10020; +pub const PROP_PLAYER_WAIT_SUB_HCOIN: u32 = 10022; +pub const PROP_PLAYER_WAIT_SUB_SCOIN: u32 = 10023; +pub const PROP_IS_ONLY_MP_WITH_PS_PLAYER: u32 = 10024; +pub const PROP_PLAYER_MCOIN: u32 = 10025; +pub const PROP_PLAYER_WAIT_SUB_MCOIN: u32 = 10026; +pub const PROP_PLAYER_LEGENDARY_KEY: u32 = 10027; +pub const PROP_IS_HAS_FIRST_SHARE: u32 = 10028; +pub const PROP_PLAYER_FORGE_POINT: u32 = 10029; +pub const PROP_CUR_CLIMATE_METER: u32 = 10035; +pub const PROP_CUR_CLIMATE_TYPE: u32 = 10036; +pub const PROP_CUR_CLIMATE_AREA_ID: u32 = 10037; +pub const PROP_CUR_CLIMATE_AREA_CLIMATE_TYPE: u32 = 10038; +pub const PROP_PLAYER_WORLD_LEVEL_LIMIT: u32 = 10039; +pub const PROP_PLAYER_WORLD_LEVEL_ADJUST_CD: u32 = 10040; +pub const PROP_PLAYER_LEGENDARY_DAILY_TASK_NUM: u32 = 10041; +pub const PROP_PLAYER_HOME_COIN: u32 = 10042; +pub const PROP_PLAYER_WAIT_SUB_HOME_COIN: u32 = 10043; diff --git a/hk4e_data/src/txt_data_manual/avatar_excel_config.rs b/hk4e_data/src/txt_data_manual/avatar_excel_config.rs new file mode 100644 index 0000000..2c52250 --- /dev/null +++ b/hk4e_data/src/txt_data_manual/avatar_excel_config.rs @@ -0,0 +1,46 @@ +use super::tsv_util::{default_if_empty, from_sequence}; +use serde::Deserialize; + +#[derive(Deserialize, Debug, Default, Clone, Copy, PartialEq, Eq)] +#[serde(rename_all = "SCREAMING_SNAKE_CASE")] +pub enum AvatarUseType { + #[default] + None, + AvatarFormal, + AvatarAbandon, + AvatarSyncTest, +} + +#[derive(Deserialize, Default)] +#[serde(rename_all = "camelCase")] +pub struct AvatarData { + pub body_type: String, + pub icon_name: String, + pub side_icon_name: String, + pub quality_type: String, + pub charge_efficiency: f32, + pub initial_weapon: u32, + pub weapon_type: String, + pub image_name: String, + pub skill_depot_id: u32, + pub stamina_recover_speed: u32, + #[serde(deserialize_with = "from_sequence")] + pub cand_skill_depot_ids: Vec, + #[serde(default)] + pub avatar_identity_type: String, + pub avatar_promote_id: u32, + #[serde(deserialize_with = "from_sequence")] + pub avatar_promote_reward_level_list: Vec, + #[serde(rename = "featureTagGroupID")] + pub feature_tag_group_id: u32, + pub hp_base: f32, + pub attack_base: f32, + pub defense_base: f32, + pub critical: f32, + pub critical_hurt: f32, + pub id: u32, + #[serde(deserialize_with = "default_if_empty")] + pub use_type: AvatarUseType, + #[serde(default)] + pub is_range_attack: bool, +} diff --git a/hk4e_data/src/txt_data_manual/mod.rs b/hk4e_data/src/txt_data_manual/mod.rs new file mode 100644 index 0000000..a022f8b --- /dev/null +++ b/hk4e_data/src/txt_data_manual/mod.rs @@ -0,0 +1,48 @@ +use paste::paste; +use std::sync::OnceLock; + +mod avatar_excel_config; +mod open_state_excel_config; +mod scene_excel_config; +mod world_excel_config; + +pub(crate) mod tsv_util; +pub use avatar_excel_config::{AvatarData, AvatarUseType}; +pub use open_state_excel_config::OpenStateData; +pub use scene_excel_config::{SceneData, SceneType}; +pub use world_excel_config::WorldData; + +macro_rules! tables { + ($($table_type:ident;)*) => { + $(paste! { + static [<$table_type:snake:upper _VEC>]: OnceLock> = OnceLock::new(); + })* + + pub fn load_txt_data() -> Result<(), Box> { + $(paste! { + let path = concat!("data/txt/", stringify!($table_type), ".txt"); + let data = std::fs::read_to_string(path)?; + let _ = [<$table_type:snake:upper _VEC>].set(tsv_util::from_str(&data)?); + })* + + Ok(()) + } + + $(paste! { + pub fn []() -> ::std::slice::Iter<'static, $table_type> { + [<$table_type:snake:upper _VEC>].get().unwrap().iter() + } + })* + }; +} + +tables! { + AvatarData; + WorldData; + SceneData; + OpenStateData; +} + +pub fn get_default_world_main_scene_id() -> u32 { + iter_world_data().next().unwrap().main_scene_id +} diff --git a/hk4e_data/src/txt_data_manual/open_state_excel_config.rs b/hk4e_data/src/txt_data_manual/open_state_excel_config.rs new file mode 100644 index 0000000..474213c --- /dev/null +++ b/hk4e_data/src/txt_data_manual/open_state_excel_config.rs @@ -0,0 +1,11 @@ +use serde::Deserialize; + +#[derive(Deserialize, Default)] +#[serde(rename_all = "camelCase")] +pub struct OpenStateData { + pub id: u32, + pub system_open_ui_id: u32, + pub cond: String, + pub default_state: bool, + pub allow_client_open: bool, +} diff --git a/hk4e_data/src/txt_data_manual/scene_excel_config.rs b/hk4e_data/src/txt_data_manual/scene_excel_config.rs new file mode 100644 index 0000000..35ec784 --- /dev/null +++ b/hk4e_data/src/txt_data_manual/scene_excel_config.rs @@ -0,0 +1,49 @@ +use super::tsv_util::{default_if_empty, from_sequence}; +use serde::Deserialize; + +#[derive(Deserialize, Default, Debug, Clone, Copy, PartialEq, Eq)] +pub enum SceneType { + #[default] + Unknown, + #[serde(rename = "SCENE_WORLD")] + World, + #[serde(rename = "SCENE_DUNGEON")] + Dungeon, + #[serde(rename = "SCENE_ROOM")] + Room, + #[serde(rename = "SCENE_HOME_WORLD")] + HomeWorld, + #[serde(rename = "SCENE_HOME_ROOM")] + HomeRoom, +} + +#[derive(Deserialize, Default)] +#[serde(rename_all = "camelCase")] +#[serde(default)] +pub struct SceneData { + #[serde(deserialize_with = "default_if_empty")] + pub id: u32, + pub r#type: SceneType, + pub subtype: String, + pub ignore_nav_mesh: String, + pub script_data: String, + pub override_default_profile: String, + pub level_entity_config: String, + #[serde(deserialize_with = "default_if_empty")] + pub entity_appear_sorted: u32, + #[serde(deserialize_with = "from_sequence")] + pub specified_avatar_list: Vec, + #[serde(deserialize_with = "default_if_empty")] + pub max_specified_avatar_num: u32, + #[serde(deserialize_with = "from_sequence")] + pub boundary_point_vec: Vec, + #[serde(deserialize_with = "from_sequence")] + pub dungeon_entry_point: Vec, + pub navmesh_mode: String, + #[serde(deserialize_with = "default_if_empty")] + pub is_allow_map_mark_point: bool, + #[serde(deserialize_with = "default_if_empty")] + pub safe_point: u32, + #[serde(deserialize_with = "default_if_empty")] + pub use_to_the_moon: bool, +} diff --git a/hk4e_data/src/txt_data_manual/tsv_util.rs b/hk4e_data/src/txt_data_manual/tsv_util.rs new file mode 100644 index 0000000..88d2539 --- /dev/null +++ b/hk4e_data/src/txt_data_manual/tsv_util.rs @@ -0,0 +1,40 @@ +use std::str::FromStr; + +use csv::ReaderBuilder; +use serde::{de::DeserializeOwned, Deserialize, Deserializer}; + +pub fn from_sequence<'de, D, T>(deserializer: D) -> Result, D::Error> +where + D: Deserializer<'de>, + T: FromStr + Default, +{ + let sequence = String::deserialize(deserializer)?; + match sequence.len() { + 0 => Ok(vec![]), + _ => Ok(sequence + .split(",") + .map(|s| s.parse::().unwrap_or_default()) + .collect()), + } +} + +pub fn from_str<'de, T>(data: &str) -> Result, csv::Error> +where + T: DeserializeOwned, +{ + let mut reader = ReaderBuilder::new() + .delimiter(b'\t') + .has_headers(true) + .from_reader(data.as_bytes()); + + reader.deserialize::().collect() +} + +pub fn default_if_empty<'de, D, T>(de: D) -> Result +where + D: serde::Deserializer<'de>, + T: serde::Deserialize<'de> + Default, +{ + use serde::Deserialize; + Option::::deserialize(de).map(|x| x.unwrap_or_default()) +} diff --git a/hk4e_data/src/txt_data_manual/world_excel_config.rs b/hk4e_data/src/txt_data_manual/world_excel_config.rs new file mode 100644 index 0000000..0f989dc --- /dev/null +++ b/hk4e_data/src/txt_data_manual/world_excel_config.rs @@ -0,0 +1,12 @@ +use super::tsv_util::from_sequence; +use serde::Deserialize; + +#[derive(Deserialize, Default)] +#[serde(rename_all = "camelCase")] +pub struct WorldData { + pub id: u32, + pub r#type: String, + pub main_scene_id: u32, + #[serde(deserialize_with = "from_sequence")] + pub sub_scene_id_vec: Vec, +} diff --git a/hk4e_proto/Cargo.toml b/hk4e_proto/Cargo.toml new file mode 100644 index 0000000..1f896ad --- /dev/null +++ b/hk4e_proto/Cargo.toml @@ -0,0 +1,12 @@ +[package] +name = "proto" +edition = "2021" +version.workspace = true + +[dependencies] +prost.workspace = true +prost-types.workspace = true +proto_gen.workspace = true + +[build-dependencies] +prost-build.workspace = true diff --git a/hk4e_proto/build.rs b/hk4e_proto/build.rs new file mode 100644 index 0000000..0410a42 --- /dev/null +++ b/hk4e_proto/build.rs @@ -0,0 +1,57 @@ +use std::{ + fs::{self, File}, + io::{BufRead, BufReader}, + path::Path, +}; + +pub fn main() { + let proto_files = [ + "packet_head", + "server_only", + "bin.server", + "redis_data", + "cmd", + ]; + + for proto_file in &proto_files { + if Path::new(proto_file).exists() { + println!("cargo:rerun-if-changed={proto_file}.proto"); + + prost_build::Config::new() + .out_dir("out/") + .type_attribute(".", "#[derive(proto_gen::CmdID)]") + .compile_protos(&[format!("{proto_file}.proto")], &[proto_file]) + .unwrap(); + } + } + + implement_cmd_id(Path::new("out/cmd.rs")).unwrap(); + implement_cmd_id(Path::new("out/server_only.rs")).unwrap(); +} + +fn implement_cmd_id(path: &Path) -> std::io::Result<()> { + let file = File::open(path)?; + let reader = BufReader::new(file); + let mut output = Vec::new(); + + let mut cmd_id_attr = None; + for line in reader.lines() { + let line = line?; + if line.contains("CmdID: ") { + cmd_id_attr = Some(make_cmd_id_attr(&line).unwrap()); + } else { + output.push(line); + if let Some(attr) = cmd_id_attr.take() { + output.push(attr); + } + } + } + + fs::write(path, output.join("\n").as_bytes())?; + Ok(()) +} + +fn make_cmd_id_attr(line: &str) -> Option { + let cmd_id = line.split("CmdID: ").nth(1)?.parse::().ok()?; + Some(format!("#[cmdid({cmd_id})]")) +} diff --git a/hk4e_proto/out/.gitkeep b/hk4e_proto/out/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/hk4e_proto/out/bin.rs b/hk4e_proto/out/bin.rs new file mode 100644 index 0000000..8070f68 --- /dev/null +++ b/hk4e_proto/out/bin.rs @@ -0,0 +1,9463 @@ +// This file is @generated by prost-build. +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct VectorBin { + #[prost(float, tag = "1")] + pub x: f32, + #[prost(float, tag = "2")] + pub y: f32, + #[prost(float, tag = "3")] + pub z: f32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Uint32PairBin { + #[prost(uint32, tag = "1")] + pub key: u32, + #[prost(uint32, tag = "2")] + pub value: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Uint32ToInt32PairBin { + #[prost(uint32, tag = "1")] + pub key: u32, + #[prost(int32, tag = "2")] + pub value: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct FloatPairBin { + #[prost(float, tag = "1")] + pub first: f32, + #[prost(float, tag = "2")] + pub second: f32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Uint32List { + #[prost(uint32, repeated, tag = "1")] + pub uint32_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Int32List { + #[prost(int32, repeated, tag = "1")] + pub int32_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ReliquaryBin { + #[prost(uint32, tag = "1")] + pub level: u32, + #[prost(uint32, tag = "2")] + pub exp: u32, + #[prost(uint32, tag = "4")] + pub main_prop_id: u32, + #[prost(uint32, repeated, tag = "5")] + pub append_prop_id_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct WeaponBin { + #[prost(uint32, tag = "1")] + pub level: u32, + #[prost(uint32, tag = "2")] + pub exp: u32, + #[prost(uint32, tag = "3")] + pub promote_level: u32, + #[prost(map = "uint32, uint32", tag = "4")] + pub affix_map: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ItemParamBin { + #[prost(uint32, tag = "1")] + pub item_id: u32, + #[prost(uint32, tag = "2")] + pub count: u32, + #[prost(uint32, tag = "3")] + pub level: u32, + #[prost(uint32, tag = "4")] + pub promote_level: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MailBin { + #[prost(string, tag = "1")] + pub title: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub content: ::prost::alloc::string::String, + #[prost(string, tag = "3")] + pub sender: ::prost::alloc::string::String, + #[prost(message, repeated, tag = "4")] + pub item_param_list: ::prost::alloc::vec::Vec, + #[prost(fixed32, tag = "5")] + pub send_time: u32, + #[prost(fixed32, tag = "6")] + pub expire_time: u32, + #[prost(uint32, tag = "7")] + pub importance: u32, + #[prost(uint32, tag = "8")] + pub config_id: u32, + #[prost(string, repeated, tag = "9")] + pub argument_list: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, + #[prost(uint32, tag = "10")] + pub item_limit_type: u32, + #[prost(uint32, tag = "11")] + pub source_type: u32, + #[prost(string, tag = "12")] + pub tag: ::prost::alloc::string::String, + #[prost(uint32, tag = "13")] + pub reason_type: u32, + #[prost(uint32, tag = "14")] + pub collect_state: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct DelItemOp { + #[prost(uint32, tag = "1")] + pub item_id: u32, + #[prost(uint32, tag = "2")] + pub item_num: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct DelItemNegativeOp { + #[prost(uint32, tag = "1")] + pub item_id: u32, + #[prost(uint32, tag = "2")] + pub item_num: u32, + #[prost(uint32, tag = "3")] + pub remain_num: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct DelEquipOp { + #[prost(uint64, tag = "1")] + pub guid: u64, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerGotoOp { + #[prost(uint32, tag = "1")] + pub scene_id: u32, + #[prost(message, optional, tag = "2")] + pub pos: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ResetParentQuestOp { + #[prost(uint32, tag = "3")] + pub parent_quest_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct RefreshGroupOp { + #[prost(uint32, tag = "1")] + pub group_id: u32, + #[prost(uint32, tag = "2")] + pub suite_id: u32, + #[prost(uint32, tag = "3")] + pub scene_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SetScenePointLockStatusOp { + #[prost(uint32, tag = "1")] + pub scene_id: u32, + #[prost(uint32, tag = "2")] + pub point_id: u32, + #[prost(bool, tag = "3")] + pub is_locked: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SetPlayerNickNameOp { + #[prost(string, tag = "1")] + pub nick_name: ::prost::alloc::string::String, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct RefreshShopOp {} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct UnlockTalentOp { + #[prost(uint32, tag = "1")] + pub avatar_id: u32, + #[prost(uint32, tag = "2")] + pub skill_depot_id: u32, + #[prost(uint32, tag = "3")] + pub talent_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct TakeOffEquipOp { + #[prost(uint32, tag = "1")] + pub avatar_id: u32, + #[prost(uint32, tag = "2")] + pub equip_type: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct DelMailOp { + #[prost(uint32, repeated, tag = "1")] + pub mail_id_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct UnlockAreaOp { + #[prost(uint32, tag = "1")] + pub area_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct FinishDailyTaskOp { + #[prost(uint32, tag = "1")] + pub daily_task_id: u32, + #[prost(uint32, tag = "2")] + pub daily_time: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct AddItemOp { + #[prost(uint32, tag = "1")] + pub item_id: u32, + #[prost(uint32, tag = "2")] + pub item_count: u32, + #[prost(oneof = "add_item_op::Detail", tags = "101, 102")] + pub detail: ::core::option::Option, +} +/// Nested message and enum types in `AddItemOp`. +pub mod add_item_op { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Detail { + #[prost(message, tag = "101")] + Reliquary(super::ReliquaryBin), + #[prost(message, tag = "102")] + Weapon(super::WeaponBin), + } +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ModifyBornPosOp { + #[prost(uint32, tag = "1")] + pub scene_id: u32, + #[prost(message, optional, tag = "2")] + pub pos: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SubCoinNegativeOp { + #[prost(uint32, tag = "1")] + pub scoin: u32, + #[prost(uint32, tag = "2")] + pub hcoin: u32, + #[prost(uint32, tag = "3")] + pub mcoin: u32, + #[prost(uint32, tag = "4")] + pub home_coin: u32, + #[prost(int32, tag = "5")] + pub platform_type: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SetQuestContentProgressOp { + #[prost(uint32, tag = "1")] + pub quest_id: u32, + #[prost(map = "uint32, uint32", tag = "2")] + pub finish_progress_map: ::std::collections::HashMap, + #[prost(map = "uint32, uint32", tag = "3")] + pub fail_progress_map: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct FinishOrderOp { + #[prost(uint32, tag = "1")] + pub order_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct AddOrModifyWatcherOp { + #[prost(uint32, tag = "1")] + pub watcher_id: u32, + #[prost(uint32, tag = "2")] + pub progress: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct DelWatcherOp { + #[prost(uint32, tag = "1")] + pub watcher_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SetSignatureOp { + #[prost(string, tag = "1")] + pub signature: ::prost::alloc::string::String, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct AddOrSubResinOp { + #[prost(uint32, tag = "1")] + pub delta_count: u32, + #[prost(bool, tag = "2")] + pub is_sub: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SetQuestGlobalVarValueOp { + #[prost(uint32, tag = "1")] + pub id: u32, + #[prost(int32, tag = "2")] + pub value: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct AddMcoinVipPointOp { + #[prost(uint32, tag = "1")] + pub mcoin: u32, + #[prost(uint32, tag = "2")] + pub vip_point: u32, + #[prost(int32, tag = "3")] + pub platform_type: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ExchangeMcoinOp { + #[prost(uint32, tag = "1")] + pub num: u32, + #[prost(int32, tag = "2")] + pub exchange_type: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GroupBinOp { + #[prost(enumeration = "GroupBinOperation", tag = "1")] + pub op_type: i32, + #[prost(uint32, tag = "2")] + pub group_id: u32, + #[prost(uint32, tag = "3")] + pub config_id: u32, + #[prost(bool, tag = "4")] + pub is_add: bool, + #[prost(uint32, tag = "5")] + pub state: u32, + #[prost(bool, tag = "6")] + pub is_create: bool, + #[prost(string, tag = "7")] + pub trigger_name: ::prost::alloc::string::String, + #[prost(uint32, tag = "8")] + pub trigger_count: u32, + #[prost(string, tag = "9")] + pub variable_name: ::prost::alloc::string::String, + #[prost(int32, tag = "10")] + pub variable_value: i32, + #[prost(uint32, tag = "11")] + pub target_suite: u32, + #[prost(uint32, tag = "12")] + pub scene_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct DelOneOffOp { + #[prost(uint32, tag = "1")] + pub group_id: u32, + #[prost(uint32, tag = "2")] + pub config_id: u32, + #[prost(bool, tag = "3")] + pub is_monster: bool, + #[prost(uint32, tag = "4")] + pub scene_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct FinishRoutineOp { + #[prost(uint32, tag = "1")] + pub routine_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct FinishDailyTaskUnloadGroupOp { + #[prost(uint32, tag = "1")] + pub daily_task_id: u32, + #[prost(uint32, tag = "2")] + pub daily_time: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct RefreshBlossomCircleCampOp { + #[prost(uint32, tag = "1")] + pub refresh_id: u32, + #[prost(uint32, tag = "2")] + pub circle_camp_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct BlessingActivityGivePicOp { + #[prost(uint32, tag = "1")] + pub source_uid: u32, + #[prost(uint32, tag = "2")] + pub target_uid: u32, + #[prost(uint32, tag = "3")] + pub pic_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ExpeditionActivityAssistOp { + #[prost(uint32, tag = "1")] + pub avatar_id: u32, + #[prost(uint32, tag = "2")] + pub assist_time: u32, + #[prost(uint32, tag = "3")] + pub target_uid: u32, + #[prost(string, tag = "4")] + pub target_nick_name: ::prost::alloc::string::String, + #[prost(string, tag = "5")] + pub online_id: ::prost::alloc::string::String, + #[prost(uint32, tag = "6")] + pub assist_uid: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct RecoverWorldLevelOp {} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct AddRegionSearchProgressOp { + #[prost(uint32, tag = "1")] + pub region_id: u32, + #[prost(uint32, tag = "2")] + pub add_recycle: u32, + #[prost(uint32, tag = "3")] + pub add_progress: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SetMatchPunishTimesOp { + #[prost(uint32, tag = "1")] + pub match_id: u32, + #[prost(uint32, tag = "2")] + pub punish_times: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ResetChannellerSlabCampGroupOp { + #[prost(uint32, tag = "1")] + pub stage_id: u32, + #[prost(uint32, tag = "2")] + pub round_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ForceAcceptQuestOp { + #[prost(uint32, tag = "1")] + pub quest_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SetMainCoopConfidenceOp { + #[prost(uint32, tag = "1")] + pub confidence: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct AddCoopPointSavePointListOp { + #[prost(uint32, tag = "1")] + pub coop_point_id: u32, + #[prost(uint32, repeated, tag = "2")] + pub save_point_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SetClimateAreaTypeOp { + #[prost(uint32, tag = "1")] + pub scene_id: u32, + #[prost(uint32, tag = "2")] + pub climate_area_id: u32, + #[prost(uint32, tag = "3")] + pub climate_type: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ProcSceneTagOp { + #[prost(uint32, tag = "1")] + pub scene_id: u32, + #[prost(uint32, tag = "2")] + pub scene_tag_id: u32, + #[prost(enumeration = "SceneTagOpType", tag = "3")] + pub op_type: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SetFinishedParentQuestChildStateOp { + #[prost(uint32, tag = "1")] + pub quest_id: u32, + #[prost(uint32, tag = "2")] + pub state: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ChangeMapAreaInfoOp { + #[prost(uint32, tag = "1")] + pub map_area_id: u32, + #[prost(bool, tag = "2")] + pub is_open: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SetLevel1AreaExplorePointOp { + #[prost(uint32, tag = "1")] + pub scene_id: u32, + #[prost(uint32, tag = "2")] + pub level1_area_id: u32, + #[prost(uint32, tag = "3")] + pub explore_point: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SetCodexOpenOrCloseOp { + #[prost(uint32, tag = "1")] + pub codex_type: u32, + #[prost(uint32, tag = "2")] + pub codex_id: u32, + #[prost(bool, tag = "3")] + pub is_open: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GroupLinkOp { + #[prost(enumeration = "GroupLinkOpType", tag = "1")] + pub op_type: i32, + #[prost(uint32, tag = "2")] + pub group_bundle_id: u32, + #[prost(uint32, tag = "3")] + pub activity_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SetWatcherCompRecordValueOp { + #[prost( + oneof = "set_watcher_comp_record_value_op::OptionalMaxCriticalDamage", + tags = "1" + )] + pub optional_max_critical_damage: ::core::option::Option< + set_watcher_comp_record_value_op::OptionalMaxCriticalDamage, + >, + #[prost( + oneof = "set_watcher_comp_record_value_op::OptionalMaxFlyMapDistance", + tags = "2" + )] + pub optional_max_fly_map_distance: ::core::option::Option< + set_watcher_comp_record_value_op::OptionalMaxFlyMapDistance, + >, + #[prost(oneof = "set_watcher_comp_record_value_op::OptionalMaxFlyTime", tags = "3")] + pub optional_max_fly_time: ::core::option::Option< + set_watcher_comp_record_value_op::OptionalMaxFlyTime, + >, + #[prost(oneof = "set_watcher_comp_record_value_op::OptionalMaxDashTime", tags = "4")] + pub optional_max_dash_time: ::core::option::Option< + set_watcher_comp_record_value_op::OptionalMaxDashTime, + >, +} +/// Nested message and enum types in `SetWatcherCompRecordValueOp`. +pub mod set_watcher_comp_record_value_op { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum OptionalMaxCriticalDamage { + #[prost(float, tag = "1")] + MaxCriticalDamage(f32), + } + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum OptionalMaxFlyMapDistance { + #[prost(float, tag = "2")] + MaxFlyMapDistance(f32), + } + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum OptionalMaxFlyTime { + #[prost(float, tag = "3")] + MaxFlyTime(f32), + } + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum OptionalMaxDashTime { + #[prost(float, tag = "4")] + MaxDashTime(f32), + } +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct AddFriendOp { + #[prost(uint32, tag = "1")] + pub target_uid: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct DelFriendOp { + #[prost(uint32, tag = "1")] + pub target_uid: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct AddFriendAskOp { + #[prost(uint32, tag = "1")] + pub target_uid: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct DelFriendAskOp { + #[prost(uint32, tag = "1")] + pub target_uid: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct BanCustomDungeonOp { + #[prost(uint32, tag = "1")] + pub ban_expire_time: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct RemoveInvalidMapMarksOp { + #[prost(uint32, tag = "1")] + pub scene_id: u32, + #[prost(message, optional, tag = "2")] + pub x_range: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub z_range: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct RecalculateAreaExplorePointOp { + #[prost(uint32, tag = "1")] + pub area_id: u32, + #[prost(uint32, tag = "2")] + pub old_exp: u32, + #[prost(uint32, tag = "3")] + pub recalc_exp: u32, + #[prost(uint32, tag = "4")] + pub new_exp: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct NicknameAuditResultOp { + #[prost(string, tag = "1")] + pub nickname: ::prost::alloc::string::String, + #[prost(bool, tag = "2")] + pub is_ok: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SignatureAuditResultOp { + #[prost(string, tag = "1")] + pub signature: ::prost::alloc::string::String, + #[prost(bool, tag = "2")] + pub is_ok: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PassHomeSceneArrangementAuditOp { + #[prost(uint32, tag = "1")] + pub module_id: u32, + #[prost(uint32, tag = "2")] + pub scene_id: u32, + #[prost(uint32, tag = "3")] + pub version: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct FailHomeSceneArrangementAuditOp { + #[prost(uint32, tag = "1")] + pub module_id: u32, + #[prost(uint32, tag = "2")] + pub scene_id: u32, + #[prost(uint32, tag = "3")] + pub version: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct FailHomeModulesArrangementAuditOp { + #[prost(bool, tag = "1")] + pub is_all_module: bool, + #[prost(uint32, repeated, tag = "2")] + pub module_id_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "3")] + pub version: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct BanUgcPublishOp { + #[prost(uint32, tag = "1")] + pub ban_publish_expire_time: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ResetPlayerPersistentDungeonOp { + #[prost(uint32, tag = "1")] + pub scene_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ResetPlayerPosInPersistentDungeonOp { + #[prost(uint32, tag = "1")] + pub scene_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct LevelTagChangeOp { + #[prost(uint32, tag = "1")] + pub level_tag_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ResetPlayerWayPointInPersistentDungeonOp { + #[prost(uint32, tag = "1")] + pub scene_id: u32, + #[prost(uint32, tag = "2")] + pub way_point_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ExhibitionSetOp { + #[prost(uint32, tag = "1")] + pub exhibition_id: u32, + #[prost(oneof = "exhibition_set_op::OptionalAccumulableVal", tags = "2")] + pub optional_accumulable_val: ::core::option::Option< + exhibition_set_op::OptionalAccumulableVal, + >, + #[prost(oneof = "exhibition_set_op::OptionalReplaceableVal", tags = "3")] + pub optional_replaceable_val: ::core::option::Option< + exhibition_set_op::OptionalReplaceableVal, + >, +} +/// Nested message and enum types in `ExhibitionSetOp`. +pub mod exhibition_set_op { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum OptionalAccumulableVal { + #[prost(uint32, tag = "2")] + AccumulableVal(u32), + } + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum OptionalReplaceableVal { + #[prost(uint32, tag = "3")] + ReplaceableVal(u32), + } +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SetAvatarExtraPropOp { + #[prost(uint32, tag = "1")] + pub avatar_id: u32, + #[prost(uint32, tag = "2")] + pub extra_prop_id: u32, + #[prost(uint32, tag = "3")] + pub extra_prop_count: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct AddItemWithLimitOp { + #[prost(message, optional, tag = "1")] + pub add_item_op: ::core::option::Option, + #[prost(uint32, tag = "2")] + pub max_item_count: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SetGadgetChainLevelOp { + #[prost(uint32, tag = "1")] + pub gadgetchain_id: u32, + #[prost(uint32, tag = "2")] + pub gadgetchain_level: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SetDailyTaskVarOp { + #[prost(uint32, tag = "1")] + pub task_id: u32, + #[prost(uint32, tag = "2")] + pub index: u32, + #[prost(int32, tag = "3")] + pub value: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct OfflineMsgBin { + #[prost(fixed32, tag = "1")] + pub enque_time: u32, + #[prost(string, tag = "2")] + pub ticket: ::prost::alloc::string::String, + #[prost(uint32, tag = "3")] + pub index: u32, + #[prost( + oneof = "offline_msg_bin::Detail", + tags = "4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 28001, 28002, 28003, 28004, 30000, 30001, 30002, 31001, 32001" + )] + pub detail: ::core::option::Option, +} +/// Nested message and enum types in `OfflineMsgBin`. +pub mod offline_msg_bin { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Detail { + #[prost(message, tag = "4")] + DelItemOp(super::DelItemOp), + #[prost(message, tag = "5")] + GotoOp(super::PlayerGotoOp), + #[prost(message, tag = "6")] + ResetParentQuestOp(super::ResetParentQuestOp), + #[prost(message, tag = "7")] + RefreshGroupOp(super::RefreshGroupOp), + #[prost(message, tag = "8")] + SetScenePointLockStatusOp(super::SetScenePointLockStatusOp), + #[prost(message, tag = "9")] + SetNickNameOp(super::SetPlayerNickNameOp), + #[prost(message, tag = "10")] + RefreshShopOp(super::RefreshShopOp), + #[prost(message, tag = "11")] + UnlockTalentOp(super::UnlockTalentOp), + #[prost(message, tag = "12")] + TakeOffEquipOp(super::TakeOffEquipOp), + #[prost(message, tag = "13")] + DelMailOp(super::DelMailOp), + #[prost(message, tag = "14")] + FinishDailyTaskOp(super::FinishDailyTaskOp), + #[prost(message, tag = "15")] + UnlockAreaOp(super::UnlockAreaOp), + #[prost(message, tag = "16")] + DelItemNegativeOp(super::DelItemNegativeOp), + #[prost(message, tag = "17")] + DelEquipOp(super::DelEquipOp), + #[prost(message, tag = "18")] + AddItemOp(super::AddItemOp), + #[prost(message, tag = "19")] + ModifyBornPosOp(super::ModifyBornPosOp), + #[prost(message, tag = "20")] + SubCoinNegativeOp(super::SubCoinNegativeOp), + #[prost(message, tag = "21")] + SetQuestContentProgressOp(super::SetQuestContentProgressOp), + #[prost(message, tag = "22")] + FinishOrderOp(super::FinishOrderOp), + #[prost(message, tag = "23")] + AddOrModifyWatcherOp(super::AddOrModifyWatcherOp), + #[prost(message, tag = "24")] + DelWatcherOp(super::DelWatcherOp), + #[prost(message, tag = "25")] + SetSignatureOp(super::SetSignatureOp), + #[prost(message, tag = "26")] + AddOrSubResinOp(super::AddOrSubResinOp), + #[prost(message, tag = "27")] + SetQuestGlobalVarValueOp(super::SetQuestGlobalVarValueOp), + #[prost(message, tag = "28")] + AddMcoinOp(super::AddMcoinVipPointOp), + #[prost(message, tag = "29")] + GroupBinOp(super::GroupBinOp), + #[prost(message, tag = "30")] + DelOneOffOp(super::DelOneOffOp), + #[prost(message, tag = "31")] + FinishRoutineOp(super::FinishRoutineOp), + #[prost(message, tag = "32")] + FinishDailyTaskGroupOp(super::FinishDailyTaskUnloadGroupOp), + #[prost(message, tag = "33")] + RefreshBlossomCircleCampOp(super::RefreshBlossomCircleCampOp), + #[prost(message, tag = "34")] + BlessingGivePicOp(super::BlessingActivityGivePicOp), + #[prost(message, tag = "35")] + ExpeditionAssistOp(super::ExpeditionActivityAssistOp), + #[prost(message, tag = "36")] + RecoverWorldLevelOp(super::RecoverWorldLevelOp), + #[prost(message, tag = "37")] + ForceAcceptQuestOp(super::ForceAcceptQuestOp), + #[prost(message, tag = "38")] + SetMainCoopConfidenceOp(super::SetMainCoopConfidenceOp), + #[prost(message, tag = "39")] + AddCoopPointSavePointListOp(super::AddCoopPointSavePointListOp), + #[prost(message, tag = "40")] + AddRegionSearchProgressOp(super::AddRegionSearchProgressOp), + #[prost(message, tag = "41")] + SetMatchPunishTimesOp(super::SetMatchPunishTimesOp), + #[prost(message, tag = "42")] + ResetChannellerSlabCampGroupOp(super::ResetChannellerSlabCampGroupOp), + #[prost(message, tag = "43")] + ProcSceneTagOp(super::ProcSceneTagOp), + #[prost(message, tag = "44")] + SetClimateAreaTypeOp(super::SetClimateAreaTypeOp), + #[prost(message, tag = "45")] + ExchangeMcoinOp(super::ExchangeMcoinOp), + #[prost(message, tag = "46")] + SetFinishedParentQuestChildStateOp(super::SetFinishedParentQuestChildStateOp), + #[prost(message, tag = "47")] + SetLevel1AreaExplorePointOp(super::SetLevel1AreaExplorePointOp), + #[prost(message, tag = "48")] + SetCodexOpenOrCloseOp(super::SetCodexOpenOrCloseOp), + #[prost(message, tag = "49")] + ChangeMapAreaInfoOp(super::ChangeMapAreaInfoOp), + #[prost(message, tag = "50")] + GroupLinkOp(super::GroupLinkOp), + #[prost(message, tag = "51")] + SetWatcherCompRecordValueOp(super::SetWatcherCompRecordValueOp), + #[prost(message, tag = "52")] + AddFriendOp(super::AddFriendOp), + #[prost(message, tag = "53")] + DelFriendOp(super::DelFriendOp), + #[prost(message, tag = "54")] + AddFriendAskOp(super::AddFriendAskOp), + #[prost(message, tag = "55")] + DelFriendAskOp(super::DelFriendAskOp), + #[prost(message, tag = "56")] + BanCustomDungeonOp(super::BanCustomDungeonOp), + #[prost(message, tag = "57")] + RemoveInvalidMapMarksOp(super::RemoveInvalidMapMarksOp), + #[prost(message, tag = "58")] + RecalculateAreaExplorePointOp(super::RecalculateAreaExplorePointOp), + #[prost(message, tag = "59")] + NicknameAuditResultOp(super::NicknameAuditResultOp), + #[prost(message, tag = "60")] + SignatureAuditResultOp(super::SignatureAuditResultOp), + #[prost(message, tag = "61")] + PassHomeSceneArrangementAuditOp(super::PassHomeSceneArrangementAuditOp), + #[prost(message, tag = "62")] + FailHomeSceneArrangementAuditOp(super::FailHomeSceneArrangementAuditOp), + #[prost(message, tag = "63")] + FailHomeModulesArrangementAuditOp(super::FailHomeModulesArrangementAuditOp), + #[prost(message, tag = "64")] + BanUgcPublishOp(super::BanUgcPublishOp), + #[prost(message, tag = "28001")] + ResetPlayerPersistentDungeonOp(super::ResetPlayerPersistentDungeonOp), + #[prost(message, tag = "28002")] + ResetPlayerPosInPersistentDungeonOp(super::ResetPlayerPosInPersistentDungeonOp), + #[prost(message, tag = "28003")] + LevelTagChangeOp(super::LevelTagChangeOp), + #[prost(message, tag = "28004")] + ResetPlayerWayPointInPersistentDungeonOp( + super::ResetPlayerWayPointInPersistentDungeonOp, + ), + #[prost(message, tag = "30000")] + ExhibitionSetOp(super::ExhibitionSetOp), + #[prost(message, tag = "30001")] + SetAvatarExtraPropOp(super::SetAvatarExtraPropOp), + #[prost(message, tag = "30002")] + AddItemWithLimitOp(super::AddItemWithLimitOp), + #[prost(message, tag = "31001")] + SetGadgetChainLevelOp(super::SetGadgetChainLevelOp), + #[prost(message, tag = "32001")] + SetDailyTaskVarOp(super::SetDailyTaskVarOp), + } +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct HomeTestOp { + #[prost(uint32, tag = "1")] + pub val: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct HomeRestoreDefaultsArrangementOp { + #[prost(bool, tag = "1")] + pub is_all_module: bool, + #[prost(uint32, repeated, tag = "2")] + pub module_id_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "3")] + pub version: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct HomeRestoreDefaultsSceneArrangementOp { + #[prost(uint32, tag = "1")] + pub module_id: u32, + #[prost(uint32, tag = "2")] + pub scene_id: u32, + #[prost(uint32, tag = "3")] + pub version: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct HomeOfflineMsgBin { + #[prost(fixed32, tag = "1")] + pub enque_time: u32, + #[prost(string, tag = "2")] + pub ticket: ::prost::alloc::string::String, + #[prost(uint32, tag = "3")] + pub index: u32, + #[prost(oneof = "home_offline_msg_bin::Detail", tags = "101, 102, 103")] + pub detail: ::core::option::Option, +} +/// Nested message and enum types in `HomeOfflineMsgBin`. +pub mod home_offline_msg_bin { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Detail { + #[prost(message, tag = "101")] + TestOp(super::HomeTestOp), + #[prost(message, tag = "102")] + RestoreDefaultsArrangementOp(super::HomeRestoreDefaultsArrangementOp), + #[prost(message, tag = "103")] + RestoreDefaultsSceneArrangementOp(super::HomeRestoreDefaultsSceneArrangementOp), + } +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GroupVariableBin { + #[prost(int32, tag = "2")] + pub value: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GroupVariableConfigIdBin { + #[prost(uint32, tag = "1")] + pub config_id: u32, + #[prost(int32, tag = "2")] + pub value: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct InteractGadget { + #[prost(uint32, tag = "1")] + pub group_id: u32, + #[prost(uint32, tag = "2")] + pub config_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct AreaBin { + #[prost(uint32, tag = "1")] + pub explore_num: u32, + #[prost(uint32, tag = "2")] + pub explore_point: u32, + #[prost(uint32, repeated, tag = "3")] + pub unlock_point_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "4")] + pub interact_gadget_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct CityBin { + #[prost(uint32, tag = "1")] + pub level: u32, + #[prost(uint32, tag = "2")] + pub crystal_num: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ScenePlayerLocationBin { + #[prost(message, optional, tag = "1")] + pub cur_pos: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub cur_rot: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub last_valid_pos: ::core::option::Option, + #[prost(message, optional, tag = "4")] + pub last_valid_rot: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct EnvZoneInfoBin { + #[prost(fixed32, tag = "1")] + pub last_refresh_time: u32, + #[prost(uint32, tag = "2")] + pub animal_num: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SceneEnvAnimalCompBin { + #[prost(map = "uint32, message", tag = "1")] + pub zone_info_map: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SceneWeatherInfoBin { + #[prost(uint32, tag = "1")] + pub height_area_id: u32, + #[prost(uint32, tag = "2")] + pub climate_type: u32, + #[prost(uint64, tag = "3")] + pub next_climate_time: u64, + #[prost(uint32, repeated, tag = "4")] + pub forcast_climate_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SceneClimateAreaInfoBin { + #[prost(uint32, tag = "1")] + pub climate_area_id: u32, + #[prost(uint32, tag = "2")] + pub json_climate_type: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SceneAllWeatherInfoBin { + #[prost(message, repeated, tag = "1")] + pub weather_info_list: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "2")] + pub closed_weather_area_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "3")] + pub climate_area_info_list: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "4")] + pub closed_climate_area_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct BackupGroupBin { + #[prost(uint32, repeated, tag = "1")] + pub del_monster_list: ::prost::alloc::vec::Vec, + #[prost(map = "string, message", tag = "2")] + pub variable_map: ::std::collections::HashMap< + ::prost::alloc::string::String, + GroupVariableBin, + >, + #[prost(uint32, tag = "3")] + pub revise_level: u32, + #[prost(fixed32, tag = "4")] + pub last_refresh_time: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SceneBlockGroupCompBin { + #[prost(uint32, repeated, tag = "1")] + pub dead_group_list: ::prost::alloc::vec::Vec, + #[prost(map = "uint32, message", tag = "2")] + pub backup_group_map: ::std::collections::HashMap, + #[prost(bool, tag = "3")] + pub is_scene_group_all_dead: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SceneAreaCompBin { + #[prost(uint32, repeated, tag = "1")] + pub unlocked_area_list: ::prost::alloc::vec::Vec, + #[prost(map = "uint32, message", tag = "2")] + pub area_map: ::std::collections::HashMap, + #[prost(map = "uint32, message", tag = "3")] + pub city_map: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SceneEncounterCompBin { + #[prost(uint32, repeated, tag = "1")] + pub parent_quest_id_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ActivitySceneBin { + #[prost(bool, tag = "1")] + pub is_open: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SceneVehicleBin { + #[prost(uint32, tag = "1")] + pub config_id: u32, + #[prost(message, optional, tag = "2")] + pub cur_pos: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub cur_rot: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SceneTagOp { + #[prost(uint32, tag = "1")] + pub id: u32, + #[prost(enumeration = "SceneTagOpType", tag = "2")] + pub op_type: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct WayPoint { + #[prost(uint32, tag = "1")] + pub point_id: u32, + #[prost(uint32, tag = "2")] + pub activate_time: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct DungeonSceneBin { + #[prost(message, repeated, tag = "1")] + pub activated_way_point_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "2")] + pub activated_slip_revive_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SceneBin { + #[prost(uint32, repeated, tag = "1")] + pub unlocked_point_list: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "2")] + pub unlocked_force_list: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "3")] + pub locked_point_list: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "4")] + pub all_weather_info: ::core::option::Option, + #[prost(message, optional, tag = "5")] + pub owner_player_location: ::core::option::Option, + #[prost(message, optional, tag = "6")] + pub block_group_bin: ::core::option::Option, + #[prost(message, optional, tag = "7")] + pub env_animal_bin: ::core::option::Option, + #[prost(message, optional, tag = "8")] + pub area_comp_bin: ::core::option::Option, + #[prost(message, optional, tag = "9")] + pub encounter_comp_bin: ::core::option::Option, + #[prost(uint64, tag = "10")] + pub last_spring_recover_time_ms: u64, + #[prost(uint32, repeated, tag = "11")] + pub group_unlimit_point_list: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "12")] + pub interacted_to_be_explored_point_list: ::prost::alloc::vec::Vec, + #[prost(float, tag = "13")] + pub cur_spring_volume: f32, + #[prost(bool, tag = "14")] + pub is_locked: bool, + #[prost(message, repeated, tag = "15")] + pub vehicle_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "16")] + pub scene_tag_op_list: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "17")] + pub hide_point_list: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "18")] + pub unhide_point_list: ::prost::alloc::vec::Vec, + #[prost(oneof = "scene_bin::Detail", tags = "101, 102")] + pub detail: ::core::option::Option, +} +/// Nested message and enum types in `SceneBin`. +pub mod scene_bin { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Detail { + #[prost(message, tag = "101")] + ActivitySceneBin(super::ActivitySceneBin), + #[prost(message, tag = "102")] + DungeonSceneBin(super::DungeonSceneBin), + } +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct OfflineOpTestOp { + #[prost(string, tag = "1")] + pub msg: ::prost::alloc::string::String, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct OfflineOpFurnitureMakeHelp { + #[prost(string, tag = "1")] + pub player_name: ::prost::alloc::string::String, + #[prost(fixed32, tag = "2")] + pub time: u32, + #[prost(uint32, tag = "3")] + pub uid: u32, + #[prost(uint32, tag = "4")] + pub icon: u32, + #[prost(message, optional, tag = "5")] + pub profile_picture_bin: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct OfflineOpPlantFlowerActivityGiveFlower { + #[prost(uint32, tag = "1")] + pub uid: u32, + #[prost(map = "uint32, uint32", tag = "2")] + pub flower_num_map: ::std::collections::HashMap, + #[prost(uint32, tag = "3")] + pub schedule_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct OfflineOpWinterCampActivityGiveItem { + #[prost(uint32, tag = "1")] + pub uid: u32, + #[prost(message, repeated, tag = "2")] + pub item_bin_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "3")] + pub schedule_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct OfflineOpActivityGiveGift { + #[prost(uint32, tag = "1")] + pub uid: u32, + #[prost(map = "uint32, uint32", tag = "2")] + pub gift_num_map: ::std::collections::HashMap, + #[prost(uint32, tag = "3")] + pub schedule_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct OfflineOpVintageActivityDividend { + #[prost(uint32, tag = "1")] + pub uid: u32, + #[prost(uint32, tag = "2")] + pub schedule_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct OfflineOpBin { + #[prost(oneof = "offline_op_bin::Detail", tags = "1, 2, 3, 4, 5, 6")] + pub detail: ::core::option::Option, +} +/// Nested message and enum types in `OfflineOpBin`. +pub mod offline_op_bin { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Detail { + #[prost(message, tag = "1")] + TestOp(super::OfflineOpTestOp), + #[prost(message, tag = "2")] + FurnitureMakeHelpOp(super::OfflineOpFurnitureMakeHelp), + #[prost(message, tag = "3")] + PlantFlowerGiveFlowerOp(super::OfflineOpPlantFlowerActivityGiveFlower), + #[prost(message, tag = "4")] + WinterCampGiveItemOp(super::OfflineOpWinterCampActivityGiveItem), + #[prost(message, tag = "5")] + ActivityGiveGiftOp(super::OfflineOpActivityGiveGift), + #[prost(message, tag = "6")] + VintageDividendOp(super::OfflineOpVintageActivityDividend), + } +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct FurnitureMakeSlotsBin { + #[prost(uint32, tag = "1")] + pub make_id: u32, + #[prost(fixed32, tag = "2")] + pub begin_time: u32, + #[prost(uint32, tag = "3")] + pub dur_time: u32, + #[prost(fixed32, tag = "4")] + pub accelerate_time: u32, + #[prost(uint32, tag = "6")] + pub accelerate_count: u32, + #[prost(uint32, tag = "7")] + pub avatar_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ProfilePictureBin { + #[prost(uint32, tag = "1")] + pub avatar_id: u32, + #[prost(uint32, tag = "2")] + pub costume_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct CustomDungeonSettingBin { + #[prost(bool, tag = "1")] + pub is_arrive_finish: bool, + #[prost(uint32, tag = "2")] + pub coin_limit: u32, + #[prost(uint32, tag = "3")] + pub time_limit: u32, + #[prost(bool, tag = "4")] + pub is_forbid_skill: bool, + #[prost(uint32, repeated, tag = "5")] + pub open_room_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "6")] + pub start_room_id: u32, + #[prost(uint32, tag = "7")] + pub life_num: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct CustomDungeonAbstractBin { + #[prost(uint32, tag = "1")] + pub finish_room_id: u32, + #[prost(uint32, tag = "2")] + pub total_coin_num: u32, + #[prost(uint32, tag = "3")] + pub first_publish_time: u32, + #[prost(uint32, tag = "4")] + pub last_publish_time: u32, + #[prost(map = "uint32, uint32", tag = "5")] + pub brick_statistics_map: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct HomeBasicCompBin { + #[prost(uint64, tag = "1")] + pub trans_no_count: u64, + #[prost(uint64, tag = "4")] + pub exp: u64, + #[prost(uint32, tag = "5")] + pub level: u32, + #[prost(string, tag = "6")] + pub owner_nick_name: ::prost::alloc::string::String, + #[prost(uint32, tag = "7")] + pub total_home_time: u32, + #[prost(uint64, tag = "8")] + pub home_time_ms: u64, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct HomeFurnitureBin { + #[prost(uint32, tag = "1")] + pub furniture_id: u32, + #[prost(message, optional, tag = "3")] + pub spawn_pos: ::core::option::Option, + #[prost(message, optional, tag = "4")] + pub spawn_rot: ::core::option::Option, + #[prost(int32, tag = "7")] + pub parent_furniture_index: i32, + #[prost(uint32, tag = "8")] + pub guid: u32, + #[prost(uint32, tag = "9")] + pub version: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct HomeFurnitureSuiteBin { + #[prost(uint32, tag = "1")] + pub suite_id: u32, + #[prost(message, optional, tag = "2")] + pub spawn_pos: ::core::option::Option, + #[prost(int32, repeated, tag = "3")] + pub included_furniture_index_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "4")] + pub guid: u32, + #[prost(bool, tag = "5")] + pub is_allow_summon: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct HomeNpcBin { + #[prost(uint32, tag = "1")] + pub avatar_id: u32, + #[prost(message, optional, tag = "2")] + pub spawn_pos: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub spawn_rot: ::core::option::Option, + #[prost(uint32, tag = "4")] + pub costume_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct HomeAnimalBin { + #[prost(uint32, tag = "1")] + pub furniture_id: u32, + #[prost(message, optional, tag = "2")] + pub spawn_pos: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub spawn_rot: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct HomeBlockSubFieldBin { + #[prost(message, optional, tag = "1")] + pub spawn_pos: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub spawn_rot: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct HomeBlockFieldBin { + #[prost(uint32, tag = "1")] + pub guid: u32, + #[prost(uint32, tag = "2")] + pub furniture_id: u32, + #[prost(message, optional, tag = "3")] + pub spawn_pos: ::core::option::Option, + #[prost(message, optional, tag = "4")] + pub spawn_rot: ::core::option::Option, + #[prost(message, repeated, tag = "5")] + pub sub_field_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct HomeFurnitureGroupBin { + #[prost(uint32, tag = "1")] + pub group_furniture_index: u32, + #[prost(message, repeated, tag = "2")] + pub virtual_furniure_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct HomeFurnitureCustomSuiteBin { + #[prost(message, optional, tag = "1")] + pub spawn_pos: ::core::option::Option, + #[prost(int32, repeated, tag = "2")] + pub included_furniture_index_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "3")] + pub guid: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct HomeBlockBin { + #[prost(uint32, tag = "1")] + pub block_id: u32, + #[prost(message, repeated, tag = "2")] + pub persistent_furniture_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "3")] + pub deploy_furniure_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "4")] + pub deploy_npc_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "5")] + pub furniture_suite_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "6")] + pub deploy_animal_list: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "7")] + pub is_unlocked: bool, + #[prost(message, repeated, tag = "8")] + pub deploy_field_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "9")] + pub deploy_furniture_group_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "10")] + pub furniture_custom_suite_list: ::prost::alloc::vec::Vec< + HomeFurnitureCustomSuiteBin, + >, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct HomeSceneBin { + #[prost(uint32, tag = "1")] + pub scene_id: u32, + #[prost(message, optional, tag = "2")] + pub scene_bin: ::core::option::Option, + #[prost(message, repeated, tag = "3")] + pub block_bin_list: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "4")] + pub is_set_born_pos: bool, + #[prost(message, optional, tag = "5")] + pub born_pos: ::core::option::Option, + #[prost(message, optional, tag = "6")] + pub born_rot: ::core::option::Option, + #[prost(message, repeated, tag = "7")] + pub door_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "8")] + pub stair_list: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "9")] + pub main_house: ::core::option::Option, + #[prost(message, optional, tag = "10")] + pub djinn_pos: ::core::option::Option, + #[prost(uint32, tag = "12")] + pub tmp_version: u32, + #[prost(fixed32, tag = "13")] + pub save_time: u32, + #[prost(uint32, tag = "14")] + pub bgm_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct HomeModuleBin { + #[prost(uint32, tag = "1")] + pub module_id: u32, + #[prost(uint32, tag = "2")] + pub cur_room_scene_id: u32, + #[prost(message, repeated, tag = "3")] + pub scene_bin_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct HomeSceneCompBin { + #[prost(uint32, tag = "1")] + pub cur_module_id: u32, + #[prost(message, repeated, tag = "2")] + pub module_bin_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct HomeOfflineMsgExeBin { + #[prost(message, optional, tag = "1")] + pub msg: ::core::option::Option, + #[prost(uint32, tag = "2")] + pub exe_times: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct HomeOfflineMsgCompBin { + #[prost(uint32, tag = "1")] + pub index: u32, + #[prost(message, repeated, tag = "2")] + pub next_offline_msg_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct HomeFurnitureMakeBin { + #[prost(message, repeated, tag = "1")] + pub furniture_make_slots_bin_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct HomeLimitedShopPoolRecordBin { + #[prost(uint32, tag = "1")] + pub pool_id: u32, + #[prost(uint32, repeated, tag = "2")] + pub goods_id_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct HomeLimitedShopGoodsInfoBin { + #[prost(uint32, tag = "1")] + pub goods_id: u32, + #[prost(uint32, tag = "2")] + pub buy_num: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct HomeLimitedShopNpcPosBin { + #[prost(uint32, tag = "1")] + pub module_id: u32, + #[prost(uint32, tag = "4")] + pub scene_id: u32, + #[prost(uint32, tag = "5")] + pub block_id: u32, + #[prost(uint32, tag = "6")] + pub index: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct HomeLimitedShopBin { + #[prost(uint32, tag = "1")] + pub last_refresh_time: u32, + #[prost(message, repeated, tag = "3")] + pub pool_record_bin_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "4")] + pub goods_info_bin_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "5")] + pub npc_pos_bin_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct HomePlantSubFieldBin { + #[prost(uint32, tag = "1")] + pub index: u32, + #[prost(uint32, tag = "2")] + pub seed_id: u32, + #[prost(uint32, tag = "3")] + pub grow_time: u32, + #[prost(uint32, tag = "4")] + pub last_update_time: u32, + #[prost(uint32, repeated, tag = "5")] + pub gather_index_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "6")] + pub home_gather_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct HomePlantFieldBin { + #[prost(uint32, tag = "1")] + pub module_id: u32, + #[prost(uint32, tag = "2")] + pub scene_id: u32, + #[prost(uint32, tag = "3")] + pub guid: u32, + #[prost(uint32, tag = "4")] + pub furniture_id: u32, + #[prost(message, repeated, tag = "5")] + pub sub_field_bin_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct HomePlantBin { + #[prost(message, repeated, tag = "1")] + pub field_bin_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct HomeFishpondFarmingBin { + #[prost(uint32, tag = "1")] + pub scene_id: u32, + #[prost(uint32, tag = "2")] + pub fishpond_guid: u32, + #[prost(uint32, tag = "3")] + pub furniture_id: u32, + #[prost(uint32, repeated, tag = "4")] + pub fish_id_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct HomeScenePointFishFarmingBin { + #[prost(uint32, tag = "1")] + pub scene_id: u32, + #[prost(uint32, tag = "2")] + pub local_entity_id: u32, + #[prost(uint32, repeated, tag = "4")] + pub fish_id_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct HomeModuleFishFarmingBin { + #[prost(uint32, tag = "1")] + pub module_id: u32, + #[prost(message, repeated, tag = "2")] + pub fishpond_farming_bin_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "3")] + pub scene_point_fish_farming_bin_list: ::prost::alloc::vec::Vec< + HomeScenePointFishFarmingBin, + >, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct HomeFishFarmingBin { + #[prost(message, repeated, tag = "1")] + pub module_fish_farming_bin_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct HomeCustomFurnitureNodeInfoBin { + #[prost(int32, tag = "1")] + pub parent_index: i32, + #[prost(uint32, tag = "2")] + pub furniture_id: u32, + #[prost(string, tag = "3")] + pub slot_identifier: ::prost::alloc::string::String, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct HomeOneCustomFurnitureBin { + #[prost(uint32, tag = "1")] + pub scene_id: u32, + #[prost(uint32, tag = "2")] + pub guid: u32, + #[prost(uint32, tag = "3")] + pub furniture_id: u32, + #[prost(message, repeated, tag = "4")] + pub sub_furniture_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct HomeModuleCustomFurnitureBin { + #[prost(uint32, tag = "1")] + pub module_id: u32, + #[prost(message, repeated, tag = "2")] + pub custom_furniture_bin_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct HomeCustomFurnitureBin { + #[prost(message, repeated, tag = "1")] + pub module_custom_furniture_bin_list: ::prost::alloc::vec::Vec< + HomeModuleCustomFurnitureBin, + >, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct HomeOnePictureFrameBin { + #[prost(uint32, tag = "1")] + pub scene_id: u32, + #[prost(uint32, tag = "2")] + pub guid: u32, + #[prost(uint32, tag = "3")] + pub furniture_id: u32, + #[prost(uint32, tag = "4")] + pub picture_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct HomeModulePictureFrameBin { + #[prost(uint32, tag = "1")] + pub module_id: u32, + #[prost(message, repeated, tag = "2")] + pub picture_frame_bin_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct HomePictureFrameBin { + #[prost(message, repeated, tag = "1")] + pub module_picture_frame_bin_list: ::prost::alloc::vec::Vec< + HomeModulePictureFrameBin, + >, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct HomeGroupPlayerInfoBin { + #[prost(uint32, tag = "1")] + pub uid: u32, + #[prost(string, tag = "2")] + pub nickname: ::prost::alloc::string::String, + #[prost(uint32, tag = "3")] + pub player_level: u32, + #[prost(message, optional, tag = "4")] + pub profile_picture: ::core::option::Option, + #[prost(string, tag = "5")] + pub online_id: ::prost::alloc::string::String, + #[prost(string, tag = "6")] + pub psn_id: ::prost::alloc::string::String, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct HomeRacingGalleryRecordBin { + #[prost(uint32, tag = "1")] + pub use_time: u32, + #[prost(message, optional, tag = "2")] + pub player_info: ::core::option::Option, + #[prost(uint32, tag = "3")] + pub timestamp: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct HomeRacingRecordBin { + #[prost(message, repeated, tag = "1")] + pub record_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct HomeBalloonGalleryRecordBin { + #[prost(uint32, tag = "1")] + pub score: u32, + #[prost(uint32, tag = "2")] + pub hit_count: u32, + #[prost(message, optional, tag = "3")] + pub player_info: ::core::option::Option, + #[prost(uint32, tag = "4")] + pub timestamp: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct HomeBalloonRecordBin { + #[prost(message, repeated, tag = "1")] + pub record_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct HomeStakePlayRecordBin { + #[prost(uint32, tag = "1")] + pub timestamp: u32, + #[prost(message, repeated, tag = "2")] + pub engaged_player_info_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct HomeStakeRecordBin { + #[prost(message, repeated, tag = "1")] + pub record_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct HomeSeekFurniturePlayerScoreBin { + #[prost(message, optional, tag = "1")] + pub player_info: ::core::option::Option, + #[prost(uint32, tag = "2")] + pub score: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct HomeSeekFurnitureOneRecordBin { + #[prost(uint32, tag = "1")] + pub timestamp: u32, + #[prost(message, repeated, tag = "2")] + pub engaged_player_score_list: ::prost::alloc::vec::Vec< + HomeSeekFurniturePlayerScoreBin, + >, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct HomeSeekFurnitureAllRecordBin { + #[prost(message, repeated, tag = "1")] + pub record_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct HomeGroupRecordBin { + #[prost(oneof = "home_group_record_bin::Detail", tags = "11, 12, 13, 14")] + pub detail: ::core::option::Option, +} +/// Nested message and enum types in `HomeGroupRecordBin`. +pub mod home_group_record_bin { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Detail { + #[prost(message, tag = "11")] + RacingGalleryInfoBin(super::HomeRacingRecordBin), + #[prost(message, tag = "12")] + BalloonGalleryInfoBin(super::HomeBalloonRecordBin), + #[prost(message, tag = "13")] + StakePlayInfoBin(super::HomeStakeRecordBin), + #[prost(message, tag = "14")] + SeekFurniturePlayInfoBin(super::HomeSeekFurnitureAllRecordBin), + } +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct HomeGroupRecordCompBin { + #[prost(map = "uint32, message", tag = "1")] + pub group_record_map_bin: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct HomeBlueprintCompBin { + #[prost(bool, tag = "1")] + pub is_allow_friend_copy: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct HomeDataBin { + #[prost(message, optional, tag = "1")] + pub basic_bin: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub scene_bin: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub offline_msg_bin: ::core::option::Option, + #[prost(message, optional, tag = "4")] + pub furniture_make_bin: ::core::option::Option, + #[prost(message, optional, tag = "5")] + pub limited_shop_bin: ::core::option::Option, + #[prost(message, optional, tag = "6")] + pub plant_bin: ::core::option::Option, + #[prost(message, optional, tag = "7")] + pub fish_farming_bin: ::core::option::Option, + #[prost(message, optional, tag = "8")] + pub custom_furniture_bin: ::core::option::Option, + #[prost(message, optional, tag = "9")] + pub picture_frame_bin: ::core::option::Option, + #[prost(message, optional, tag = "10")] + pub group_record_bin: ::core::option::Option, + #[prost(message, optional, tag = "11")] + pub blueprint_bin: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct HomeData { + #[prost(uint32, tag = "1")] + pub uid: u32, + #[prost(uint32, tag = "2")] + pub data_version: u32, + #[prost(bytes = "vec", tag = "3")] + pub bin_data: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "4")] + pub block_end_time: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerBasicCompBin { + #[prost(uint32, tag = "1")] + pub level: u32, + #[prost(uint32, tag = "2")] + pub exp: u32, + #[prost(string, tag = "3")] + pub nickname: ::prost::alloc::string::String, + #[prost(uint32, tag = "4")] + pub total_game_time: u32, + #[prost(uint64, tag = "5")] + pub trans_no_count: u64, + #[prost(bool, tag = "6")] + pub is_weather_locked: bool, + #[prost(bool, tag = "7")] + pub is_game_time_locked: bool, + #[prost(float, tag = "8")] + pub persist_stamina_limit: f32, + #[prost(float, tag = "9")] + pub cur_persist_stamina: f32, + #[prost(float, tag = "10")] + pub cur_temporary_stamina: f32, + #[prost(map = "uint32, uint32", tag = "11")] + pub open_state_map: ::std::collections::HashMap, + #[prost(uint64, tag = "12")] + pub player_time_ms: u64, + #[prost(fixed32, tag = "13")] + pub last_login_time: u32, + #[prost(fixed32, tag = "14")] + pub register_time: u32, + #[prost(uint32, tag = "15")] + pub total_login_days: u32, + #[prost(uint32, tag = "16")] + pub update_login_days_time: u32, + #[prost(uint32, repeated, tag = "17")] + pub reward_taken_level_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "18")] + pub language_type: u32, + #[prost(string, tag = "19")] + pub client_app_version: ::prost::alloc::string::String, + #[prost(string, tag = "20")] + pub client_device_info: ::prost::alloc::string::String, + #[prost(string, tag = "21")] + pub client_system_version: ::prost::alloc::string::String, + #[prost(bool, tag = "22")] + pub is_guest: bool, + #[prost(uint32, tag = "23")] + pub online_time: u32, + #[prost(bool, tag = "24")] + pub is_proficient_player: bool, + #[prost(uint32, tag = "26")] + pub set_language_tag: u32, + #[prost(uint32, tag = "27")] + pub head_image_avatar_id: u32, + #[prost(uint32, tag = "28")] + pub guid_seq_id: u32, + #[prost(bool, tag = "29")] + pub is_rebate_mail_sent: bool, + #[prost(bool, tag = "30")] + pub is_rebate_mail_received: bool, + #[prost(string, tag = "31")] + pub register_cps: ::prost::alloc::string::String, + #[prost(uint32, tag = "32")] + pub cur_json_climate_type: u32, + #[prost(float, tag = "33")] + pub cur_climate_meter: f32, + #[prost(fixed32, tag = "34")] + pub last_logout_time: u32, + #[prost(uint32, tag = "35")] + pub data_version: u32, + #[prost(fixed32, tag = "36")] + pub last_daily_refresh_time: u32, + #[prost(bool, tag = "37")] + pub is_auto_unlock_specific_equip: bool, + #[prost(uint32, tag = "38")] + pub profile_picture_costume_id: u32, + #[prost(string, tag = "39")] + pub online_id: ::prost::alloc::string::String, + #[prost(string, tag = "40")] + pub psn_id: ::prost::alloc::string::String, + #[prost(uint32, tag = "41")] + pub last_login_platform: u32, + #[prost(double, tag = "42")] + pub pivot_client_time: f64, + #[prost(double, tag = "43")] + pub pivot_unix_time: f64, + #[prost(double, tag = "44")] + pub client_total_tick_time: f64, + #[prost(uint64, tag = "45")] + pub player_stat_id: u64, + #[prost(message, optional, tag = "46")] + pub nickname_audit_bin: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct AvatarSkillBin { + #[prost(uint32, tag = "1")] + pub pass_cd_time: u32, + #[prost(uint32, repeated, tag = "2")] + pub full_cd_time_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct AvatarBuffBin { + #[prost(uint32, tag = "1")] + pub left_time: u32, + #[prost(uint32, tag = "2")] + pub buff_uid: u32, + #[prost(uint32, tag = "3")] + pub buff_type: u32, + #[prost(uint32, tag = "5")] + pub buff_id: u32, + #[prost(uint64, repeated, tag = "6")] + pub onadded_avatars_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct AvatarFetterBin { + #[prost(uint32, tag = "3")] + pub level: u32, + #[prost(uint32, tag = "4")] + pub exp: u32, + #[prost(uint32, repeated, tag = "6")] + pub rewarded_fetter_level_list: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "7")] + pub is_login_on_birthday: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct AvatarExpeditionBin { + #[prost(uint32, tag = "1")] + pub state: u32, + #[prost(uint32, tag = "2")] + pub exp_id: u32, + #[prost(uint32, tag = "3")] + pub hour_time: u32, + #[prost(fixed32, tag = "4")] + pub start_time: u32, + #[prost(uint64, tag = "5")] + pub transaction: u64, + #[prost(float, tag = "6")] + pub shorten_ratio: f32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct AvatarSkillDepotBin { + #[prost(uint32, repeated, tag = "1")] + pub talent_id_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "2")] + pub core_proud_skill_level: u32, + #[prost(uint32, repeated, tag = "3")] + pub inherent_proud_skill_list: ::prost::alloc::vec::Vec, + #[prost(map = "uint32, uint32", tag = "4")] + pub skill_level_map: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct AvatarEquipAffixBin { + #[prost(uint32, tag = "1")] + pub id: u32, + #[prost(uint32, tag = "2")] + pub cd: u32, + #[prost(uint32, tag = "3")] + pub pass_cd_time: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct AvatarExtraPropBin { + #[prost(uint32, tag = "1")] + pub id: u32, + #[prost(uint32, tag = "2")] + pub count: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct AvatarBin { + #[prost(uint32, tag = "1")] + pub avatar_type: u32, + #[prost(uint32, tag = "2")] + pub avatar_id: u32, + #[prost(uint64, tag = "3")] + pub guid: u64, + #[prost(uint32, tag = "4")] + pub level: u32, + #[prost(uint32, tag = "5")] + pub life_state: u32, + #[prost(float, tag = "6")] + pub cur_hp: f32, + #[prost(float, tag = "7")] + pub cur_elem_energy: f32, + #[prost(uint32, tag = "8")] + pub promote_level: u32, + #[prost(uint32, tag = "9")] + pub skill_depot_id: u32, + #[prost(map = "uint32, message", tag = "10")] + pub skill_map: ::std::collections::HashMap, + #[prost(map = "uint32, message", tag = "11")] + pub buff_map: ::std::collections::HashMap, + #[prost(map = "uint32, message", tag = "12")] + pub depot_map: ::std::collections::HashMap, + #[prost(message, repeated, tag = "13")] + pub equip_list: ::prost::alloc::vec::Vec, + #[prost(float, tag = "14")] + pub satiation_val: f32, + #[prost(float, tag = "15")] + pub satiation_penalty_time: f32, + #[prost(uint32, tag = "16")] + pub flycloak_id: u32, + #[prost(message, repeated, tag = "17")] + pub avatar_equip_affix_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "18")] + pub born_time: u32, + #[prost(message, repeated, tag = "19")] + pub buff_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "20")] + pub costume_id: u32, + #[prost(message, repeated, tag = "21")] + pub extra_prop_list: ::prost::alloc::vec::Vec, + #[prost(oneof = "avatar_bin::Detail", tags = "101, 102, 103")] + pub detail: ::core::option::Option, +} +/// Nested message and enum types in `AvatarBin`. +pub mod avatar_bin { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Detail { + #[prost(message, tag = "101")] + FormalAvatar(super::FormalAvatarBin), + #[prost(message, tag = "102")] + TrialAvatar(super::TrialAvatarBin), + #[prost(message, tag = "103")] + MirrorAvatar(super::MirrorAvatarBin), + } +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct AvatarSnapshotBin { + #[prost(uint32, tag = "1")] + pub avatar_snapshot_type: u32, + #[prost(message, optional, tag = "2")] + pub avatar_bin: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct TrialAvatarGrantRecordBin { + #[prost(uint32, tag = "1")] + pub grant_reason: u32, + #[prost(uint32, tag = "2")] + pub from_parent_quest_id: u32, +} +/// Nested message and enum types in `TrialAvatarGrantRecordBin`. +pub mod trial_avatar_grant_record_bin { + #[derive(proto_gen::CmdID)] + #[derive( + Clone, + Copy, + Debug, + PartialEq, + Eq, + Hash, + PartialOrd, + Ord, + ::prost::Enumeration + )] + #[repr(i32)] + pub enum GrantReason { + Invalid = 0, + GrantByQuest = 1, + } + impl GrantReason { + /// 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 { + GrantReason::Invalid => "INVALID", + GrantReason::GrantByQuest => "GRANT_BY_QUEST", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "INVALID" => Some(Self::Invalid), + "GRANT_BY_QUEST" => Some(Self::GrantByQuest), + _ => None, + } + } + } +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct FormalAvatarBin { + #[prost(uint32, tag = "1")] + pub exp: u32, + #[prost(uint64, repeated, tag = "2")] + pub equip_guid_list: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "3")] + pub fetter: ::core::option::Option, + #[prost(message, optional, tag = "4")] + pub expedition_data: ::core::option::Option, + #[prost(uint32, tag = "5")] + pub avatar_repeat_count: u32, + #[prost(bool, tag = "6")] + pub is_focus: bool, + #[prost(uint32, repeated, tag = "7")] + pub taken_promote_reward_level_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "8")] + pub costume_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct TrialAvatarBin { + #[prost(uint32, tag = "1")] + pub trial_avatar_id: u32, + #[prost(message, optional, tag = "2")] + pub grant_record_bin: ::core::option::Option, + #[prost(bool, tag = "3")] + pub is_inherit: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MirrorAvatarBin { + #[prost(uint32, tag = "1")] + pub avatar_snapshot_type: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct AvatarTeamBin { + #[prost(uint64, repeated, tag = "1")] + pub avatar_guid_list: ::prost::alloc::vec::Vec, + #[prost(string, tag = "2")] + pub team_name: ::prost::alloc::string::String, + #[prost(uint64, tag = "3")] + pub last_cur_avatar_guid: u64, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerAvatarCompBin { + #[prost(message, repeated, tag = "1")] + pub avatar_list: ::prost::alloc::vec::Vec, + #[prost(uint64, tag = "2")] + pub cur_avatar_guid: u64, + #[prost(message, optional, tag = "3")] + pub pb_only_cur_pos: ::core::option::Option, + #[prost(message, optional, tag = "4")] + pub pb_only_cur_rot: ::core::option::Option, + #[prost(map = "uint32, message", tag = "5")] + pub team_map: ::std::collections::HashMap, + #[prost(uint32, tag = "6")] + pub cur_team_id: u32, + #[prost(uint64, tag = "7")] + pub last_change_avatar_time: u64, + #[prost(bool, tag = "8")] + pub is_spring_auto_use: bool, + #[prost(uint32, tag = "9")] + pub spring_auto_use_percent: u32, + #[prost(fixed32, tag = "10")] + pub last_backgroud_avatar_recover_time: u32, + #[prost(uint32, tag = "11")] + pub cur_spring_volume: u32, + #[prost(bool, tag = "12")] + pub is_flyable: bool, + #[prost(bool, tag = "13")] + pub is_transferable: bool, + #[prost(uint64, tag = "14")] + pub last_avatar_guid: u64, + #[prost(uint64, tag = "15")] + pub choose_avatar_guid: u64, + #[prost(uint32, tag = "16")] + pub die_type: u32, + #[prost(uint64, repeated, tag = "17")] + pub temp_avatar_guid_list: ::prost::alloc::vec::Vec, + #[prost(map = "uint32, message", tag = "18")] + pub avatar_team_buff_map: ::std::collections::HashMap, + #[prost(uint32, tag = "19")] + pub last_server_buff_uid: u32, + #[prost(uint32, tag = "20")] + pub total_expedition_num: u32, + #[prost(uint32, repeated, tag = "21")] + pub owned_flycloak_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "22")] + pub avatar_team_buff_list: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "23")] + pub owned_costume_id_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "24")] + pub avatar_snapshot_list: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "25")] + pub backup_team_id_order_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct WorldBin { + #[prost(map = "uint32, message", tag = "1")] + pub scene_map: ::std::collections::HashMap, + #[prost(uint32, tag = "2")] + pub level: u32, + #[prost(uint32, tag = "3")] + pub last_adjust_time: u32, + #[prost(uint32, tag = "4")] + pub adjust_level: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GroupProductBin { + #[prost(map = "uint32, uint32", tag = "1")] + pub gadget_one_off_map: ::std::collections::HashMap, + #[prost(map = "uint32, uint32", tag = "2")] + pub monster_one_off_map: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SceneProductBin { + #[prost(map = "uint32, message", tag = "1")] + pub group_product_map: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct DungeonProductBin { + #[prost(map = "uint32, message", tag = "1")] + pub scene_product_map: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MapMarkPointBin { + #[prost(uint32, tag = "1")] + pub scene_id: u32, + #[prost(string, tag = "2")] + pub name: ::prost::alloc::string::String, + #[prost(message, optional, tag = "3")] + pub pos: ::core::option::Option, + #[prost(uint32, tag = "4")] + pub point_type: u32, + #[prost(uint32, tag = "5")] + pub monster_id: u32, + #[prost(uint32, tag = "6")] + pub from_type: u32, + #[prost(uint32, tag = "7")] + pub quest_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GroupBossChestBin { + #[prost(map = "uint32, uint32", tag = "1")] + pub boss_chest_map: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SceneBossChestBin { + #[prost(map = "uint32, message", tag = "1")] + pub group_boss_chest_map: ::std::collections::HashMap, + #[prost(fixed32, tag = "2")] + pub take_time: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SubfieldDropBin { + #[prost(map = "uint32, uint32", tag = "1")] + pub drop_num_map: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MonsterBeKilledNumBin { + #[prost(uint32, tag = "1")] + pub monster_id: u32, + #[prost(uint32, tag = "2")] + pub be_killed_num: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MapAreaInfoBin { + #[prost(uint32, tag = "1")] + pub map_area_id: u32, + #[prost(bool, tag = "2")] + pub is_open: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MonsterBeCapturedNumBin { + #[prost(uint32, tag = "1")] + pub monster_id: u32, + #[prost(uint32, tag = "2")] + pub be_captured_num: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct LevelTagChangeBin { + #[prost(uint32, tag = "1")] + pub level_tag_id: u32, + #[prost(uint32, tag = "2")] + pub change_time: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct LevelTagBin { + #[prost(message, repeated, tag = "1")] + pub level_tag_change_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PersistentDungeonSceneBin { + #[prost(uint32, tag = "1")] + pub scene_id: u32, + #[prost(message, optional, tag = "2")] + pub dungeon_scene_bin: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct DeshretObeliskBin { + #[prost(uint32, tag = "1")] + pub group_id: u32, + #[prost(uint32, tag = "2")] + pub config_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerSceneCompBin { + #[prost(message, optional, tag = "1")] + pub world: ::core::option::Option, + #[prost(uint32, tag = "2")] + pub cur_scene_owner_uid: u32, + #[prost(uint32, tag = "3")] + pub my_prev_scene_id: u32, + #[prost(message, optional, tag = "4")] + pub my_prev_pos: ::core::option::Option, + #[prost(message, optional, tag = "5")] + pub my_prev_rot: ::core::option::Option, + #[prost(uint32, tag = "6")] + pub my_cur_scene_id: u32, + #[prost(uint32, repeated, tag = "7")] + pub monster_seen_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "8")] + pub mark_point_list: ::prost::alloc::vec::Vec, + #[prost(map = "uint32, message", tag = "9")] + pub world_product_map: ::std::collections::HashMap, + #[prost(uint32, tag = "10")] + pub trivial_entity_drop_num: u32, + #[prost(fixed32, tag = "11")] + pub trivial_entity_drop_time: u32, + #[prost(map = "uint32, message", tag = "12")] + pub scene_boss_chest_map: ::std::collections::HashMap, + #[prost(map = "uint32, message", tag = "13")] + pub subfield_drop_map: ::std::collections::HashMap, + #[prost(fixed32, tag = "14")] + pub subfield_drop_time: u32, + #[prost(uint32, tag = "15")] + pub my_cur_area_id: u32, + #[prost(map = "uint32, message", tag = "16")] + pub dungeon_product_map: ::std::collections::HashMap, + #[prost(map = "uint32, uint32", tag = "17")] + pub chest_open_num_map: ::std::collections::HashMap, + #[prost(map = "uint32, uint32", tag = "18")] + pub gadget_interact_num_map: ::std::collections::HashMap, + #[prost(uint32, tag = "19")] + pub total_boss_chest_take_num: u32, + #[prost(map = "string, uint32", tag = "20")] + pub daily_gadget_drop_category_count_map: ::std::collections::HashMap< + ::prost::alloc::string::String, + u32, + >, + #[prost(uint32, tag = "21")] + pub last_refresh_daily_gadget_drop_category_count_map_time: u32, + #[prost(message, repeated, tag = "22")] + pub monster_killed_num_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "23")] + pub my_cur_player_scene_id: u32, + #[prost(uint32, tag = "24")] + pub my_cur_home_scene_id: u32, + #[prost(uint32, repeated, tag = "25")] + pub obtained_wood_type_list: ::prost::alloc::vec::Vec, + #[prost(map = "uint32, uint32", tag = "26")] + pub gadget_chain_level_map: ::std::collections::HashMap, + #[prost(uint32, tag = "27")] + pub weekly_boss_resin_discount_num: u32, + #[prost(uint32, tag = "28")] + pub last_weekly_boss_resin_discount_time: u32, + #[prost(message, repeated, tag = "29")] + pub map_area_info_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "30")] + pub monster_captured_num_list: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "31")] + pub level_tag_bin: ::core::option::Option, + #[prost(message, repeated, tag = "32")] + pub persistent_dungeon_scene_bin_list: ::prost::alloc::vec::Vec< + PersistentDungeonSceneBin, + >, + #[prost(uint32, tag = "33")] + pub last_area_play_type: u32, + #[prost(message, optional, tag = "34")] + pub deshret_obelisk_bin: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QuestContentBin { + #[prost(uint32, tag = "1")] + pub r#type: u32, + #[prost(uint32, tag = "2")] + pub param: u32, + #[prost(uint32, tag = "3")] + pub progress: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QuestTalkRecordBin { + #[prost(uint32, tag = "1")] + pub talk_id: u32, + #[prost(fixed32, tag = "2")] + pub talk_time: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QuestBin { + #[prost(uint32, tag = "1")] + pub quest_id: u32, + #[prost(uint32, tag = "2")] + pub state: u32, + #[prost(uint32, repeated, tag = "3")] + pub finish_progress_list: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "4")] + pub fail_progress_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "5")] + pub start_time: u32, + #[prost(message, repeated, tag = "6")] + pub talk_history_list: ::prost::alloc::vec::Vec, + #[prost(fixed32, tag = "7")] + pub start_game_time: u32, + #[prost(fixed32, tag = "8")] + pub accept_time: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerQuestBin { + #[prost(message, repeated, tag = "1")] + pub quest_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ParentQuestRandomInfoBin { + #[prost(uint32, tag = "1")] + pub entrance_id: u32, + #[prost(uint32, tag = "2")] + pub template_id: u32, + #[prost(uint32, repeated, tag = "3")] + pub factor_list: ::prost::alloc::vec::Vec, + #[prost(map = "uint32, uint32", tag = "4")] + pub quest_id_map: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ParentQuestInferenceWordBin { + #[prost(uint32, tag = "1")] + pub word_id: u32, + #[prost(bool, tag = "2")] + pub is_interpret: bool, + #[prost(bool, tag = "3")] + pub is_associate: bool, + #[prost(bool, tag = "4")] + pub is_submit: bool, + #[prost(uint32, tag = "5")] + pub unlock_by_word_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ParentQuestBin { + #[prost(uint32, tag = "1")] + pub parent_quest_id: u32, + #[prost(uint32, tag = "2")] + pub total_finish_count: u32, + #[prost(uint32, tag = "3")] + pub today_finish_count: u32, + #[prost(fixed32, tag = "4")] + pub last_finish_time: u32, + #[prost(message, repeated, tag = "5")] + pub child_quest_state_list: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "6")] + pub is_random: bool, + #[prost(message, optional, tag = "7")] + pub random_info: ::core::option::Option, + #[prost(fixed32, tag = "9")] + pub accept_time: u32, + #[prost(int32, repeated, tag = "10")] + pub quest_var: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "11")] + pub reward_index: u32, + #[prost(uint32, tag = "12")] + pub state: u32, + #[prost(message, repeated, tag = "13")] + pub time_var_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "14")] + pub unlock_inference_word_list: ::prost::alloc::vec::Vec< + ParentQuestInferenceWordBin, + >, + #[prost(uint32, repeated, tag = "15")] + pub unlock_inference_conclusion_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerParentQuestBin { + #[prost(message, repeated, tag = "1")] + pub parent_quest_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ChapterBin { + #[prost(uint32, tag = "1")] + pub chapter_id: u32, + #[prost(uint32, tag = "2")] + pub chapter_state: u32, + #[prost(bool, tag = "3")] + pub is_notify_sent: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerChapterBin { + #[prost(message, repeated, tag = "1")] + pub chapter_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QuestGlobalVarBin { + #[prost(uint32, tag = "1")] + pub key: u32, + #[prost(int32, tag = "2")] + pub value: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct WorldQuestBin { + #[prost(uint32, tag = "1")] + pub parent_quest_id: u32, + #[prost(uint32, repeated, tag = "2")] + pub linked_flow_group_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerQuestCompBin { + #[prost(message, optional, tag = "1")] + pub quest_bin: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub parent_quest_bin: ::core::option::Option, + #[prost(uint32, tag = "3")] + pub last_random_parent_quest_id: u32, + #[prost(uint32, tag = "4")] + pub last_random_quest_id: u32, + #[prost(map = "uint32, uint32", tag = "5")] + pub last_dungeon_settle_map: ::std::collections::HashMap, + #[prost(message, optional, tag = "6")] + pub chapter_bin: ::core::option::Option, + #[prost(message, repeated, tag = "7")] + pub quest_global_var_list: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "8")] + pub pre_open_chapter_id_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "9")] + pub world_quest_bin_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct EquipBin { + #[prost(bool, tag = "1")] + pub is_locked: bool, + #[prost(oneof = "equip_bin::Detail", tags = "101, 102")] + pub detail: ::core::option::Option, +} +/// Nested message and enum types in `EquipBin`. +pub mod equip_bin { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Detail { + #[prost(message, tag = "101")] + Reliquary(super::ReliquaryBin), + #[prost(message, tag = "102")] + Weapon(super::WeaponBin), + } +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MaterialDeleteBin { + #[prost(map = "uint32, uint32", tag = "1")] + pub delete_time_num_map: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MaterialBin { + #[prost(uint32, tag = "1")] + pub count: u32, + #[prost(message, optional, tag = "2")] + pub delete_bin: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct FurnitureBin { + #[prost(uint32, tag = "1")] + pub count: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ItemBin { + #[prost(uint32, tag = "1")] + pub item_type: u32, + #[prost(uint32, tag = "2")] + pub item_id: u32, + #[prost(fixed64, tag = "3")] + pub guid: u64, + #[prost(oneof = "item_bin::Detail", tags = "101, 102, 103")] + pub detail: ::core::option::Option, +} +/// Nested message and enum types in `ItemBin`. +pub mod item_bin { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Detail { + #[prost(message, tag = "101")] + Material(super::MaterialBin), + #[prost(message, tag = "102")] + Equip(super::EquipBin), + #[prost(message, tag = "103")] + Furniture(super::FurnitureBin), + } +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PackItemStoreBin {} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ItemStoreBin { + #[prost(message, repeated, tag = "1")] + pub item_list: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "2")] + pub is_material_item_num_alarmed: bool, + #[prost(oneof = "item_store_bin::Ext", tags = "101")] + pub ext: ::core::option::Option, +} +/// Nested message and enum types in `ItemStoreBin`. +pub mod item_store_bin { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Ext { + #[prost(message, tag = "101")] + PackStore(super::PackItemStoreBin), + } +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct AutoRecoverItemBin { + #[prost(uint32, tag = "1")] + pub value: u32, + #[prost(uint32, tag = "3")] + pub bought_num: u32, + #[prost(fixed32, tag = "4")] + pub last_bought_time: u32, + #[prost(fixed32, tag = "5")] + pub next_refresh_time: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ItemLimitCountRecordBin { + #[prost(uint32, tag = "1")] + pub item_type: u32, + #[prost(uint32, tag = "2")] + pub index_value: u32, + #[prost(uint32, tag = "3")] + pub item_count: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ItemLimitRecordBin { + #[prost(uint32, tag = "1")] + pub item_limit_type: u32, + #[prost(fixed32, tag = "2")] + pub last_refresh_time: u32, + #[prost(message, repeated, tag = "3")] + pub item_limit_count_record_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MaterialDeleteReturnRecordBin { + #[prost(map = "uint32, uint32", tag = "1")] + pub delete_material_map: ::std::collections::HashMap, + #[prost(map = "uint32, uint32", tag = "2")] + pub return_item_map: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct OutputControlRecordBin { + #[prost(fixed32, tag = "1")] + pub last_refresh_time: u32, + #[prost(message, repeated, tag = "2")] + pub daily_count_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "3")] + pub total_count_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ShopGoodsOutputRecordBin { + #[prost(uint32, tag = "1")] + pub goods_id: u32, + #[prost(fixed32, tag = "2")] + pub last_record_time: u32, + #[prost(uint32, tag = "3")] + pub buy_count: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ShopOutputRecordBin { + #[prost(message, repeated, tag = "1")] + pub shop_goods_output_record_list: ::prost::alloc::vec::Vec< + ShopGoodsOutputRecordBin, + >, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SingleBonusRecordBin { + #[prost(fixed32, tag = "1")] + pub last_refresh_time: u32, + #[prost(uint32, tag = "2")] + pub config_id: u32, + #[prost(uint32, tag = "3")] + pub bonus_count: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct BonusRecordBin { + #[prost(uint32, tag = "1")] + pub bonus_source_type: u32, + #[prost(message, repeated, tag = "2")] + pub single_bonus_record_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ItemLimitRefreshRecordBin { + #[prost(uint32, tag = "1")] + pub item_limit_refresh_type: u32, + #[prost(fixed32, tag = "2")] + pub last_refresh_time: u32, + #[prost(message, repeated, tag = "3")] + pub item_limit_count_record_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ReliquaryLevelupNumRecordBin { + #[prost(uint32, tag = "1")] + pub rank_level: u32, + #[prost(message, repeated, tag = "2")] + pub reliquary_levelup_num_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct EquipLevelupRecordBin { + #[prost(message, repeated, tag = "1")] + pub weapon_levelup_num_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "2")] + pub weapon_promote_levelup_num_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "3")] + pub rank_reliquary_levelup_list: ::prost::alloc::vec::Vec< + ReliquaryLevelupNumRecordBin, + >, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ReliquarySuitBin { + #[prost(uint32, tag = "1")] + pub reliquary_suit_id: u32, + #[prost(uint32, tag = "2")] + pub level: u32, + #[prost(uint32, repeated, tag = "3")] + pub reliquary_type_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ActivityOutputIndexRecordBin { + #[prost(uint32, tag = "1")] + pub output_control_type: u32, + #[prost(message, repeated, tag = "2")] + pub activity_count_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ActivityOutputControlRecordBin { + #[prost(uint32, tag = "1")] + pub activity_type: u32, + #[prost(fixed32, tag = "2")] + pub last_refresh_time: u32, + #[prost(message, repeated, tag = "3")] + pub activity_output_index_record_list: ::prost::alloc::vec::Vec< + ActivityOutputIndexRecordBin, + >, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ReliquaryMainPropGuaranteeDataBin { + #[prost(uint32, tag = "1")] + pub main_prop_id: u32, + #[prost(uint32, tag = "2")] + pub miss_count: u32, + #[prost(uint32, tag = "3")] + pub guarantee_count: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ReliquaryGuaranteeDepotBin { + #[prost(uint32, tag = "1")] + pub guarantee_depot_id: u32, + #[prost(message, repeated, tag = "2")] + pub main_prop_guarantee_data_list: ::prost::alloc::vec::Vec< + ReliquaryMainPropGuaranteeDataBin, + >, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerItemCompBin { + #[prost(message, optional, tag = "1")] + pub pack_store: ::core::option::Option, + #[prost(uint32, repeated, tag = "2")] + pub history_item_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "3")] + pub hcoin: u32, + #[prost(uint32, tag = "4")] + pub scoin: u32, + #[prost(map = "uint32, uint64", tag = "5")] + pub item_cd_map: ::std::collections::HashMap, + #[prost(message, optional, tag = "6")] + pub resin_record: ::core::option::Option, + #[prost(message, repeated, tag = "7")] + pub item_limit_record_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "8")] + pub item_total_obtain_count_list: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "9")] + pub material_delete_return_record: ::core::option::Option< + MaterialDeleteReturnRecordBin, + >, + #[prost(map = "uint32, message", tag = "10")] + pub output_control_record_map: ::std::collections::HashMap< + u32, + OutputControlRecordBin, + >, + #[prost(uint32, tag = "11")] + pub wait_sub_hcoin: u32, + #[prost(uint32, tag = "12")] + pub wait_sub_scoin: u32, + #[prost(message, repeated, tag = "13")] + pub item_limit_refresh_record_list: ::prost::alloc::vec::Vec< + ItemLimitRefreshRecordBin, + >, + #[prost(message, optional, tag = "14")] + pub equip_levelup_record_bin: ::core::option::Option, + #[prost(uint32, tag = "15")] + pub mcoin: u32, + #[prost(uint32, tag = "16")] + pub wait_sub_mcoin: u32, + #[prost(uint32, tag = "17")] + pub legendary_key: u32, + #[prost(message, repeated, tag = "18")] + pub reliquary_suit_list: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "19")] + pub shop_output_record: ::core::option::Option, + #[prost(message, repeated, tag = "20")] + pub bonus_record_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "21")] + pub activity_output_control_record_list: ::prost::alloc::vec::Vec< + ActivityOutputControlRecordBin, + >, + #[prost(uint32, tag = "22")] + pub home_coin: u32, + #[prost(uint32, tag = "23")] + pub wait_sub_home_coin: u32, + #[prost(uint32, tag = "24")] + pub psn_mcoin: u32, + #[prost(uint32, tag = "25")] + pub wait_sub_psn_mcoin: u32, + #[prost(bool, tag = "26")] + pub is_psn_version_modify: bool, + #[prost(message, repeated, tag = "27")] + pub reliquary_guarantee_depot_list: ::prost::alloc::vec::Vec< + ReliquaryGuaranteeDepotBin, + >, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct DungeonGroupRecordBin { + #[prost(map = "uint32, uint32", tag = "1")] + pub chest_open_map: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct DungeonRecordBin { + #[prost(uint32, tag = "1")] + pub enter_count: u32, + #[prost(fixed32, tag = "3")] + pub start_time: u32, + #[prost(fixed32, tag = "4")] + pub end_time: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct DungeonRandomRecordBin { + #[prost(uint32, repeated, tag = "1")] + pub dungeon_list: ::prost::alloc::vec::Vec, + #[prost(fixed32, tag = "2")] + pub refresh_time: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct DungeonDurableRecordBin { + #[prost(bool, tag = "1")] + pub is_passed: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerDungeonRecordBin { + #[prost(map = "uint32, message", tag = "1")] + pub dungeon_daily_map: ::std::collections::HashMap, + #[prost(map = "uint32, message", tag = "2")] + pub dungeon_durable_map: ::std::collections::HashMap, + #[prost(map = "uint32, message", tag = "3")] + pub dungeon_random_map: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct DungeonSerialBossChestBin { + #[prost(uint32, tag = "1")] + pub take_num: u32, + #[prost(fixed32, tag = "2")] + pub take_time: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerDungeonCompBin { + #[prost(uint32, tag = "1")] + pub cur_dungeon_id: u32, + #[prost(fixed32, tag = "2")] + pub last_enter_time: u32, + #[prost(message, optional, tag = "5")] + pub record_bin: ::core::option::Option, + #[prost(bool, tag = "6")] + pub is_join_other_scene: bool, + #[prost(fixed32, tag = "7")] + pub last_time_daily_item_add: u32, + #[prost(fixed32, tag = "8")] + pub last_time_weekly_item_add: u32, + #[prost(uint32, tag = "9")] + pub last_unsettled_dungeon_id: u32, + #[prost(map = "uint32, message", tag = "10")] + pub serial_boss_chest_map: ::std::collections::HashMap< + u32, + DungeonSerialBossChestBin, + >, + #[prost(bool, tag = "11")] + pub is_has_quit_target_pos: bool, + #[prost(uint32, tag = "12")] + pub quit_scene_id: u32, + #[prost(message, optional, tag = "13")] + pub quit_pos: ::core::option::Option, + #[prost(message, optional, tag = "14")] + pub quit_rot: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerBoredCompBin { + #[prost(bool, tag = "1")] + pub is_open: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerMpCompBin { + #[prost(uint32, tag = "2")] + pub mp_setting_type: u32, + #[prost(bool, tag = "3")] + pub is_only_mp_with_ps_player: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct CompoundOutputBin { + #[prost(fixed32, tag = "1")] + pub output_time: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct CompoundQueueBin { + #[prost(message, repeated, tag = "1")] + pub output_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct CookRecipeDataBin { + #[prost(uint32, tag = "1")] + pub proficiency: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerCookCompBin { + #[prost(uint32, tag = "1")] + pub grade: u32, + #[prost(map = "uint32, message", tag = "2")] + pub recipe_data_map: ::std::collections::HashMap, + #[prost(uint32, repeated, tag = "3")] + pub unlock_compound_list: ::prost::alloc::vec::Vec, + #[prost(map = "uint32, message", tag = "4")] + pub compound_que_bin_map: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerLoginCompBin { + #[prost(uint32, repeated, tag = "1")] + pub taken_login_reward_config_list: ::prost::alloc::vec::Vec, + #[prost(fixed32, tag = "2")] + pub last_login_refresh_time: u32, + #[prost(uint32, repeated, tag = "3")] + pub recv_questionnaire_mail_config_list: ::prost::alloc::vec::Vec, + #[prost(fixed32, tag = "4")] + pub last_recv_questionnaire_mail_time: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct OfflineMsgExeBin { + #[prost(message, optional, tag = "1")] + pub msg: ::core::option::Option, + #[prost(uint32, tag = "2")] + pub exe_times: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerOfflineMsgCompBin { + #[prost(uint32, tag = "1")] + pub index: u32, + #[prost(message, repeated, tag = "2")] + pub next_offline_msg_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "4")] + pub born_scene_id: u32, + #[prost(message, optional, tag = "5")] + pub born_pos: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct DailyTaskInfoBin { + #[prost(uint32, tag = "1")] + pub daily_task_id: u32, + #[prost(uint32, tag = "2")] + pub drop_id: u32, + #[prost(uint32, tag = "3")] + pub progress: u32, + #[prost(bool, tag = "4")] + pub is_finished: bool, + #[prost(uint32, tag = "5")] + pub preview_reward_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct DailyTaskCycleQuestBin { + #[prost(uint32, tag = "1")] + pub quest_id: u32, + #[prost(uint32, tag = "2")] + pub refresh_count: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct DailyTaskCityCycleQuestsBin { + #[prost(uint32, tag = "1")] + pub city_id: u32, + #[prost(message, repeated, tag = "2")] + pub quest_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerDailyTaskCompBin { + #[prost(fixed32, tag = "1")] + pub last_time: u32, + #[prost(message, repeated, tag = "2")] + pub task_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "3")] + pub score_player_level: u32, + #[prost(bool, tag = "4")] + pub is_taken_score_reward: bool, + #[prost(uint32, tag = "5")] + pub finished_num: u32, + #[prost(uint32, repeated, tag = "6")] + pub sure_pool_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "7")] + pub possible_pools_list: ::prost::alloc::vec::Vec, + #[prost(map = "uint32, message", tag = "8")] + pub task_var_map: ::std::collections::HashMap, + #[prost(uint32, tag = "9")] + pub refresh_times: u32, + #[prost(uint32, tag = "10")] + pub total_reward_num: u32, + #[prost(uint32, tag = "11")] + pub filter_city_id: u32, + #[prost(uint32, tag = "12")] + pub random_city_id: u32, + #[prost(message, repeated, tag = "14")] + pub cycle_quest_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerRandTaskCompBin { + #[prost(fixed32, tag = "1")] + pub last_reward_time: u32, + #[prost(uint32, tag = "2")] + pub reward_num: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct InvestigationBin { + #[prost(uint32, tag = "1")] + pub investigation_id: u32, + #[prost(uint32, tag = "2")] + pub progress: u32, + #[prost(bool, tag = "3")] + pub is_taken_reward: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerInvestigationCompBin { + #[prost(message, repeated, tag = "1")] + pub investigation_list: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "2")] + pub finished_target_id_list: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "3")] + pub reward_taken_target_id_list: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "4")] + pub is_today_quest_daily_notify_ack: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SeaLampSectionBin { + #[prost(uint32, tag = "1")] + pub section_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SeaLampScheduleDataBin { + #[prost(uint32, tag = "1")] + pub popularity: u32, + #[prost(uint32, tag = "2")] + pub sea_lamp_coin: u32, + #[prost(bool, tag = "3")] + pub is_content_closed: bool, + #[prost(message, repeated, tag = "4")] + pub section_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct CrucibleBattleUidBin { + #[prost(uint32, tag = "1")] + pub uid: u32, + #[prost(uint32, tag = "2")] + pub icon: u32, + #[prost(string, tag = "3")] + pub nickname: ::prost::alloc::string::String, + #[prost(string, tag = "4")] + pub online_id: ::prost::alloc::string::String, + #[prost(message, optional, tag = "5")] + pub profile_picture_bin: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct CrucibleScheduleBin { + #[prost(uint32, tag = "1")] + pub cost_time: u32, + #[prost(message, repeated, tag = "2")] + pub battle_uid_data_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "3")] + pub battle_world_level: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct TrialAvatarActivityRewardInfo { + #[prost(uint32, tag = "1")] + pub trial_avatar_index_id: u32, + #[prost(bool, tag = "2")] + pub passed_dungeon: bool, + #[prost(bool, tag = "3")] + pub received_reward: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct TrialAvatarScheduleBin { + #[prost(message, repeated, tag = "1")] + pub reward_info_list: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "2")] + pub watcher_id_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SalesmanScheduleBin { + #[prost(uint32, tag = "1")] + pub status: u32, + #[prost(uint32, tag = "2")] + pub day_index: u32, + #[prost(uint32, tag = "4")] + pub deliver_count: u32, + #[prost(uint32, repeated, tag = "5")] + pub obtained_normal_reward_index_list: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "6")] + pub obtained_special_reward_index_list: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "7")] + pub finished_talk_id_list: ::prost::alloc::vec::Vec, + #[prost(map = "uint32, uint32", tag = "8")] + pub selected_reward_id_map: ::std::collections::HashMap, + #[prost(message, repeated, tag = "9")] + pub loaded_group_config_id_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "10")] + pub last_deliver_day_index: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct AsterLittleBin { + #[prost(bool, tag = "1")] + pub is_open: bool, + #[prost(uint32, tag = "2")] + pub stage_id: u32, + #[prost(uint32, tag = "3")] + pub stage_state: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct AsterMidBin { + #[prost(bool, tag = "1")] + pub is_open: bool, + #[prost(uint32, tag = "2")] + pub refresh_id: u32, + #[prost(uint32, tag = "3")] + pub refresh_time: u32, + #[prost(uint32, repeated, tag = "4")] + pub finished_camp_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "5")] + pub collect_count: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct AsterLargeBin { + #[prost(bool, tag = "1")] + pub is_open: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct AsterProgressBin { + #[prost(uint32, tag = "1")] + pub count: u32, + #[prost(uint32, tag = "2")] + pub last_auto_add_time: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct AsterScheduleBin { + #[prost(message, optional, tag = "1")] + pub aster_little: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub aster_mid: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub aster_large: ::core::option::Option, + #[prost(uint32, tag = "6")] + pub aster_credit: u32, + #[prost(uint32, tag = "7")] + pub aster_token: u32, + #[prost(bool, tag = "8")] + pub is_special_reward_taken: bool, + #[prost(bool, tag = "9")] + pub is_content_closed: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct DeliveryScheduleBin { + #[prost(uint32, tag = "1")] + pub day_index: u32, + #[prost(bool, tag = "2")] + pub is_taken_daily_reward: bool, + #[prost(uint32, repeated, tag = "3")] + pub cur_day_finished_delivery_quest_index_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct FlightDailyRecordBin { + #[prost(bool, tag = "1")] + pub is_touched: bool, + #[prost(uint32, tag = "2")] + pub best_score: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct FlightScheduleBin { + #[prost(message, repeated, tag = "1")] + pub daily_record_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct DragonSpineChapterBin { + #[prost(uint32, tag = "1")] + pub chapter_id: u32, + #[prost(bool, tag = "2")] + pub is_open: bool, + #[prost(uint32, tag = "3")] + pub progress: u32, + #[prost(bool, tag = "4")] + pub is_finish: bool, + #[prost(uint32, repeated, tag = "5")] + pub finished_mission_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "6")] + pub open_time: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct DragonSpineBanDropSubject { + #[prost(message, repeated, tag = "1")] + pub drop_subject_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct DragonSpineScheduleBin { + #[prost(uint32, tag = "1")] + pub weapon_enhance_stage: u32, + #[prost(message, repeated, tag = "2")] + pub chapter_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "3")] + pub shimmering_essence: u32, + #[prost(uint32, tag = "4")] + pub warm_essence: u32, + #[prost(uint32, tag = "5")] + pub wondrous_essence: u32, + #[prost(message, repeated, tag = "6")] + pub banned_drop_subject_list: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "7")] + pub is_content_closed: bool, + #[prost(uint64, tag = "8")] + pub activity_weapon_guid: u64, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct EffigyDailyRecordBin { + #[prost(uint32, tag = "1")] + pub day_index: u32, + #[prost(uint32, tag = "2")] + pub challenge_id: u32, + #[prost(uint32, tag = "4")] + pub challenge_max_score: u32, + #[prost(bool, tag = "6")] + pub is_first_pass_reward_taken: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct EffigyScheduleBin { + #[prost(message, repeated, tag = "1")] + pub daily_record_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "2")] + pub last_difficulty_id: u32, + #[prost(uint32, repeated, tag = "3")] + pub taken_reward_index_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct TreasureMapRegionBin { + #[prost(uint32, tag = "1")] + pub region_id: u32, + #[prost(uint32, tag = "2")] + pub current_progress: u32, + #[prost(map = "uint32, bool", tag = "3")] + pub done_group_map: ::std::collections::HashMap, + #[prost(bool, tag = "4")] + pub is_region_detected: bool, + #[prost(bool, tag = "5")] + pub is_mp_challenge_open: bool, + #[prost(bool, tag = "6")] + pub is_mp_challenge_done: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct TreasureMapBonusChallengeBin { + #[prost(uint32, tag = "1")] + pub config_id: u32, + #[prost(bool, tag = "2")] + pub is_active: bool, + #[prost(bool, tag = "3")] + pub is_done: bool, + #[prost(bool, tag = "4")] + pub is_challenge_open: bool, + #[prost(map = "uint32, uint32", tag = "5")] + pub fragment_map: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct TreasureMapScheduleBin { + #[prost(message, repeated, tag = "1")] + pub region_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "2")] + pub active_region_index: u32, + #[prost(uint32, tag = "3")] + pub currency_num: u32, + #[prost(message, repeated, tag = "4")] + pub challenge_list: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "5")] + pub is_mp_challenge_touched: bool, + #[prost(uint32, tag = "6")] + pub host_mp_reward_taken_num: u32, + #[prost(uint32, tag = "7")] + pub guest_mp_reward_taken_num: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SalesmanMpScheduleBin { + #[prost(uint32, tag = "1")] + pub status: u32, + #[prost(uint32, tag = "2")] + pub day_index: u32, + #[prost(uint32, repeated, tag = "3")] + pub deliver_day_index_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "4")] + pub last_deliver_day_index: u32, + #[prost(bool, tag = "5")] + pub is_has_taken_special_reward: bool, + #[prost(uint32, repeated, tag = "6")] + pub normal_reward_list: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "7")] + pub obtained_normal_reward_list: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "8")] + pub obtained_special_reward_list: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "9")] + pub obtained_special_material_list: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "10")] + pub obtained_special_drop_list: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "11")] + pub finished_talk_id_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ExpeditionPathDataBin { + #[prost(uint32, tag = "1")] + pub path_id: u32, + #[prost(uint32, tag = "2")] + pub mark_id: u32, + #[prost(uint32, tag = "3")] + pub refresh_time: u32, + #[prost(uint32, tag = "4")] + pub state: u32, + #[prost(uint32, tag = "5")] + pub start_time: u32, + #[prost(uint32, repeated, tag = "6")] + pub avatar_id_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "7")] + pub assist_uid: u32, + #[prost(uint32, tag = "8")] + pub assist_avatar_id: u32, + #[prost(float, tag = "9")] + pub bonus_probability: f32, + #[prost(string, tag = "10")] + pub transaction: ::prost::alloc::string::String, + #[prost(uint32, tag = "11")] + pub assist_costume_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ExpeditionAssistRecordBin { + #[prost(uint32, tag = "1")] + pub avatar_id: u32, + #[prost(uint32, tag = "2")] + pub assist_time: u32, + #[prost(uint32, tag = "3")] + pub target_uid: u32, + #[prost(string, tag = "4")] + pub target_nick_name: ::prost::alloc::string::String, + #[prost(string, tag = "5")] + pub online_id: ::prost::alloc::string::String, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ExpeditionChallengeDataBin { + #[prost(uint32, tag = "1")] + pub id: u32, + #[prost(bool, tag = "2")] + pub is_finished: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ExpeditionScheduleBin { + #[prost(uint32, tag = "1")] + pub last_refresh_time: u32, + #[prost(uint32, repeated, tag = "2")] + pub candidate_path_id_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "3")] + pub path_data_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "4")] + pub expedition_count: u32, + #[prost(message, repeated, tag = "5")] + pub assist_record_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "6")] + pub challenge_data_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "7")] + pub expedition_finish_count: u32, + #[prost(uint32, tag = "8")] + pub cur_challenge_id: u32, + #[prost(bool, tag = "9")] + pub is_content_closed: bool, + #[prost(uint32, repeated, tag = "10")] + pub history_path_id_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct BlessingScanEntityData { + #[prost(uint32, tag = "1")] + pub uid: u32, + #[prost(uint32, tag = "2")] + pub group_id: u32, + #[prost(uint32, tag = "3")] + pub config_id: u32, + #[prost(uint32, tag = "4")] + pub scan_num: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct BlessingRecvPicData { + #[prost(uint32, tag = "1")] + pub uid: u32, + #[prost(uint32, tag = "2")] + pub pic_id: u32, + #[prost(bool, tag = "3")] + pub is_recv: bool, + #[prost(uint32, tag = "4")] + pub index: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct BlessingScheduleBin { + #[prost(uint32, tag = "1")] + pub day_index: u32, + #[prost(message, repeated, tag = "2")] + pub cur_day_scanned_entity_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "3")] + pub cur_day_scan_num: u32, + #[prost(uint32, tag = "4")] + pub up_pool_index: u32, + #[prost(map = "uint32, uint32", tag = "5")] + pub pic_num_map: ::std::collections::HashMap, + #[prost(bool, tag = "6")] + pub is_activated: bool, + #[prost(bool, tag = "7")] + pub is_content_closed: bool, + #[prost(uint32, tag = "8")] + pub cur_day_scan_type_id: u32, + #[prost(uint32, repeated, tag = "9")] + pub pic_drop_record_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "10")] + pub total_unfulfilled_num: u32, + #[prost(uint32, tag = "11")] + pub redeem_reward_num: u32, + #[prost(message, repeated, tag = "12")] + pub recv_pic_data_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "13")] + pub last_generated_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct FleurFairBalloonBin { + #[prost(uint32, tag = "1")] + pub best_score: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct FleurFairFallBin { + #[prost(uint32, tag = "1")] + pub best_score: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct FleurFairMusicRecordBin { + #[prost(uint32, tag = "1")] + pub max_score: u32, + #[prost(uint32, tag = "2")] + pub max_combo: u32, + #[prost(bool, tag = "3")] + pub is_unlock: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct FleurFairMusicBin { + #[prost(map = "uint32, message", tag = "1")] + pub music_game_record_map: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct FleurFairMinigameBin { + #[prost(uint32, tag = "1")] + pub minigame_id: u32, + #[prost(bool, tag = "2")] + pub is_open: bool, + #[prost(oneof = "fleur_fair_minigame_bin::Detail", tags = "11, 12, 13")] + pub detail: ::core::option::Option, +} +/// Nested message and enum types in `FleurFairMinigameBin`. +pub mod fleur_fair_minigame_bin { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Detail { + #[prost(message, tag = "11")] + BalloonBin(super::FleurFairBalloonBin), + #[prost(message, tag = "12")] + FallBin(super::FleurFairFallBin), + #[prost(message, tag = "13")] + MusicBin(super::FleurFairMusicBin), + } +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct FleurFairDungeonSectionDataBin { + #[prost(uint32, tag = "1")] + pub section_id: u32, + #[prost(bool, tag = "2")] + pub is_open: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct FleurFairScheduleBin { + #[prost(uint32, tag = "1")] + pub credit: u32, + #[prost(uint32, tag = "2")] + pub token: u32, + #[prost(bool, tag = "3")] + pub is_content_closed: bool, + #[prost(map = "uint32, message", tag = "4")] + pub minigame_map: ::std::collections::HashMap, + #[prost(map = "uint32, message", tag = "5")] + pub dungeon_section_map: ::std::collections::HashMap< + u32, + FleurFairDungeonSectionDataBin, + >, + #[prost(bool, tag = "6")] + pub is_dungeon_unlocked: bool, + #[prost(uint32, tag = "7")] + pub dungeon_punish_over_time: u32, + #[prost(uint32, tag = "8")] + pub obtained_token: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ArenaChallengeSchduleBin { + #[prost(uint32, tag = "1")] + pub world_level: u32, + #[prost(bool, tag = "2")] + pub is_finish_any_level: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct WaterSpiritScheduleBin { + #[prost(uint32, tag = "1")] + pub spirit_coin: u32, + #[prost(uint32, tag = "2")] + pub region_search_play_id: u32, + #[prost(uint32, tag = "3")] + pub scene_play_id: u32, + #[prost(bool, tag = "4")] + pub is_phase_finish: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ChannellerSlabChallengeBin { + #[prost(uint32, tag = "1")] + pub active_camp_index: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ChannellerSlabStageBin { + #[prost(message, repeated, tag = "1")] + pub challenge_list: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "2")] + pub is_dungeon_done: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ChannellerSlabBuffSchemeBin { + #[prost(map = "uint32, uint32", tag = "1")] + pub slot_map: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ChannellerSlabAssistBin { + #[prost(uint32, tag = "1")] + pub uid: u32, + #[prost(uint32, tag = "2")] + pub avatar_id: u32, + #[prost(uint32, tag = "3")] + pub avatar_level: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ChannellerSlabBuffDataBin { + #[prost(uint32, repeated, tag = "1")] + pub buff_id_list: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "2")] + pub single_buff_scheme: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub mp_buff_scheme: ::core::option::Option, + #[prost(message, repeated, tag = "4")] + pub assist_bin_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ChannellerSlabLoopDungeonDataBin { + #[prost(uint32, tag = "1")] + pub dungeon_index: u32, + #[prost(uint32, tag = "2")] + pub score: u32, + #[prost(bool, tag = "3")] + pub is_first_pass_reward_taken: bool, + #[prost(uint32, repeated, tag = "4")] + pub last_condition_id_list: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "5")] + pub is_open: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ChannellerSlabLoopDungeonStageBin { + #[prost(message, repeated, tag = "1")] + pub dungeon_data_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "2")] + pub last_difficulty_id: u32, + #[prost(uint32, repeated, tag = "3")] + pub taken_reward_index_list: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "4")] + pub is_open: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ChannellerSlabScheduleBin { + #[prost(message, repeated, tag = "1")] + pub stage_list: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "2")] + pub buff_data: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub loop_dungeon_stage: ::core::option::Option, + #[prost(uint32, tag = "4")] + pub tokens: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MistTrialLevelBin { + #[prost(uint32, tag = "1")] + pub level_id: u32, + #[prost(bool, tag = "2")] + pub is_open: bool, + #[prost(uint32, tag = "3")] + pub open_time: u32, + #[prost(uint32, tag = "4")] + pub try_times: u32, + #[prost(uint32, tag = "5")] + pub success_times: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MistTrialScheduleBin { + #[prost(message, repeated, tag = "1")] + pub level_bin_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct HideAndSeekScheduleBin { + #[prost(map = "uint32, uint32", tag = "1")] + pub hider_slot_skill_map: ::std::collections::HashMap, + #[prost(map = "uint32, uint32", tag = "2")] + pub hunter_slot_skill_map: ::std::collections::HashMap, + #[prost(bool, tag = "3")] + pub is_play_open: bool, + #[prost(uint32, tag = "4")] + pub hider_count: u32, + #[prost(uint32, repeated, tag = "5")] + pub open_map_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct FindHilichurlScheduleBin { + #[prost(uint32, tag = "1")] + pub finished_day_index: u32, + #[prost(bool, tag = "2")] + pub is_content_closed: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SummerTimeStageBin { + #[prost(uint32, tag = "1")] + pub stage_id: u32, + #[prost(bool, tag = "2")] + pub is_open: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SummerTimeSprintBoatBin { + #[prost(uint32, tag = "1")] + pub best_score: u32, + #[prost(bool, tag = "2")] + pub is_touched: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SummerTimeScheduleBin { + #[prost(map = "uint32, message", tag = "1")] + pub stage_bin_map: ::std::collections::HashMap, + #[prost(bool, tag = "2")] + pub is_content_closed: bool, + #[prost(uint32, repeated, tag = "3")] + pub disable_float_signal_list: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "4")] + pub unlcoked_mist_zone_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "5")] + pub last_float_signal_id: u32, + #[prost(uint32, tag = "6")] + pub next_float_signal_id: u32, + #[prost(uint32, tag = "7")] + pub draft_wood: u32, + #[prost(uint32, tag = "8")] + pub mini_harpastum: u32, + #[prost(message, repeated, tag = "9")] + pub sprint_boat_list: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "10")] + pub is_sea_mist_closed: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct BounceConjuringChapterBin { + #[prost(uint32, tag = "1")] + pub chapter_id: u32, + #[prost(uint32, tag = "2")] + pub best_score: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct BounceConjuringScheduleBin { + #[prost(message, repeated, tag = "1")] + pub chapter_list: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "2")] + pub is_content_closed: bool, + #[prost(uint32, tag = "3")] + pub coin: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct BuoyantCombatDailyRecordBin { + #[prost(uint32, tag = "1")] + pub best_score: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct BuoyantCombatScheduleBin { + #[prost(message, repeated, tag = "1")] + pub daily_record_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SummerTimeDungeonBin { + #[prost(uint32, tag = "1")] + pub dungeon_id: u32, + #[prost(uint32, tag = "2")] + pub taken_chest_count: u32, + #[prost(uint32, tag = "3")] + pub taken_shell_count: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct EchoShellScheduleBin { + #[prost(uint32, repeated, tag = "1")] + pub taken_reward_list: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "2")] + pub taken_voice_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "3")] + pub summer_time_dungeon_list: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "4")] + pub pass_dungeon_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ChessScheduleBin { + #[prost(uint32, tag = "1")] + pub level: u32, + #[prost(uint32, tag = "2")] + pub exp: u32, + #[prost(bool, tag = "3")] + pub is_teach_dungeon_finished: bool, + #[prost(map = "uint32, uint32", tag = "4")] + pub daily_obtained_exp_map: ::std::collections::HashMap, + #[prost(uint32, tag = "5")] + pub coin: u32, + #[prost(uint32, repeated, tag = "6")] + pub finished_map_id_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "7")] + pub punish_over_time: u32, + #[prost(bool, tag = "8")] + pub is_content_closed: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct BlitzRushStageBin { + #[prost(uint32, tag = "1")] + pub stage_id: u32, + #[prost(bool, tag = "2")] + pub is_open: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct BlitzRushParkourLevelRecordBin { + #[prost(uint32, tag = "1")] + pub level_id: u32, + #[prost(bool, tag = "2")] + pub is_open: bool, + #[prost(uint32, tag = "3")] + pub best_record: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct BlitzRushScheduleBin { + #[prost(uint32, tag = "1")] + pub coin_a: u32, + #[prost(uint32, tag = "2")] + pub coin_b: u32, + #[prost(bool, tag = "3")] + pub is_content_closed: bool, + #[prost(message, repeated, tag = "4")] + pub stage_bin_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "5")] + pub parkour_level_record_list: ::prost::alloc::vec::Vec< + BlitzRushParkourLevelRecordBin, + >, + #[prost(bool, tag = "6")] + pub is_dungeon_unlocked: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SumoAvatarBin { + #[prost(bool, tag = "1")] + pub is_trial: bool, + #[prost(uint64, tag = "2")] + pub avatar_id: u64, + #[prost(uint64, tag = "3")] + pub in_dungeon_guid: u64, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SumoTeamBin { + #[prost(message, repeated, tag = "1")] + pub avatar_bin_list: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "2")] + pub skill_id_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SumoStageBin { + #[prost(uint32, tag = "1")] + pub stage_id: u32, + #[prost(uint32, tag = "2")] + pub max_score: u32, + #[prost(bool, tag = "3")] + pub is_open: bool, + #[prost(message, repeated, tag = "4")] + pub team_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SumoScheduleBin { + #[prost(message, repeated, tag = "1")] + pub stage_bin_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "2")] + pub difficulty_id: u32, + #[prost(uint32, tag = "3")] + pub last_stage_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct LunaRiteHintPointBin { + #[prost(uint32, tag = "1")] + pub area_id: u32, + #[prost(uint32, tag = "2")] + pub group_id: u32, + #[prost(uint32, tag = "3")] + pub config_id: u32, + #[prost(uint32, tag = "4")] + pub r#type: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct LunaRiteAreaBin { + #[prost(uint32, tag = "1")] + pub area_id: u32, + #[prost(uint32, tag = "2")] + pub finish_battle_id: u32, + #[prost(uint32, repeated, tag = "3")] + pub sacrifice_list: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "4")] + pub sacrifice_reward_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "5")] + pub hint_status: u32, + #[prost(uint32, tag = "6")] + pub chest_searching_num: u32, + #[prost(uint32, tag = "7")] + pub rune_searching_num: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct LunaRiteScheduleBin { + #[prost(message, repeated, tag = "1")] + pub area_bin_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "2")] + pub hint_point_bin_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "3")] + pub atmosphere: u32, + #[prost(uint32, tag = "4")] + pub last_refresh_time: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MoonfinTrialLevelRecordBin { + #[prost(uint32, tag = "1")] + pub level_id: u32, + #[prost(uint32, repeated, tag = "2")] + pub best_record_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MoonfinTrialScheduleBin { + #[prost(message, repeated, tag = "1")] + pub moonfintrial_level_record_list: ::prost::alloc::vec::Vec< + MoonfinTrialLevelRecordBin, + >, + #[prost(uint32, tag = "2")] + pub special_fish_count: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlantFlowerRecvFlowerDataBin { + #[prost(uint32, tag = "1")] + pub uid: u32, + #[prost(map = "uint32, uint32", tag = "2")] + pub flower_num_map: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct HomeModuleUsedActivityItemDataBin { + #[prost(uint32, tag = "1")] + pub module_id: u32, + #[prost(map = "uint32, uint32", tag = "2")] + pub item_count_map: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct HomeUsedActivityItemDataBin { + #[prost(message, repeated, tag = "1")] + pub module_used_item_list: ::prost::alloc::vec::Vec< + HomeModuleUsedActivityItemDataBin, + >, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlantFlowerSeedPlantDataBin { + #[prost(uint32, tag = "1")] + pub seed_id: u32, + #[prost(uint32, repeated, tag = "2")] + pub home_gather_id_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlantFlowerShelfDataBin { + #[prost(uint32, tag = "1")] + pub gadget_config_id: u32, + #[prost(map = "uint32, uint32", tag = "2")] + pub used_flower_num_map: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlantFlowerScheduleBin { + #[prost(uint32, tag = "1")] + pub day_index: u32, + #[prost(uint32, tag = "2")] + pub last_awarded_day_index: u32, + #[prost(uint32, repeated, tag = "3")] + pub seed_reward_list: ::prost::alloc::vec::Vec, + #[prost(map = "uint32, uint32", tag = "4")] + pub wish_flower_num_map: ::std::collections::HashMap, + #[prost(message, repeated, tag = "5")] + pub recv_flower_data_list: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "6")] + pub is_content_closed: bool, + #[prost(map = "uint32, uint32", tag = "7")] + pub activity_used_flower_num_map: ::std::collections::HashMap, + #[prost(message, optional, tag = "8")] + pub home_used_flower_data: ::core::option::Option, + #[prost(message, repeated, tag = "9")] + pub seed_plant_data_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "10")] + pub flower_shelf_data_list: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "11")] + pub plant_obtained_flower_type_list: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "12")] + pub common_obtained_flower_type_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MusicGameRecordBin { + #[prost(uint32, tag = "1")] + pub max_score: u32, + #[prost(uint32, tag = "2")] + pub max_combo: u32, + #[prost(bool, tag = "3")] + pub is_unlock: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MusicGameUgcSaveBin { + #[prost(uint64, tag = "1")] + pub ugc_guid: u64, + #[prost(uint32, tag = "2")] + pub music_id: u32, + #[prost(uint32, tag = "3")] + pub save_idx: u32, + #[prost(uint32, tag = "4")] + pub save_time: u32, + #[prost(uint32, tag = "5")] + pub max_score: u32, + #[prost(uint32, tag = "6")] + pub note_count: u32, + #[prost(uint32, tag = "7")] + pub version: u32, + #[prost(bool, tag = "8")] + pub is_published: bool, + #[prost(bool, tag = "9")] + pub is_changed_after_publish: bool, + #[prost(uint64, tag = "10")] + pub import_from_ugc_guid: u64, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MusicGameUgcSearchBin { + #[prost(uint64, tag = "1")] + pub ugc_guid: u64, + #[prost(uint32, tag = "2")] + pub music_id: u32, + #[prost(uint32, tag = "3")] + pub publish_time: u32, + #[prost(uint32, tag = "4")] + pub max_score: u32, + #[prost(uint32, tag = "5")] + pub note_count: u32, + #[prost(uint32, tag = "6")] + pub version: u32, + #[prost(string, tag = "7")] + pub creator_nickname: ::prost::alloc::string::String, + #[prost(bool, tag = "8")] + pub is_psn_platform: bool, + #[prost(uint64, tag = "9")] + pub import_from_ugc_guid: u64, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MusicGameUgcPlayBin { + #[prost(uint64, tag = "1")] + pub ugc_guid: u64, + #[prost(uint32, tag = "2")] + pub version: u32, + #[prost(uint32, tag = "3")] + pub score: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MusicGameScheduleBin { + #[prost(map = "uint32, message", tag = "1")] + pub music_game_record_map: ::std::collections::HashMap, + #[prost(message, repeated, tag = "2")] + pub music_game_ugc_save_bin: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "3")] + pub music_game_ugc_search_bin: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "4")] + pub music_game_ugc_play_bin: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "5")] + pub is_finish_all_cond_level: bool, + #[prost(uint32, tag = "6")] + pub cur_trans_no: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct RoguelikeShikigamiBin { + #[prost(uint32, tag = "1")] + pub id: u32, + #[prost(uint32, tag = "2")] + pub level: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct RoguelikeDungeonRuneBin { + #[prost(uint32, tag = "1")] + pub rune_id: u32, + #[prost(uint32, tag = "2")] + pub available_count: u32, + #[prost(uint32, tag = "3")] + pub max_count: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct RoguelikeDungeonCardBin { + #[prost(uint32, tag = "1")] + pub card_id: u32, + #[prost(uint32, tag = "2")] + pub count: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct RoguelikeDungeonCurseBin { + #[prost(uint32, tag = "1")] + pub curse_id: u32, + #[prost(uint32, tag = "2")] + pub count: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct RoguelikeDungeonDynamicSgvBin { + #[prost(string, tag = "1")] + pub key: ::prost::alloc::string::String, + #[prost(float, tag = "2")] + pub value: f32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct RoguelikeMiscBin { + #[prost(uint32, tag = "1")] + pub cur_dungeon_level: u32, + #[prost(message, repeated, tag = "2")] + pub use_rune_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "3")] + pub selected_card_list: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "4")] + pub optional_card_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "5")] + pub optional_card_depot_id: u32, + #[prost(message, repeated, tag = "6")] + pub curse_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "7")] + pub dynamic_sgv_list: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "8")] + pub gacha_cell_list: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "9")] + pub is_optional_card_can_refresh: bool, + #[prost(uint32, tag = "10")] + pub card_cell_id: u32, + #[prost(uint64, repeated, tag = "11")] + pub noheal_guid_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "12")] + pub cur_rand_count: u32, + #[prost(uint32, repeated, tag = "13")] + pub viewed_card_list: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "14")] + pub viewed_curse_list: ::prost::alloc::vec::Vec, + #[prost(uint64, repeated, tag = "15")] + pub add_talent_guid_list: ::prost::alloc::vec::Vec, + #[prost(map = "uint32, uint32", tag = "16")] + pub chosen_card_type_count_map: ::std::collections::HashMap, + #[prost(uint32, tag = "17")] + pub refresh_count: u32, + #[prost(uint32, tag = "18")] + pub use_refresh_free_count: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct RogueTeamBin { + #[prost(uint64, repeated, tag = "1")] + pub onstage_avatar_guid_list: ::prost::alloc::vec::Vec, + #[prost(uint64, repeated, tag = "2")] + pub backstage_avatar_guid_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct RogueCellBin { + #[prost(uint32, tag = "1")] + pub cell_id: u32, + #[prost(uint32, tag = "2")] + pub state: u32, + #[prost(uint32, tag = "3")] + pub r#type: u32, + #[prost(uint32, tag = "4")] + pub dungeon_id: u32, + #[prost(map = "uint32, uint32", tag = "5")] + pub diff_monster_pool_map: ::std::collections::HashMap, + #[prost(uint32, repeated, tag = "6")] + pub guard_point_config_id_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct RogueGadgetPointBin { + #[prost(message, optional, tag = "1")] + pub group_point_pair: ::core::option::Option, + #[prost(uint32, tag = "2")] + pub gadget_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct RogueDungeonBin { + #[prost(bool, tag = "1")] + pub is_valid: bool, + #[prost(message, optional, tag = "2")] + pub team_bin: ::core::option::Option, + #[prost(uint32, tag = "3")] + pub stage_id: u32, + #[prost(uint32, tag = "4")] + pub cur_level_index: u32, + #[prost(message, optional, tag = "5")] + pub last_player_pos: ::core::option::Option, + #[prost(message, optional, tag = "6")] + pub last_player_rot: ::core::option::Option, + #[prost(uint32, tag = "7")] + pub cur_cell_id: u32, + #[prost(map = "uint32, message", tag = "8")] + pub rogue_cell_bin_map: ::std::collections::HashMap, + #[prost(message, repeated, tag = "9")] + pub brakeages_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "10")] + pub trap_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "11")] + pub blast_bucket_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "12")] + pub dungeon_id: u32, + #[prost(bool, tag = "13")] + pub is_temp_leave: bool, + #[prost(uint32, tag = "14")] + pub dungeon_weight_config_id: u32, + #[prost(uint32, repeated, tag = "15")] + pub explored_cell_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "16")] + pub brakeage_group_gadget_bin_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "17")] + pub trap_group_gadget_bin_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "18")] + pub byobu_group_gadget_bin_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "19")] + pub ball_group_gadget_bin_list: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "20")] + pub is_ban_spring: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct RogueFinishChallengeBin { + #[prost(uint32, tag = "1")] + pub cell_num: u32, + #[prost(uint32, tag = "2")] + pub coin_b: u32, + #[prost(uint32, tag = "3")] + pub coin_c: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct RogueStageBin { + #[prost(uint32, tag = "1")] + pub stage_id: u32, + #[prost(uint32, tag = "2")] + pub coin_c_num: u32, + #[prost(uint32, tag = "3")] + pub max_passed_level: u32, + #[prost(bool, tag = "4")] + pub is_open: bool, + #[prost(bool, tag = "5")] + pub is_in_combat: bool, + #[prost(bool, tag = "6")] + pub is_passed: bool, + #[prost(bool, tag = "7")] + pub is_taken_reward: bool, + #[prost(bool, tag = "8")] + pub is_entering_next_level: bool, + #[prost(bool, tag = "9")] + pub is_explored: bool, + #[prost(uint32, tag = "10")] + pub cached_coin_b_num: u32, + #[prost(uint32, tag = "11")] + pub cached_coin_c_num: u32, + #[prost(message, repeated, tag = "12")] + pub dead_gadget_count_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "13")] + pub kill_monster_count: u32, + #[prost(uint32, tag = "14")] + pub avatar_element_count: u32, + #[prost(uint32, tag = "15")] + pub avatar_count: u32, + #[prost(bool, tag = "16")] + pub is_used_spring: bool, + #[prost(map = "uint32, uint32", tag = "17")] + pub level_explore_cell_count_map: ::std::collections::HashMap, + #[prost(bool, tag = "18")] + pub is_avatar_dead: bool, + #[prost(map = "uint32, bool", tag = "19")] + pub level_finish_all_challenge_map: ::std::collections::HashMap, + #[prost(uint32, tag = "20")] + pub cur_level_index: u32, + #[prost(map = "uint32, message", tag = "21")] + pub finish_challenge_bin_map: ::std::collections::HashMap< + u32, + RogueFinishChallengeBin, + >, + #[prost(string, tag = "22")] + pub transaction: ::prost::alloc::string::String, + #[prost(map = "uint32, uint32", tag = "23")] + pub level_time_cost_map: ::std::collections::HashMap, + #[prost(map = "uint32, uint32", tag = "24")] + pub explored_cell_type_map: ::std::collections::HashMap, + #[prost(bool, tag = "25")] + pub has_temp_leaved: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct RoguelikeDungeonScheduleBin { + #[prost(uint32, repeated, tag = "1")] + pub rune_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "2")] + pub shikigami_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "3")] + pub coin_a: u32, + #[prost(uint32, tag = "4")] + pub coin_b: u32, + #[prost(uint32, tag = "5")] + pub coin_c: u32, + #[prost(uint32, repeated, tag = "6")] + pub equipped_rune_list: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "7")] + pub misc_bin: ::core::option::Option, + #[prost(message, repeated, tag = "8")] + pub stage_bin_list: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "9")] + pub dungeon_runtime_bin: ::core::option::Option, + #[prost(bool, tag = "10")] + pub is_content_closed: bool, + #[prost(uint32, tag = "11")] + pub init_world_level: u32, + #[prost(uint64, tag = "12")] + pub trans_no_count: u64, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct WinterCampDropBin { + #[prost(uint32, tag = "1")] + pub config_id: u32, + #[prost(uint32, tag = "2")] + pub drop_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct WinterCampExploreBin { + #[prost(uint32, tag = "1")] + pub id: u32, + #[prost(bool, tag = "2")] + pub is_finished: bool, + #[prost(uint32, tag = "3")] + pub drop_group_index: u32, + #[prost(message, repeated, tag = "4")] + pub drop_record_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct WinterCampBattleBin { + #[prost(uint32, tag = "1")] + pub id: u32, + #[prost(bool, tag = "2")] + pub is_finished: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct WinterCampRaceBin { + #[prost(uint32, tag = "1")] + pub id: u32, + #[prost(uint32, tag = "2")] + pub max_score: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct WinterCampRecvItemBin { + #[prost(uint32, tag = "1")] + pub uid: u32, + #[prost(message, repeated, tag = "2")] + pub item_bin_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct WinterCampHomeUsedItemBin { + #[prost(uint32, tag = "1")] + pub module_id: u32, + #[prost(message, repeated, tag = "2")] + pub item_bin_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct WinterCampSnowmanUsedItemBin { + #[prost(uint32, tag = "1")] + pub gadget_id: u32, + #[prost(message, repeated, tag = "2")] + pub item_bin_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct WinterCampScheduleBin { + #[prost(bool, tag = "1")] + pub is_content_closed: bool, + #[prost(uint32, tag = "2")] + pub coin_a: u32, + #[prost(uint32, tag = "3")] + pub coin_b: u32, + #[prost(uint32, tag = "4")] + pub drop_gen_index: u32, + #[prost(message, optional, tag = "5")] + pub explore_bin: ::core::option::Option, + #[prost(message, optional, tag = "6")] + pub battle_bin: ::core::option::Option, + #[prost(message, repeated, tag = "7")] + pub race_bin_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "8")] + pub recv_item_bin_list: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "9")] + pub wish_item_id_list: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "10")] + pub taken_explore_reward_id_list: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "11")] + pub taken_battle_reward_id_list: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "12")] + pub is_race_started: bool, + #[prost(message, repeated, tag = "13")] + pub home_used_item_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "14")] + pub snowman_used_item_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct HachiStageBin { + #[prost(uint32, tag = "1")] + pub stage_id: u32, + #[prost(bool, tag = "2")] + pub is_open: bool, + #[prost(bool, tag = "3")] + pub is_finished: bool, + #[prost(uint32, tag = "4")] + pub dungeon_pass_times: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct HachiScheduleBin { + #[prost(map = "uint32, message", tag = "1")] + pub stage_bin_map: ::std::collections::HashMap, + #[prost(bool, tag = "2")] + pub is_content_closed: bool, + #[prost(uint32, tag = "3")] + pub cur_finish_steal_stage_id: u32, + #[prost(uint32, tag = "4")] + pub cur_finish_battle_stage_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PotionLevelBin { + #[prost(uint32, tag = "1")] + pub level_id: u32, + #[prost(uint32, tag = "2")] + pub difficulty_level: u32, + #[prost(uint32, tag = "3")] + pub mode_id: u32, + #[prost(uint32, tag = "4")] + pub score: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PotionStageBin { + #[prost(uint32, tag = "1")] + pub stage_id: u32, + #[prost(bool, tag = "2")] + pub is_open: bool, + #[prost(uint32, tag = "3")] + pub reset_times: u32, + #[prost(message, repeated, tag = "4")] + pub level_bin_list: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "5")] + pub cool_down_avatar_id_list: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "6")] + pub cool_down_buff_id_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PotionScheduleBin { + #[prost(message, repeated, tag = "1")] + pub stage_bin_list: ::prost::alloc::vec::Vec, + #[prost(uint64, repeated, tag = "2")] + pub in_dungeon_avatar_guid_list: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "3")] + pub is_finish_any_level: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct TanukiTravelLevelBin { + #[prost(uint32, tag = "1")] + pub route_id: u32, + #[prost(bool, tag = "2")] + pub is_open: bool, + #[prost(bool, tag = "3")] + pub is_finish: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct TanukiTravelScheduleBin { + #[prost(message, repeated, tag = "1")] + pub level_bin_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "2")] + pub finished_level_index: u32, + #[prost(bool, tag = "3")] + pub is_content_closed: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SalvageBundleChallengeBin { + #[prost(uint32, repeated, tag = "1")] + pub finished_bundle_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SalvageScoreChallengeBin { + #[prost(uint32, tag = "1")] + pub salvage_challenge_id: u32, + #[prost(uint32, tag = "2")] + pub max_score: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SalvageChallengeBin { + #[prost(uint32, tag = "1")] + pub challenge_type: u32, + #[prost(bool, tag = "2")] + pub is_unlock: bool, + #[prost(oneof = "salvage_challenge_bin::ChallengeDetail", tags = "10, 11, 12")] + pub challenge_detail: ::core::option::Option, +} +/// Nested message and enum types in `SalvageChallengeBin`. +pub mod salvage_challenge_bin { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum ChallengeDetail { + #[prost(message, tag = "10")] + BundleInfo(super::SalvageBundleChallengeBin), + #[prost(message, tag = "11")] + ScoreChallengeInfo(super::SalvageScoreChallengeBin), + #[prost(uint32, tag = "12")] + BossChallengeId(u32), + } +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct LanternSalvageStageBin { + #[prost(uint32, tag = "1")] + pub stage_id: u32, + #[prost(bool, tag = "2")] + pub is_open: bool, + #[prost(bool, tag = "3")] + pub is_finished: bool, + #[prost(message, repeated, tag = "4")] + pub challenge_bin_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct LanternRiteProjectionLevelBin { + #[prost(uint32, tag = "1")] + pub id: u32, + #[prost(bool, tag = "2")] + pub is_finish: bool, + #[prost(uint32, tag = "3")] + pub min_finish_time: u32, + #[prost(bool, tag = "4")] + pub is_view_tips: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct LanternRiteProjectionBin { + #[prost(uint32, repeated, tag = "2")] + pub open_stage_list: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "3")] + pub view_input_tips_list: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "4")] + pub view_switch_tips_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "5")] + pub level_bin_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct LanternRiteFireworksChallengeBin { + #[prost(uint32, tag = "1")] + pub challenge_id: u32, + #[prost(uint32, tag = "2")] + pub best_score: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct LanternRiteFireworksStageBin { + #[prost(uint32, tag = "1")] + pub stage_id: u32, + #[prost(bool, tag = "2")] + pub is_open: bool, + #[prost(message, repeated, tag = "3")] + pub challenge_bin_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct LanternRiteFireworksBin { + #[prost(message, repeated, tag = "1")] + pub stage_bin_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct LanternRiteScheduleBin { + #[prost(uint32, tag = "1")] + pub coin_a: u32, + #[prost(uint32, tag = "2")] + pub coin_b: u32, + #[prost(uint32, tag = "3")] + pub coin_c: u32, + #[prost(message, optional, tag = "4")] + pub projection_bin: ::core::option::Option, + #[prost(message, repeated, tag = "5")] + pub salvage_stage_bin_list: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "6")] + pub is_mini_eldritch_dungeon_open: bool, + #[prost(bool, tag = "7")] + pub is_taken_skin_reward: bool, + #[prost(map = "uint32, uint32", tag = "8")] + pub salvage_tracking_mark_map: ::std::collections::HashMap, + #[prost(bool, tag = "9")] + pub is_content_closed: bool, + #[prost(message, optional, tag = "10")] + pub fireworks_bin: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MichiaeMatsuriStageBin { + #[prost(uint32, tag = "1")] + pub stage_id: u32, + #[prost(bool, tag = "2")] + pub is_open: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MichiaeMatsuriScheduleBin { + #[prost(uint32, tag = "1")] + pub statue_refresh_group_time: u32, + #[prost(message, repeated, tag = "2")] + pub stage_bin_list: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "3")] + pub unlocked_crystal_skill_bin_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "4")] + pub gain_crystal_exp: u32, + #[prost(uint32, repeated, tag = "5")] + pub finished_challenge_group_id_bin_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct BartenderTaskBin { + #[prost(uint32, tag = "1")] + pub id: u32, + #[prost(bool, tag = "2")] + pub is_finish: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct BartenderLevelBin { + #[prost(uint32, tag = "1")] + pub id: u32, + #[prost(uint32, tag = "2")] + pub max_score: u32, + #[prost(bool, tag = "3")] + pub is_finish: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct BartenderScheduleBin { + #[prost(uint32, repeated, tag = "1")] + pub unlock_item_list: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "2")] + pub unlock_formula_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "3")] + pub unlock_task_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "4")] + pub unlock_level_list: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "5")] + pub is_develop_module_open: bool, + #[prost(uint64, tag = "6")] + pub trans_no_count: u64, + #[prost(bool, tag = "7")] + pub is_content_closed: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct IrodoriChessMapBin { + #[prost(uint32, tag = "1")] + pub best_score: u32, + #[prost(uint32, repeated, tag = "2")] + pub equiped_card_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct IrodoriChessLevelBin { + #[prost(message, optional, tag = "1")] + pub normal_map_data: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub hard_map_data: ::core::option::Option, + #[prost(uint32, tag = "3")] + pub level_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct IrodoriChessBin { + #[prost(bool, tag = "1")] + pub is_open: bool, + #[prost(message, repeated, tag = "2")] + pub level_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct IrodoriFlowerShelfBin { + #[prost(uint32, tag = "1")] + pub gadget_id: u32, + #[prost(map = "uint32, uint32", tag = "2")] + pub used_flower_count_map: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct IrodoriFlowerBin { + #[prost(uint32, repeated, tag = "1")] + pub is_satisfied_theme_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "2")] + pub shelf_data_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct IrodoriPoetryThemeBin { + #[prost(uint32, tag = "1")] + pub theme_id: u32, + #[prost(uint32, tag = "2")] + pub progress: u32, + #[prost(uint32, repeated, tag = "3")] + pub scanned_index_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "4")] + pub selected_line_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct IrodoriPoetryBin { + #[prost(message, repeated, tag = "1")] + pub theme_bin_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "2")] + pub cur_theme_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct IrodoriMasterLevelDetailBin { + #[prost(uint32, tag = "1")] + pub difficulty: u32, + #[prost(bool, tag = "2")] + pub is_have_try: bool, + #[prost(bool, tag = "3")] + pub is_finish: bool, + #[prost(uint32, tag = "4")] + pub min_finish_time: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct IrodoriMasterLevelBin { + #[prost(uint32, tag = "1")] + pub level_id: u32, + #[prost(message, repeated, tag = "2")] + pub level_detail_list: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "3")] + pub is_cg_viewed: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct IrodoriScheduleBin { + #[prost(message, optional, tag = "1")] + pub chess_data: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub flower_data: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub poetry_data: ::core::option::Option, + #[prost(message, repeated, tag = "4")] + pub master_level_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "5")] + pub master_transaction_no: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct CrystalLinkBuffBin { + #[prost(uint32, tag = "1")] + pub cond_buff_id: u32, + #[prost(uint32, tag = "2")] + pub effect_buff_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct CrystalLinkAvatarBin { + #[prost(bool, tag = "1")] + pub is_trial: bool, + #[prost(uint64, tag = "2")] + pub avatar_id: u64, + #[prost(uint64, tag = "3")] + pub in_dungeon_guid: u64, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct CrystalLinkTeamBin { + #[prost(message, repeated, tag = "1")] + pub avatar_bin_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "2")] + pub buff_bin_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct CrystalLinkLevelBin { + #[prost(uint32, tag = "1")] + pub level_id: u32, + #[prost(bool, tag = "2")] + pub is_open: bool, + #[prost(uint32, tag = "3")] + pub best_score: u32, + #[prost(message, repeated, tag = "4")] + pub team_bin_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct CrystalLinkScheduleBin { + #[prost(message, repeated, tag = "1")] + pub level_bin_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "2")] + pub difficulty_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PhotoPosBin { + #[prost(uint32, tag = "1")] + pub pos_id: u32, + #[prost(bool, tag = "2")] + pub is_open: bool, + #[prost(bool, tag = "3")] + pub is_view: bool, + #[prost(bool, tag = "4")] + pub is_finish: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PhotoScheduleBin { + #[prost(message, repeated, tag = "1")] + pub photo_pos_bin_list: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "2")] + pub is_content_closed: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SpiceStageBin { + #[prost(uint32, tag = "1")] + pub stage_id: u32, + #[prost(bool, tag = "2")] + pub is_open: bool, + #[prost(uint32, tag = "3")] + pub success_times: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SpiceScheduleBin { + #[prost(message, repeated, tag = "1")] + pub stage_bin_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "2")] + pub increase_avatar_fetter_limit_times: u32, + #[prost(uint32, tag = "3")] + pub current_increase_avatar_fetter_times: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GachaStageBin { + #[prost(uint32, tag = "1")] + pub stage_id: u32, + #[prost(bool, tag = "2")] + pub is_open: bool, + #[prost(map = "uint32, uint32", tag = "3")] + pub target_num_map: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GachaScheduleBin { + #[prost(map = "uint32, uint32", tag = "1")] + pub robot_num_map: ::std::collections::HashMap, + #[prost(message, repeated, tag = "2")] + pub gacha_stage_bin_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "3")] + pub item_stage: u32, + #[prost(uint32, tag = "4")] + pub sub_stage: u32, + #[prost(uint32, tag = "5")] + pub robot_finish_num: u32, + #[prost(uint32, repeated, tag = "6")] + pub create_robot_vec: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "7")] + pub hidden_robot_finish_num: u32, + #[prost(uint32, tag = "8")] + pub first_create_hidden_robot_id: u32, + #[prost(uint32, tag = "9")] + pub tech_create_robot_id: u32, + #[prost(map = "uint32, uint32", tag = "10")] + pub have_reward_robot_num_map: ::std::collections::HashMap, + #[prost(uint32, repeated, tag = "11")] + pub have_get_robot_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ActivityRecvGiftBin { + #[prost(uint32, tag = "1")] + pub uid: u32, + #[prost(map = "uint32, uint32", tag = "2")] + pub gift_num_map: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ActivityGiftDataBin { + #[prost(map = "uint32, uint32", tag = "1")] + pub wish_gift_num_map: ::std::collections::HashMap, + #[prost(message, repeated, tag = "2")] + pub recv_gift_data_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct LuminanceStoneChallengeScheduleBin { + #[prost(bool, tag = "1")] + pub is_content_closed: bool, + #[prost(uint32, tag = "2")] + pub current_stage_id: u32, + #[prost(bool, tag = "3")] + pub is_final_gallery_complete: bool, + #[prost(uint32, tag = "4")] + pub best_score: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct RogueDiaryStageRecordBin { + #[prost(uint32, tag = "1")] + pub difficulty: u32, + #[prost(uint32, tag = "2")] + pub round: u32, + #[prost(bool, tag = "3")] + pub is_finish: bool, + #[prost(uint32, tag = "4")] + pub finish_time: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct RogueDiaryStageBin { + #[prost(uint32, tag = "1")] + pub stage_id: u32, + #[prost(bool, tag = "2")] + pub is_have_try: bool, + #[prost(message, optional, tag = "3")] + pub record_bin: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct RogueDiaryRoomConfigPairBin { + #[prost(uint32, tag = "1")] + pub room_config_id: u32, + #[prost(bool, tag = "2")] + pub is_can_hard: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct RogueDiaryAvtarBin { + #[prost(uint64, tag = "1")] + pub guid: u64, + #[prost(uint32, tag = "2")] + pub level: u32, + #[prost(float, tag = "3")] + pub hp: f32, + #[prost(float, tag = "4")] + pub energy: f32, + #[prost(uint32, tag = "5")] + pub trial_config_id: u32, + #[prost(uint32, tag = "6")] + pub round: u32, + #[prost(uint32, tag = "7")] + pub life_state: u32, + #[prost(bool, tag = "8")] + pub is_ban: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct RogueDiaryProgressBin { + #[prost(bool, tag = "1")] + pub is_have_progress: bool, + #[prost(bool, tag = "2")] + pub is_have_enter_dungeon: bool, + #[prost(uint32, tag = "3")] + pub stage_id: u32, + #[prost(uint32, tag = "4")] + pub dungeon_id: u32, + #[prost(uint32, tag = "5")] + pub difficulty: u32, + #[prost(uint32, tag = "6")] + pub cur_round: u32, + #[prost(bool, tag = "7")] + pub is_round_fight_finish: bool, + #[prost(message, repeated, tag = "9")] + pub room_config_list: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "10")] + pub optional_card_list: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "11")] + pub chosen_card_list: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "12")] + pub is_round_repair_finish: bool, + #[prost(uint64, repeated, tag = "13")] + pub onstage_guid_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "14")] + pub rogue_avatar_list: ::prost::alloc::vec::Vec, + #[prost(uint64, repeated, tag = "15")] + pub optional_tired_guid_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "16")] + pub coin: u32, + #[prost(uint32, tag = "17")] + pub time: u32, + #[prost(uint32, tag = "18")] + pub transaction: u32, + #[prost(uint32, repeated, tag = "19")] + pub resume_optional_card_list: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "20")] + pub resume_chosen_card_list: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "21")] + pub resume_select_card_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct RogueDiaryScheduleBin { + #[prost(bool, tag = "1")] + pub is_content_closed: bool, + #[prost(message, repeated, tag = "2")] + pub stage_bin_list: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "3")] + pub progress_bin: ::core::option::Option, + #[prost(uint32, tag = "4")] + pub coin: u32, + #[prost(uint32, tag = "5")] + pub transaction: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SummerTimeV2DungeonStageBin { + #[prost(uint32, tag = "1")] + pub stage_id: u32, + #[prost(bool, tag = "2")] + pub is_open: bool, + #[prost(bool, tag = "3")] + pub is_prev_dungeon_succeed: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SummerTimeV2BoatStageBin { + #[prost(uint32, tag = "1")] + pub stage_id: u32, + #[prost(bool, tag = "2")] + pub is_open: bool, + #[prost(uint32, tag = "3")] + pub best_score: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SummerTimeV2ScheduleBin { + #[prost(message, repeated, tag = "1")] + pub dungeon_stage_bin_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "2")] + pub boat_stage_bin_list: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "3")] + pub is_content_closed: bool, + #[prost(uint32, tag = "4")] + pub coin: u32, + #[prost(uint32, tag = "5")] + pub taken_reward_count: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct IslandPartyStageBin { + #[prost(uint32, tag = "1")] + pub stage_id: u32, + #[prost(bool, tag = "2")] + pub is_open: bool, + #[prost(uint32, tag = "3")] + pub best_score: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct IslandPartyScheduleBin { + #[prost(message, repeated, tag = "1")] + pub stage_bin_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GearStageBin { + #[prost(uint32, tag = "1")] + pub level_id: u32, + #[prost(bool, tag = "2")] + pub is_open: bool, + #[prost(bool, tag = "3")] + pub is_finished: bool, + #[prost(uint32, tag = "4")] + pub shortest_time: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct JigsawPictureDataBin { + #[prost(bool, tag = "1")] + pub is_open: bool, + #[prost(bool, tag = "2")] + pub is_finished: bool, + #[prost(uint32, tag = "3")] + pub shortest_time: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GearScheduleBin { + #[prost(message, repeated, tag = "1")] + pub level_bin_list: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "2")] + pub jigsaw_picture_data: ::core::option::Option, + #[prost(uint32, tag = "3")] + pub player_finish_gear_level: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GravenInnocencePhotoStageBin { + #[prost(uint32, tag = "1")] + pub stage_id: u32, + #[prost(bool, tag = "2")] + pub is_open: bool, + #[prost(bool, tag = "3")] + pub is_finished: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GravenInnocencePhotoObjectBin { + #[prost(uint32, tag = "1")] + pub object_id: u32, + #[prost(uint32, tag = "2")] + pub param: u32, + #[prost(uint32, tag = "3")] + pub finish_time: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GravenInnocencePhotoBin { + #[prost(message, repeated, tag = "1")] + pub stage_bin_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "2")] + pub object_bin_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GravenInnocenceCampStageBin { + #[prost(uint32, tag = "1")] + pub stage_id: u32, + #[prost(bool, tag = "2")] + pub is_open: bool, + #[prost(uint32, tag = "3")] + pub level_id: u32, + #[prost(bool, tag = "4")] + pub is_finished: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GravenInnocenceCampBin { + #[prost(message, repeated, tag = "1")] + pub stage_bin_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GravenInnocenceRaceLevelBin { + #[prost(uint32, tag = "1")] + pub level_id: u32, + #[prost(bool, tag = "2")] + pub is_open: bool, + #[prost(uint32, tag = "3")] + pub max_score: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GravenInnocenceRaceBin { + #[prost(message, repeated, tag = "1")] + pub level_bin_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GravenInnocenceCarveStageBin { + #[prost(uint32, tag = "1")] + pub stage_id: u32, + #[prost(bool, tag = "2")] + pub is_open: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GravenInnocenceCarveUsedItemBin { + #[prost(uint32, tag = "1")] + pub gadget_config_id: u32, + #[prost(message, repeated, tag = "2")] + pub need_item_bin_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "3")] + pub pass_item_bin_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GravenInnocenceCarveBin { + #[prost(message, repeated, tag = "1")] + pub stage_bin_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "2")] + pub used_item_bin_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GravenInnocenceScheduleBin { + #[prost(message, optional, tag = "1")] + pub photo_bin: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub camp_bin: ::core::option::Option, + #[prost(uint32, tag = "3")] + pub coin_a: u32, + #[prost(uint32, tag = "4")] + pub coin_b: u32, + #[prost(message, optional, tag = "5")] + pub race_bin: ::core::option::Option, + #[prost(message, optional, tag = "6")] + pub carve_bin: ::core::option::Option, + #[prost(bool, tag = "7")] + pub is_content_closed: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct InstableSprayStageBin { + #[prost(uint32, tag = "1")] + pub stage_id: u32, + #[prost(uint32, tag = "2")] + pub max_score: u32, + #[prost(bool, tag = "3")] + pub is_open: bool, + #[prost(message, repeated, tag = "4")] + pub team_info_bin_list: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "5")] + pub is_finished: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct InstableSprayScheduleBin { + #[prost(message, repeated, tag = "1")] + pub stage_bin_list: ::prost::alloc::vec::Vec, + #[prost(uint64, repeated, tag = "2")] + pub in_dungeon_guid_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct InstableSprayAvatarInfoBin { + #[prost(uint64, tag = "1")] + pub avatar_id: u64, + #[prost(bool, tag = "2")] + pub is_trial: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct InstableSprayTeamInfoBin { + #[prost(message, repeated, tag = "1")] + pub avatar_info_bin_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MuqadasPotionLevelDataBin { + #[prost(uint32, tag = "1")] + pub level_id: u32, + #[prost(bool, tag = "2")] + pub is_open: bool, + #[prost(uint32, tag = "3")] + pub max_score: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MuqadasPotionScheduleBin { + #[prost(message, repeated, tag = "1")] + pub level_bin_list: ::prost::alloc::vec::Vec, + #[prost(uint64, repeated, tag = "2")] + pub in_dungeon_avatar_guid_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct TreasureSeelieRegionBin { + #[prost(uint32, tag = "1")] + pub open_day: u32, + #[prost(bool, tag = "2")] + pub is_open: bool, + #[prost(uint32, repeated, tag = "3")] + pub opened_chest_config_id_list: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "4")] + pub is_done: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct TreasureSeelieScheduleBin { + #[prost(uint32, tag = "1")] + pub coin_num: u32, + #[prost(message, repeated, tag = "2")] + pub region_list: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "3")] + pub is_content_closed: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct RockBoardExploreStageBin { + #[prost(uint32, tag = "1")] + pub stage_id: u32, + #[prost(bool, tag = "2")] + pub is_open: bool, + #[prost(bool, tag = "3")] + pub is_finish: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct RockBoardExploreScheduleBin { + #[prost(message, repeated, tag = "1")] + pub stage_bin_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct VintageHuntingStageDataBin { + #[prost(uint32, tag = "1")] + pub stage_id: u32, + #[prost(bool, tag = "2")] + pub is_open: bool, + #[prost(bool, tag = "3")] + pub is_finish: bool, + #[prost(uint32, tag = "4")] + pub record_value: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct VintagePresentLevelDataBin { + #[prost(uint32, tag = "1")] + pub present_id: u32, + #[prost(uint32, tag = "2")] + pub stage_id: u32, + #[prost(bool, tag = "3")] + pub is_open: bool, + #[prost(bool, tag = "4")] + pub is_finish: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct VintagePresentStageDataBin { + #[prost(uint32, tag = "1")] + pub stage_id: u32, + #[prost(bool, tag = "2")] + pub is_open: bool, + #[prost(bool, tag = "3")] + pub is_finish: bool, + #[prost(map = "uint32, message", tag = "4")] + pub present_level_map: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct VintageBoothUsedItemDataBin { + #[prost(uint32, tag = "1")] + pub gadget_id: u32, + #[prost(bool, tag = "3")] + pub is_open: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct VintageCampChallengeLevelDataBin { + #[prost(uint32, tag = "1")] + pub level_id: u32, + #[prost(uint32, tag = "2")] + pub stage_id: u32, + #[prost(bool, tag = "3")] + pub is_open: bool, + #[prost(bool, tag = "4")] + pub is_finish: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct VintageCampChallengeStageDataBin { + #[prost(uint32, tag = "1")] + pub stage_id: u32, + #[prost(map = "uint32, message", tag = "2")] + pub camp_level_map: ::std::collections::HashMap< + u32, + VintageCampChallengeLevelDataBin, + >, + #[prost(bool, tag = "3")] + pub is_open: bool, + #[prost(bool, tag = "4")] + pub is_finish: bool, + #[prost(uint32, tag = "5")] + pub max_finished_level: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct VintageTraderDealBin { + #[prost(uint32, tag = "1")] + pub trader_id: u32, + #[prost(message, repeated, tag = "2")] + pub deal_item_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct VintageBargainBin { + #[prost(uint32, tag = "1")] + pub bargain_id: u32, + #[prost(uint32, tag = "2")] + pub price: u32, + #[prost(bool, tag = "3")] + pub is_succ: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct VintageStoreAttrRandomPoolBin { + #[prost(uint32, tag = "1")] + pub template_id: u32, + #[prost(uint32, repeated, tag = "2")] + pub pool_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct VintageStoreBin { + #[prost(uint32, tag = "1")] + pub store_id: u32, + #[prost(uint32, repeated, tag = "2")] + pub attr_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "3")] + pub attr_random_pool_list: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "4")] + pub aim_attr_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "5")] + pub slot_count: u32, + #[prost(uint32, repeated, tag = "6")] + pub chosen_skill_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct VintageNpcEventBin { + #[prost(uint32, tag = "1")] + pub event_id: u32, + #[prost(uint32, tag = "2")] + pub max_effective_round: u32, + #[prost(bool, tag = "3")] + pub is_finish: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct VintageScheduleBin { + #[prost(uint32, tag = "1")] + pub popularity: u32, + #[prost(map = "uint32, message", tag = "2")] + pub hunting_stage_map: ::std::collections::HashMap, + #[prost(map = "uint32, message", tag = "3")] + pub present_stage_map: ::std::collections::HashMap, + #[prost(message, optional, tag = "4")] + pub booth_data: ::core::option::Option, + #[prost(map = "uint32, message", tag = "5")] + pub camp_stage_map: ::std::collections::HashMap< + u32, + VintageCampChallengeStageDataBin, + >, + #[prost(uint32, tag = "6")] + pub collected_item_num: u32, + #[prost(bool, tag = "7")] + pub is_content_closed: bool, + #[prost(uint32, tag = "8")] + pub market_coin_a: u32, + #[prost(uint32, tag = "9")] + pub market_coin_b: u32, + #[prost(uint32, tag = "10")] + pub market_coin_c: u32, + #[prost(bool, tag = "11")] + pub is_market_content_open: bool, + #[prost(bool, tag = "12")] + pub is_market_content_finish: bool, + #[prost(message, repeated, tag = "13")] + pub trader_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "14")] + pub bargain_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "15")] + pub store_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "16")] + pub store_round: u32, + #[prost(uint32, tag = "17")] + pub prev_coin_b_num: u32, + #[prost(uint32, tag = "18")] + pub prev_coin_c_num: u32, + #[prost(bool, tag = "19")] + pub is_round_tips_view: bool, + #[prost(uint32, repeated, tag = "20")] + pub taken_reward_present_id_list: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "21")] + pub is_store_content_finish: bool, + #[prost(bool, tag = "22")] + pub is_store_content_interrupt: bool, + #[prost(message, repeated, tag = "23")] + pub env_event_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "24")] + pub npc_event_list: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "25")] + pub skill_list: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "26")] + pub viewed_skill_list: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "27")] + pub is_strategy_module_open: bool, + #[prost(bool, tag = "28")] + pub is_help_module_open: bool, + #[prost(uint32, tag = "29")] + pub next_can_use_help_round: u32, + #[prost(uint32, tag = "30")] + pub help_skill_id: u32, + #[prost(map = "uint32, message", tag = "31")] + pub dividend_res_map: ::std::collections::HashMap, + #[prost(uint32, tag = "32")] + pub dividend_id: u32, + #[prost(uint32, tag = "33")] + pub dividend_reward_count: u32, + #[prost(uint32, tag = "34")] + pub hunting_boss_weak_count: u32, + #[prost(uint32, repeated, tag = "35")] + pub store_round_income_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct WindFieldScheduleBin { + #[prost(message, repeated, tag = "1")] + pub stage_bin_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct WindFieldStageBin { + #[prost(uint32, tag = "1")] + pub stage_id: u32, + #[prost(bool, tag = "2")] + pub is_open: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ActivityGeneralCoinBin { + #[prost(uint32, tag = "1")] + pub coin_type: u32, + #[prost(uint32, tag = "2")] + pub coin_num: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct FungusBin { + #[prost(uint32, tag = "1")] + pub fungus_id: u32, + #[prost(uint32, tag = "2")] + pub name_id: u32, + #[prost(bool, tag = "3")] + pub is_cultivate: bool, + #[prost(uint32, tag = "4")] + pub capture_order: u32, + #[prost(uint32, tag = "5")] + pub min_cultivate_step: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct FungusPlotStageBin { + #[prost(uint32, tag = "1")] + pub stage_id: u32, + #[prost(bool, tag = "2")] + pub is_open: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct FungusTrainingDungeonBin { + #[prost(uint32, tag = "1")] + pub dungeon_id: u32, + #[prost(bool, tag = "2")] + pub is_open: bool, + #[prost(uint32, tag = "3")] + pub best_score: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct FungusFighterMonsterBin { + #[prost(uint32, tag = "1")] + pub fungus_id: u32, + #[prost(float, tag = "2")] + pub cur_hp_percentage: f32, + #[prost(bool, tag = "3")] + pub is_alive: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct FungusTrainingShapshotDataBin { + #[prost(uint32, tag = "1")] + pub dungeon_id: u32, + #[prost(uint32, tag = "2")] + pub skill_count: u32, + #[prost(uint32, tag = "3")] + pub cur_round: u32, + #[prost(message, repeated, tag = "4")] + pub monster_bin_list: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "5")] + pub choosen_monster_list: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "6")] + pub backup_monster_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "7")] + pub total_used_time: u32, + #[prost(uint32, tag = "8")] + pub rand_index: u32, + #[prost(uint32, repeated, tag = "9")] + pub monster_pool_list: ::prost::alloc::vec::Vec, + #[prost(string, tag = "10")] + pub level_transaction: ::prost::alloc::string::String, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct FungusTrainingProgressBin { + #[prost(message, repeated, tag = "1")] + pub fungus_snapshot_data_list: ::prost::alloc::vec::Vec< + FungusTrainingShapshotDataBin, + >, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct FungusFighterScheduleBin { + #[prost(message, repeated, tag = "1")] + pub fungus_bin_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "2")] + pub fungus_plot_stage_bin_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "3")] + pub capture_order: u32, + #[prost(message, repeated, tag = "5")] + pub fungus_training_dungeon_bin_list: ::prost::alloc::vec::Vec< + FungusTrainingDungeonBin, + >, + #[prost(uint32, repeated, tag = "6")] + pub unlock_camp_id_list: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "7")] + pub unlock_cultivate_id_list: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "8")] + pub fungus_training_progress_bin: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct CharAmusementStageBin { + #[prost(uint32, tag = "1")] + pub stage_id: u32, + #[prost(bool, tag = "2")] + pub is_open: bool, + #[prost(uint32, tag = "3")] + pub finish_time: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct CharAmusementScheduleBin { + #[prost(message, repeated, tag = "1")] + pub stage_bin_list: ::prost::alloc::vec::Vec, + #[prost(uint64, repeated, tag = "2")] + pub in_dungeon_guid_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct EffigyChallengeV2LevelBin { + #[prost(uint32, tag = "1")] + pub level_id: u32, + #[prost(uint32, tag = "2")] + pub best_cost_time: u32, + #[prost(bool, tag = "3")] + pub is_level_open: bool, + #[prost(uint32, tag = "4")] + pub challenge_mode_difficulty_open: u32, + #[prost(uint32, tag = "5")] + pub challenge_mode_last_choose_skill_no: u32, + #[prost(uint32, tag = "6")] + pub challenge_mode_difficulty_pass: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct EffigyChallengeV2ScheduleBin { + #[prost(message, repeated, tag = "1")] + pub level_bin_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ActivityScheduleBin { + #[prost( + oneof = "activity_schedule_bin::Detail", + tags = "102, 103, 104, 112, 113, 114, 115, 116, 120, 121, 130, 131, 132, 140, 141, 142, 151, 152, 153, 154, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198" + )] + pub detail: ::core::option::Option, +} +/// Nested message and enum types in `ActivityScheduleBin`. +pub mod activity_schedule_bin { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Detail { + #[prost(message, tag = "102")] + SalesmanScheduleBin(super::SalesmanScheduleBin), + #[prost(message, tag = "103")] + TrialAvatarBin(super::TrialAvatarScheduleBin), + #[prost(message, tag = "104")] + DeliveryBin(super::DeliveryScheduleBin), + #[prost(message, tag = "112")] + CrucibleBin(super::CrucibleScheduleBin), + #[prost(message, tag = "113")] + AsterBin(super::AsterScheduleBin), + #[prost(message, tag = "114")] + FlightBin(super::FlightScheduleBin), + #[prost(message, tag = "115")] + DragonSpineBin(super::DragonSpineScheduleBin), + #[prost(message, tag = "116")] + EffigyBin(super::EffigyScheduleBin), + #[prost(message, tag = "120")] + TreasureMapBin(super::TreasureMapScheduleBin), + #[prost(message, tag = "121")] + SalesmanMpBin(super::SalesmanMpScheduleBin), + #[prost(message, tag = "130")] + BlessingBin(super::BlessingScheduleBin), + #[prost(message, tag = "131")] + SeaLampBin(super::SeaLampScheduleDataBin), + #[prost(message, tag = "132")] + ExpeditionBin(super::ExpeditionScheduleBin), + #[prost(message, tag = "140")] + FleurFairBin(super::FleurFairScheduleBin), + #[prost(message, tag = "141")] + ArenaChallengeBin(super::ArenaChallengeSchduleBin), + #[prost(message, tag = "142")] + WaterSpiritBin(super::WaterSpiritScheduleBin), + #[prost(message, tag = "151")] + ChannellerSlabBin(super::ChannellerSlabScheduleBin), + #[prost(message, tag = "152")] + HideAndSeekBin(super::HideAndSeekScheduleBin), + #[prost(message, tag = "153")] + MistTrialBin(super::MistTrialScheduleBin), + #[prost(message, tag = "154")] + FindHilichurlBin(super::FindHilichurlScheduleBin), + #[prost(message, tag = "160")] + SummerTimeBin(super::SummerTimeScheduleBin), + #[prost(message, tag = "161")] + BuoyantCombatBin(super::BuoyantCombatScheduleBin), + #[prost(message, tag = "162")] + BounceConjuringBin(super::BounceConjuringScheduleBin), + #[prost(message, tag = "163")] + EchoShellBin(super::EchoShellScheduleBin), + #[prost(message, tag = "164")] + BlitzRushBin(super::BlitzRushScheduleBin), + #[prost(message, tag = "165")] + ChessBin(super::ChessScheduleBin), + #[prost(message, tag = "166")] + SumoBin(super::SumoScheduleBin), + #[prost(message, tag = "167")] + LunaRiteBin(super::LunaRiteScheduleBin), + #[prost(message, tag = "168")] + MoonfinTrialBin(super::MoonfinTrialScheduleBin), + #[prost(message, tag = "169")] + PlantFlowerBin(super::PlantFlowerScheduleBin), + #[prost(message, tag = "170")] + MusicGameBin(super::MusicGameScheduleBin), + #[prost(message, tag = "171")] + RoguelikeDungeonBin(super::RoguelikeDungeonScheduleBin), + #[prost(message, tag = "172")] + WinterCampBin(super::WinterCampScheduleBin), + #[prost(message, tag = "173")] + HachiBin(super::HachiScheduleBin), + #[prost(message, tag = "174")] + TanukiTravelBin(super::TanukiTravelScheduleBin), + #[prost(message, tag = "175")] + LanternRiteBin(super::LanternRiteScheduleBin), + #[prost(message, tag = "176")] + PotionBin(super::PotionScheduleBin), + #[prost(message, tag = "177")] + MichiaeMatsuriBin(super::MichiaeMatsuriScheduleBin), + #[prost(message, tag = "178")] + BartenderBin(super::BartenderScheduleBin), + #[prost(message, tag = "179")] + IrodoriBin(super::IrodoriScheduleBin), + #[prost(message, tag = "180")] + CrystalLinkBin(super::CrystalLinkScheduleBin), + #[prost(message, tag = "181")] + PhotoBin(super::PhotoScheduleBin), + #[prost(message, tag = "182")] + SpiceBin(super::SpiceScheduleBin), + #[prost(message, tag = "183")] + GachaBin(super::GachaScheduleBin), + #[prost(message, tag = "184")] + LuminanceStoneChallengeBin(super::LuminanceStoneChallengeScheduleBin), + #[prost(message, tag = "185")] + RogueDiaryBin(super::RogueDiaryScheduleBin), + #[prost(message, tag = "186")] + SummerTimeV2Bin(super::SummerTimeV2ScheduleBin), + #[prost(message, tag = "187")] + IslandPartyBin(super::IslandPartyScheduleBin), + #[prost(message, tag = "188")] + GearBin(super::GearScheduleBin), + #[prost(message, tag = "189")] + GravenInnocenceBin(super::GravenInnocenceScheduleBin), + #[prost(message, tag = "190")] + InstableSprayBin(super::InstableSprayScheduleBin), + #[prost(message, tag = "191")] + MuqadasPotionBin(super::MuqadasPotionScheduleBin), + #[prost(message, tag = "192")] + TreasureSeelieBin(super::TreasureSeelieScheduleBin), + #[prost(message, tag = "193")] + RockBoardExploreBin(super::RockBoardExploreScheduleBin), + #[prost(message, tag = "194")] + VintageBin(super::VintageScheduleBin), + #[prost(message, tag = "195")] + WindFieldBin(super::WindFieldScheduleBin), + #[prost(message, tag = "196")] + FungusFighterBin(super::FungusFighterScheduleBin), + #[prost(message, tag = "197")] + CharAmusementBin(super::CharAmusementScheduleBin), + #[prost(message, tag = "198")] + EffigyChallengeBin(super::EffigyChallengeV2ScheduleBin), + } +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ActivityBin { + #[prost(uint32, tag = "1")] + pub schedule_id: u32, + #[prost(uint32, repeated, tag = "2")] + pub meet_cond_list: ::prost::alloc::vec::Vec, + #[prost(map = "uint32, bool", tag = "3")] + pub cond_state_map: ::std::collections::HashMap, + #[prost(bool, tag = "4")] + pub is_play_open_anim: bool, + #[prost(bool, tag = "5")] + pub is_settled: bool, + #[prost(uint32, repeated, tag = "6")] + pub taken_watcher_id_list: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "7")] + pub finished_watcher_id_list: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "8")] + pub schedule_bin: ::core::option::Option, + #[prost(bool, tag = "9")] + pub is_started: bool, + #[prost(uint32, repeated, tag = "10")] + pub activated_activity_sale_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "11")] + pub selected_avatar_reward_id: u32, + #[prost(uint32, tag = "12")] + pub score_limit: u32, + #[prost(uint32, tag = "13")] + pub cur_score: u32, + #[prost(uint32, repeated, tag = "14")] + pub taken_score_reward_list: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "15")] + pub is_notify_mail_sent: bool, + #[prost(message, repeated, tag = "16")] + pub disable_transfer_point_interaction_list: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "17")] + pub is_banner_cleared: bool, + #[prost(uint32, tag = "18")] + pub start_world_level: u32, + #[prost(bool, tag = "20")] + pub is_quick_open: bool, + #[prost(uint32, repeated, tag = "21")] + pub expired_cond_list: ::prost::alloc::vec::Vec, + #[prost(map = "uint32, uint32", tag = "22")] + pub quest_content_map: ::std::collections::HashMap, + #[prost(message, optional, tag = "23")] + pub gift_data_bin: ::core::option::Option, + #[prost(map = "uint32, uint32", tag = "24")] + pub activity_push_tips_map: ::std::collections::HashMap, + #[prost(message, repeated, tag = "25")] + pub activity_general_coin_list: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "26")] + pub is_common_content_closed: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerActivityCompBin { + #[prost(map = "uint32, message", tag = "1")] + pub activity_bin_map: ::std::collections::HashMap, + #[prost(uint32, tag = "2")] + pub fly_sea_lamp_num: u32, + #[prost(uint32, tag = "3")] + pub fly_sea_lamp_time: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerMailBin { + #[prost(uint32, tag = "1")] + pub mail_id: u32, + #[prost(message, optional, tag = "2")] + pub mail_bin: ::core::option::Option, + #[prost(bool, tag = "3")] + pub is_read: bool, + #[prost(bool, tag = "4")] + pub is_attachment_got: bool, + #[prost(uint32, tag = "5")] + pub source_type: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerMailCompBin { + #[prost(uint32, repeated, tag = "1")] + pub has_take_attachment_mail_id_list: ::prost::alloc::vec::Vec, + #[prost(map = "uint64, message", tag = "2")] + pub wait_add_mail_map: ::std::collections::HashMap, + #[prost(map = "uint32, uint32", tag = "3")] + pub action_seq_map: ::std::collections::HashMap, + #[prost(map = "string, message", tag = "4")] + pub new_wait_add_mail_map: ::std::collections::HashMap< + ::prost::alloc::string::String, + MailBin, + >, + #[prost(bool, tag = "5")] + pub is_collectible_mail_transfered: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ShopGoodsRecordBin { + #[prost(uint32, tag = "1")] + pub goods_id: u32, + #[prost(uint32, tag = "2")] + pub bought_num: u32, + #[prost(fixed32, tag = "3")] + pub last_buy_time: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ShopRecordBin { + #[prost(uint32, tag = "1")] + pub shop_type: u32, + #[prost(message, repeated, tag = "2")] + pub goods_record_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "3")] + pub history_goods_record_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerShopCompBin { + #[prost(message, repeated, tag = "1")] + pub shop_record_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GachaItemTypeDataBin { + #[prost(uint32, tag = "1")] + pub last_gacha_times: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GachaItemParentTypeDataBin { + #[prost(uint32, tag = "1")] + pub last_gacha_times: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GachaGuaranteeDataBin { + #[prost(uint32, tag = "1")] + pub gacha_rule_id: u32, + #[prost(uint32, tag = "2")] + pub last_gacha_guarantee_times: u32, + #[prost(bool, tag = "3")] + pub is_cur_schedule_triggered: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GachaUpDataBin { + #[prost(uint32, tag = "1")] + pub gacha_no_up_times: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GachaRecordBin { + #[prost(uint32, tag = "1")] + pub gacha_type: u32, + #[prost(uint32, tag = "2")] + pub cur_schedule_id: u32, + #[prost(uint32, tag = "3")] + pub total_gacha_times: u32, + #[prost(map = "uint32, message", tag = "4")] + pub gacha_guarantee_map: ::std::collections::HashMap, + #[prost(uint32, tag = "5")] + pub cur_schedule_total_gacha_times: u32, + #[prost(map = "uint32, message", tag = "6")] + pub gacha_item_type_data_map: ::std::collections::HashMap, + #[prost(map = "uint32, message", tag = "7")] + pub gacha_item_parent_type_data_map: ::std::collections::HashMap< + u32, + GachaItemParentTypeDataBin, + >, + #[prost(uint32, tag = "8")] + pub total_ten_gacha_times: u32, + #[prost(map = "uint32, message", tag = "9")] + pub gacha_up_data_map: ::std::collections::HashMap, + #[prost(uint32, tag = "10")] + pub wish_item_id: u32, + #[prost(uint32, tag = "11")] + pub wish_progress: u32, + #[prost(bool, tag = "12")] + pub is_new_wish: bool, + #[prost(uint32, tag = "13")] + pub cur_schedule_daily_last_gacha_time: u32, + #[prost(uint32, tag = "14")] + pub cur_schedule_daily_gacha_times: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerGachaCompBin { + #[prost(map = "uint32, message", tag = "1")] + pub gacha_record_map: ::std::collections::HashMap, + #[prost(uint32, tag = "2")] + pub gacha_random: u32, + #[prost(uint32, tag = "3")] + pub daily_gacha_times: u32, + #[prost(uint32, tag = "4")] + pub last_gacha_time: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GivingRecordBin { + #[prost(uint32, tag = "1")] + pub giving_id: u32, + #[prost(bool, tag = "2")] + pub is_finished: bool, + #[prost(uint32, tag = "3")] + pub last_group_id: u32, + #[prost(bool, tag = "4")] + pub is_gadget_giving: bool, + #[prost(uint32, tag = "5")] + pub group_id: u32, + #[prost(uint32, tag = "6")] + pub config_id: u32, + #[prost(map = "uint32, uint32", tag = "8")] + pub material_cnt_map: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerGivingCompBin { + #[prost(map = "uint32, message", tag = "1")] + pub giving_record_map: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ForgeQueueBin { + #[prost(uint32, tag = "1")] + pub transaction_no: u32, + #[prost(uint32, tag = "2")] + pub queue_id: u32, + #[prost(uint32, tag = "3")] + pub forge_id: u32, + #[prost(uint32, tag = "4")] + pub forge_count: u32, + #[prost(uint32, tag = "5")] + pub finish_count: u32, + #[prost(uint32, tag = "6")] + pub taken_count: u32, + #[prost(fixed32, tag = "7")] + pub start_time: u32, + #[prost(uint32, tag = "8")] + pub single_time_cost: u32, + #[prost(uint32, repeated, tag = "9")] + pub proud_skill_id_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "10")] + pub avatar_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerForgeCompBin { + #[prost(uint32, tag = "1")] + pub last_transaction_no: u32, + #[prost(map = "uint32, message", tag = "2")] + pub forge_queue_map: ::std::collections::HashMap, + #[prost(uint32, tag = "3")] + pub forge_point: u32, + #[prost(fixed32, tag = "4")] + pub last_refresh_time: u32, + #[prost(uint32, repeated, tag = "5")] + pub unlock_forge_id_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerCombineCompBin { + #[prost(uint32, repeated, tag = "1")] + pub unlock_combine_id_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct WatcherBin { + #[prost(uint32, tag = "1")] + pub watcher_id: u32, + #[prost(uint32, tag = "2")] + pub progress: u32, + #[prost(message, repeated, tag = "3")] + pub var_list: ::prost::alloc::vec::Vec, +} +/// Nested message and enum types in `WatcherBin`. +pub mod watcher_bin { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Message)] + pub struct Var { + #[prost(uint32, tag = "1")] + pub key: u32, + #[prost(int32, tag = "2")] + pub value: i32, + } +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PushTipsBin { + #[prost(uint32, tag = "1")] + pub push_tips_id: u32, + #[prost(uint32, tag = "2")] + pub state: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct RecordValueBin { + #[prost(float, tag = "1")] + pub max_critical_damage: f32, + #[prost(float, tag = "2")] + pub max_fly_map_distance: f32, + #[prost(float, tag = "3")] + pub max_fly_time: f32, + #[prost(float, tag = "4")] + pub max_dash_time: f32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerWatcherCompBin { + #[prost(map = "uint32, uint32", tag = "1")] + pub global_watcher_progress_map: ::std::collections::HashMap, + #[prost(uint32, repeated, tag = "2")] + pub finished_global_watcher_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "3")] + pub push_tips_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "4")] + pub watcher_list: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "5")] + pub record_value: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct TowerTeamBin { + #[prost(uint32, tag = "1")] + pub tower_team_id: u32, + #[prost(uint64, repeated, tag = "2")] + pub avatar_guid_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct TowerLevelRecordBin { + #[prost(uint32, tag = "1")] + pub level_id: u32, + #[prost(uint32, repeated, tag = "2")] + pub satisfied_cond_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct TowerFloorRecordBin { + #[prost(uint32, tag = "1")] + pub floor_id: u32, + #[prost(message, repeated, tag = "2")] + pub passed_level_record_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "3")] + pub floor_star_reward_progress: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct TowerAvatarRecordBin { + #[prost(map = "uint32, float", tag = "1")] + pub cur_fight_prop_map: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct TowerCurLevelRecordBin { + #[prost(uint32, tag = "1")] + pub cur_floor_index: u32, + #[prost(uint32, tag = "2")] + pub cur_level_index: u32, + #[prost(message, repeated, tag = "3")] + pub tower_team_list: ::prost::alloc::vec::Vec, + #[prost(map = "uint64, message", tag = "4")] + pub avatar_record_map: ::std::collections::HashMap, + #[prost(map = "uint32, uint32", tag = "5")] + pub tower_buff_map: ::std::collections::HashMap, + #[prost(bool, tag = "6")] + pub is_floor_finished: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct TowerLevelBuffListBin { + #[prost(uint32, repeated, tag = "1")] + pub tower_buff_id_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct TowerFloorLevelBin { + #[prost(uint32, tag = "1")] + pub floor_index: u32, + #[prost(uint32, tag = "2")] + pub level_index: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct TowerFightStatisticBin { + #[prost(map = "uint32, uint32", tag = "1")] + pub avatar_reveal_count_map: ::std::collections::HashMap, + #[prost(map = "uint32, uint32", tag = "2")] + pub kill_count_map: ::std::collections::HashMap, + #[prost(uint32, tag = "3")] + pub max_single_damage_avatar_id: u32, + #[prost(uint32, tag = "4")] + pub max_single_damage_value: u32, + #[prost(map = "uint32, uint32", tag = "5")] + pub take_damage_count_map: ::std::collections::HashMap, + #[prost(map = "uint32, uint32", tag = "6")] + pub normal_skill_count_map: ::std::collections::HashMap, + #[prost(map = "uint32, uint32", tag = "7")] + pub energy_skill_count_map: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct TowerFightSummaryPair { + #[prost(uint32, tag = "1")] + pub avatar_id: u32, + #[prost(uint32, tag = "2")] + pub data: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct TowerMonthlyCombatSummaryBin { + #[prost(message, repeated, tag = "1")] + pub most_reveal_avatar_list: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "2")] + pub most_kill_avatar_pair: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub highest_dps_avatr_pair: ::core::option::Option, + #[prost(message, optional, tag = "4")] + pub most_take_damage_avatar_pair: ::core::option::Option, + #[prost(message, optional, tag = "5")] + pub most_cast_normal_skill_avatar_pair: ::core::option::Option< + TowerFightSummaryPair, + >, + #[prost(message, optional, tag = "6")] + pub most_cast_energy_skill_avatar_pair: ::core::option::Option< + TowerFightSummaryPair, + >, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct TowerMonthlySummaryBin { + #[prost(uint32, tag = "1")] + pub tower_schedule_id: u32, + #[prost(uint32, tag = "2")] + pub best_floor_index: u32, + #[prost(uint32, tag = "3")] + pub best_level_index: u32, + #[prost(uint32, tag = "4")] + pub total_star_count: u32, + #[prost(message, optional, tag = "5")] + pub monthly_combat_summary: ::core::option::Option, + #[prost(uint32, tag = "6")] + pub last_passed_floor_index: u32, + #[prost(bool, tag = "7")] + pub is_interact: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerTowerCompBin { + #[prost(uint32, tag = "1")] + pub tower_schedule_id: u32, + #[prost(message, repeated, tag = "2")] + pub tower_floor_record_list: ::prost::alloc::vec::Vec, + #[prost(fixed32, tag = "3")] + pub last_daily_reward_time: u32, + #[prost(uint32, tag = "4")] + pub daily_floor_index: u32, + #[prost(uint32, tag = "5")] + pub daily_level_index: u32, + #[prost(map = "uint32, message", tag = "6")] + pub daily_level_buff_map: ::std::collections::HashMap, + #[prost(message, optional, tag = "7")] + pub cur_level_record: ::core::option::Option, + #[prost(bool, tag = "8")] + pub is_interact_this_schedule: bool, + #[prost(message, optional, tag = "9")] + pub fight_statistic: ::core::option::Option, + #[prost(map = "uint32, message", tag = "10")] + pub tower_monthly_summary_map: ::std::collections::HashMap< + u32, + TowerMonthlySummaryBin, + >, + #[prost(message, repeated, tag = "11")] + pub tower_entrance_floor_record_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct BlossomCircleCampDataBin { + #[prost(uint32, tag = "1")] + pub refresh_id: u32, + #[prost(uint32, tag = "2")] + pub circle_camp_id: u32, + #[prost(uint32, tag = "3")] + pub drop_id: u32, + #[prost(uint32, tag = "4")] + pub preview_reward: u32, + #[prost(uint32, tag = "5")] + pub round: u32, + #[prost(uint32, tag = "6")] + pub state: u32, + #[prost(uint32, tag = "7")] + pub progress: u32, + #[prost(bool, tag = "8")] + pub is_guide_opened: bool, + #[prost(uint32, repeated, tag = "9")] + pub update_round_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "10")] + pub valid_world_level: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct BlossomRefreshDataBin { + #[prost(message, repeated, tag = "1")] + pub circle_camp_list: ::prost::alloc::vec::Vec, + #[prost(fixed32, tag = "2")] + pub last_refresh_time: u32, + #[prost(uint32, repeated, tag = "3")] + pub used_camp_id_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct BlossomInitialSectionDataBin { + #[prost(uint32, tag = "1")] + pub section_id: u32, + #[prost(fixed32, tag = "2")] + pub timestamp: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerBlossomCompBin { + #[prost(map = "uint32, fixed32", tag = "1")] + pub recent_used_section_id_map: ::std::collections::HashMap, + #[prost(map = "uint32, message", tag = "2")] + pub initial_section_map: ::std::collections::HashMap< + u32, + BlossomInitialSectionDataBin, + >, + #[prost(map = "uint32, message", tag = "3")] + pub refresh_data_map: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SignInRecordBin { + #[prost(uint32, tag = "1")] + pub schedule_id: u32, + #[prost(uint32, tag = "2")] + pub sign_in_count: u32, + #[prost(fixed32, tag = "3")] + pub last_sign_in_time: u32, + #[prost(uint32, repeated, tag = "4")] + pub reward_day_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct BonusActivityRecordBin { + #[prost(uint32, tag = "1")] + pub bonus_activity_id: u32, + #[prost(uint32, tag = "2")] + pub state: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerSignInCompBin { + #[prost(message, repeated, tag = "1")] + pub sign_in_record_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "2")] + pub bonus_activity_record_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct McoinProductConfigBin { + #[prost(fixed32, tag = "1")] + pub last_buy_time: u32, + #[prost(uint32, tag = "2")] + pub buy_times: u32, + #[prost(uint32, tag = "3")] + pub config_id: u32, + #[prost(string, repeated, tag = "4")] + pub product_id_list: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct CardProductConfigBin { + #[prost(fixed32, tag = "1")] + pub last_daily_reward_time: u32, + #[prost(fixed32, tag = "2")] + pub take_effect_time: u32, + #[prost(fixed32, tag = "3")] + pub expire_time: u32, + #[prost(uint32, tag = "4")] + pub config_id: u32, + #[prost(string, repeated, tag = "5")] + pub product_id_list: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, + #[prost(fixed32, tag = "6")] + pub last_send_remind_mail_time: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GoogleGiftCardProductBin { + #[prost(uint32, tag = "1")] + pub config_id: u32, + #[prost(uint32, tag = "2")] + pub buy_times: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ConcertProductBin { + #[prost(uint32, tag = "1")] + pub config_id: u32, + #[prost(uint32, tag = "2")] + pub buy_times: u32, + #[prost(string, repeated, tag = "3")] + pub ticket_list: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct AppleGiftCardProductBin { + #[prost(uint32, tag = "1")] + pub config_id: u32, + #[prost(uint32, tag = "2")] + pub buy_times: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PsnCompensationProductBin { + #[prost(uint32, tag = "1")] + pub config_id: u32, + #[prost(uint32, tag = "2")] + pub buy_times: u32, + #[prost(uint32, tag = "3")] + pub last_buy_time: u32, + #[prost(uint32, tag = "4")] + pub month_buy_times: u32, + #[prost(uint32, tag = "5")] + pub month_last_buy_time: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct OrderFinishNotifyItemBin { + #[prost(uint32, tag = "1")] + pub item_id: u32, + #[prost(uint32, tag = "2")] + pub count: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct OrderFinishNotifyBin { + #[prost(string, tag = "1")] + pub product_id: ::prost::alloc::string::String, + #[prost(uint32, tag = "2")] + pub add_mcoin: u32, + #[prost(uint32, tag = "3")] + pub card_product_remain_days: u32, + #[prost(uint32, tag = "4")] + pub order_id: u32, + #[prost(message, repeated, tag = "5")] + pub item_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct OrderNotifySaveBin { + #[prost(uint32, tag = "1")] + pub platform_type: u32, + #[prost(message, repeated, tag = "3")] + pub order_notify_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerRechargeCompBin { + #[prost(map = "uint32, uint32", tag = "1")] + pub finished_order_map: ::std::collections::HashMap, + #[prost(map = "uint32, uint32", tag = "2")] + pub wait_mark_db_map: ::std::collections::HashMap, + #[prost(message, repeated, tag = "3")] + pub mcoin_product_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "4")] + pub card_product_list: ::prost::alloc::vec::Vec, + #[prost(fixed32, tag = "5")] + pub mcoin_product_refresh_time: u32, + #[prost(uint32, tag = "6")] + pub vip_point: u32, + #[prost(string, repeated, tag = "7")] + pub ps4_package_product_list: ::prost::alloc::vec::Vec< + ::prost::alloc::string::String, + >, + #[prost(message, repeated, tag = "8")] + pub google_gift_card_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "9")] + pub order_notify_save_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "10")] + pub concert_product_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "11")] + pub apple_gift_card_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "12")] + pub psn_compensation_product_list: ::prost::alloc::vec::Vec< + PsnCompensationProductBin, + >, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct BattlePassRewardTagBin { + #[prost(uint32, tag = "1")] + pub unlock_status: u32, + #[prost(uint32, tag = "2")] + pub level: u32, + #[prost(uint32, tag = "3")] + pub reward_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct BattlePassScheduleBin { + #[prost(uint32, tag = "1")] + pub schedule_id: u32, + #[prost(uint32, tag = "2")] + pub level: u32, + #[prost(uint32, tag = "3")] + pub point: u32, + #[prost(uint32, tag = "4")] + pub unlock_status: u32, + #[prost(message, repeated, tag = "5")] + pub reward_taken_list: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "6")] + pub is_extra_paid_reward_taken: bool, + #[prost(bool, tag = "7")] + pub is_viewed: bool, + #[prost(uint32, tag = "8")] + pub cur_cycle_points: u32, + #[prost(bool, tag = "9")] + pub is_notify_mail_sent: bool, + #[prost(uint32, tag = "10")] + pub paid_platform_flags: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct BattlePassMissionBin { + #[prost(uint32, tag = "1")] + pub mission_id: u32, + #[prost(uint32, tag = "2")] + pub mission_status: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerBattlePassCompBin { + #[prost(message, repeated, tag = "1")] + pub schedule_bin_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "2")] + pub cur_battle_pass_mission_bin_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "3")] + pub cur_schedule_id: u32, + #[prost(fixed32, tag = "4")] + pub last_refresh_time: u32, + #[prost(fixed32, tag = "5")] + pub weekly_last_refresh_time: u32, + #[prost(uint32, repeated, tag = "6")] + pub cross_schedule_weekly_watcher_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ChatEmojiCollectionBin { + #[prost(uint32, repeated, tag = "1")] + pub emoji_id_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerSocialCompBin { + #[prost(uint32, repeated, tag = "1")] + pub unlock_name_card_list: ::prost::alloc::vec::Vec, + #[prost(uint64, tag = "2")] + pub birthday: u64, + #[prost(string, tag = "3")] + pub signature: ::prost::alloc::string::String, + #[prost(uint32, tag = "4")] + pub name_card_id: u32, + #[prost(uint32, repeated, tag = "5")] + pub recent_mp_player_uid_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "6")] + pub last_grant_birthday_benefit_year: u32, + #[prost(bool, tag = "7")] + pub is_have_first_share: bool, + #[prost(bool, tag = "8")] + pub is_login_on_birthday: bool, + #[prost(uint32, tag = "9")] + pub report_during_last_time_count: u32, + #[prost(uint32, tag = "10")] + pub report_next_limit_time: u32, + #[prost(uint32, tag = "11")] + pub next_report_time: u32, + #[prost(uint32, tag = "12")] + pub cur_day_social_request_num: u32, + #[prost(fixed32, tag = "13")] + pub last_clear_social_request_time: u32, + #[prost(map = "uint32, string", tag = "14")] + pub friend_remark_name_map: ::std::collections::HashMap< + u32, + ::prost::alloc::string::String, + >, + #[prost(uint32, tag = "15")] + pub cur_day_ask_friend_num: u32, + #[prost(fixed32, tag = "16")] + pub last_ask_friend_time: u32, + #[prost(uint32, repeated, tag = "17")] + pub show_avatar_id_list: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "18")] + pub is_show_avatar: bool, + #[prost(uint32, repeated, tag = "19")] + pub show_name_card_id_list: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "20")] + pub chat_emoji_collection: ::core::option::Option, + #[prost(message, optional, tag = "21")] + pub signature_audit_bin: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SecurityAntiOfflineDataBin { + #[prost(uint32, tag = "1")] + pub security_check_type: u32, + #[prost(uint32, tag = "2")] + pub security_level: u32, + #[prost(uint32, tag = "3")] + pub succ_num: u32, + #[prost(uint32, tag = "4")] + pub empty_num: u32, + #[prost(uint32, tag = "5")] + pub decrypt_fail_num: u32, + #[prost(uint32, tag = "6")] + pub verify_fail_num: u32, + #[prost(uint32, tag = "7")] + pub cur_succ_num: u32, + #[prost(uint32, tag = "8")] + pub cur_fail_num: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MpPlayBin { + #[prost(uint32, tag = "1")] + pub mp_play_id: u32, + #[prost(uint32, tag = "2")] + pub entry_id: u32, + #[prost(uint32, tag = "3")] + pub play_type: u32, + #[prost(bool, tag = "4")] + pub is_close: bool, + #[prost(uint32, repeated, tag = "7")] + pub reward_remain_uid_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "8")] + pub uid_world_level_list: ::prost::alloc::vec::Vec, +} +/// Nested message and enum types in `MpPlayBin`. +pub mod mp_play_bin { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Message)] + pub struct UidWorldLevelBin { + #[prost(uint32, tag = "1")] + pub uid: u32, + #[prost(uint32, tag = "2")] + pub world_level: u32, + } +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerMpPlayCompBin { + #[prost(message, repeated, tag = "1")] + pub mp_play_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct CodexTypeDataBin { + #[prost(uint32, tag = "1")] + pub r#type: u32, + #[prost(uint32, repeated, tag = "2")] + pub codex_id_list: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "3")] + pub viewed_codex_id_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "4")] + pub weapon_max_promote_level_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerCodexCompBin { + #[prost(message, repeated, tag = "1")] + pub type_data_list: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "5")] + pub recent_viewed_pushtips_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "6")] + pub last_read_pushtips_codex_id: u32, + #[prost(uint32, tag = "7")] + pub last_read_pushtips_type_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct AchievementBin { + #[prost(uint32, tag = "1")] + pub id: u32, + #[prost(uint32, tag = "2")] + pub status: u32, + #[prost(uint32, tag = "3")] + pub finish_timestamp: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerAchievementCompBin { + #[prost(message, repeated, tag = "1")] + pub achievement_list: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "2")] + pub reward_taken_goal_id_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerPersonalLineCompBin { + #[prost(uint32, tag = "1")] + pub finished_daily_task_num: u32, + #[prost(uint32, repeated, tag = "2")] + pub unlock_personal_line_id_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerTrialAvatarCompBin { + #[prost(uint32, tag = "1")] + pub trial_avatar_index_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct HuntingOfferDataBin { + #[prost(uint32, tag = "1")] + pub refresh_id: u32, + #[prost(uint32, tag = "2")] + pub monster_config_id: u32, + #[prost(uint32, tag = "3")] + pub city_id: u32, + #[prost(uint32, tag = "4")] + pub difficulty: u32, + #[prost(int32, tag = "5")] + pub state: i32, + #[prost(bool, tag = "6")] + pub is_taken_reward: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct HuntingOfferPair { + #[prost(uint32, tag = "1")] + pub refresh_id: u32, + #[prost(uint32, tag = "2")] + pub monster_config_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerHuntingCompBin { + #[prost(message, repeated, tag = "1")] + pub hunting_offer_data_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "2")] + pub cur_week_finished_hunting_pair_vec: ::prost::alloc::vec::Vec, + #[prost(fixed32, tag = "3")] + pub last_refresh_time: u32, + #[prost(uint32, repeated, tag = "4")] + pub cur_week_refreshed_monster_id_list: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "5")] + pub cur_week_refreshed_refresh_id_list: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "6")] + pub is_new_hunting: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct CityReputationRequestBin { + #[prost(uint32, tag = "1")] + pub request_id: u32, + #[prost(uint32, tag = "2")] + pub quest_id: u32, + #[prost(bool, tag = "3")] + pub is_taken_reward: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct CityReputationBin { + #[prost(uint32, tag = "1")] + pub city_id: u32, + #[prost(uint32, tag = "2")] + pub level: u32, + #[prost(uint32, tag = "3")] + pub exp: u32, + #[prost(uint32, repeated, tag = "4")] + pub taken_level_reward_list: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "5")] + pub taken_parent_quest_reward_list: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "6")] + pub history_request_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "7")] + pub request_list: ::prost::alloc::vec::Vec, + #[prost(fixed32, tag = "8")] + pub last_refresh_request_time: u32, + #[prost(bool, tag = "9")] + pub is_new_request: bool, + #[prost(uint32, repeated, tag = "10")] + pub taken_explore_reward_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerReputationCompBin { + #[prost(message, repeated, tag = "1")] + pub city_reputation_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct WidgetAnchorPointBin { + #[prost(uint32, tag = "1")] + pub id: u32, + #[prost(message, optional, tag = "2")] + pub pos: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub rot: ::core::option::Option, + #[prost(fixed32, tag = "4")] + pub end_time: u32, + #[prost(uint32, tag = "5")] + pub scene_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct WidgetLunchBoxBin { + #[prost(map = "uint32, uint32", tag = "1")] + pub slot_material_map: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct WidgetOneoffGatherPointDetectorBin { + #[prost(uint32, tag = "1")] + pub material_id: u32, + #[prost(bool, tag = "2")] + pub is_hint_valid: bool, + #[prost(message, optional, tag = "3")] + pub hint_center_pos: ::core::option::Option, + #[prost(uint32, tag = "5")] + pub group_id: u32, + #[prost(uint32, tag = "6")] + pub config_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct WidgetClientCollectorBin { + #[prost(uint32, tag = "1")] + pub material_id: u32, + #[prost(uint32, tag = "2")] + pub curr_points: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct WidgetCoolDownInfoBin { + #[prost(uint32, tag = "1")] + pub id: u32, + #[prost(uint64, tag = "2")] + pub last_use_time: u64, + #[prost(bool, tag = "3")] + pub is_success: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct AttachAvatarWidgetBin { + #[prost(uint32, tag = "1")] + pub material_id: u32, + #[prost(uint32, tag = "2")] + pub cd_over_time: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct WidgetCaptureAnimalBin { + #[prost(uint32, tag = "1")] + pub skill_flag: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct WidgetLightStoneBin { + #[prost(bool, tag = "1")] + pub is_hint_valid: bool, + #[prost(message, optional, tag = "2")] + pub hint_center_pos: ::core::option::Option, + #[prost(uint32, tag = "4")] + pub group_id: u32, + #[prost(uint32, tag = "5")] + pub config_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct WidgetBackgroundBin { + #[prost(bool, tag = "1")] + pub is_active: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct WidgetDetailBin { + #[prost(oneof = "widget_detail_bin::DetailBin", tags = "1, 2, 3, 4, 2601, 3001")] + pub detail_bin: ::core::option::Option, +} +/// Nested message and enum types in `WidgetDetailBin`. +pub mod widget_detail_bin { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum DetailBin { + #[prost(message, tag = "1")] + AttachAvatarWidget(super::AttachAvatarWidgetBin), + #[prost(message, tag = "2")] + OneoffGatherPointDetector(super::WidgetOneoffGatherPointDetectorBin), + #[prost(message, tag = "3")] + ClientCollector(super::WidgetClientCollectorBin), + #[prost(message, tag = "4")] + CaptureAnimal(super::WidgetCaptureAnimalBin), + #[prost(message, tag = "2601")] + LightStone(super::WidgetLightStoneBin), + #[prost(message, tag = "3001")] + BackgroundWidget(super::WidgetBackgroundBin), + } +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct WidgetBin { + #[prost(uint32, tag = "1")] + pub material_id: u32, + #[prost(bool, repeated, tag = "2")] + pub slot_occupied_list: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "3")] + pub detail_bin: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerWidgetCompBin { + #[prost(uint32, tag = "1")] + pub next_widget_id: u32, + #[prost(uint32, tag = "2")] + pub quick_use_material_id: u32, + #[prost(uint32, tag = "3")] + pub last_use_anchor_point_time: u32, + #[prost(message, repeated, tag = "4")] + pub anchor_point_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "5")] + pub last_use_bonfire_time: u32, + #[prost(message, optional, tag = "6")] + pub lunch_box: ::core::option::Option, + #[prost(message, repeated, tag = "7")] + pub oneoff_gather_point_detector_list: ::prost::alloc::vec::Vec< + WidgetOneoffGatherPointDetectorBin, + >, + #[prost(message, repeated, tag = "8")] + pub client_collector_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "9")] + pub group_cool_down_data_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "10")] + pub normal_cool_down_data_list: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "11")] + pub attach_avatar_widget: ::core::option::Option, + #[prost(message, repeated, tag = "20")] + pub widget_bin_list: ::prost::alloc::vec::Vec, + #[prost(map = "uint32, uint32", tag = "21")] + pub slot_material_map: ::std::collections::HashMap, + #[prost(bool, tag = "22")] + pub is_oneoff_gather_point_detector_transfered: bool, + #[prost(bool, tag = "23")] + pub is_client_collector_transfered: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ScenePlaySourceBin { + #[prost(uint32, tag = "1")] + pub r#type: u32, + #[prost(uint32, tag = "2")] + pub param: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ScenePlayBin { + #[prost(uint32, tag = "1")] + pub play_id: u32, + #[prost(uint32, tag = "2")] + pub play_type: u32, + #[prost(uint32, tag = "3")] + pub entry_id: u32, + #[prost(uint32, tag = "4")] + pub phase: u32, + #[prost(message, optional, tag = "5")] + pub source_bin: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerScenePlayCompBin { + #[prost(message, repeated, tag = "1")] + pub play_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MainCoopBin { + #[prost(uint32, tag = "1")] + pub id: u32, + #[prost(uint32, tag = "2")] + pub status: u32, + #[prost(uint32, repeated, tag = "3")] + pub save_point_id_list: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "4")] + pub self_confidence: i32, + #[prost(message, repeated, tag = "5")] + pub normal_var_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "6")] + pub temp_var_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "7")] + pub seen_ending_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "8")] + pub confidence: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct CoopPointBin { + #[prost(uint32, tag = "1")] + pub id: u32, + #[prost(uint32, tag = "2")] + pub state: u32, + #[prost(message, optional, tag = "3")] + pub start_main_coop: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct CoopChapterBin { + #[prost(uint32, tag = "1")] + pub id: u32, + #[prost(uint32, tag = "2")] + pub state: u32, + #[prost(uint32, repeated, tag = "3")] + pub cg_list: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "4")] + pub reward_list: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "5")] + pub dialog_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "6")] + pub coop_point_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "7")] + pub seen_ending_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct CoopProgressBin { + #[prost(uint32, tag = "1")] + pub coop_point_id: u32, + #[prost(map = "uint32, message", tag = "4")] + pub main_coop_map: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerCoopCompBin { + #[prost(message, repeated, tag = "1")] + pub main_coop_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "2")] + pub chapter_bin_list: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "3")] + pub progress_bin: ::core::option::Option, + #[prost(uint32, repeated, tag = "4")] + pub viewed_chapter_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerOfferingInfoBin { + #[prost(uint32, tag = "1")] + pub offering_id: u32, + #[prost(uint32, tag = "2")] + pub level: u32, + #[prost(uint32, repeated, tag = "3")] + pub taken_level_reward_list: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "4")] + pub is_reach_max_level: bool, + #[prost(bool, tag = "5")] + pub is_need_notify_new_max: bool, + #[prost(uint32, tag = "6")] + pub last_version_max_level: u32, + #[prost(bool, tag = "7")] + pub is_first_interact: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerOfferingCompBin { + #[prost(message, repeated, tag = "1")] + pub offering_bin_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ReunionSignInBin { + #[prost(uint32, tag = "1")] + pub reunion_sign_in_id: u32, + #[prost(uint32, tag = "2")] + pub sign_in_count: u32, + #[prost(fixed32, tag = "3")] + pub last_sign_in_time: u32, + #[prost(uint32, repeated, tag = "4")] + pub reward_day_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ReunionMissionBin { + #[prost(uint32, tag = "1")] + pub mission_id: u32, + #[prost(uint32, repeated, tag = "2")] + pub taken_reward_watcher_list: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "3")] + pub finished_watcher_list: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "4")] + pub cur_day_watcher_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "5")] + pub cur_score: u32, + #[prost(bool, tag = "6")] + pub is_finished: bool, + #[prost(bool, tag = "7")] + pub is_taken_reward: bool, + #[prost(uint32, tag = "8")] + pub last_refresh_time: u32, + #[prost(bool, repeated, tag = "9")] + pub is_taken_reward_list: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "10")] + pub watcher_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ReunionPrivilegeBin { + #[prost(uint32, tag = "1")] + pub privilege_id: u32, + #[prost(uint32, tag = "2")] + pub cur_day_count: u32, + #[prost(uint32, tag = "3")] + pub last_refresh_time: u32, + #[prost(uint32, tag = "4")] + pub total_count: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ReunionRecordBin { + #[prost(bool, tag = "1")] + pub is_taken_first_gift_reward: bool, + #[prost(uint32, tag = "2")] + pub first_gift_reward_id: u32, + #[prost(message, optional, tag = "3")] + pub sign_in_bin: ::core::option::Option, + #[prost(message, optional, tag = "4")] + pub mission_bin: ::core::option::Option, + #[prost(message, optional, tag = "5")] + pub privilege_bin: ::core::option::Option, + #[prost(fixed32, tag = "6")] + pub reunion_finish_time: u32, + #[prost(bool, tag = "7")] + pub is_activated: bool, + #[prost(string, tag = "8")] + pub game_version: ::prost::alloc::string::String, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerReunionCompBin { + #[prost(fixed32, tag = "1")] + pub last_activate_reunion_time: u32, + #[prost(message, optional, tag = "2")] + pub reunion_record: ::core::option::Option, + #[prost(bool, tag = "3")] + pub is_activated_when_close: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerRoutineBin { + #[prost(uint32, tag = "1")] + pub routine_id: u32, + #[prost(uint32, tag = "2")] + pub progress: u32, + #[prost(uint32, tag = "3")] + pub is_finished: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerRoutineTypeBin { + #[prost(uint32, tag = "1")] + pub routine_type: u32, + #[prost(uint32, tag = "2")] + pub finished_num: u32, + #[prost(uint32, tag = "3")] + pub last_refresh_time: u32, + #[prost(message, repeated, tag = "4")] + pub routine_bin_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerRoutineCompBin { + #[prost(message, repeated, tag = "1")] + pub routine_type_bin_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MiracleRingDropParam { + #[prost(uint32, tag = "1")] + pub tag: u32, + #[prost(uint32, tag = "2")] + pub count: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerMiracleRingCompBin { + #[prost(uint32, tag = "1")] + pub last_take_reward_time: u32, + #[prost(message, repeated, tag = "2")] + pub drop_param_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MechanicusBin { + #[prost(uint32, tag = "1")] + pub mechanicus_id: u32, + #[prost(uint32, tag = "2")] + pub coin: u32, + #[prost(message, repeated, tag = "3")] + pub gear_level_pair_list: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "4")] + pub open_sequence_id_list: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "5")] + pub is_finish_teach_dungeon: bool, + #[prost(uint32, repeated, tag = "6")] + pub finish_difficult_level_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "7")] + pub punish_over_time: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerMechanicusCompBin { + #[prost(message, optional, tag = "1")] + pub cur_mechanicus_bin: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct OpActivityRecordBin { + #[prost(uint32, tag = "1")] + pub schedule_id: u32, + #[prost(uint32, tag = "2")] + pub use_bonus_count: u32, + #[prost(uint32, tag = "3")] + pub last_refresh_time: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerOpActivityCompBin { + #[prost(message, repeated, tag = "1")] + pub op_activity_recored_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerGalleryCompBin { + #[prost(uint32, repeated, tag = "1")] + pub valid_gallery_id_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct RegionSearchSourceBin { + #[prost(uint32, tag = "1")] + pub r#type: u32, + #[prost(uint32, tag = "2")] + pub param: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct RegionSearchRegionBin { + #[prost(uint32, tag = "1")] + pub region_id: u32, + #[prost(uint32, repeated, tag = "2")] + pub oneoff_group_list: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "3")] + pub recycle_group_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "4")] + pub recycle_progress: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct RegionSearchBin { + #[prost(uint32, tag = "1")] + pub search_id: u32, + #[prost(uint32, tag = "2")] + pub state: u32, + #[prost(uint32, tag = "3")] + pub progress: u32, + #[prost(message, repeated, tag = "4")] + pub region_list: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "5")] + pub is_entered: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct RegionSearchPlayBin { + #[prost(uint32, tag = "1")] + pub id: u32, + #[prost(message, optional, tag = "2")] + pub source: ::core::option::Option, + #[prost(message, repeated, tag = "3")] + pub search_list: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "4")] + pub is_entered: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerRegionSearchCompBin { + #[prost(message, repeated, tag = "1")] + pub play_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerTalkCompBin { + #[prost(uint32, repeated, tag = "1")] + pub npc_fisrt_met_id_list: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "2")] + pub finished_talk_id_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerFishingCompBin { + #[prost(uint32, tag = "1")] + pub last_fish_rod: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct CustomDungeonBriefBin { + #[prost(uint64, tag = "1")] + pub dungeon_guid: u64, + #[prost(uint32, tag = "2")] + pub dungeon_id: u32, + #[prost(uint32, tag = "3")] + pub state: u32, + #[prost(uint32, tag = "4")] + pub last_save_time: u32, + #[prost(message, optional, tag = "5")] + pub setting: ::core::option::Option, + #[prost(message, optional, tag = "6")] + pub r#abstract: ::core::option::Option, + #[prost(uint32, repeated, tag = "7")] + pub tag_list: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "8")] + pub is_psn_platform: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct OfficialCustomDungeonBin { + #[prost(uint32, tag = "1")] + pub dungeon_id: u32, + #[prost(uint32, tag = "2")] + pub win_times: u32, + #[prost(uint64, tag = "3")] + pub dungeon_guid: u64, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct CustomDungeonBattleRecord { + #[prost(uint64, tag = "1")] + pub dungeon_guid: u64, + #[prost(uint32, tag = "2")] + pub min_cost_time: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerCustomDungeonCompBin { + #[prost(message, repeated, tag = "1")] + pub brief_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "2")] + pub dungeon_guid_idx: u32, + #[prost(uint64, repeated, tag = "3")] + pub store_dungeon_list: ::prost::alloc::vec::Vec, + #[prost(uint64, repeated, tag = "4")] + pub last_recommend_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "5")] + pub group_id: u32, + #[prost(message, repeated, tag = "6")] + pub official_dungeon_list: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "7")] + pub is_enable_ugc: bool, + #[prost(uint32, tag = "8")] + pub ban_expire_time: u32, + #[prost(message, repeated, tag = "9")] + pub battle_record_list: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "10")] + pub is_ever_liked: bool, + #[prost(uint32, tag = "11")] + pub last_got_recommend_time: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct UgcBin {} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerUgcCompBin { + #[prost(map = "uint32, message", tag = "1")] + pub ugc_bin_map: ::std::collections::HashMap, + #[prost(uint32, tag = "2")] + pub ban_publish_expire_time: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerHomeBlockBin { + #[prost(uint32, tag = "1")] + pub block_id: u32, + #[prost(bool, tag = "2")] + pub is_unlocked: bool, + #[prost(uint32, tag = "3")] + pub deploy_furniture_count: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerHomeSceneBin { + #[prost(uint32, tag = "1")] + pub scene_id: u32, + #[prost(message, repeated, tag = "2")] + pub block_bin_list: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "3")] + pub is_unlocked: bool, + #[prost(uint32, tag = "4")] + pub version: u32, + #[prost(uint32, tag = "5")] + pub audit_state: u32, + #[prost(uint32, tag = "6")] + pub submit_time: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerHomeModuleBin { + #[prost(uint32, tag = "1")] + pub module_id: u32, + #[prost(message, repeated, tag = "2")] + pub scene_bin_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct HomeBasicCompSnapshotBin { + #[prost(uint32, tag = "1")] + pub level: u32, + #[prost(uint64, tag = "2")] + pub exp: u64, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct HomeSubFieldSnapShotBin { + #[prost(uint32, tag = "1")] + pub seed_id: u32, + #[prost(fixed32, tag = "2")] + pub end_time: u32, + #[prost(uint32, tag = "3")] + pub home_gather_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct HomeFieldSnapShotBin { + #[prost(uint32, tag = "1")] + pub field_guid: u32, + #[prost(uint32, tag = "2")] + pub furniture_id: u32, + #[prost(message, optional, tag = "3")] + pub spawn_pos: ::core::option::Option, + #[prost(message, repeated, tag = "4")] + pub sub_field_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct HomeTransferSnapShotBin { + #[prost(uint32, tag = "1")] + pub furniture_guid: u32, + #[prost(message, optional, tag = "2")] + pub spawn_pos: ::core::option::Option, + #[prost(uint32, tag = "3")] + pub furniture_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct HomeMarkPointNpcDataBin { + #[prost(uint32, tag = "1")] + pub avatar_id: u32, + #[prost(uint32, tag = "2")] + pub costume_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct HomeMarkPointSuiteDataBin { + #[prost(uint32, tag = "1")] + pub suite_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct HomeMarkPointFurnitureDataBin { + #[prost(uint32, tag = "1")] + pub guid: u32, + #[prost(uint32, tag = "2")] + pub furniture_id: u32, + #[prost(uint32, tag = "3")] + pub furniture_type: u32, + #[prost(message, optional, tag = "4")] + pub pos: ::core::option::Option, + #[prost(oneof = "home_mark_point_furniture_data_bin::Extra", tags = "6, 7")] + pub extra: ::core::option::Option, +} +/// Nested message and enum types in `HomeMarkPointFurnitureDataBin`. +pub mod home_mark_point_furniture_data_bin { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Extra { + #[prost(message, tag = "6")] + NpcData(super::HomeMarkPointNpcDataBin), + #[prost(message, tag = "7")] + SuiteData(super::HomeMarkPointSuiteDataBin), + } +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct HomeSceneSnapshotBin { + #[prost(uint32, tag = "1")] + pub scene_id: u32, + #[prost(message, repeated, tag = "2")] + pub deploy_npc_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "3")] + pub furniture_suite_list: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "4")] + pub main_house: ::core::option::Option, + #[prost(message, optional, tag = "5")] + pub djinn_pos: ::core::option::Option, + #[prost(message, repeated, tag = "6")] + pub field_bin_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "7")] + pub transfer_bin_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "8")] + pub normal_mark_point_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct HomeModuleSnapshotBin { + #[prost(uint32, tag = "1")] + pub module_id: u32, + #[prost(uint32, tag = "2")] + pub cur_room_scene_id: u32, + #[prost(message, repeated, tag = "3")] + pub scene_bin_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "4")] + pub furniture_arrange_count_list: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "5")] + pub world_scene_block_comfort_value_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "6")] + pub room_scene_comfort_value: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct HomeSceneCompSnapshotBin { + #[prost(uint32, tag = "1")] + pub cur_module_id: u32, + #[prost(message, repeated, tag = "2")] + pub module_bin_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct HomeSnapshotBin { + #[prost(message, optional, tag = "1")] + pub basic_snapshot: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub scene_snapshot: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct FurnitureMakeBeHelpedBin { + #[prost(string, tag = "1")] + pub player_name: ::prost::alloc::string::String, + #[prost(fixed32, tag = "2")] + pub time: u32, + #[prost(uint32, tag = "3")] + pub uid: u32, + #[prost(uint32, tag = "4")] + pub icon: u32, + #[prost(message, optional, tag = "5")] + pub profile_picture_bin: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct FurnitureMakeHelpBin { + #[prost(uint32, tag = "1")] + pub uid: u32, + #[prost(uint32, tag = "2")] + pub times: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct FurnitureMakeTimesBin { + #[prost(uint32, tag = "1")] + pub furniture_id: u32, + #[prost(uint32, tag = "2")] + pub make_times: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerFunitureMakeBin { + #[prost(message, repeated, tag = "1")] + pub make_times_bin_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "2")] + pub make_slots_bin_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "3")] + pub help_bin_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "4")] + pub helped_bin_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerLimitedShopNpcPosBin { + #[prost(uint32, tag = "1")] + pub module_id: u32, + #[prost(uint32, tag = "4")] + pub scene_id: u32, + #[prost(uint32, tag = "5")] + pub block_id: u32, + #[prost(uint32, tag = "6")] + pub index: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerHomeLimitedShopBin { + #[prost(uint32, tag = "1")] + pub last_refresh_time: u32, + #[prost(message, repeated, tag = "2")] + pub npc_pos_bin_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct HomeResourceBin { + #[prost(uint32, tag = "1")] + pub store_value: u32, + #[prost(fixed32, tag = "2")] + pub last_refresh_time: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerHomeResourceBin { + #[prost(message, optional, tag = "1")] + pub home_coin_bin: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub fetter_exp_bin: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct HomeAvatarDataBin { + #[prost(uint32, tag = "1")] + pub avatar_id: u32, + #[prost(uint32, repeated, tag = "2")] + pub talk_id_list: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "3")] + pub event_id_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct HomeAvatarRewardEventBin { + #[prost(uint32, tag = "1")] + pub order: u32, + #[prost(uint32, tag = "2")] + pub event_id: u32, + #[prost(uint32, tag = "3")] + pub random_position: u32, + #[prost(uint32, tag = "4")] + pub guid: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerHomeAvatarBin { + #[prost(message, repeated, tag = "1")] + pub home_avatar_list: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "2")] + pub show_avatar_id_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "3")] + pub reward_event_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct HomeWorldWoodExchangeDataBin { + #[prost(uint32, tag = "1")] + pub wood_id: u32, + #[prost(uint32, tag = "2")] + pub exchange_count: u32, + #[prost(fixed32, tag = "3")] + pub last_refresh_time: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerHomeBlueprintSlotBin { + #[prost(uint32, tag = "1")] + pub slot_id: u32, + #[prost(string, tag = "2")] + pub share_code: ::prost::alloc::string::String, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerHomeBlueprintBin { + #[prost(uint32, tag = "1")] + pub blueprint_guid_idx: u32, + #[prost(message, repeated, tag = "2")] + pub slot_bin_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerHomeCompBin { + #[prost(int32, tag = "1")] + pub friend_enter_home_option: i32, + #[prost(uint32, tag = "2")] + pub init_home_modue_id: u32, + #[prost(message, repeated, tag = "4")] + pub module_list: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "5")] + pub unlocked_module_id_list: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "6")] + pub snapshot: ::core::option::Option, + #[prost(uint32, repeated, tag = "7")] + pub unlocked_formula_furniture_id_list: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "8")] + pub unlocked_furniture_suite_id_list: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "9")] + pub levelup_reward_got_level_list: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "10")] + pub furniture_make_bin: ::core::option::Option, + #[prost(message, optional, tag = "11")] + pub home_resource_bin: ::core::option::Option, + #[prost(uint32, repeated, tag = "12")] + pub arrangement_furniture_suite_id_list: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "13")] + pub limited_shop_bin: ::core::option::Option, + #[prost(bool, tag = "14")] + pub is_ever_enter_self_home_world: bool, + #[prost(message, optional, tag = "15")] + pub home_avatar_bin: ::core::option::Option, + #[prost(fixed32, tag = "16")] + pub last_save_time: u32, + #[prost(uint32, tag = "17")] + pub prior_check_time: u32, + #[prost(uint32, tag = "19")] + pub transfer_home_point: u32, + #[prost(uint32, repeated, tag = "20")] + pub seen_module_id_list: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "21")] + pub unlocked_bgm_id_list: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "22")] + pub is_transfer_to_safe_point: bool, + #[prost(uint32, tag = "23")] + pub audit_version_index: u32, + #[prost(message, repeated, tag = "24")] + pub wood_exchange_data_bin_list: ::prost::alloc::vec::Vec< + HomeWorldWoodExchangeDataBin, + >, + #[prost(message, optional, tag = "25")] + pub blueprint_bin: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerOfflineOpBin { + #[prost(map = "uint32, uint32", tag = "1")] + pub index_map: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct H5ActivityWatcherBin { + #[prost(uint32, tag = "1")] + pub h5_activity_watcher_id: u32, + #[prost(uint32, tag = "2")] + pub progress: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct H5ActivityBin { + #[prost(uint32, tag = "1")] + pub h5_activity_schedule_id: u32, + #[prost(uint32, tag = "2")] + pub last_refresh_time: u32, + #[prost(uint32, repeated, tag = "3")] + pub finished_h5_activity_watcher_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "4")] + pub h5_activity_watcher_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "5")] + pub h5_activity_id: u32, + #[prost(uint32, repeated, tag = "6")] + pub unaccept_h5_activity_watcher_list: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "7")] + pub is_finish_watcher_logged: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerH5ActivityCompBin { + #[prost(message, repeated, tag = "1")] + pub h5_activity_list: ::prost::alloc::vec::Vec, + #[prost(fixed32, tag = "2")] + pub client_red_dot_timestamp: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MatchPunishBin { + #[prost(uint32, tag = "1")] + pub match_id: u32, + #[prost(uint32, tag = "2")] + pub punish_times: u32, + #[prost(uint32, tag = "3")] + pub punish_end_time: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerMatchCompBin { + #[prost(message, repeated, tag = "1")] + pub punish_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "2")] + pub last_punish_refresh_time: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerExhibitionBin { + #[prost(uint32, tag = "1")] + pub id: u32, + #[prost(uint32, tag = "2")] + pub replaceable_value: u32, + #[prost(uint32, tag = "3")] + pub accumulable_value: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerExhibitionCompBin { + #[prost(message, repeated, tag = "1")] + pub exhibition_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerGroupLinkBin { + #[prost(uint32, tag = "1")] + pub link_id: u32, + #[prost(uint32, tag = "2")] + pub activity_id: u32, + #[prost(uint32, tag = "3")] + pub cur_bundle_id: u32, + #[prost(uint32, tag = "4")] + pub schedule_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerGroupBundleBin { + #[prost(uint32, tag = "1")] + pub bundle_id: u32, + #[prost(uint32, tag = "2")] + pub activity_id: u32, + #[prost(bool, tag = "3")] + pub is_activated: bool, + #[prost(uint32, tag = "4")] + pub schedule_id: u32, + #[prost(bool, tag = "5")] + pub is_show_mark: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerGroupBundleFinishBin { + #[prost(uint32, tag = "1")] + pub activity_id: u32, + #[prost(uint32, repeated, tag = "2")] + pub bundle_id_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "3")] + pub schedule_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerGroupLinkCompBin { + #[prost(message, repeated, tag = "2")] + pub link_bin_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "3")] + pub bundle_bin_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "4")] + pub finish_bundle_bin_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct FireworksParamBin { + #[prost(uint32, tag = "1")] + pub r#type: u32, + #[prost(int32, tag = "2")] + pub value: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct FireworksReformBin { + #[prost(uint32, tag = "1")] + pub id: u32, + #[prost(message, repeated, tag = "2")] + pub reform_param_bin_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct FireworksLaunchSchemeBin { + #[prost(uint32, tag = "1")] + pub scheme_id: u32, + #[prost(uint32, repeated, tag = "2")] + pub fireworks_id_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "3")] + pub launch_param_bin_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerFireworksCompBin { + #[prost(message, repeated, tag = "1")] + pub fireworks_reform_bin_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "2")] + pub last_use_launch_scheme_id: u32, + #[prost(message, repeated, tag = "3")] + pub launch_scheme_bin_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerCityCompBin { + #[prost(map = "uint32, message", tag = "1")] + pub city_map: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct RegionalPlayVarBin { + #[prost(uint32, tag = "1")] + pub r#type: u32, + #[prost(float, tag = "2")] + pub value: f32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct DeathZoneBin { + #[prost(uint32, tag = "1")] + pub id: u32, + #[prost(bool, tag = "2")] + pub is_open: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerRegionalPlayCompBin { + #[prost(message, repeated, tag = "1")] + pub var_bin_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "2")] + pub death_zone_bin_list: ::prost::alloc::vec::Vec, + #[prost(string, tag = "3")] + pub last_play_name: ::prost::alloc::string::String, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ShareCdInfoBin { + #[prost(uint32, tag = "1")] + pub share_cd_id: u32, + #[prost(uint32, tag = "2")] + pub config_index: u32, + #[prost(uint64, tag = "3")] + pub last_use_time: u64, + #[prost(uint32, tag = "4")] + pub cd_token: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerShareCdCompBin { + #[prost(map = "uint32, message", tag = "1")] + pub share_cd_info_map: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GcgPlayerBriefBin { + #[prost(uint32, tag = "1")] + pub controller_id: u32, + #[prost(uint32, tag = "2")] + pub uid: u32, + #[prost(string, tag = "3")] + pub nick_name: ::prost::alloc::string::String, + #[prost(message, optional, tag = "4")] + pub profile_picture: ::core::option::Option, + #[prost(uint32, repeated, tag = "5")] + pub card_id_list: ::prost::alloc::vec::Vec, + #[prost(map = "uint32, uint32", tag = "6")] + pub card_face_map: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GcgGameBriefBin { + #[prost(uint32, tag = "1")] + pub app_id: u32, + #[prost(uint32, tag = "2")] + pub game_uid: u32, + #[prost(uint32, tag = "3")] + pub business_type: u32, + #[prost(message, repeated, tag = "4")] + pub player_brief_bin_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "5")] + pub verify_code: u32, + #[prost(uint32, tag = "6")] + pub game_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GcgdsDeckBin { + #[prost(uint32, tag = "1")] + pub id: u32, + #[prost(string, tag = "2")] + pub name: ::prost::alloc::string::String, + #[prost(uint32, repeated, tag = "3")] + pub character_card_list: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "4")] + pub card_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "5")] + pub card_back_id: u32, + #[prost(uint32, tag = "6")] + pub field_id: u32, + #[prost(fixed32, tag = "7")] + pub create_time: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GcgdsCardBin { + #[prost(uint32, tag = "1")] + pub card_id: u32, + #[prost(uint32, tag = "2")] + pub num: u32, + #[prost(uint32, repeated, tag = "3")] + pub unlock_face_type_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "4")] + pub face_type: u32, + #[prost(uint32, tag = "5")] + pub proficiency: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GcgDeckSystemBin { + #[prost(message, repeated, tag = "1")] + pub deck_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "2")] + pub card_list: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "3")] + pub unlock_card_back_id_list: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "4")] + pub unlock_field_id_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "5")] + pub cur_deck_id: u32, + #[prost(uint32, repeated, tag = "6")] + pub unlock_deck_id_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GcgtcTavernChallengeBin { + #[prost(uint32, tag = "1")] + pub character_id: u32, + #[prost(uint32, repeated, tag = "3")] + pub unlock_level_id_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GcgTavernBin { + #[prost(uint32, tag = "1")] + pub character_id: u32, + #[prost(uint32, tag = "2")] + pub level_id: u32, + #[prost(uint32, tag = "3")] + pub point_id: u32, + #[prost(bool, tag = "4")] + pub is_last_duel_win: bool, + #[prost(message, repeated, tag = "5")] + pub tavern_challenge_bin_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GcgMatchBin { + #[prost(uint32, tag = "1")] + pub match_id: u32, + #[prost(uint32, tag = "2")] + pub score: u32, + #[prost(uint32, tag = "3")] + pub win_streak_count: u32, + #[prost(uint32, tag = "4")] + pub lose_streak_count: u32, + #[prost(uint32, tag = "5")] + pub refuse_count: u32, + #[prost(fixed32, tag = "6")] + pub punish_end_time: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GcgBasicBin { + #[prost(uint32, tag = "1")] + pub level: u32, + #[prost(uint32, tag = "2")] + pub exp: u32, + #[prost(uint32, repeated, tag = "3")] + pub level_reward_taken_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "4")] + pub match_bin_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GcgLevelBin { + #[prost(uint32, tag = "1")] + pub level_id: u32, + #[prost(uint32, repeated, tag = "2")] + pub finished_challenge_id_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GcgBossChallengeBin { + #[prost(uint32, tag = "1")] + pub id: u32, + #[prost(uint32, repeated, tag = "2")] + pub unlock_level_id_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GcgLevelChallengeBin { + #[prost(message, repeated, tag = "1")] + pub level_bin_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "2")] + pub pre_config_id: u32, + #[prost(uint32, tag = "3")] + pub pre_level_id: u32, + #[prost(uint32, tag = "4")] + pub pre_level_type: u32, + #[prost(uint32, repeated, tag = "5")] + pub unlock_world_challenge_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "6")] + pub unlock_boss_challenge_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GcgConstNpcBin { + #[prost(uint32, tag = "1")] + pub npc_id: u32, + #[prost(uint32, tag = "2")] + pub scene_point_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GcgTavernSceneBuilderBin { + #[prost(uint32, tag = "1")] + pub distribution_id: u32, + #[prost(uint32, tag = "2")] + pub last_refresh_game_time: u32, + #[prost(message, repeated, tag = "3")] + pub const_npc_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GcgWeekNpcBin { + #[prost(uint32, tag = "1")] + pub npc_id: u32, + #[prost(uint32, tag = "2")] + pub level_id: u32, + #[prost(bool, tag = "3")] + pub is_unlock: bool, + #[prost(uint32, tag = "4")] + pub finish_time: u32, + #[prost(uint32, tag = "5")] + pub scene_point_id: u32, + #[prost(bool, tag = "6")] + pub is_delete_from_tavern: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GcgWeekChallengeBin { + #[prost(uint32, tag = "1")] + pub last_refresh_time: u32, + #[prost(uint32, tag = "2")] + pub last_refresh_gcg_level: u32, + #[prost(message, repeated, tag = "3")] + pub week_npc_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerGcgCompBin { + #[prost(message, optional, tag = "1")] + pub deck_system_bin: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub tavern_bin: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub basic_bin: ::core::option::Option, + #[prost(message, optional, tag = "4")] + pub level_challenge_bin: ::core::option::Option, + #[prost(message, optional, tag = "5")] + pub tavern_scene_builder_bin: ::core::option::Option, + #[prost(message, optional, tag = "6")] + pub week_challenge_bin: ::core::option::Option, + #[prost(message, optional, tag = "101")] + pub game_brief_bin: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct AranaraCollectionListBin { + #[prost(uint32, repeated, tag = "1")] + pub collection_id_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct AranaraCollectionSuiteBin { + #[prost(uint32, tag = "1")] + pub collection_type: u32, + #[prost(map = "uint32, message", tag = "2")] + pub state_collection_map: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerAranaraCollectionCompBin { + #[prost(message, repeated, tag = "1")] + pub collection_suite_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerDataBin { + #[prost(message, optional, tag = "1")] + pub basic_bin: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub avatar_bin: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub quest_bin: ::core::option::Option, + #[prost(message, optional, tag = "4")] + pub shop_bin: ::core::option::Option, + #[prost(message, optional, tag = "5")] + pub item_bin: ::core::option::Option, + #[prost(message, optional, tag = "6")] + pub dungeon_bin: ::core::option::Option, + #[prost(message, optional, tag = "7")] + pub scene_bin: ::core::option::Option, + #[prost(message, optional, tag = "8")] + pub bored_bin: ::core::option::Option, + #[prost(message, optional, tag = "9")] + pub mp_bin: ::core::option::Option, + #[prost(message, optional, tag = "10")] + pub cook_bin: ::core::option::Option, + #[prost(message, optional, tag = "11")] + pub mail_bin: ::core::option::Option, + #[prost(message, optional, tag = "12")] + pub login_bin: ::core::option::Option, + #[prost(message, optional, tag = "13")] + pub offline_msg_bin: ::core::option::Option, + #[prost(message, optional, tag = "14")] + pub daily_task_bin: ::core::option::Option, + #[prost(message, optional, tag = "15")] + pub rand_task_bin: ::core::option::Option, + #[prost(message, optional, tag = "16")] + pub gacha_bin: ::core::option::Option, + #[prost(message, optional, tag = "17")] + pub giving_bin: ::core::option::Option, + #[prost(message, optional, tag = "18")] + pub forge_bin: ::core::option::Option, + #[prost(message, optional, tag = "19")] + pub investigation_bin: ::core::option::Option, + #[prost(message, optional, tag = "20")] + pub activity_bin: ::core::option::Option, + #[prost(message, optional, tag = "21")] + pub watcher_bin: ::core::option::Option, + #[prost(message, optional, tag = "22")] + pub tower_bin: ::core::option::Option, + #[prost(message, optional, tag = "23")] + pub sign_in_bin: ::core::option::Option, + #[prost(message, optional, tag = "24")] + pub battle_pass_bin: ::core::option::Option, + #[prost(message, optional, tag = "25")] + pub blossom_bin: ::core::option::Option, + #[prost(message, optional, tag = "26")] + pub recharge_bin: ::core::option::Option, + #[prost(message, optional, tag = "27")] + pub mp_play_bin: ::core::option::Option, + #[prost(message, optional, tag = "28")] + pub social_bin: ::core::option::Option, + #[prost(message, optional, tag = "29")] + pub codex_bin: ::core::option::Option, + #[prost(message, optional, tag = "30")] + pub achievement_bin: ::core::option::Option, + #[prost(message, optional, tag = "31")] + pub trial_avatar_bin: ::core::option::Option, + #[prost(message, optional, tag = "32")] + pub personal_line_bin: ::core::option::Option, + #[prost(message, optional, tag = "33")] + pub reputation_bin: ::core::option::Option, + #[prost(message, optional, tag = "34")] + pub widget_comp_bin: ::core::option::Option, + #[prost(message, optional, tag = "35")] + pub hunting_bin: ::core::option::Option, + #[prost(message, optional, tag = "36")] + pub scene_play_bin: ::core::option::Option, + #[prost(message, optional, tag = "37")] + pub combine_bin: ::core::option::Option, + #[prost(message, optional, tag = "38")] + pub coop_bin: ::core::option::Option, + #[prost(message, optional, tag = "39")] + pub offering_bin: ::core::option::Option, + #[prost(message, optional, tag = "40")] + pub routine_bin: ::core::option::Option, + #[prost(message, optional, tag = "41")] + pub reunion_bin: ::core::option::Option, + #[prost(message, optional, tag = "42")] + pub miracle_ring_bin: ::core::option::Option, + #[prost(message, optional, tag = "43")] + pub mechanicus_bin: ::core::option::Option, + #[prost(message, optional, tag = "44")] + pub op_activity_bin: ::core::option::Option, + #[prost(message, optional, tag = "45")] + pub gallery_bin: ::core::option::Option, + #[prost(message, optional, tag = "46")] + pub region_search_bin: ::core::option::Option, + #[prost(message, optional, tag = "47")] + pub talk_bin: ::core::option::Option, + #[prost(message, optional, tag = "48")] + pub home_bin: ::core::option::Option, + #[prost(message, optional, tag = "49")] + pub offline_op_bin: ::core::option::Option, + #[prost(message, optional, tag = "50")] + pub h5_activity_bin: ::core::option::Option, + #[prost(message, optional, tag = "51")] + pub match_bin: ::core::option::Option, + #[prost(message, optional, tag = "52")] + pub exhibition_bin: ::core::option::Option, + #[prost(message, optional, tag = "53")] + pub group_link_bin: ::core::option::Option, + #[prost(message, optional, tag = "54")] + pub fishing_bin: ::core::option::Option, + #[prost(message, optional, tag = "55")] + pub city_bin: ::core::option::Option, + #[prost(message, optional, tag = "56")] + pub fireworks_bin: ::core::option::Option, + #[prost(message, optional, tag = "57")] + pub regional_play_bin: ::core::option::Option, + #[prost(message, optional, tag = "58")] + pub custom_dungeon_bin: ::core::option::Option, + #[prost(message, optional, tag = "59")] + pub share_cd_bin: ::core::option::Option, + #[prost(message, optional, tag = "60")] + pub ugc_bin: ::core::option::Option, + #[prost(message, optional, tag = "61")] + pub aranara_collection_bin: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerJsonData { + #[prost(bool, tag = "1")] + pub is_proficient_player: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerExtJsonData { + #[prost(uint32, tag = "1")] + pub reg_platform: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerExtraBinData { + #[prost(map = "uint32, message", tag = "1")] + pub anti_offline_data_map: ::std::collections::HashMap< + u32, + SecurityAntiOfflineDataBin, + >, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerBeforeLoginBinData { + #[prost(uint32, repeated, tag = "1")] + pub finish_quest_res_collection: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerData { + #[prost(uint32, tag = "1")] + pub uid: u32, + #[prost(string, tag = "2")] + pub nickname: ::prost::alloc::string::String, + #[prost(fixed32, tag = "3")] + pub last_login_time: u32, + #[prost(bytes = "vec", tag = "4")] + pub bin: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "5")] + pub data_version: u32, + #[prost(uint32, tag = "6")] + pub level: u32, + #[prost(uint32, tag = "7")] + pub exp: u32, + #[prost(string, tag = "8")] + pub json_data: ::prost::alloc::string::String, + #[prost(bytes = "vec", tag = "9")] + pub extra_bin_data: ::prost::alloc::vec::Vec, + #[prost(string, tag = "10")] + pub online_id: ::prost::alloc::string::String, + #[prost(string, tag = "11")] + pub psn_id: ::prost::alloc::string::String, + #[prost(bytes = "vec", tag = "12")] + pub before_login_bin_data: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ContentAuditBin { + #[prost(string, tag = "1")] + pub content: ::prost::alloc::string::String, + #[prost(uint32, tag = "2")] + pub audit_state: u32, + #[prost(uint32, tag = "3")] + pub submit_time: u32, + #[prost(uint32, tag = "4")] + pub submit_count: u32, +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum GroupBinOperation { + GroupOpNone = 0, + GroupOpGadgetMapDel = 1, + GroupOpDelGadgetList = 2, + GroupOpMonsterMapDel = 3, + GroupOpDelMonsterList = 4, + GorupOpDelTrigger = 5, + GroupOpSetTriggerCount = 6, + GroupOpSetVariableVal = 7, + GroupOpSetTargetSuite = 8, + GroupOpSetGadgetState = 9, + GroupOpSetDead = 10, + GroupOpSetUnregister = 11, +} +impl GroupBinOperation { + /// 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 { + GroupBinOperation::GroupOpNone => "GROUP_OP_NONE", + GroupBinOperation::GroupOpGadgetMapDel => "GROUP_OP_GADGET_MAP_DEL", + GroupBinOperation::GroupOpDelGadgetList => "GROUP_OP_DEL_GADGET_LIST", + GroupBinOperation::GroupOpMonsterMapDel => "GROUP_OP_MONSTER_MAP_DEL", + GroupBinOperation::GroupOpDelMonsterList => "GROUP_OP_DEL_MONSTER_LIST", + GroupBinOperation::GorupOpDelTrigger => "GORUP_OP_DEL_TRIGGER", + GroupBinOperation::GroupOpSetTriggerCount => "GROUP_OP_SET_TRIGGER_COUNT", + GroupBinOperation::GroupOpSetVariableVal => "GROUP_OP_SET_VARIABLE_VAL", + GroupBinOperation::GroupOpSetTargetSuite => "GROUP_OP_SET_TARGET_SUITE", + GroupBinOperation::GroupOpSetGadgetState => "GROUP_OP_SET_GADGET_STATE", + GroupBinOperation::GroupOpSetDead => "GROUP_OP_SET_DEAD", + GroupBinOperation::GroupOpSetUnregister => "GROUP_OP_SET_UNREGISTER", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "GROUP_OP_NONE" => Some(Self::GroupOpNone), + "GROUP_OP_GADGET_MAP_DEL" => Some(Self::GroupOpGadgetMapDel), + "GROUP_OP_DEL_GADGET_LIST" => Some(Self::GroupOpDelGadgetList), + "GROUP_OP_MONSTER_MAP_DEL" => Some(Self::GroupOpMonsterMapDel), + "GROUP_OP_DEL_MONSTER_LIST" => Some(Self::GroupOpDelMonsterList), + "GORUP_OP_DEL_TRIGGER" => Some(Self::GorupOpDelTrigger), + "GROUP_OP_SET_TRIGGER_COUNT" => Some(Self::GroupOpSetTriggerCount), + "GROUP_OP_SET_VARIABLE_VAL" => Some(Self::GroupOpSetVariableVal), + "GROUP_OP_SET_TARGET_SUITE" => Some(Self::GroupOpSetTargetSuite), + "GROUP_OP_SET_GADGET_STATE" => Some(Self::GroupOpSetGadgetState), + "GROUP_OP_SET_DEAD" => Some(Self::GroupOpSetDead), + "GROUP_OP_SET_UNREGISTER" => Some(Self::GroupOpSetUnregister), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum GroupLinkOpType { + GroupLinkOpNone = 0, + GroupLinkOpBundleRegister = 1, + GroupLinkOpBundleFinish = 2, + GroupLinkOpBundleUnregister = 3, +} +impl GroupLinkOpType { + /// 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 { + GroupLinkOpType::GroupLinkOpNone => "GROUP_LINK_OP_NONE", + GroupLinkOpType::GroupLinkOpBundleRegister => "GROUP_LINK_OP_BUNDLE_REGISTER", + GroupLinkOpType::GroupLinkOpBundleFinish => "GROUP_LINK_OP_BUNDLE_FINISH", + GroupLinkOpType::GroupLinkOpBundleUnregister => { + "GROUP_LINK_OP_BUNDLE_UNREGISTER" + } + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "GROUP_LINK_OP_NONE" => Some(Self::GroupLinkOpNone), + "GROUP_LINK_OP_BUNDLE_REGISTER" => Some(Self::GroupLinkOpBundleRegister), + "GROUP_LINK_OP_BUNDLE_FINISH" => Some(Self::GroupLinkOpBundleFinish), + "GROUP_LINK_OP_BUNDLE_UNREGISTER" => Some(Self::GroupLinkOpBundleUnregister), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum SceneTagOpType { + SceneTagOpNone = 0, + SceneTagOpAdd = 1, + SceneTagOpDel = 2, +} +impl SceneTagOpType { + /// 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 { + SceneTagOpType::SceneTagOpNone => "SCENE_TAG_OP_NONE", + SceneTagOpType::SceneTagOpAdd => "SCENE_TAG_OP_ADD", + SceneTagOpType::SceneTagOpDel => "SCENE_TAG_OP_DEL", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "SCENE_TAG_OP_NONE" => Some(Self::SceneTagOpNone), + "SCENE_TAG_OP_ADD" => Some(Self::SceneTagOpAdd), + "SCENE_TAG_OP_DEL" => Some(Self::SceneTagOpDel), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum OfflineOpType { + OfflineOpNone = 0, + OfflineOpTest = 1, + OfflineOpFurnitureMakeHelp = 2, + OfflineOpPlantFlowerActivityGiveFlower = 3, + OfflineOpWinterCampGiveItem = 4, + OfflineOpActivityGiveGift = 5, + OfflineOpVintageActivityDividend = 6, + OfflineOpGcgSettle = 7, +} +impl OfflineOpType { + /// 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 { + OfflineOpType::OfflineOpNone => "OFFLINE_OP_NONE", + OfflineOpType::OfflineOpTest => "OFFLINE_OP_TEST", + OfflineOpType::OfflineOpFurnitureMakeHelp => "OFFLINE_OP_FURNITURE_MAKE_HELP", + OfflineOpType::OfflineOpPlantFlowerActivityGiveFlower => { + "OFFLINE_OP_PLANT_FLOWER_ACTIVITY_GIVE_FLOWER" + } + OfflineOpType::OfflineOpWinterCampGiveItem => { + "OFFLINE_OP_WINTER_CAMP_GIVE_ITEM" + } + OfflineOpType::OfflineOpActivityGiveGift => "OFFLINE_OP_ACTIVITY_GIVE_GIFT", + OfflineOpType::OfflineOpVintageActivityDividend => { + "OFFLINE_OP_VINTAGE_ACTIVITY_DIVIDEND" + } + OfflineOpType::OfflineOpGcgSettle => "OFFLINE_OP_GCG_SETTLE", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "OFFLINE_OP_NONE" => Some(Self::OfflineOpNone), + "OFFLINE_OP_TEST" => Some(Self::OfflineOpTest), + "OFFLINE_OP_FURNITURE_MAKE_HELP" => Some(Self::OfflineOpFurnitureMakeHelp), + "OFFLINE_OP_PLANT_FLOWER_ACTIVITY_GIVE_FLOWER" => { + Some(Self::OfflineOpPlantFlowerActivityGiveFlower) + } + "OFFLINE_OP_WINTER_CAMP_GIVE_ITEM" => Some(Self::OfflineOpWinterCampGiveItem), + "OFFLINE_OP_ACTIVITY_GIVE_GIFT" => Some(Self::OfflineOpActivityGiveGift), + "OFFLINE_OP_VINTAGE_ACTIVITY_DIVIDEND" => { + Some(Self::OfflineOpVintageActivityDividend) + } + "OFFLINE_OP_GCG_SETTLE" => Some(Self::OfflineOpGcgSettle), + _ => None, + } + } +} diff --git a/hk4e_proto/out/cmd.rs b/hk4e_proto/out/cmd.rs new file mode 100644 index 0000000..55df498 --- /dev/null +++ b/hk4e_proto/out/cmd.rs @@ -0,0 +1,69182 @@ +// This file is @generated by prost-build. +#[derive(proto_gen::CmdID)] +#[cmdid(519)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nfjefjndgja { + #[prost(int32, tag = "5")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Honabchjglk { + #[prost(uint32, tag = "3")] + pub lgbnfifcpjf: u32, + #[prost(bool, tag = "5")] + pub ecihdijcled: bool, + #[prost(enumeration = "Pjfodmhgoln", tag = "10")] + pub jnmigjhkahe: i32, + #[prost(uint32, tag = "12")] + pub mempkcgnnmf: u32, + #[prost(uint32, tag = "14")] + pub gjlpmfgollm: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cojgndddbfg { + #[prost(uint32, repeated, tag = "10")] + pub gcbeeinchka: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ngjbiblmckn { + #[prost(uint32, repeated, tag = "3")] + pub bmbfdbodhnd: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "7")] + pub jnkddfcnlii: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "8")] + pub akghegcnmjm: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "11")] + pub nafoifkfeko: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "14")] + pub abpjibdjipa: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23529)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gkadonpeaek { + #[prost(message, repeated, tag = "1")] + pub pmjbhmkoceg: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "3")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24582)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dpmpmadlcao {} +#[derive(proto_gen::CmdID)] +#[cmdid(26225)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hbcglagdapo { + #[prost(int32, tag = "13")] + pub retcode: i32, + #[prost(uint32, tag = "14")] + pub omgchbachci: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25177)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hdgogiinacf { + #[prost(string, tag = "5")] + pub dppibjfomoc: ::prost::alloc::string::String, + #[prost(message, optional, tag = "9")] + pub phbpfonlgfb: ::core::option::Option, + #[prost(int32, tag = "15")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jhaiacbojop { + #[prost(uint32, tag = "8")] + pub pdfhfnpadnp: u32, + #[prost(uint32, tag = "13")] + pub nhalfdgllpb: u32, + #[prost(uint32, tag = "15")] + pub jinjlbemjnc: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27545)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cangfnbgffn { + #[prost(int32, tag = "8")] + pub retcode: i32, + #[prost(uint32, tag = "12")] + pub mempkcgnnmf: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6552)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jnhfmgghchj { + #[prost(message, repeated, tag = "10")] + pub dmapdpgjpib: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "14")] + pub naamimdommn: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jljbpfmegpc { + #[prost(message, repeated, tag = "4")] + pub mcdijkphlno: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cpkhdnpijmi { + #[prost(uint32, tag = "5")] + pub mempkcgnnmf: u32, + #[prost(bool, tag = "6")] + pub ecihdijcled: bool, + #[prost(uint32, tag = "13")] + pub gpaeljhnaek: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lcbhgpljlno { + #[prost(message, optional, tag = "13")] + pub jajnmbllabi: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9227)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ianhplfbffc { + #[prost(message, repeated, tag = "6")] + pub kfapijcgdbc: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "13")] + pub dmnldppgokg: u32, + #[prost(uint32, tag = "8")] + pub mempkcgnnmf: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hbmbmhlcipg { + #[prost(uint32, tag = "1")] + pub hfjilncpakl: u32, + #[prost(uint32, tag = "3")] + pub hgolpkdkomk: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21066)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dghagbnggeh {} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ddenlidhjah { + #[prost(bool, tag = "2")] + pub gboboljpagm: bool, + #[prost(uint32, repeated, tag = "8")] + pub oijfpglhnnn: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "12")] + pub group_id: u32, + #[prost(uint32, tag = "13")] + pub gpaeljhnaek: u32, + #[prost(uint32, tag = "14")] + pub ojoapinglno: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29038)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jkgjifmifji { + #[prost(uint32, tag = "6")] + pub jlhfgabkeoi: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4003)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jifdlianamn { + #[prost(string, tag = "3")] + pub mmghddnmpgj: ::prost::alloc::string::String, + #[prost(uint32, tag = "15")] + pub kpidllgnojf: u32, + #[prost(uint32, tag = "6")] + pub khdgppfkkoi: u32, + #[prost(uint32, tag = "13")] + pub anhigelnhkp: u32, + #[prost(uint32, tag = "9")] + pub ameoigghhdc: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hlhanikigah { + #[prost(bool, tag = "8")] + pub dggckmikbmo: bool, + #[prost(message, optional, tag = "11")] + pub bepfmdkmfic: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4369)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mpkmeemfban { + #[prost(message, optional, tag = "3")] + pub alholnopbfp: ::core::option::Option, + #[prost(uint32, tag = "4")] + pub entity_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25552)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ekdciancaha { + #[prost(uint32, repeated, tag = "2")] + pub pjkadojneai: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "10")] + pub ciocgfebmgo: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4179)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Laadbanmdib { + #[prost(uint32, tag = "4")] + pub bknplfikkfg: u32, + #[prost(uint32, tag = "6")] + pub lgooidciaag: u32, + #[prost(uint32, tag = "7")] + pub group_id: u32, + #[prost(int32, tag = "14")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(613)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kogcehfoabe { + #[prost(int32, tag = "7")] + pub retcode: i32, + #[prost(string, tag = "15")] + pub pbigganlbdh: ::prost::alloc::string::String, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23513)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jfhniogljig { + #[prost(sfixed32, tag = "2")] + pub lgbnfifcpjf: i32, + #[prost(uint32, tag = "3")] + pub pdkifkkmhcn: u32, + #[prost(uint32, tag = "4")] + pub dekhbeooien: u32, + #[prost(bool, tag = "5")] + pub poiggnkedah: bool, + #[prost(uint32, tag = "7")] + pub diggffkgodj: u32, + #[prost(uint32, tag = "8")] + pub bknplfikkfg: u32, + #[prost(message, repeated, tag = "10")] + pub filhggiljln: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "11")] + pub midheclibbo: bool, + #[prost(uint32, tag = "12")] + pub pjjaoilbfbn: u32, + #[prost(uint32, tag = "14")] + pub fpedhedekpe: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7057)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Acpnofnlpeg { + #[prost(uint32, repeated, tag = "15")] + pub neoadbjbkoh: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "12")] + pub clogcdcahei: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20185)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pmnjjcoelfh { + #[prost(enumeration = "StoreType", tag = "1")] + pub store_type: i32, + #[prost(message, repeated, tag = "5")] + pub item_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23569)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bmgbdbogied { + #[prost(uint32, tag = "4")] + pub group_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6581)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aleipfmkiie { + #[prost(uint32, tag = "2")] + pub khcdhfjgkad: u32, + #[prost(uint32, tag = "4")] + pub uid: u32, + #[prost(uint32, tag = "5")] + pub mbkaongpdcn: u32, + #[prost(int32, tag = "8")] + pub retcode: i32, + #[prost(uint32, tag = "11")] + pub acnagipbchp: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7488)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Llhnpdcbcbf { + #[prost(uint32, tag = "1")] + pub mbcalmmjafa: u32, + #[prost(uint32, tag = "14")] + pub pjjlmhgjkdg: u32, + #[prost(uint32, tag = "4")] + pub ohgaghpnjfa: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lfjklhjegoo { + #[prost(message, repeated, tag = "9")] + pub lecjfbijmoo: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2468)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cocjadohikl { + #[prost(uint32, tag = "2")] + pub jofbeiaclof: u32, + #[prost(message, repeated, tag = "3")] + pub denpikhpehl: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "5")] + pub kbnhkamgpji: bool, + #[prost(uint32, tag = "7")] + pub aaopmgielok: u32, + #[prost(uint32, tag = "9")] + pub iehlhaogkpj: u32, + #[prost(message, repeated, tag = "14")] + pub jnnhhdkpaec: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9536)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Clclicjhhgm { + #[prost(message, repeated, tag = "1")] + pub kfapijcgdbc: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "12")] + pub pjjaoilbfbn: u32, + #[prost(uint32, tag = "6")] + pub dmnldppgokg: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4254)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oamijklpabm { + #[prost(uint32, tag = "1")] + pub gghkdjlgfpb: u32, + #[prost(uint32, tag = "4")] + pub jefildjebaj: u32, + #[prost(int32, tag = "9")] + pub retcode: i32, + #[prost(uint32, tag = "14")] + pub ibadlnmjbii: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Niniomhikbg { + #[prost(uint32, tag = "5")] + pub phpfppidjkj: u32, + #[prost(message, optional, tag = "9")] + pub epcoelijppl: ::core::option::Option, + #[prost(bool, tag = "11")] + pub mhcimhgeapb: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20606)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Chljcdhkmfk { + #[prost(uint32, tag = "2")] + pub lhdahdneppl: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(776)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Foodocabbhb { + #[prost(bytes = "vec", tag = "9")] + pub mlongfelfia: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25810)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lmjepofeomm { + #[prost(uint32, repeated, tag = "6")] + pub fdjpppfghne: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "8")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ecojklifikm { + #[prost(bool, tag = "7")] + pub oancfejapno: bool, + #[prost(message, repeated, tag = "10")] + pub mcdijkphlno: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26287)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jnillgfkapi { + #[prost(int32, tag = "4")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hgjkkeijhpd { + #[prost(int32, repeated, tag = "6")] + pub hogfdpaofom: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "12")] + pub key: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mgoobmnkiki { + #[prost(string, tag = "2")] + pub bkdilgijpeg: ::prost::alloc::string::String, + #[prost(map = "uint32, uint32", tag = "6")] + pub onhblidiphk: ::std::collections::HashMap, + #[prost(message, optional, tag = "7")] + pub blfkojlccoo: ::core::option::Option, + #[prost(uint32, tag = "13")] + pub uid: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Neekalifdbh { + #[prost(message, optional, tag = "2")] + pub nbaidhhdpmd: ::core::option::Option, + #[prost(message, optional, tag = "6")] + pub rot: ::core::option::Option, + #[prost(message, optional, tag = "12")] + pub pos: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3465)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kfpcefkfmlc { + #[prost(uint32, tag = "8")] + pub agienjjkpbe: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3413)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Baendecaami { + #[prost(int32, tag = "3")] + pub retcode: i32, + #[prost(uint32, tag = "6")] + pub dknmbapfjkb: u32, + #[prost(uint32, tag = "13")] + pub bkoecphphej: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28161)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lecfiajjjck { + #[prost(uint32, tag = "1")] + pub ooflahmeleo: u32, + #[prost(enumeration = "Hocjfidgkjm", tag = "5")] + pub reason: i32, + #[prost(uint32, tag = "8")] + pub uid: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4115)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Opghpakmcgf { + #[prost(uint64, tag = "11")] + pub hodolkcoplg: u64, + #[prost(enumeration = "Jmhjpmmamdc", tag = "13")] + pub hjplelofahp: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7851)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Akffhdhpbnf { + #[prost(uint64, tag = "15")] + pub avatar_guid: u64, + #[prost(bool, tag = "9")] + pub is_focus: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26043)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pipaejlpamp { + #[prost(int32, tag = "3")] + pub retcode: i32, + #[prost(uint32, tag = "5")] + pub pjjaoilbfbn: u32, + #[prost(message, repeated, tag = "14")] + pub kfapijcgdbc: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27511)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Keabkhpdoei { + #[prost(bool, tag = "2")] + pub pfokfhlokej: bool, + #[prost(uint32, repeated, tag = "7")] + pub ecnjmcganlf: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nlgphhhppoa { + #[prost(uint32, tag = "3")] + pub room_id: u32, + #[prost(message, optional, tag = "5")] + pub ffbhoijkmpm: ::core::option::Option, + #[prost(bool, tag = "6")] + pub is_add: bool, + #[prost(message, optional, tag = "7")] + pub cfajbdbnmjp: ::core::option::Option, + #[prost(uint32, tag = "10")] + pub aoonjjoanje: u32, + #[prost(uint32, tag = "11")] + pub klajfkjdlfl: u32, + #[prost(uint32, tag = "12")] + pub djegcipdocl: u32, + #[prost(message, optional, tag = "15")] + pub hdpckfcciaj: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25859)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gbpjdepdbib { + #[prost(uint32, tag = "6")] + pub pjjaoilbfbn: u32, + #[prost(uint32, tag = "3")] + pub jdhlmigkddg: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7225)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bknppefpcgn { + #[prost(int32, tag = "13")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bdagekbljhc { + #[prost(uint32, tag = "4")] + pub gpejlgheomg: u32, + #[prost(uint32, tag = "11")] + pub hmjbphppjdb: u32, + #[prost(uint32, tag = "12")] + pub dlflcjkabfg: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2327)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oecoamhhbnb { + #[prost(enumeration = "Iailmjppbfe", tag = "2")] + pub bgpjniihanj: i32, + #[prost(message, repeated, tag = "4")] + pub dkkkacebedj: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "7")] + pub jjfpfmpjema: i32, + #[prost(int32, tag = "8")] + pub retcode: i32, + #[prost(message, repeated, tag = "10")] + pub aepbmmidoja: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "13")] + pub gofmaapeimc: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "15")] + pub fbnoknjkhdm: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23321)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fddclgnkgpn { + #[prost(int32, tag = "6")] + pub retcode: i32, + #[prost(message, optional, tag = "14")] + pub bbojfnnbghk: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(317)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fjdhjkbpcfj { + #[prost(uint32, tag = "7")] + pub group_id: u32, + #[prost(uint32, tag = "15")] + pub gadget_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gpkokhlenmo { + #[prost(bool, tag = "5")] + pub ecihdijcled: bool, + #[prost(uint32, tag = "10")] + pub pjjaoilbfbn: u32, + #[prost(uint32, tag = "11")] + pub jofbeiaclof: u32, + #[prost(uint32, tag = "14")] + pub peajinifghm: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1186)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mkhffdglodj { + #[prost(int32, tag = "3")] + pub retcode: i32, + #[prost(uint32, tag = "7")] + pub lpahjgdbepe: u32, + #[prost(uint32, tag = "9")] + pub meekejeideh: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Afaknamocam { + #[prost(uint32, tag = "8")] + pub gpaeljhnaek: u32, + #[prost(uint32, tag = "14")] + pub ojoapinglno: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20394)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pfcnfglpkib { + #[prost(string, tag = "8")] + pub msg: ::prost::alloc::string::String, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23323)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kdbacalhhln { + #[prost(int32, tag = "4")] + pub retcode: i32, + #[prost(message, optional, tag = "5")] + pub ciflegckjei: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dkpldhknbmk { + #[prost(uint32, repeated, tag = "9")] + pub plflnepmdjj: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ojebkfcpnii { + #[prost(message, repeated, tag = "12")] + pub cbenkjeocil: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6064)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nihnjmcibbf { + #[prost(int32, tag = "2")] + pub retcode: i32, + #[prost(message, repeated, tag = "5")] + pub nbiglfhejbe: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "7")] + pub gbepkglfbfd: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "8")] + pub mkmhpomeahp: ::prost::alloc::vec::Vec, + #[prost(int32, repeated, tag = "10")] + pub dekiihdlaoi: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nplfigehhde { + #[prost(bool, tag = "1")] + pub hgckpckiiom: bool, + #[prost(bool, tag = "5")] + pub kplnmnbogjo: bool, + #[prost(uint32, repeated, tag = "6")] + pub buff_id_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "8")] + pub bdcphhcefhi: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "9")] + pub hamgdfacogg: u32, + #[prost(uint32, tag = "11")] + pub hfghhohclfi: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6115)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Plifjkpipik { + #[prost(int32, tag = "9")] + pub uid: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jnhgjaiimgj { + #[prost(uint32, tag = "1")] + pub nelhkeoljci: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Haklmlnjloa { + #[prost(message, optional, tag = "1")] + pub pos: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub rot: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hfjfbhbcoma { + #[prost(message, repeated, tag = "15")] + pub gabljanjlaf: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6626)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Khfngoajhnc { + #[prost(uint32, tag = "6")] + pub pjjaoilbfbn: u32, + #[prost(bool, tag = "2")] + pub emlilmhjhog: bool, + #[prost(uint32, tag = "12")] + pub lgooidciaag: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gjnobdelmlf { + #[prost(uint32, tag = "1")] + pub kcecjdkpofb: u32, + #[prost(message, optional, tag = "4")] + pub galjcimkfch: ::core::option::Option, + #[prost(uint32, repeated, tag = "11")] + pub scene_tag_id_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9929)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nbafiglgjke { + #[prost(uint32, tag = "11")] + pub lgooidciaag: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21845)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jlnnncidphd { + #[prost(string, tag = "1")] + pub plkolhgcdgc: ::prost::alloc::string::String, + #[prost(uint32, tag = "8")] + pub target_uid: u32, + #[prost(bool, tag = "10")] + pub mcpkkmhkcpd: bool, + #[prost(enumeration = "Inmchndeiah", tag = "14")] + pub reason: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23654)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fbcafjjlalc { + #[prost(uint32, tag = "2")] + pub prop_type: u32, + #[prost(uint32, tag = "9")] + pub edhbecmmhjc: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dohgbdaamaj { + #[prost(fixed32, tag = "2")] + pub mhghinogbgd: u32, + #[prost(message, repeated, tag = "3")] + pub lbdghbheoeh: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "5")] + pub oboopjlpdni: u32, + #[prost(bool, tag = "8")] + pub mjeofikhfem: bool, + #[prost(uint32, tag = "9")] + pub phnjpmeeibj: u32, + #[prost(uint32, tag = "10")] + pub fbpgimlmdnj: u32, + #[prost(fixed32, tag = "11")] + pub ohdfeiceled: u32, + #[prost(message, repeated, tag = "12")] + pub aiaocfebnkj: ::prost::alloc::vec::Vec, + #[prost(enumeration = "Hkkcdiccimi", tag = "13")] + pub nkiolhkgjco: i32, + #[prost(uint32, tag = "15")] + pub kafapfjllgp: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27996)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ejcagpboghi { + #[prost(bool, tag = "3")] + pub dmedoehomkh: bool, + #[prost(bool, tag = "4")] + pub dggckmikbmo: bool, + #[prost(uint32, tag = "6")] + pub kmaehpagkfk: u32, + #[prost(uint32, tag = "13")] + pub pjjaoilbfbn: u32, + #[prost(uint32, tag = "14")] + pub jdhlmigkddg: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lbpfbnmilia { + #[prost(uint64, repeated, tag = "3")] + pub cghhepepdca: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "5")] + pub pjjaoilbfbn: u32, + #[prost(uint32, tag = "8")] + pub caeopokgdpl: u32, + #[prost(uint32, tag = "12")] + pub peajinifghm: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cellldfboop { + #[prost(uint32, tag = "9")] + pub pjjaoilbfbn: u32, + #[prost(bool, tag = "10")] + pub ecihdijcled: bool, + #[prost(bool, tag = "12")] + pub jhfmeficaal: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7506)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jadfegcfeek { + #[prost(message, optional, tag = "10")] + pub data: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28800)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fabehfbjkcb { + #[prost(message, repeated, tag = "1")] + pub kfapijcgdbc: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "14")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fcfhkhjfiap { + #[prost(enumeration = "Ihacnpjbldi", tag = "1")] + pub hcdbekjpngd: i32, + #[prost(enumeration = "Eegmnipnkmj", tag = "2")] + pub reason: i32, + #[prost(message, repeated, tag = "15")] + pub pilpfncicli: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hcpnnogipgj { + #[prost(uint32, tag = "6")] + pub agibomgaddk: u32, + #[prost(uint32, tag = "8")] + pub jefildjebaj: u32, + #[prost(uint32, tag = "10")] + pub pcaobbjlffm: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4010)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Igeckhcnken { + #[prost(int32, tag = "7")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5944)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bdjpflegkjd { + #[prost(enumeration = "Pfbjfdjflpp", tag = "12")] + pub agppgljpijd: i32, + #[prost(uint32, tag = "14")] + pub gfcjgekgnje: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24113)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ifinknhmmac { + #[prost(map = "uint32, float", tag = "4")] + pub cgldffgmbai: ::std::collections::HashMap, + #[prost(int32, tag = "9")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27434)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lhhpnfmgjhn { + #[prost(message, repeated, tag = "4")] + pub offnadbpdjb: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2049)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Igbbipejooh { + #[prost(uint32, tag = "5")] + pub gblenhcpkcp: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25125)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bnmjanppfob { + #[prost(uint32, tag = "12")] + pub hfjilncpakl: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(875)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ibpbkjbfblk { + #[prost(uint32, tag = "11")] + pub kenikecfflm: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20566)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ogebhfhkgbk { + #[prost(bool, tag = "1")] + pub dmedoehomkh: bool, + #[prost(uint32, tag = "3")] + pub dmnldppgokg: u32, + #[prost(uint32, tag = "6")] + pub dekhbeooien: u32, + #[prost(bool, tag = "9")] + pub dggckmikbmo: bool, + #[prost(uint32, tag = "12")] + pub pjjaoilbfbn: u32, + #[prost(uint32, tag = "13")] + pub gmninljgfkg: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4686)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eamdljipldj {} +#[derive(proto_gen::CmdID)] +#[cmdid(5725)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jdbnalhndni { + #[prost(string, repeated, tag = "9")] + pub dnbgclgekni: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24207)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Poddhnlbpbd { + #[prost(uint32, tag = "1")] + pub cjfpcbalbid: u32, + #[prost(uint32, tag = "4")] + pub felhefmfaip: u32, + #[prost(uint32, tag = "7")] + pub ifmfeecemjh: u32, + #[prost(uint32, tag = "15")] + pub apokpknjnlk: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8330)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aghdheionaa { + #[prost(int32, tag = "4")] + pub retcode: i32, + #[prost(uint32, tag = "9")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27098)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kopiflkgceb { + #[prost(uint32, repeated, tag = "7")] + pub hmlmbjkocmm: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "14")] + pub onabdgfcpih: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8273)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nglbnchjmmg { + #[prost(uint32, tag = "7")] + pub entity_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6644)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mkiemdkbeif { + #[prost(uint32, tag = "2")] + pub end_time: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9892)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hccldeamdei { + #[prost(bool, tag = "1")] + pub hkdhoncfgoj: bool, + #[prost(int32, tag = "10")] + pub retcode: i32, + #[prost(enumeration = "Hibhhjenmpp", tag = "12")] + pub pipmddflkmo: i32, + #[prost(uint32, tag = "14")] + pub onabdgfcpih: u32, + #[prost(uint32, tag = "15")] + pub pjjaoilbfbn: u32, + #[prost(oneof = "hccldeamdei::Detail", tags = "168, 263, 716, 1009")] + pub detail: ::core::option::Option, +} +/// Nested message and enum types in `HCCLDEAMDEI`. +pub mod hccldeamdei { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Detail { + #[prost(message, tag = "168")] + BirdBallInfo(super::Jijinciihcn), + #[prost(message, tag = "263")] + FilmfestShootingInfo(super::Gbhcoidiijh), + #[prost(message, tag = "716")] + GreatFestivalV2SheetRestoreInfo(super::Kcagnbmdjmh), + #[prost(message, tag = "1009")] + FairyTalesFlyppyHatInfo(super::Ppcnlmmomoe), + } +} +#[derive(proto_gen::CmdID)] +#[cmdid(26643)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bhocpplhbod { + #[prost(uint32, repeated, tag = "7")] + pub himcbbodhcj: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Emfodjeppmk { + #[prost(bool, tag = "4")] + pub eippeiilmdp: bool, + #[prost(uint32, tag = "8")] + pub uid: u32, + #[prost(bool, tag = "9")] + pub hjfopbhakde: bool, + #[prost(uint32, repeated, tag = "10")] + pub cnfodgeooef: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "11")] + pub avatar_id: ::prost::alloc::vec::Vec, + #[prost(string, tag = "12")] + pub bkdilgijpeg: ::prost::alloc::string::String, + #[prost(uint32, repeated, tag = "15")] + pub costume_id: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24456)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kialanhpfbg { + #[prost(uint32, tag = "3")] + pub oboopjlpdni: u32, + #[prost(uint32, repeated, tag = "6")] + pub dobnnmfigih: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "15")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6593)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dmbpkdnoane { + #[prost(bool, tag = "11")] + pub aoghddjpbbj: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26730)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lodpfcafdhb { + #[prost(uint32, tag = "1")] + pub lbclghbmdaf: u32, + #[prost(int32, tag = "4")] + pub retcode: i32, + #[prost(uint32, tag = "13")] + pub kenikecfflm: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8428)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kiokoplcmff {} +#[derive(proto_gen::CmdID)] +#[cmdid(4188)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gnkhhpklbih { + #[prost(uint32, tag = "12")] + pub acohjbclcjd: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27069)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Engilahnbec { + #[prost(bool, tag = "5")] + pub ankcbommojb: bool, + #[prost(enumeration = "Nnlmonnhamd", tag = "10")] + pub reason: i32, + #[prost(uint32, tag = "13")] + pub mpbhhdjjlpe: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25045)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jmlagghikai { + #[prost(int32, tag = "1")] + pub retcode: i32, + #[prost(uint32, tag = "6")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6922)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fmdkjddniib { + #[prost(enumeration = "Himmemhogfb", tag = "12")] + pub mfmlakbiaed: i32, + #[prost(uint64, tag = "14")] + pub dcompdppdpo: u64, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23605)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pkbckhkcnec { + #[prost(uint32, tag = "12")] + pub ahidnmjdejf: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7619)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ighmbjenbji { + #[prost(message, optional, tag = "5")] + pub jblofgolbdg: ::core::option::Option, + #[prost(message, optional, tag = "6")] + pub inenjabakgj: ::core::option::Option, + #[prost(uint32, tag = "11")] + pub ccpigccdboi: u32, + #[prost(enumeration = "Kdjjjaogjfj", tag = "14")] + pub ogbgchojnki: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nfkpknlfiki { + #[prost(uint32, tag = "9")] + pub npoddommlgn: u32, + #[prost(bool, tag = "13")] + pub nnmlhbjdjed: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ddhalcngpnf { + #[prost(uint32, tag = "12")] + pub ladgflmmgba: u32, + #[prost(bool, tag = "13")] + pub nnmlhbjdjed: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28737)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Empepffjnan { + #[prost(bool, tag = "13")] + pub nnfaclkngae: bool, + #[prost(bool, tag = "12")] + pub mpgafimhbja: bool, + #[prost(uint32, tag = "10")] + pub parent_quest_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29307)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dmggaikimgm { + #[prost(int32, tag = "8")] + pub retcode: i32, + #[prost(uint32, repeated, tag = "12")] + pub skill_id: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hffhkkmpbfj { + #[prost(uint32, repeated, tag = "1")] + pub koddemmpdfi: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cpeemmpbkmk { + #[prost(message, repeated, tag = "2")] + pub pigofiofjid: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22421)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kpjgljelmjp { + #[prost(uint32, tag = "1")] + pub acnagipbchp: u32, + #[prost(uint32, tag = "5")] + pub khcdhfjgkad: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21578)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ikinhdefbci {} +#[derive(proto_gen::CmdID)] +#[cmdid(3521)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jimkbejlchf { + #[prost(uint32, tag = "6")] + pub ohkidhnabib: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1770)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gdibhliincn { + #[prost(int32, tag = "3")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ildjcdpgjlc { + #[prost(uint64, tag = "1")] + pub mojeffjpnbn: u64, + #[prost(uint64, tag = "3")] + pub ciiigcjkpoj: u64, + #[prost(uint32, tag = "4")] + pub adocpjafioh: u32, + #[prost(uint32, tag = "5")] + pub cmdnkflfhia: u32, + #[prost(uint32, tag = "9")] + pub lanbakkbbgh: u32, + #[prost(uint32, tag = "14")] + pub hcemimjkcpi: u32, + #[prost(uint32, tag = "15")] + pub dekhbeooien: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6014)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lcangliagca { + #[prost(string, tag = "14")] + pub msg: ::prost::alloc::string::String, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oohiibfcaje { + #[prost(uint32, tag = "3")] + pub cenhkjdffda: u32, + #[prost(bool, tag = "11")] + pub poiggnkedah: bool, + #[prost(uint32, tag = "13")] + pub mcmbofifbcp: u32, + #[prost(uint32, repeated, tag = "14")] + pub jbadgiahpgc: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bmfhahlmpfk { + #[prost(uint32, tag = "2")] + pub uid: u32, + #[prost(string, tag = "5")] + pub bkdilgijpeg: ::prost::alloc::string::String, + #[prost(message, repeated, tag = "9")] + pub bfbomboinpj: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "10")] + pub blfkojlccoo: ::core::option::Option, + #[prost(uint32, tag = "11")] + pub djcfmfedncg: u32, + #[prost(string, tag = "14")] + pub kamjijolfkj: ::prost::alloc::string::String, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1170)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dlenphpkihn { + #[prost(map = "uint32, uint32", tag = "13")] + pub dnjdkhdfhop: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24396)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Deiffhncbef { + #[prost(uint32, repeated, tag = "2")] + pub dnijppkbcbd: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25456)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ijnkemdndbn { + #[prost(uint32, tag = "6")] + pub pbbnhbnapon: u32, + #[prost(uint32, tag = "12")] + pub group_id: u32, + #[prost(uint32, tag = "13")] + pub lgbmbjcjmka: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nhheednholi { + #[prost(bool, tag = "9")] + pub dblpjbbpnic: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kbfbjmpcfhm { + #[prost(message, repeated, tag = "1")] + pub mdpmacocmfb: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "3")] + pub ilhjjfhkbde: u32, + #[prost(uint32, tag = "9")] + pub ljdmbidhpji: u32, + #[prost(map = "uint32, uint32", tag = "11")] + pub hamkmbeihaf: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27426)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Danipckiilg { + #[prost(int32, tag = "3")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2846)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fdookkjeipn {} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fmdngkgcopo { + #[prost(message, optional, tag = "2")] + pub pos: ::core::option::Option, + #[prost(message, optional, tag = "12")] + pub rot: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SceneEntityInfo { + #[prost(enumeration = "ProtEntityType", tag = "1")] + pub entity_type: i32, + #[prost(uint32, tag = "2")] + pub entity_id: u32, + #[prost(string, tag = "3")] + pub name: ::prost::alloc::string::String, + #[prost(message, optional, tag = "4")] + pub motion_info: ::core::option::Option, + #[prost(message, repeated, tag = "5")] + pub prop_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "6")] + pub fight_prop_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "7")] + pub life_state: u32, + #[prost(message, repeated, tag = "9")] + pub animator_para_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "17")] + pub last_move_scene_time_ms: u32, + #[prost(uint32, tag = "18")] + pub last_move_reliable_seq: u32, + #[prost(message, optional, tag = "19")] + pub entity_client_data: ::core::option::Option, + #[prost(message, repeated, tag = "20")] + pub entity_environment_info_list: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "21")] + pub entity_authority_info: ::core::option::Option, + #[prost(string, repeated, tag = "22")] + pub tag_list: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, + #[prost(message, repeated, tag = "23")] + pub server_buff_list: ::prost::alloc::vec::Vec, + #[prost(oneof = "scene_entity_info::Entity", tags = "10, 11, 12, 13")] + pub entity: ::core::option::Option, +} +/// Nested message and enum types in `SceneEntityInfo`. +pub mod scene_entity_info { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Entity { + #[prost(message, tag = "10")] + Avatar(super::SceneAvatarInfo), + #[prost(message, tag = "11")] + Monster(super::SceneMonsterInfo), + #[prost(message, tag = "12")] + Npc(super::SceneNpcInfo), + #[prost(message, tag = "13")] + Gadget(super::SceneGadgetInfo), + } +} +#[derive(proto_gen::CmdID)] +#[cmdid(3396)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ecijedpgkff { + #[prost(uint32, tag = "8")] + pub agloejebcdf: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ademkipfknf { + #[prost(enumeration = "Jmeollkiong", tag = "9")] + pub onnchkcbpmk: i32, + #[prost(uint32, tag = "10")] + pub phnjpmeeibj: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(447)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Egfcjhfhjnd { + #[prost(uint32, tag = "2")] + pub scene_id: u32, + #[prost(message, repeated, tag = "3")] + pub gdfhficjpcj: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "4")] + pub retcode: i32, + #[prost(uint32, repeated, tag = "8")] + pub akclibaijcn: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3785)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ggifcblemnd { + #[prost(enumeration = "Bieolmjpked", tag = "13")] + pub r#type: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3936)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Adcnkcdemce {} +#[derive(proto_gen::CmdID)] +#[cmdid(24811)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ibgccpmchff { + #[prost(map = "uint32, uint32", tag = "14")] + pub onhblidiphk: ::std::collections::HashMap, + #[prost(uint32, tag = "5")] + pub uid: u32, + #[prost(uint32, tag = "2")] + pub khhibkpbkpn: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct StopServerInfo { + #[prost(uint32, tag = "1")] + pub stop_begin_time: u32, + #[prost(uint32, tag = "2")] + pub stop_end_time: u32, + #[prost(string, tag = "3")] + pub url: ::prost::alloc::string::String, + #[prost(string, tag = "4")] + pub content_msg: ::prost::alloc::string::String, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24144)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Alcmaoaeiak { + #[prost(uint32, repeated, tag = "15")] + pub aipamkaahej: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "10")] + pub scene_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27134)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Endomaicplc { + #[prost(uint32, tag = "3")] + pub icjfcaklnfg: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21876)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerForceExitReq {} +#[derive(proto_gen::CmdID)] +#[cmdid(21966)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bepmhfobhin { + #[prost(int32, tag = "9")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Llidcbkbpjh { + #[prost(uint32, tag = "1")] + pub pjjaoilbfbn: u32, + #[prost(uint32, repeated, tag = "5")] + pub jbadgiahpgc: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "8")] + pub poiggnkedah: bool, + #[prost(message, repeated, tag = "11")] + pub cjplonjkcce: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "13")] + pub bknplfikkfg: u32, + #[prost(uint32, tag = "15")] + pub cenhkjdffda: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7539)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aalckdhdoap { + #[prost(message, repeated, tag = "5")] + pub jliandnbcfn: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "10")] + pub retcode: i32, + #[prost(uint32, tag = "13")] + pub khhibkpbkpn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25638)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jnninbpjdle { + #[prost(uint32, tag = "1")] + pub aaopmgielok: u32, + #[prost(uint32, repeated, tag = "2")] + pub cdgfhbkoogn: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "3")] + pub dnijppkbcbd: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "5")] + pub laicdpfdimh: u32, + #[prost(string, tag = "9")] + pub ceelgoogbec: ::prost::alloc::string::String, + #[prost(uint32, tag = "14")] + pub entity_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28429)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pcafgamhfoa { + #[prost(uint32, tag = "8")] + pub team_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Onfleneinob { + #[prost(uint32, repeated, tag = "2")] + pub iplkghdcgfj: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "4")] + pub dmkfeccmcop: u32, + #[prost(bool, tag = "7")] + pub ecihdijcled: bool, + #[prost(bool, tag = "10")] + pub cfhjbflhanh: bool, + #[prost(uint32, tag = "11")] + pub pkkkijalpnm: u32, + #[prost(uint32, tag = "12")] + pub dekhbeooien: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27460)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ohemjfmkocg { + #[prost(int32, tag = "5")] + pub retcode: i32, + #[prost(message, optional, tag = "8")] + pub kjnbdciaenf: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ghflhlfmfpl { + #[prost(uint32, tag = "1")] + pub bbmnomhbkln: u32, + #[prost(uint32, tag = "2")] + pub hogndighhon: u32, + #[prost(uint32, tag = "4")] + pub nhijndjjnpa: u32, + #[prost(uint32, tag = "7")] + pub ebabpeldogg: u32, + #[prost(uint32, tag = "8")] + pub cpkjcanhkmd: u32, + #[prost(uint32, tag = "10")] + pub kmdgcndjpol: u32, + #[prost(uint32, tag = "11")] + pub avatar_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23705)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ickhgjlkena { + #[prost(uint32, tag = "4")] + pub gaplfmmgbfa: u32, + #[prost(uint32, tag = "12")] + pub lbclghbmdaf: u32, + #[prost(int32, tag = "15")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28512)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kilekbkpfpc { + #[prost(uint32, tag = "4")] + pub mempkcgnnmf: u32, + #[prost(int32, tag = "5")] + pub retcode: i32, + #[prost(uint32, tag = "7")] + pub dmnldppgokg: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aofglkpajen { + #[prost(message, repeated, tag = "1")] + pub efidpkhfkee: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "7")] + pub cogcngelhom: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8286)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ekmhpologha { + #[prost(uint64, tag = "6")] + pub dcompdppdpo: u64, + #[prost(bool, tag = "11")] + pub akdgmpmndfc: bool, + #[prost(int32, tag = "14")] + pub retcode: i32, + #[prost(enumeration = "Himmemhogfb", tag = "15")] + pub mfmlakbiaed: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3884)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hoonmeplnan { + #[prost(message, repeated, tag = "2")] + pub ohmgddcbbod: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4940)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fhpphlnhlbh { + #[prost(uint32, repeated, tag = "1")] + pub ijnacjmnojm: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "4")] + pub kanpemecoof: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8137)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Obonbfmoibk { + #[prost(uint32, tag = "2")] + pub pjgfapekfbc: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SceneFishInfo { + #[prost(uint32, tag = "1")] + pub fish_id: u32, + #[prost(uint32, tag = "2")] + pub fish_pool_entity_id: u32, + #[prost(message, optional, tag = "3")] + pub fish_pool_pos: ::core::option::Option, + #[prost(uint32, tag = "4")] + pub fish_pool_gadget_id: u32, + #[prost(uint32, tag = "5")] + pub last_shock_time: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5423)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gnlnkcfehdc { + #[prost(enumeration = "Hbcjgnlbden", tag = "6")] + pub mcdfojkmidb: i32, + #[prost(uint32, tag = "15")] + pub config_id: u32, + #[prost(uint32, tag = "1")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Joeikafcice { + #[prost(bool, tag = "3")] + pub hppmegldgkf: bool, + #[prost(uint32, tag = "5")] + pub count: u32, + #[prost(uint32, tag = "14")] + pub item_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2503)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ahhfdomfcpp { + #[prost(int32, tag = "10")] + pub retcode: i32, + #[prost(uint32, tag = "15")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28198)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kenecbpipgd { + #[prost(map = "uint32, message", tag = "2")] + pub gjpfkocopcp: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4387)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jghobddocgi { + #[prost(int32, tag = "5")] + pub retcode: i32, + #[prost(uint32, tag = "8")] + pub pghgefmpgdc: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3482)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bmembbbepdo { + #[prost(bool, tag = "4")] + pub dmedoehomkh: bool, + #[prost(int32, tag = "8")] + pub retcode: i32, + #[prost(uint32, tag = "9")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25871)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pmoifomgcdf { + #[prost(uint32, tag = "7")] + pub target_uid: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hceiolpklmh {} +#[derive(proto_gen::CmdID)] +#[cmdid(7589)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dabplmckneb { + #[prost(uint32, tag = "2")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22360)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mnhdncleiop { + #[prost(uint32, tag = "4")] + pub fchfakepinp: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27441)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kancmgodpea { + #[prost(int32, tag = "1")] + pub retcode: i32, + #[prost(message, repeated, tag = "5")] + pub hdgejhamanp: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(55)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fmpbfefkamp { + #[prost(uint32, tag = "10")] + pub parent_quest_id: u32, + #[prost(map = "uint32, uint32", tag = "12")] + pub epfngpmmhme: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lpbafodfmia { + #[prost(message, repeated, tag = "12")] + pub cbenkjeocil: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lppgljekmkg { + #[prost(uint32, tag = "1")] + pub hklkmbmgake: u32, + #[prost(uint32, repeated, tag = "14")] + pub apbmoddnkje: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8968)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eooaionopkd { + #[prost(uint64, repeated, tag = "5")] + pub avatar_guid_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "6")] + pub pjjaoilbfbn: u32, + #[prost(uint32, tag = "4")] + pub dmnldppgokg: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23084)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Innmpjfpgcb { + #[prost(uint32, tag = "1")] + pub pghgefmpgdc: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23745)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Papaikojemg { + #[prost(int32, tag = "2")] + pub retcode: i32, + #[prost(message, optional, tag = "6")] + pub eiifhbcbbak: ::core::option::Option, + #[prost(enumeration = "Kckmmddjpce", tag = "14")] + pub phfalpgfgkn: i32, + #[prost(oneof = "papaikojemg::Detail", tags = "13, 15")] + pub detail: ::core::option::Option, +} +/// Nested message and enum types in `PAPAIKOJEMG`. +pub mod papaikojemg { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Detail { + #[prost(uint32, tag = "13")] + ExamId(u32), + #[prost(message, tag = "15")] + TemplatePotionInfo(super::Dofemmfnnng), + } +} +#[derive(proto_gen::CmdID)] +#[cmdid(6121)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ioaojdiablo { + #[prost(int32, tag = "6")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22337)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Njmlhpipdnk { + #[prost(uint32, tag = "1")] + pub omgchbachci: u32, + #[prost(int32, tag = "4")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Icppbdkpnal { + #[prost(uint64, tag = "10")] + pub avatar_id: u64, + #[prost(bool, tag = "11")] + pub dohhenfngpe: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29604)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bpacjmnblan { + #[prost(uint32, tag = "11")] + pub omgchbachci: u32, + #[prost(message, optional, tag = "13")] + pub bepfmdkmfic: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28870)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Klflhnmkicf { + #[prost(uint32, repeated, tag = "9")] + pub ecdaefbojof: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "12")] + pub ndplpgegece: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27971)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ebphonelfcc { + #[prost(message, repeated, tag = "3")] + pub dohiocbemma: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8990)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Obnojebofla { + #[prost(uint32, tag = "1")] + pub pjjaoilbfbn: u32, + #[prost(int32, tag = "8")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25745)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Coaakmcjmad { + #[prost(message, optional, tag = "3")] + pub next_res_version_config: ::core::option::Option, + #[prost(string, tag = "11")] + pub next_resource_url: ::prost::alloc::string::String, + #[prost(int32, tag = "15")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23563)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ijfpfjbnpna { + #[prost(uint32, tag = "4")] + pub khhibkpbkpn: u32, + #[prost(int32, tag = "5")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ibjnmadiopc { + #[prost(uint32, tag = "1")] + pub scene_id: u32, + #[prost(string, tag = "2")] + pub name: ::prost::alloc::string::String, + #[prost(message, optional, tag = "3")] + pub pos: ::core::option::Option, + #[prost(enumeration = "Lfieakhooal", tag = "4")] + pub nhjcmjjbegp: i32, + #[prost(uint32, tag = "5")] + pub monster_id: u32, + #[prost(enumeration = "Gohambnlbdi", tag = "6")] + pub ligfllbndlm: i32, + #[prost(uint32, tag = "7")] + pub kenikecfflm: u32, + #[prost(uint32, tag = "8")] + pub agienjjkpbe: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4620)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pjgkeakacjk { + #[prost(int32, tag = "1")] + pub retcode: i32, + #[prost(uint32, tag = "2")] + pub nfjohaldgdn: u32, + #[prost(uint32, tag = "3")] + pub jgihcibojpn: u32, + #[prost(uint64, tag = "7")] + pub avatar_guid: u64, + #[prost(uint32, tag = "14")] + pub jmlppgefbpf: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8769)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kcpcicidpca { + #[prost(bool, tag = "2")] + pub is_focus: bool, + #[prost(int32, tag = "4")] + pub retcode: i32, + #[prost(uint64, tag = "5")] + pub avatar_guid: u64, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8339)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aagpedkblep { + #[prost(uint32, tag = "1")] + pub target_uid: u32, + #[prost(int32, tag = "13")] + pub retcode: i32, + #[prost(message, optional, tag = "15")] + pub glmklipeldi: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PropValue { + #[prost(uint32, tag = "1")] + pub r#type: u32, + #[prost(int64, tag = "4")] + pub val: i64, + #[prost(oneof = "prop_value::Value", tags = "2, 3")] + pub value: ::core::option::Option, +} +/// Nested message and enum types in `PropValue`. +pub mod prop_value { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Value { + #[prost(int64, tag = "2")] + Ival(i64), + #[prost(float, tag = "3")] + Fval(f32), + } +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jijinciihcn { + #[prost(uint32, tag = "1")] + pub dekhbeooien: u32, + #[prost(uint32, tag = "4")] + pub ehnijbnnhkd: u32, + #[prost(bool, tag = "6")] + pub dggckmikbmo: bool, + #[prost(uint32, tag = "7")] + pub pgknjbimiej: u32, + #[prost(uint32, tag = "8")] + pub fjhhikoihka: u32, + #[prost(bool, tag = "9")] + pub hkdhoncfgoj: bool, + #[prost(uint32, tag = "11")] + pub ohhpffamheh: u32, + #[prost(message, repeated, tag = "13")] + pub kafokippiap: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "14")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9181)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Foblmafnjfh {} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Laojlgmbaee { + #[prost(uint32, repeated, tag = "11")] + pub bfbomboinpj: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8553)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ljcilffjppb { + #[prost(uint64, tag = "13")] + pub gedmdocolfj: u64, + #[prost(int32, tag = "14")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ioghhfjjkpg { + #[prost(bool, tag = "3")] + pub ecihdijcled: bool, + #[prost(uint32, tag = "6")] + pub pjjaoilbfbn: u32, + #[prost(uint32, tag = "8")] + pub peajinifghm: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(267)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Imoomjnpeeo { + #[prost(message, repeated, tag = "6")] + pub item_list: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "8")] + pub retcode: i32, + #[prost(uint32, repeated, tag = "14")] + pub hljohdkcbjm: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aiplpdiijbp { + #[prost(uint32, tag = "2")] + pub hihdbbmpioa: u32, + #[prost(map = "uint64, uint32", tag = "3")] + pub hgfplekfend: ::std::collections::HashMap, + #[prost(uint64, tag = "5")] + pub njcbgpiikhe: u64, + #[prost(message, repeated, tag = "6")] + pub ocfklknflgp: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "7")] + pub pamhiikdcma: u32, + #[prost(uint32, tag = "8")] + pub jbmlhdfkchp: u32, + #[prost(uint32, tag = "9")] + pub fddengblehn: u32, + #[prost(uint64, tag = "10")] + pub iboddlmfnlb: u64, + #[prost(uint32, repeated, tag = "11")] + pub goajdhhkeee: ::prost::alloc::vec::Vec, + #[prost(map = "uint64, uint32", tag = "14")] + pub ndippbaibph: ::std::collections::HashMap, + #[prost(uint32, tag = "15")] + pub lmemhmnpmpf: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6716)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jbfefbecpfh { + #[prost(uint32, repeated, tag = "5")] + pub fikgdofabee: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "7")] + pub uid: u32, + #[prost(uint32, repeated, tag = "11")] + pub ieaopminpen: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5471)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lbmkgdjndae { + #[prost(uint64, tag = "11")] + pub avatar_guid: u64, + #[prost(uint32, tag = "8")] + pub bifofbnfpmo: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20190)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aenidjldglh { + #[prost(enumeration = "Hbcjgnlbden", tag = "6")] + pub mcdfojkmidb: i32, + #[prost(uint32, tag = "2")] + pub pjjaoilbfbn: u32, + #[prost(uint32, tag = "1")] + pub config_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8091)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerEnterSceneNotify { + #[prost(uint32, repeated, tag = "1")] + pub scene_tag_id_list: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "2")] + pub pos: ::core::option::Option, + #[prost(uint32, tag = "3")] + pub obfcjpojmom: u32, + #[prost(uint32, tag = "4")] + pub target_uid: u32, + #[prost(enumeration = "EnterType", tag = "7")] + pub r#type: i32, + #[prost(uint32, tag = "8")] + pub enter_scene_token: u32, + #[prost(uint64, tag = "9")] + pub scene_begin_time: u64, + #[prost(bool, tag = "11")] + pub jdngepmpfoh: bool, + #[prost(uint32, tag = "12")] + pub gaplfmmgbfa: u32, + #[prost(uint32, tag = "13")] + pub scene_id: u32, + #[prost(message, optional, tag = "14")] + pub mbfonblmnbl: ::core::option::Option, + #[prost(uint32, tag = "15")] + pub gpjhaeemcbk: u32, + #[prost(message, optional, tag = "24")] + pub bfpgbndfgbo: ::core::option::Option, + #[prost(uint32, tag = "172")] + pub aljnjkpmopb: u32, + #[prost(message, optional, tag = "439")] + pub dfndkdafejo: ::core::option::Option, + #[prost(uint32, tag = "722")] + pub ekibacgbhcj: u32, + #[prost(uint32, tag = "819")] + pub ddgbkgdecme: u32, + #[prost(message, optional, tag = "1098")] + pub kmdlmkgjihh: ::core::option::Option, + #[prost(bool, tag = "1249")] + pub gbhgablfdme: bool, + #[prost(uint32, tag = "1461")] + pub kdhndlankni: u32, + #[prost(uint32, tag = "1512")] + pub okcagdndejn: u32, + #[prost(string, tag = "1559")] + pub scene_transaction: ::prost::alloc::string::String, + #[prost(message, optional, tag = "1754")] + pub galjcimkfch: ::core::option::Option, + #[prost(uint32, tag = "1756")] + pub kkladmflaoe: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27922)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mpopihboekm { + #[prost(uint32, repeated, tag = "9")] + pub pgdaobfgkoj: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "12")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3308)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hjcfkhbljlp { + #[prost(uint32, tag = "13")] + pub iidhpkefhpm: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Knajkflbflp { + #[prost(uint32, tag = "1")] + pub state: u32, + #[prost(uint32, tag = "2")] + pub jkhigmkcbhp: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5281)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ackplllfbic { + #[prost(bool, tag = "10")] + pub iknbinfmiid: bool, + #[prost(bool, tag = "12")] + pub piockldlcjd: bool, + #[prost(uint32, tag = "14")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jojdjopieag { + #[prost(bool, tag = "8")] + pub bakhlpgcimd: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(621)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jpbnfohalgc { + #[prost(bool, tag = "6")] + pub gclfhjekbon: bool, + #[prost(message, repeated, tag = "7")] + pub region_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gieecoicpgl { + #[prost(uint32, tag = "5")] + pub uid: u32, + #[prost(message, repeated, tag = "15")] + pub fmihgnhgndm: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9315)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hpjmkebgmae {} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Adhbmblcbog { + #[prost(message, optional, tag = "3")] + pub abpjibdjipa: ::core::option::Option, + #[prost(message, repeated, tag = "10")] + pub eelabiblbia: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21677)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bpdpaebnkig { + #[prost(uint32, tag = "5")] + pub parent_quest_id: u32, + #[prost(message, repeated, tag = "12")] + pub ebjeadiigig: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20054)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ghpknlolbgl { + #[prost(uint32, tag = "13")] + pub nhakdoloeka: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8793)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gajnbkeckcp { + #[prost(message, optional, tag = "1")] + pub rot: ::core::option::Option, + #[prost(bool, tag = "8")] + pub ngofdmbiilf: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cnchgnjihbk { + #[prost(message, optional, tag = "1")] + pub ccnnjmkemlc: ::core::option::Option, + #[prost(float, tag = "2")] + pub fncogclpgnc: f32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29540)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Henkjjcghlk { + #[prost(uint32, tag = "2")] + pub cjmhjhijmjn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3466)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Akfdkdkfmkd { + #[prost(uint32, tag = "11")] + pub ocnjnmhllhi: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4088)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cpjbhkibpii { + #[prost(message, repeated, tag = "3")] + pub geeidcbpoce: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "5")] + pub ldnkabndpbg: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Phpjijiehee { + #[prost(message, repeated, tag = "3")] + pub pigofiofjid: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nigeelgppgh { + #[prost(uint32, tag = "10")] + pub egilpllmlho: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4635)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jnnodclpide { + #[prost(message, repeated, tag = "5")] + pub appmhmkgcof: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mjbnlakaiad { + #[prost(message, optional, tag = "1")] + pub pglajfafgai: ::core::option::Option, + #[prost(bool, tag = "5")] + pub jpinaohpbbk: bool, + #[prost(message, repeated, tag = "7")] + pub oplajnckefn: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "12")] + pub dphdagagbii: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hhpedipldlb { + #[prost(uint64, tag = "2")] + pub ceaocnkhnoe: u64, + #[prost(uint32, tag = "10")] + pub bohfcfcmbkd: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20068)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ehldemcogfd { + #[prost(bool, tag = "3")] + pub jdhmnkimoag: bool, + #[prost(bool, tag = "12")] + pub hghcabacdpl: bool, + #[prost(int32, tag = "14")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bapabnfmoic { + #[prost(uint32, tag = "3")] + pub ldkgglbbjge: u32, + #[prost(bool, tag = "12")] + pub dmedoehomkh: bool, + #[prost(uint32, tag = "13")] + pub pphplchinjo: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aehkdmfhnop { + #[prost(uint32, tag = "3")] + pub monster_id: u32, + #[prost(uint32, repeated, tag = "6")] + pub affix_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "10")] + pub level: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Figcmddmdgf { + #[prost(string, tag = "1")] + pub fjgjagcecjg: ::prost::alloc::string::String, + #[prost(bool, tag = "3")] + pub cgjoghablff: bool, + #[prost(float, tag = "4")] + pub nkcjicgiodo: f32, + #[prost(uint32, tag = "5")] + pub entity_id: u32, + #[prost(float, tag = "9")] + pub speed: f32, + #[prost(message, optional, tag = "10")] + pub iaknhjgcpgl: ::core::option::Option, + #[prost(float, tag = "11")] + pub feppdomopld: f32, + #[prost(bool, tag = "12")] + pub dcmiecgogpb: bool, + #[prost(int32, tag = "13")] + pub pdlkmpbkane: i32, + #[prost(uint32, repeated, tag = "14")] + pub lncigfcjcaa: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24049)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eeppnomecki { + #[prost(int32, tag = "8")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Flhcnjgdnha { + #[prost(message, repeated, tag = "8")] + pub cbenkjeocil: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pejpkebbdni {} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bamgkbjngip { + #[prost(message, repeated, tag = "11")] + pub mcggijfgnfh: ::prost::alloc::vec::Vec, + #[prost(map = "uint32, message", tag = "12")] + pub hdhfopehioo: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Egjjdihliko { + #[prost(uint32, tag = "1")] + pub nnaalgjoaio: u32, + #[prost(uint32, tag = "2")] + pub fhcgkpipcic: u32, + #[prost(uint32, repeated, tag = "7")] + pub buff_id_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "8")] + pub cebikbgojjn: u32, + #[prost(string, tag = "10")] + pub heamlfeclnd: ::prost::alloc::string::String, + #[prost(uint32, tag = "11")] + pub jjemkpefdac: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bffpjgkioil { + #[prost(message, repeated, tag = "9")] + pub cbenkjeocil: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mdoijnamchi { + #[prost(uint32, tag = "1")] + pub fbpgimlmdnj: u32, + #[prost(uint32, tag = "4")] + pub pjnojdoaaip: u32, + #[prost(uint32, tag = "5")] + pub mihmgcojgob: u32, + #[prost(uint32, tag = "9")] + pub kdknoocoebm: u32, + #[prost(uint32, tag = "10")] + pub phpfppidjkj: u32, + #[prost(enumeration = "Ihacnpjbldi", tag = "12")] + pub hcdbekjpngd: i32, + #[prost(uint32, tag = "15")] + pub lgooidciaag: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SceneNpcInfo { + #[prost(uint32, tag = "1")] + pub npc_id: u32, + #[prost(uint32, tag = "2")] + pub room_id: u32, + #[prost(uint32, tag = "3")] + pub parent_quest_id: u32, + #[prost(uint32, tag = "4")] + pub block_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2686)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nnmfkienmgl { + #[prost(int32, tag = "1")] + pub retcode: i32, + #[prost(enumeration = "Mbmckhfkokf", tag = "5")] + pub akaecgkdaek: i32, + #[prost(uint32, tag = "8")] + pub omccjjohdoi: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2039)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Komjkaobpni { + #[prost(int32, tag = "12")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6993)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hcbpnbbikag { + #[prost(int32, tag = "6")] + pub retcode: i32, + #[prost(message, repeated, tag = "12")] + pub aphkopalnlj: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jbabookfogn { + #[prost(uint32, repeated, tag = "2")] + pub oigllhajnfg: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "9")] + pub hbgmiloaklk: u32, + #[prost(uint32, tag = "11")] + pub fbmcnpillbh: u32, + #[prost(fixed32, tag = "14")] + pub end_time: u32, + #[prost(enumeration = "Lgcbogajdfb", tag = "15")] + pub gfcfcmaccnc: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iikgbjdldjl { + #[prost(uint32, tag = "7")] + pub config_id: u32, + #[prost(oneof = "iikgbjdldjl::Adebpdlaojp", tags = "1, 2, 4, 5, 15, 1974")] + pub adebpdlaojp: ::core::option::Option, +} +/// Nested message and enum types in `IIKGBJDLDJL`. +pub mod iikgbjdldjl { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Adebpdlaojp { + #[prost(message, tag = "1")] + ChangeGadgetState(super::Cmaoknpacfh), + #[prost(message, tag = "2")] + DeactiveGadget(super::Fgeenjnkegb), + #[prost(message, tag = "4")] + ActiveMonsterWave(super::Khbjihjoeom), + #[prost(message, tag = "5")] + ActiveMonsterGroup(super::Kcjebliehlm), + #[prost(message, tag = "15")] + ActiveGadget(super::Bojambjmcnp), + #[prost(message, tag = "1974")] + DeactiveMonsterWaveCurrentGroup(super::Nigeelgppgh), + } +} +#[derive(proto_gen::CmdID)] +#[cmdid(21291)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Olhlnojgpkg { + #[prost(bool, tag = "1")] + pub gjpeomabhgf: bool, + #[prost(bool, tag = "14")] + pub inbenefpkmk: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6597)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jikmigjjcee {} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nplnegaklni { + #[prost(message, optional, tag = "1")] + pub rot: ::core::option::Option, + #[prost(message, optional, tag = "5")] + pub pos: ::core::option::Option, + #[prost(uint32, tag = "12")] + pub room_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24132)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pmaglnmlpfd { + #[prost(int32, tag = "14")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6507)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ikbncihjohj { + #[prost(bool, tag = "5")] + pub nfnlokmpili: bool, + #[prost(uint32, tag = "7")] + pub jchhllebmja: u32, + #[prost(int32, tag = "14")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4312)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hocaeapgjib { + #[prost(uint32, tag = "3")] + pub iehlhaogkpj: u32, + #[prost(bool, tag = "11")] + pub kcmjhjeomoa: bool, + #[prost(uint32, tag = "15")] + pub bpkbdcjgfol: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24793)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jncjmidegao { + #[prost(uint32, tag = "3")] + pub gcoahedllka: u32, + #[prost(bool, tag = "5")] + pub gnennchgpda: bool, + #[prost(uint32, tag = "8")] + pub dllbkeeoean: u32, + #[prost(uint32, tag = "11")] + pub ihpmbbejajp: u32, + #[prost(uint32, tag = "15")] + pub gbcebgkbjdm: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ipfjmbgnaio { + #[prost(string, tag = "1")] + pub bmljclenhmh: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub llgjemmhion: ::prost::alloc::string::String, + #[prost(uint32, tag = "3")] + pub cbmfbkaicap: u32, + #[prost(uint32, tag = "4")] + pub eiklgfnefmf: u32, + #[prost(uint32, tag = "5")] + pub ekkfajjdnkb: u32, + #[prost(uint32, tag = "6")] + pub hhhbnhdnlfe: u32, + #[prost(uint32, tag = "7")] + pub lemmfogkhfn: u32, + #[prost(oneof = "ipfjmbgnaio::Hlaofkpengi", tags = "101")] + pub hlaofkpengi: ::core::option::Option, +} +/// Nested message and enum types in `IPFJMBGNAIO`. +pub mod ipfjmbgnaio { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Hlaofkpengi { + #[prost(message, tag = "101")] + ResinCard(super::Giechebdejh), + } +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Giechebdejh { + #[prost(message, repeated, tag = "1")] + pub ggkclffjhjd: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "2")] + pub hgbiiohgmmd: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Onkijklnahe { + #[prost(message, repeated, tag = "1")] + pub ogamdmanafo: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "2")] + pub lmjnokajeki: u32, + #[prost(float, tag = "3")] + pub ocoplkhnhel: f32, + #[prost(uint32, tag = "4")] + pub gpmpaegbeje: u32, + #[prost(float, tag = "5")] + pub llgkenmienl: f32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(311)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jmcknhaegkp { + #[prost(bool, tag = "8")] + pub is_add: bool, + #[prost(uint32, repeated, tag = "13")] + pub mkfgfgehlpi: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27671)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dmopdolebpd { + #[prost(uint32, tag = "1")] + pub prop_type: u32, + #[prost(enumeration = "Bnmoikfjfaj", tag = "2")] + pub aldjefgcbfm: i32, + #[prost(uint32, repeated, tag = "5")] + pub cdgfhbkoogn: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "6")] + pub gobchdjolnb: ::core::option::Option, + #[prost(enumeration = "Bnnpldljknj", tag = "7")] + pub kabmkdfcgik: i32, + #[prost(enumeration = "Mjihakkdbnn", tag = "8")] + pub dbhpnlfkjgl: i32, + #[prost(float, tag = "10")] + pub edhbecmmhjc: f32, + #[prost(enumeration = "Bbbemdapogh", tag = "11")] + pub reason: i32, + #[prost(float, tag = "12")] + pub nnfoneohghe: f32, + #[prost(uint32, tag = "15")] + pub entity_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29199)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bhpokejhdfm { + #[prost(bool, tag = "2")] + pub ankcbommojb: bool, + #[prost(uint32, tag = "7")] + pub pjjaoilbfbn: u32, + #[prost(uint32, tag = "10")] + pub jofbeiaclof: u32, + #[prost(bool, tag = "11")] + pub dggckmikbmo: bool, + #[prost(uint32, tag = "13")] + pub ljejebelkmj: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24099)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iedcicfgcnn { + #[prost(message, optional, tag = "2")] + pub jenfdhkcmml: ::core::option::Option, + #[prost(int32, tag = "6")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fllfbmehbij { + #[prost(uint32, tag = "4")] + pub ogpmhoecddj: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hencecbjihj { + #[prost(uint32, tag = "7")] + pub avatar_id: u32, + #[prost(bool, tag = "12")] + pub hblihlkjeda: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4550)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gceigknapdc { + #[prost(uint32, tag = "1")] + pub omgchbachci: u32, + #[prost(map = "uint32, uint32", tag = "13")] + pub eagdogklfcf: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4937)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gnohhbaafjf { + #[prost(uint32, tag = "7")] + pub bbfplmbggjp: u32, + #[prost(bool, tag = "8")] + pub hlajmgapkij: bool, + #[prost(message, optional, tag = "12")] + pub dejoimafmck: ::core::option::Option, + #[prost(message, optional, tag = "15")] + pub pgkedialloa: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3379)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Edcocoaclff { + #[prost(int32, tag = "6")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1483)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Paokloepdha { + #[prost(int32, tag = "3")] + pub retcode: i32, + #[prost(message, repeated, tag = "14")] + pub cjgofffhdco: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ldnkdldiicd { + #[prost(uint32, tag = "5")] + pub peblohahpmm: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ljedifpdafn { + #[prost(uint32, tag = "2")] + pub nipaakapgag: u32, + #[prost(uint32, tag = "4")] + pub kigfpeikeio: u32, + #[prost(uint32, tag = "7")] + pub pdpnhmehbic: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25296)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ekmdoocjehn {} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mihcoabpjni {} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bcfobcaialk { + #[prost(message, repeated, tag = "2")] + pub gpkgfemnkon: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "4")] + pub dfbcgfmohfp: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "6")] + pub fdocmgobdnd: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "8")] + pub njmnnmcdmik: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "9")] + pub icgpacelhon: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "12")] + pub jfpdolnlehb: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "13")] + pub ojjchodachd: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2372)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ankjlckginh { + #[prost(int32, tag = "2")] + pub retcode: i32, + #[prost(message, repeated, tag = "9")] + pub fdmgpmkglcd: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5738)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Icnmcmoollp { + #[prost(int32, tag = "12")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3463)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ojmpaaiepjo { + #[prost(uint32, tag = "1")] + pub entity_id: u32, + #[prost(uint32, tag = "4")] + pub okicoglejec: u32, + #[prost(enumeration = "Eicnfjmdenp", tag = "8")] + pub coeagpihlhh: i32, + #[prost(message, optional, tag = "12")] + pub pos: ::core::option::Option, + #[prost(message, optional, tag = "15")] + pub rot: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3646)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bhhgdcfpfmi { + #[prost(enumeration = "Gmbpglnggli", tag = "3")] + pub ipobdekllje: i32, + #[prost(enumeration = "Noipnepdipn", tag = "5")] + pub epcbaobgodi: i32, + #[prost(message, optional, tag = "7")] + pub jilfekjaimc: ::core::option::Option, + #[prost(uint32, repeated, tag = "15")] + pub mbjelcmkflh: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ahgaggngbbm { + #[prost(message, repeated, tag = "6")] + pub cbenkjeocil: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "13")] + pub idehoepmakd: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Idojncgghak { + #[prost(message, optional, tag = "2")] + pub bokhjookahc: ::core::option::Option, + #[prost(int32, tag = "7")] + pub foecapjdakj: i32, + #[prost(message, optional, tag = "10")] + pub gpbnffjbomn: ::core::option::Option, + #[prost(message, optional, tag = "12")] + pub ccnnjmkemlc: ::core::option::Option, + #[prost(enumeration = "Epnikabpigp", tag = "15")] + pub jpioceplhcm: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cihbkdlceil { + #[prost(uint32, tag = "1")] + pub bkclmicechc: u32, + #[prost(bool, tag = "4")] + pub pphaobldfcf: bool, + #[prost(uint32, repeated, tag = "15")] + pub ijhcmcfacbi: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kciopeiokbb { + #[prost(uint32, tag = "3")] + pub nidijfnmpmi: u32, + #[prost(uint32, tag = "5")] + pub ikghabpnmjc: u32, + #[prost(uint32, tag = "8")] + pub group_id: u32, + #[prost(uint32, tag = "9")] + pub config_id: u32, + #[prost(uint32, tag = "15")] + pub bgofjcdmegm: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lpojmbghhbj { + #[prost(uint32, repeated, tag = "4")] + pub ilcgedomomo: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "14")] + pub ebnnlfnjgpe: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Chmhiacppde { + #[prost(float, tag = "14")] + pub kmamahcapee: f32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28347)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Emognfionfj { + #[prost(uint32, tag = "3")] + pub avatar_id: u32, + #[prost(uint32, tag = "14")] + pub r#type: u32, + #[prost( + oneof = "emognfionfj::Detail", + tags = "1620, 1431, 197, 909, 1871, 1499, 1514" + )] + pub detail: ::core::option::Option, +} +/// Nested message and enum types in `EMOGNFIONFJ`. +pub mod emognfionfj { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Detail { + #[prost(message, tag = "1620")] + ElementReliquarySetRequest(super::Ldnkdldiicd), + #[prost(message, tag = "1431")] + ElementWeaponRequest(super::Nmhlbngkmpm), + #[prost(message, tag = "197")] + ReliquarySetRequest(super::Acbclkofkdj), + #[prost(message, tag = "909")] + ReliquaryRequest(super::Afakiiojani), + #[prost(message, tag = "1871")] + WeaponRequest(super::Mmenhikocmf), + #[prost(message, tag = "1499")] + SkillRequest(super::Dfbalngnhfa), + #[prost(message, tag = "1514")] + ElementReliquaryRequest(super::Cjnkamcmnpf), + } +} +#[derive(proto_gen::CmdID)] +#[cmdid(27373)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dbfcjfafggc { + #[prost(message, repeated, tag = "7")] + pub hogfdpaofom: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "10")] + pub entity_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29091)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cfeemmjkbdb { + #[prost(enumeration = "Djpkemoickc", tag = "9")] + pub reason: i32, + #[prost(uint32, tag = "11")] + pub player_uid: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6464)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lfkpgcigced { + #[prost(bool, tag = "2")] + pub pmgaholeknf: bool, + #[prost(uint32, tag = "3")] + pub neipflioolk: u32, + #[prost(message, repeated, tag = "13")] + pub jiphaoflhch: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4484)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ieekdknomeb { + #[prost(int32, tag = "9")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6019)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bgegpkolfid { + #[prost(message, repeated, tag = "15")] + pub cgkfmgmiojb: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7348)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lcjleagcimi { + #[prost(uint32, tag = "11")] + pub omgchbachci: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6657)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pkdhibjpjpc { + #[prost(int32, tag = "4")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(200)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hnacbmifkcm { + #[prost(uint32, tag = "6")] + pub ndehkhcalmf: u32, + #[prost(uint32, tag = "8")] + pub param: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22612)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pnbmljpipgp { + #[prost(uint32, tag = "7")] + pub target_uid: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27973)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jhlmfokejak { + #[prost(uint32, tag = "1")] + pub pjjaoilbfbn: u32, + #[prost(int32, tag = "6")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20688)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fkbchbncapi { + #[prost(message, repeated, tag = "3")] + pub enjkoofdnio: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "4")] + pub eefmhkemfej: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ghkkiibipdj { + #[prost(uint32, tag = "3")] + pub kfjipmfkjna: u32, + #[prost(uint32, repeated, tag = "8")] + pub fikgdofabee: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Amnbijhobbi { + #[prost(uint32, tag = "2")] + pub uid: u32, + #[prost(message, repeated, tag = "3")] + pub bfbomboinpj: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "5")] + pub djcfmfedncg: u32, + #[prost(string, tag = "10")] + pub bkdilgijpeg: ::prost::alloc::string::String, + #[prost(string, tag = "11")] + pub kamjijolfkj: ::prost::alloc::string::String, + #[prost(message, optional, tag = "13")] + pub blfkojlccoo: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Epfhmonljoh { + #[prost(uint32, tag = "4")] + pub dflidlnnogo: u32, + #[prost(bool, tag = "9")] + pub dphdagagbii: bool, + #[prost(uint32, tag = "11")] + pub afjclenhanc: u32, + #[prost(uint32, tag = "13")] + pub gbgocpcehmh: u32, + #[prost(message, repeated, tag = "14")] + pub oopopjofcgm: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "15")] + pub fbkghiopene: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(495)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ihjnagekkph { + #[prost(message, repeated, tag = "8")] + pub npfglajlhil: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "4")] + pub kkfhbldeaba: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(163)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jdbohbdmaga { + #[prost(uint32, tag = "3")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lieinhahjea { + #[prost(uint32, tag = "1")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8806)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ifgkmhlinip { + #[prost(uint32, tag = "2")] + pub kenikecfflm: u32, + #[prost(uint32, repeated, tag = "14")] + pub mlhfbafckip: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aokfcphjceh { + #[prost(uint32, tag = "1")] + pub gbamhbbfpkn: u32, + #[prost(uint32, tag = "4")] + pub avatar_id: u32, + #[prost(uint32, tag = "6")] + pub hepabnmgeda: u32, + #[prost(uint32, tag = "8")] + pub guid: u32, + #[prost(uint32, tag = "11")] + pub fiknlhojfkl: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23151)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ccnhmifhggf {} +#[derive(proto_gen::CmdID)] +#[cmdid(9993)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cgolgkicikk { + #[prost(int32, tag = "1")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22522)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kbaeiddgkol { + #[prost(uint32, tag = "10")] + pub group_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(54)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ogllkmpdhaf { + #[prost(uint32, tag = "4")] + pub gaplfmmgbfa: u32, + #[prost(int32, tag = "6")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28324)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lnpmcefifgd { + #[prost(int32, tag = "9")] + pub retcode: i32, + #[prost(uint32, tag = "11")] + pub oboopjlpdni: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Opikhaiokbb { + #[prost(uint32, tag = "1")] + pub avatar_id: u32, + #[prost(uint32, tag = "2")] + pub level: u32, + #[prost(uint32, tag = "3")] + pub costume_id: u32, + #[prost(uint32, tag = "4")] + pub aepnhmcdbfl: u32, + #[prost(uint32, tag = "5")] + pub cmafekgpacg: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Minompgflei { + #[prost(uint32, tag = "7")] + pub degakeklgem: u32, + #[prost(uint32, repeated, tag = "8")] + pub peebehmccbb: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "10")] + pub ecihdijcled: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Felddalafpe { + #[prost(enumeration = "Bkkkfljbpmi", tag = "1")] + pub state: i32, + #[prost(uint32, tag = "3")] + pub geihmkhcije: u32, + #[prost(uint32, tag = "5")] + pub ilpjbepjdlp: u32, + #[prost(uint32, tag = "11")] + pub oboopjlpdni: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9766)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bijffmpiifb { + #[prost(uint32, tag = "7")] + pub eaflfgdfphc: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Item { + #[prost(uint32, tag = "1")] + pub item_id: u32, + #[prost(uint64, tag = "2")] + pub guid: u64, + #[prost(oneof = "item::Detail", tags = "5, 6, 7")] + pub detail: ::core::option::Option, +} +/// Nested message and enum types in `Item`. +pub mod item { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Detail { + #[prost(message, tag = "5")] + Material(super::Material), + #[prost(message, tag = "6")] + Equip(super::Equip), + #[prost(message, tag = "7")] + Furniture(super::Furniture), + } +} +#[derive(proto_gen::CmdID)] +#[cmdid(20528)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jgcijdoknmf { + #[prost(uint32, tag = "2")] + pub afpkljbmobb: u32, + #[prost(bool, tag = "7")] + pub ecihdijcled: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9980)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dedommbmdco { + #[prost(uint32, tag = "7")] + pub onabdgfcpih: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21110)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fbjcpafbfdp {} +#[derive(proto_gen::CmdID)] +#[cmdid(5380)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mlikiaihjdm {} +#[derive(proto_gen::CmdID)] +#[cmdid(6099)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eefmombkcij { + #[prost(uint32, tag = "8")] + pub kfpegnaadlo: u32, + #[prost(int32, tag = "10")] + pub retcode: i32, + #[prost(uint32, tag = "12")] + pub gaplfmmgbfa: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6124)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mnmiifmhfhp { + #[prost(message, repeated, tag = "1")] + pub nhbiflefbeb: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "8")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23291)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ebjejflkjhk { + #[prost(bool, tag = "5")] + pub fdgoboihcbp: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(667)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cnognidjgmg { + #[prost(message, repeated, tag = "2")] + pub baofgoakgan: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29865)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ilkjaagflah { + #[prost(int32, tag = "5")] + pub retcode: i32, + #[prost(uint32, tag = "11")] + pub pjjaoilbfbn: u32, + #[prost(bool, tag = "14")] + pub bdgphdbflkm: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hhmaobjbidh { + #[prost(uint32, repeated, tag = "12")] + pub jhlpnkebina: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "14")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28999)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nopcmmbliod { + #[prost(uint32, tag = "7")] + pub padclipinad: u32, + #[prost(uint32, tag = "10")] + pub game_time: u32, + #[prost(bool, tag = "2")] + pub hdcglelhabn: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pcgcnlcjmfd { + #[prost(uint32, tag = "5")] + pub end_time: u32, + #[prost(uint32, tag = "11")] + pub kpampgdjdhe: u32, + #[prost(uint32, tag = "12")] + pub pkhodhipjbb: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1030)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lmjbndgoiio { + #[prost(uint64, tag = "13")] + pub avatar_guid: u64, + #[prost(uint32, tag = "12")] + pub promote_level: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oplkooibkbp { + #[prost(message, repeated, tag = "1")] + pub pfggigkagmb: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "5")] + pub dgeakofngdn: u32, + #[prost(uint32, tag = "6")] + pub eopffipdkgn: u32, + #[prost(message, repeated, tag = "8")] + pub hhgglfaikfo: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "10")] + pub gabljanjlaf: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "12")] + pub djhfjffkppl: u32, + #[prost(uint32, tag = "13")] + pub gghkdjlgfpb: u32, + #[prost(message, repeated, tag = "14")] + pub jhpikakigba: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "15")] + pub fkhohkelkoe: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27944)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gaefmmfaldp { + #[prost(message, repeated, tag = "1")] + pub cdgfhbkoogn: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "13")] + pub jofhnoemekc: bool, + #[prost(enumeration = "Himmemhogfb", tag = "9")] + pub mfmlakbiaed: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27965)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hcmecbembkd { + #[prost(uint32, tag = "5")] + pub okicoglejec: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kgohffichla { + #[prost(uint32, repeated, tag = "1")] + pub lpajhegaggf: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "2")] + pub ickglanngem: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "3")] + pub anlmmkppaaj: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "4")] + pub kahlkipakif: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "5")] + pub knmakhmlknp: bool, + #[prost(bool, tag = "6")] + pub hbdpdojlcia: bool, + #[prost(bool, tag = "7")] + pub ehjkleobdol: bool, + #[prost(uint32, repeated, tag = "8")] + pub hcfciioklkb: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "9")] + pub cnnfgppidaf: u32, + #[prost(message, optional, tag = "10")] + pub ejegddbplkg: ::core::option::Option, + #[prost(bool, tag = "11")] + pub fiehbpmebni: bool, + #[prost(map = "uint32, bool", tag = "12")] + pub fmdigckifdf: ::std::collections::HashMap, + #[prost(uint32, tag = "13")] + pub cbmemiojbgh: u32, + #[prost(bool, tag = "14")] + pub eijclnncidh: bool, + #[prost(uint32, tag = "15")] + pub kkfhbldeaba: u32, + #[prost(uint32, repeated, tag = "155")] + pub khbngaihnjb: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "573")] + pub ihmplcmngei: u32, + #[prost(bool, tag = "1481")] + pub golonakegho: bool, + #[prost(uint32, tag = "1739")] + pub minfkilgjle: u32, + #[prost(bool, tag = "1811")] + pub jcljifocabi: bool, + #[prost(bool, tag = "1843")] + pub fbfjffgdkeh: bool, + #[prost(uint32, tag = "1880")] + pub nobegfabgil: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23648)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Elgopnfbibj { + #[prost(uint32, tag = "6")] + pub onabdgfcpih: u32, + #[prost(uint32, tag = "5")] + pub dglcdjnmnkh: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7686)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ajpfelopfce { + #[prost(int32, tag = "3")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24563)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Geeehfplpng {} +#[derive(proto_gen::CmdID)] +#[cmdid(7599)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pkklaoljgmi { + #[prost(uint32, tag = "13")] + pub entity_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24844)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dhanimapaoh { + #[prost(uint32, tag = "3")] + pub oboopjlpdni: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8610)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lcfajlnblpj { + #[prost(uint32, tag = "1")] + pub kcinbomoigl: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9734)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Geeihplplmb { + #[prost(uint32, tag = "2")] + pub skill_id: u32, + #[prost(float, tag = "4")] + pub lecapbhnapf: f32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29430)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Adcknfkemem { + #[prost(bool, tag = "13")] + pub is_active: bool, + #[prost(uint32, tag = "15")] + pub jinjlbemjnc: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6575)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lpkpohmhbki { + #[prost(string, tag = "2")] + pub lgnfafmphkd: ::prost::alloc::string::String, + #[prost(int32, tag = "9")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pkhgekdmfap { + #[prost(uint32, tag = "8")] + pub bjjjdldclll: u32, + #[prost(uint32, tag = "9")] + pub necgmakacdi: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23930)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ofgfjajchnp { + #[prost(bool, tag = "6")] + pub bhhcjikkibo: bool, + #[prost(uint32, tag = "9")] + pub draft_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nbidnghlmlo { + #[prost(message, repeated, tag = "1")] + pub route_points: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "2")] + pub route_type: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bcofjddboca {} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jeajdmhfggh { + #[prost(message, repeated, tag = "15")] + pub cbenkjeocil: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ejjichpjdbm { + #[prost(uint32, tag = "1")] + pub diggffkgodj: u32, + #[prost(bool, tag = "2")] + pub jhfmeficaal: bool, + #[prost(uint32, tag = "5")] + pub peajinifghm: u32, + #[prost(bool, tag = "6")] + pub ecihdijcled: bool, + #[prost(uint32, tag = "10")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7152)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct DoSetPlayerBornDataNotify {} +#[derive(proto_gen::CmdID)] +#[cmdid(29726)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iagjfhkfppm { + #[prost(uint32, tag = "12")] + pub badoiojgdbb: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cpoiobjkhok { + #[prost(bool, tag = "1")] + pub ngdokajiafh: bool, + #[prost(bool, tag = "3")] + pub mdjjmemcpam: bool, + #[prost(bool, tag = "4")] + pub olfpblplgio: bool, + #[prost(uint32, tag = "5")] + pub hiifgaeaokd: u32, + #[prost(uint32, tag = "9")] + pub lldgieidcgm: u32, + #[prost(message, optional, tag = "11")] + pub abpjibdjipa: ::core::option::Option, + #[prost(uint32, repeated, tag = "15")] + pub akghegcnmjm: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23946)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mmddenpgbjg { + #[prost(uint32, tag = "12")] + pub kenikecfflm: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2094)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aiibkjndiah {} +#[derive(proto_gen::CmdID)] +#[cmdid(6199)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oicmpjffpbl { + #[prost(message, optional, tag = "3")] + pub ebobpnfjdoi: ::core::option::Option, + #[prost(int32, tag = "4")] + pub jjfpfmpjema: i32, + #[prost(int32, tag = "6")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(210)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ofhpddlpidn { + #[prost(uint32, tag = "2")] + pub scene_id: u32, + #[prost(message, repeated, tag = "12")] + pub oiglgmmmfpg: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6526)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cdahjmfllhe { + #[prost(bool, tag = "7")] + pub djoclokdkae: bool, + #[prost(uint32, tag = "15")] + pub iehlhaogkpj: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27310)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bmoikpoognf { + #[prost(uint32, tag = "2")] + pub ofkkckccgjc: u32, + #[prost(uint32, tag = "4")] + pub player_uid: u32, + #[prost(uint32, tag = "8")] + pub gaplfmmgbfa: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8995)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pinemfjjjnh { + #[prost(enumeration = "Himmemhogfb", tag = "1")] + pub mfmlakbiaed: i32, + #[prost(int32, tag = "15")] + pub retcode: i32, + #[prost(oneof = "pinemfjjjnh::Gcbckcbnpmn", tags = "4")] + pub gcbckcbnpmn: ::core::option::Option, +} +/// Nested message and enum types in `PINEMFJJJNH`. +pub mod pinemfjjjnh { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Gcbckcbnpmn { + #[prost(message, tag = "4")] + MusicInfo(super::Gdljljihmfo), + } +} +#[derive(proto_gen::CmdID)] +#[cmdid(3972)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jdllekjonce { + #[prost(message, optional, tag = "9")] + pub pos: ::core::option::Option, + #[prost(uint32, tag = "14")] + pub mpbhhdjjlpe: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27506)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dfnilpbbkpi { + #[prost(message, repeated, tag = "5")] + pub jgklnnoofnd: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "6")] + pub retcode: i32, + #[prost(message, repeated, tag = "11")] + pub item_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2108)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lnofnldpnif { + #[prost(int32, tag = "5")] + pub retcode: i32, + #[prost(message, optional, tag = "6")] + pub dcokhkbojep: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23845)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gadmmelakni { + #[prost(map = "uint32, message", tag = "13")] + pub prop_map: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Keejnolinba { + #[prost(bool, tag = "1")] + pub ngfhdfndlpg: bool, + #[prost(bool, tag = "4")] + pub geggcnephdi: bool, + #[prost(message, repeated, tag = "15")] + pub iminibckghd: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22558)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Danbdlckjpp { + #[prost(uint32, tag = "3")] + pub cdmjgifefmd: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29399)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hbfgmmhnhbk { + #[prost(uint32, tag = "5")] + pub jkhigmkcbhp: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9808)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eihmbdmbjgo { + #[prost(uint32, tag = "1")] + pub ifhechfemdn: u32, + #[prost(message, repeated, tag = "2")] + pub kmbampphcni: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "3")] + pub fnnhlpfgpin: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "5")] + pub dalmffloamd: u32, + #[prost(int32, tag = "6")] + pub retcode: i32, + #[prost(uint64, tag = "8")] + pub avatar_guid: u64, + #[prost(message, repeated, tag = "10")] + pub llojhceibgo: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "12")] + pub ihgolmohhnj: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "14")] + pub dipipcanmfm: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "15")] + pub elnamccoijl: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6109)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Podkpochhpb { + #[prost(message, repeated, tag = "15")] + pub plapcgkeiea: ::prost::alloc::vec::Vec, + #[prost(int32, repeated, tag = "11")] + pub phbkedkchnh: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "7")] + pub pngmclgdcpc: bool, + #[prost(uint32, tag = "6")] + pub scene_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4616)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mfdlmdcenom { + #[prost(uint32, tag = "2")] + pub pcaobbjlffm: u32, + #[prost(int32, tag = "3")] + pub retcode: i32, + #[prost(uint32, tag = "8")] + pub gghkdjlgfpb: u32, + #[prost(uint32, tag = "12")] + pub jefildjebaj: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bclmhallkei { + #[prost(message, optional, tag = "4")] + pub hopjkplbdji: ::core::option::Option, + #[prost(message, optional, tag = "5")] + pub mfhlcapdnmm: ::core::option::Option, + #[prost(message, optional, tag = "7")] + pub dfgiofhbibl: ::core::option::Option, + #[prost(message, repeated, tag = "8")] + pub mofodpdidmb: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "10")] + pub ipfolmojdie: ::core::option::Option, + #[prost(message, optional, tag = "14")] + pub gjbdhbdjged: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1878)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bplofhpehnf { + #[prost(uint32, repeated, tag = "7")] + pub mjnnjkeilfm: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "11")] + pub gaplfmmgbfa: u32, + #[prost(int32, tag = "15")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ikmniipgjae { + #[prost(bool, tag = "2")] + pub ecihdijcled: bool, + #[prost(bool, tag = "5")] + pub jhfmeficaal: bool, + #[prost(uint32, tag = "11")] + pub pjjaoilbfbn: u32, + #[prost(uint32, tag = "15")] + pub peajinifghm: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28662)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pckmfkgafnc { + #[prost(uint32, repeated, tag = "1")] + pub oepccikngci: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7548)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nplejklgigl { + #[prost(bool, tag = "2")] + pub inbenefpkmk: bool, + #[prost(bool, tag = "7")] + pub gjpeomabhgf: bool, + #[prost(int32, tag = "11")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3366)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pgajcpidhhk { + #[prost(uint32, tag = "15")] + pub egmbajdjcop: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8414)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pmeieekbogb { + #[prost(message, optional, tag = "14")] + pub ajlhhkmaodn: ::core::option::Option, + #[prost(uint64, tag = "8")] + pub guid: u64, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iiolobmjbae { + #[prost(message, optional, tag = "3")] + pub ejihmolhfba: ::core::option::Option, + #[prost(message, optional, tag = "6")] + pub jiaknpccjdk: ::core::option::Option, + #[prost(message, optional, tag = "8")] + pub kafbjcphdmc: ::core::option::Option, + #[prost(message, optional, tag = "14")] + pub niedeghkbnn: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3643)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ooefgbghbaj { + #[prost(uint32, tag = "4")] + pub cifccoabakm: u32, + #[prost(uint32, tag = "7")] + pub weight_limit: u32, + #[prost(uint32, tag = "9")] + pub fnpeahfkefh: u32, + #[prost(enumeration = "StoreType", tag = "10")] + pub store_type: i32, + #[prost(uint32, tag = "11")] + pub ikahjndhekl: u32, + #[prost(uint32, tag = "12")] + pub lbfhgkocopb: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7968)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pcmpkbabbbf { + #[prost(uint32, tag = "9")] + pub hgaaipejflh: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28692)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mffeklbnogh { + #[prost(message, repeated, tag = "4")] + pub hnlaijnkhng: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "11")] + pub pjjaoilbfbn: u32, + #[prost(bool, tag = "8")] + pub dmedoehomkh: bool, + #[prost(bool, tag = "14")] + pub kpdfalbjano: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gjjbbajdnfl { + #[prost(uint32, tag = "1")] + pub gfehiopkcee: u32, + #[prost(uint32, tag = "3")] + pub lnbklocgfpe: u32, + #[prost(message, optional, tag = "4")] + pub mhfdgagiepa: ::core::option::Option, + #[prost(uint32, tag = "9")] + pub fknpcafmpgh: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iokglhnecgf { + #[prost(string, tag = "2")] + pub bmedkoljhep: ::prost::alloc::string::String, + #[prost(uint32, tag = "8")] + pub fncogclpgnc: u32, + #[prost(uint32, tag = "9")] + pub scene_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28590)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Enflapimdee { + #[prost(float, tag = "1")] + pub heghiolionf: f32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ghlgjfdiakn { + #[prost(message, repeated, tag = "4")] + pub eloilboekpk: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "10")] + pub dhaomgmmdpd: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24705)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bmcajkodgak { + #[prost(uint32, tag = "6")] + pub jinjlbemjnc: u32, + #[prost(int32, tag = "15")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Faaggnkgfao { + #[prost(message, repeated, tag = "5")] + pub oopopjofcgm: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "6")] + pub mempkcgnnmf: u32, + #[prost(bool, tag = "11")] + pub ecihdijcled: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cekoadfnohp { + #[prost(bool, tag = "5")] + pub ibeikeigmko: bool, + #[prost(message, optional, tag = "10")] + pub pos: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5866)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Agcfkkcgeme { + #[prost(int32, tag = "4")] + pub retcode: i32, + #[prost(uint32, tag = "7")] + pub level: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2512)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Elbiiappcfe { + #[prost(map = "string, string", tag = "13")] + pub bfgbkaeafoh: ::std::collections::HashMap< + ::prost::alloc::string::String, + ::prost::alloc::string::String, + >, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bkaekoakool { + #[prost(uint32, tag = "2")] + pub dekhbeooien: u32, + #[prost(message, repeated, tag = "8")] + pub kgimmencgmj: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eobgpecdjaf { + #[prost(message, repeated, tag = "8")] + pub cbenkjeocil: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29978)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dfjahbjgnnj {} +#[derive(proto_gen::CmdID)] +#[cmdid(21774)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cmkfhbkanjm { + #[prost(uint32, tag = "8")] + pub mempkcgnnmf: u32, + #[prost(uint32, tag = "1")] + pub nnebhhfhdcc: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5354)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hgcpegeoomo { + #[prost(uint32, tag = "4")] + pub phmkpnkmooe: u32, + #[prost(int32, tag = "8")] + pub retcode: i32, + #[prost(message, optional, tag = "10")] + pub lapiciijckl: ::core::option::Option, + #[prost(uint32, tag = "14")] + pub ghiaogllldi: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2262)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fclhncboegj { + #[prost(uint32, tag = "2")] + pub ghiaogllldi: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1190)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Npkpiahbaff { + #[prost(bool, tag = "12")] + pub konbknmhgdc: bool, + #[prost(uint32, repeated, tag = "13")] + pub bfbomboinpj: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20178)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Npjbgbnofch { + #[prost(int32, tag = "15")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1601)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ajbjmfhpblo { + #[prost(uint32, tag = "6")] + pub pjjaoilbfbn: u32, + #[prost(int32, tag = "13")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jpbaopbmfan { + #[prost(int64, tag = "1")] + pub oboopjlpdni: i64, + #[prost(message, repeated, tag = "2")] + pub prop_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mopdganfkaf { + #[prost(uint32, tag = "2")] + pub llmjiojfmbj: u32, + #[prost(uint32, tag = "4")] + pub jmlmgoappin: u32, + #[prost(uint32, repeated, tag = "5")] + pub gmjlelbfepn: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "6")] + pub dnigocnomaj: u32, + #[prost(uint32, tag = "12")] + pub geihmkhcije: u32, + #[prost(uint32, tag = "13")] + pub ikdomkbjagd: u32, + #[prost(uint32, repeated, tag = "14")] + pub famfhbjlhai: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bogappbnkcd { + #[prost(message, optional, tag = "3")] + pub pos: ::core::option::Option, + #[prost(message, optional, tag = "5")] + pub rot: ::core::option::Option, + #[prost(uint32, tag = "10")] + pub room_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7873)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mfadjmcebgn { + #[prost(uint32, tag = "3")] + pub skill_id: u32, + #[prost(uint32, tag = "4")] + pub max_charge_count: u32, + #[prost(uint64, tag = "12")] + pub avatar_guid: u64, +} +#[derive(proto_gen::CmdID)] +#[cmdid(125)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hfecjjgpame { + #[prost(uint64, tag = "1")] + pub avatar_guid: u64, + #[prost(uint32, tag = "5")] + pub ghiaogllldi: u32, + #[prost(int32, tag = "12")] + pub retcode: i32, + #[prost(uint32, tag = "14")] + pub promote_level: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26101)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fffliagbapj { + #[prost(message, repeated, tag = "1")] + pub kepilllghkd: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "2")] + pub retcode: i32, + #[prost(uint32, tag = "14")] + pub khhibkpbkpn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2118)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Onilcbemhkj { + #[prost(int32, tag = "13")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28059)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lopapaeiaep { + #[prost(uint32, tag = "11")] + pub jchjpafcofh: u32, + #[prost(uint32, tag = "6")] + pub entity_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5948)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cdifcoplfak {} +#[derive(proto_gen::CmdID)] +#[cmdid(26531)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jppaddiabka { + #[prost(int32, tag = "4")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25712)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nmaeomdhpep { + #[prost(uint32, tag = "2")] + pub iehlhaogkpj: u32, + #[prost(uint32, tag = "7")] + pub aaopmgielok: u32, + #[prost(uint32, tag = "15")] + pub eoaobkmelpp: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jhfhdbnjgcp { + #[prost(float, tag = "7")] + pub fmohpocagme: f32, + #[prost(float, tag = "9")] + pub dmdkffajgmh: f32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8190)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jihekminaeb { + #[prost(bool, tag = "14")] + pub mbfllhnligd: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PropPair { + #[prost(uint32, tag = "1")] + pub r#type: u32, + #[prost(message, optional, tag = "2")] + pub prop_value: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29018)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dhjihfehlmc { + #[prost(uint32, repeated, tag = "5")] + pub bfbomboinpj: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20736)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ecibfddlbbb { + #[prost(message, repeated, tag = "7")] + pub apndffijkdm: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24288)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cbacmjeongf { + #[prost(uint32, tag = "6")] + pub uid: u32, + #[prost(uint32, tag = "12")] + pub jdhfhcfeonf: u32, + #[prost(int32, tag = "15")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dgicjpeckpm { + #[prost(bool, tag = "10")] + pub ecihdijcled: bool, + #[prost(uint32, tag = "11")] + pub aeniipfkmhh: u32, + #[prost(bool, tag = "12")] + pub dklgbfpccen: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24478)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cmcjpalhmeb { + #[prost(message, repeated, tag = "7")] + pub hdnmiejjdbg: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Phacoocngkj { + #[prost(string, tag = "1")] + pub title: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub dmmfjmbmjha: ::prost::alloc::string::String, + #[prost(string, tag = "3")] + pub akakgobdmip: ::prost::alloc::string::String, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gfbgehaaljm { + #[prost(uint32, tag = "6")] + pub dekhbeooien: u32, + #[prost(message, repeated, tag = "10")] + pub cbkmlacnmik: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "11")] + pub uid: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kffdjghkgpn { + #[prost(message, repeated, tag = "2")] + pub dnpebapalek: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20087)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hlnjcjgpbcc { + #[prost(uint32, tag = "3")] + pub oboopjlpdni: u32, + #[prost(int32, tag = "5")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20327)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mfaloomjheo { + #[prost(enumeration = "Igohjibcdfa", tag = "2")] + pub lkidbhiooog: i32, + #[prost(message, optional, tag = "3")] + pub iheagccefnd: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8482)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fhnjmdndbfb { + #[prost(uint32, tag = "4")] + pub dknkfkdabla: u32, + #[prost(int32, tag = "6")] + pub retcode: i32, + #[prost(uint32, tag = "12")] + pub kejahifpbbb: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6129)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eiojfihakhp { + #[prost(int32, tag = "2")] + pub retcode: i32, + #[prost(int32, repeated, tag = "8")] + pub dncfmfnglfa: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "11")] + pub cbdjnkepeaj: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4348)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nafnphfjdhm { + #[prost(uint32, tag = "2")] + pub group_id: u32, + #[prost(uint32, tag = "3")] + pub ecamacigjap: u32, + #[prost(uint32, tag = "5")] + pub config_id: u32, + #[prost(uint32, tag = "9")] + pub cammfnmahek: u32, + #[prost(uint32, tag = "11")] + pub agienjjkpbe: u32, + #[prost(uint32, tag = "13")] + pub lhdahdneppl: u32, + #[prost(message, optional, tag = "14")] + pub kdhjlmkfman: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27114)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hplkioenfnm { + #[prost(uint32, repeated, tag = "2")] + pub ijnacjmnojm: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6165)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dekimgeehap { + #[prost(message, optional, tag = "6")] + pub bojcnnpkmkj: ::core::option::Option, + #[prost(message, optional, tag = "15")] + pub ccnnjmkemlc: ::core::option::Option, + #[prost(int32, tag = "9")] + pub uid: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(769)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Akemhlhgcbj { + #[prost(uint32, repeated, tag = "1")] + pub jnfpmeijenp: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "14")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kgffmjcgjid { + #[prost(uint32, tag = "1")] + pub jlkidpehpjc: u32, + #[prost(uint32, tag = "15")] + pub ndlgihehpam: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jadligcbpia { + #[prost(uint32, tag = "4")] + pub lcihljpmgjd: u32, + #[prost(bool, tag = "6")] + pub cajhcpipboo: bool, + #[prost(uint32, tag = "7")] + pub kajcndjlkfi: u32, + #[prost(bool, tag = "12")] + pub dhbpebdbmnk: bool, + #[prost(bool, tag = "14")] + pub enfpkopnhkk: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9966)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ccggbngkobe { + #[prost(enumeration = "VisionType", tag = "1")] + pub appear_type: i32, + #[prost(uint32, tag = "6")] + pub param: u32, + #[prost(message, repeated, tag = "8")] + pub entity_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23963)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Poefchkgkae { + #[prost(message, optional, tag = "11")] + pub plbdagkfmbi: ::core::option::Option, + #[prost(bool, tag = "10")] + pub necndmmppli: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lgjjldmokhg { + #[prost(uint32, tag = "1")] + pub state: u32, + #[prost(uint32, tag = "15")] + pub mnganmnnmjg: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gddakolohkl { + #[prost(uint32, tag = "1")] + pub iamcnilplco: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1980)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct HostPlayerNotify { + #[prost(uint32, tag = "10")] + pub host_uid: u32, + #[prost(uint32, tag = "14")] + pub host_peer_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8072)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fhapdgidhpc { + #[prost(uint32, tag = "5")] + pub gnlfclggagl: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8164)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ihanpaefpki { + #[prost(uint32, tag = "8")] + pub ogginldndec: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5920)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Diafcpcdcpo { + #[prost(uint32, tag = "8")] + pub obcdoibijem: u32, + #[prost(uint64, tag = "9")] + pub avatar_guid: u64, + #[prost(uint32, tag = "14")] + pub plngojenaic: u32, + #[prost(uint32, tag = "15")] + pub ocgobbalhme: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(906)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lkgjoabbaie { + #[prost(uint64, repeated, tag = "8")] + pub njlkafbffcn: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2990)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mfoohlhbbog { + #[prost(int32, tag = "12")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21044)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ihmjigjjagj { + #[prost(bool, tag = "3")] + pub lenoapicdce: bool, + #[prost(uint32, tag = "14")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oeohncnkhip { + #[prost(bool, tag = "5")] + pub lfnfjighdee: bool, + #[prost(bool, tag = "6")] + pub dmedoehomkh: bool, + #[prost(uint32, tag = "7")] + pub cmgfmdlfcfk: u32, + #[prost(uint32, tag = "9")] + pub bnblmfkkfgg: u32, + #[prost(uint32, tag = "14")] + pub nnebhhfhdcc: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28790)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Afmpemnppno { + #[prost(uint32, tag = "9")] + pub lhdahdneppl: u32, + #[prost(uint32, tag = "3")] + pub level: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21234)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cmjmmkiklbo { + #[prost(message, repeated, tag = "4")] + pub ahkjlpldped: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27850)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kckgmifcpdp {} +#[derive(proto_gen::CmdID)] +#[cmdid(3267)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mcleikanico { + #[prost(uint32, tag = "2")] + pub aejdamljojf: u32, + #[prost(message, optional, tag = "11")] + pub onmpgidpgpl: ::core::option::Option, + #[prost(int32, tag = "14")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3807)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jfmgkhkjkom { + #[prost(message, repeated, tag = "3")] + pub lgjkhpabejc: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "14")] + pub retcode: i32, + #[prost(uint32, tag = "15")] + pub room_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cjploceginb { + #[prost(message, repeated, tag = "10")] + pub pigofiofjid: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28015)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cbamcbopjlb { + #[prost(message, optional, tag = "1")] + pub cifpnbbnbcg: ::core::option::Option, + #[prost(uint64, tag = "12")] + pub avatar_guid: u64, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29768)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oclohbofkco { + #[prost(uint32, tag = "11")] + pub avatar_id: u32, + #[prost(uint32, tag = "4")] + pub fiknlhojfkl: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24652)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hgibijdlbji { + #[prost(message, repeated, tag = "5")] + pub item_list: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "7")] + pub retcode: i32, + #[prost(uint32, tag = "8")] + pub lhdahdneppl: u32, + #[prost(uint32, tag = "15")] + pub kbgpbkhnkdf: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Olonlcggboj { + #[prost(string, tag = "1")] + pub bkdilgijpeg: ::prost::alloc::string::String, + #[prost(message, optional, tag = "9")] + pub blfkojlccoo: ::core::option::Option, + #[prost(map = "uint32, uint32", tag = "13")] + pub onhblidiphk: ::std::collections::HashMap, + #[prost(uint32, tag = "14")] + pub uid: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ffchepkenel { + #[prost(uint32, tag = "5")] + pub gadget_state: u32, + #[prost(uint32, tag = "13")] + pub iejhhmbobmj: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ppgkjakmggb { + #[prost(enumeration = "Njgjfmecpka", tag = "1")] + pub bpelaiajjkj: i32, + #[prost(int32, tag = "12")] + pub retcode: i32, + #[prost(oneof = "ppgkjakmggb::Neokfhfmgho", tags = "2, 3, 5, 8, 13")] + pub neokfhfmgho: ::core::option::Option, +} +/// Nested message and enum types in `PPGKJAKMGGB`. +pub mod ppgkjakmggb { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Neokfhfmgho { + #[prost(message, tag = "2")] + SyncAction(super::Eoogcodklon), + #[prost(message, tag = "3")] + SyncCreateConnect(super::Oofgopfmkco), + #[prost(message, tag = "5")] + SyncPing(super::Kjiklbipjij), + #[prost(message, tag = "8")] + SyncFinishGame(super::Ecgonilibpf), + #[prost(message, tag = "13")] + SyncSnapShot(super::Bagmciddfgk), + } +} +#[derive(proto_gen::CmdID)] +#[cmdid(104)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Obpnjhofbed { + #[prost(uint32, tag = "6")] + pub gmemgdllpnj: u32, + #[prost(uint32, tag = "11")] + pub echfghanmpb: u32, + #[prost(uint32, tag = "9")] + pub lpddmnemjlg: u32, + #[prost(uint32, tag = "3")] + pub ejcpfnngjkh: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4450)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SceneTeamUpdateNotify { + #[prost(message, repeated, tag = "4")] + pub scene_team_avatar_list: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "13")] + pub is_in_mp: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4075)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Clggnihdjnj { + #[prost(uint32, tag = "2")] + pub oehkjpbepkb: u32, + #[prost(uint32, tag = "6")] + pub ohkidhnabib: u32, + #[prost(bool, tag = "12")] + pub djoclokdkae: bool, + #[prost(int32, tag = "13")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ggdbpdilaof { + #[prost(uint32, tag = "3")] + pub oinifipdjph: u32, + #[prost(uint32, tag = "4")] + pub kgedpgankpc: u32, + #[prost(message, optional, tag = "5")] + pub pos: ::core::option::Option, + #[prost(uint32, tag = "10")] + pub entity_id: u32, + #[prost(int32, tag = "15")] + pub bedacoieima: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Miphfpdbegi { + #[prost(uint32, tag = "2")] + pub aiphnbmbhlg: u32, + #[prost(uint32, tag = "4")] + pub igmghfejahe: u32, + #[prost(message, optional, tag = "5")] + pub iaknhjgcpgl: ::core::option::Option, + #[prost(uint32, tag = "11")] + pub entity_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29511)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fioiinhfjbf {} +#[derive(proto_gen::CmdID)] +#[cmdid(5371)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gmhckipelfg { + #[prost(bool, tag = "10")] + pub hppmegldgkf: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26960)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dpimmpjilmj { + #[prost(uint32, tag = "3")] + pub ogccdacjjig: u32, + #[prost(int32, tag = "7")] + pub retcode: i32, + #[prost(enumeration = "Hnncclmhcla", tag = "8")] + pub bkidnkcmail: i32, + #[prost(uint32, tag = "11")] + pub jinjlbemjnc: u32, + #[prost(message, optional, tag = "13")] + pub mdkkpmiicae: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21501)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dgikhpbmlel { + #[prost(uint32, tag = "8")] + pub khhibkpbkpn: u32, + #[prost(int32, tag = "13")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9166)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gojipchiahp { + #[prost(message, optional, tag = "14")] + pub lognndhodkh: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28019)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pjbmoeikegd { + #[prost(int32, tag = "9")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Opcdapccooc { + #[prost(uint32, tag = "3")] + pub oboopjlpdni: u32, + #[prost(message, optional, tag = "5")] + pub pos: ::core::option::Option, + #[prost(bool, tag = "8")] + pub eialjbaengj: bool, + #[prost(uint32, tag = "9")] + pub pglajfafgai: u32, + #[prost(uint32, tag = "11")] + pub ilpjbepjdlp: u32, + #[prost(uint32, tag = "12")] + pub dmkfeccmcop: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SceneWeaponInfo { + #[prost(uint32, tag = "1")] + pub entity_id: u32, + #[prost(uint32, tag = "2")] + pub gadget_id: u32, + #[prost(uint32, tag = "3")] + pub item_id: u32, + #[prost(uint64, tag = "4")] + pub guid: u64, + #[prost(uint32, tag = "5")] + pub level: u32, + #[prost(uint32, tag = "6")] + pub promote_level: u32, + #[prost(message, optional, tag = "7")] + pub ability_info: ::core::option::Option, + #[prost(map = "uint32, uint32", tag = "8")] + pub affix_map: ::std::collections::HashMap, + #[prost(message, optional, tag = "9")] + pub renderer_changed_info: ::core::option::Option, + #[prost(bool, tag = "10")] + pub hhlnnpoildl: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29322)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nfedjodhcok { + #[prost(uint32, tag = "1")] + pub entity_id: u32, + #[prost(uint32, tag = "3")] + pub knclkkifaoc: u32, + #[prost(uint32, tag = "7")] + pub hmbhihbflca: u32, + #[prost(int32, tag = "14")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7457)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Olpajemdoof { + #[prost(uint32, tag = "3")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9813)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Njinjclddhf { + #[prost(uint32, tag = "15")] + pub jklafeigolc: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21751)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pohdcfnfbjb { + #[prost(enumeration = "Himmemhogfb", tag = "12")] + pub mfmlakbiaed: i32, + #[prost(uint32, tag = "7")] + pub khhibkpbkpn: u32, + #[prost(oneof = "pohdcfnfbjb::Koghknfabpa", tags = "6")] + pub koghknfabpa: ::core::option::Option, + #[prost(oneof = "pohdcfnfbjb::Gcmkmeijkhj", tags = "193")] + pub gcmkmeijkhj: ::core::option::Option, +} +/// Nested message and enum types in `POHDCFNFBJB`. +pub mod pohdcfnfbjb { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Koghknfabpa { + #[prost(message, tag = "6")] + MusicRecord(super::Mhfikahpbmm), + } + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Gcmkmeijkhj { + #[prost(message, tag = "193")] + MusicBriefInfo(super::Pcdlglmdhai), + } +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dobjbedikmi { + #[prost(uint32, tag = "3")] + pub nnnlnpfieeg: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3246)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mogpapofdkk { + #[prost(int32, tag = "4")] + pub retcode: i32, + #[prost(message, repeated, tag = "8")] + pub avatar_list: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "12")] + pub pikpodegkck: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "13")] + pub kkfakeigcic: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27540)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ejloldhlmhp { + #[prost(bool, tag = "4")] + pub mcpkkmhkcpd: bool, + #[prost(uint32, tag = "5")] + pub param: u32, + #[prost(uint32, tag = "6")] + pub homgpjjmldg: u32, + #[prost(int32, tag = "7")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8166)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bpgphlgabpb { + #[prost(int32, tag = "6")] + pub retcode: i32, + #[prost(enumeration = "Gepcikpiepn", tag = "7")] + pub hnjdddnoook: i32, + #[prost(message, repeated, tag = "10")] + pub mpdmbkelamk: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "13")] + pub fchfakepinp: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26697)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bkfhiicckcg { + #[prost(uint32, tag = "3")] + pub jamdpllpknp: u32, + #[prost(uint32, tag = "7")] + pub mdonemkpmbk: u32, + #[prost(int32, tag = "9")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bjljeljjdkm { + #[prost(bool, tag = "1")] + pub ecihdijcled: bool, + #[prost(uint32, tag = "6")] + pub peajinifghm: u32, + #[prost(uint32, tag = "15")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29979)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mnfapbmbmip { + #[prost(int32, tag = "1")] + pub retcode: i32, + #[prost(uint64, tag = "3")] + pub avatar_guid: u64, + #[prost(uint32, tag = "15")] + pub anim_hash: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lmnoilkhcap { + #[prost(uint32, tag = "11")] + pub oboopjlpdni: u32, + #[prost(uint32, tag = "12")] + pub level: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(40)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nhkfcpajalf { + #[prost(message, repeated, tag = "13")] + pub dlkgdlnileh: ::prost::alloc::vec::Vec, + #[prost(map = "uint64, uint32", tag = "14")] + pub edabjcnfini: ::std::collections::HashMap, + #[prost(uint32, tag = "9")] + pub lgcopnjbcnf: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ekjpinhelhc { + #[prost(message, optional, tag = "9")] + pub rot: ::core::option::Option, + #[prost(message, optional, tag = "13")] + pub pos: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fgplnekjdch { + #[prost(message, repeated, tag = "11")] + pub cbenkjeocil: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3200)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mmflfdcgpni { + #[prost(uint32, tag = "10")] + pub bknplfikkfg: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6686)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jbkebempkam { + #[prost(message, repeated, tag = "9")] + pub ehcoglilggh: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9941)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iihemcmlidh {} +#[derive(proto_gen::CmdID)] +#[cmdid(22649)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pfglfpkiipa { + #[prost(uint32, tag = "6")] + pub cafefeabnec: u32, + #[prost(int32, tag = "12")] + pub retcode: i32, + #[prost(uint64, tag = "14")] + pub avatar_guid: u64, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hlgjkkpocpj { + #[prost(message, optional, tag = "6")] + pub abpjibdjipa: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1658)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kacndimhiaf { + #[prost(message, optional, tag = "1")] + pub edobonhaehp: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub fflgcbbliao: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4916)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Foplapchcoi { + #[prost(uint32, tag = "2")] + pub omgchbachci: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29036)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jbpkpaejfib { + #[prost(int32, tag = "3")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5630)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Opcmilinhek { + #[prost(uint32, tag = "14")] + pub parent_quest_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Okfjlkkfnni { + #[prost(message, repeated, tag = "2")] + pub hkajmjljoeg: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22811)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pgnlaclonkk { + #[prost(uint64, repeated, tag = "6")] + pub edabeidcffo: ::prost::alloc::vec::Vec, + #[prost(enumeration = "StoreType", tag = "7")] + pub store_type: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29595)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mnhfpodjbnk { + #[prost(uint32, tag = "1")] + pub inpbhajdpgc: u32, + #[prost(map = "uint32, uint32", tag = "2")] + pub dhebaohccae: ::std::collections::HashMap, + #[prost(uint32, tag = "3")] + pub fnppfkkpaca: u32, + #[prost(message, optional, tag = "4")] + pub nbeolenhmfm: ::core::option::Option, + #[prost(uint32, tag = "5")] + pub pcgmkeajkeh: u32, + #[prost(uint32, tag = "6")] + pub abpdhmjnbkd: u32, + #[prost(map = "uint32, uint32", tag = "7")] + pub epncphcfnba: ::std::collections::HashMap, + #[prost(uint32, tag = "8")] + pub cfeclkmehme: u32, + #[prost(uint32, tag = "9")] + pub licmpidmcoi: u32, + #[prost(bool, tag = "10")] + pub naamimdommn: bool, + #[prost(uint32, tag = "11")] + pub ahpaoepcoml: u32, + #[prost(message, optional, tag = "12")] + pub kgjnkfnpoib: ::core::option::Option, + #[prost(message, repeated, tag = "13")] + pub dmapdpgjpib: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "14")] + pub retcode: i32, + #[prost(bool, tag = "15")] + pub mibjmkdnlfh: bool, + #[prost(message, optional, tag = "447")] + pub oecjcimbpfi: ::core::option::Option, + #[prost(uint32, tag = "1009")] + pub hkdcibpofoc: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6054)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Konolmobola { + #[prost(uint32, tag = "11")] + pub ehgnmadgjoc: u32, + #[prost(uint32, tag = "14")] + pub kfpegnaadlo: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8236)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kpdodfpmbke { + #[prost(message, repeated, tag = "1")] + pub nbhomdnidmi: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "8")] + pub dfpnkfekiig: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lbihdalpknd { + #[prost(message, optional, tag = "2")] + pub jajnmbllabi: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Obolihanncf { + #[prost(uint32, repeated, tag = "5")] + pub fnaoacpmmkd: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "10")] + pub efjobkkjgdc: u32, + #[prost(uint32, repeated, tag = "11")] + pub obcnnbickdc: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "13")] + pub ihmplcmngei: u32, + #[prost(uint32, tag = "14")] + pub goakcbglbmj: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1560)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mibhhcigoeg { + #[prost(uint32, tag = "9")] + pub mgcmnplnjkl: u32, + #[prost(int32, tag = "13")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryCurrRegionHttpRsp { + #[prost(int32, tag = "1")] + pub retcode: i32, + #[prost(string, tag = "2")] + pub msg: ::prost::alloc::string::String, + #[prost(message, optional, tag = "3")] + pub region_info: ::core::option::Option, + #[prost(bytes = "vec", tag = "11")] + pub client_secret_key: ::prost::alloc::vec::Vec, + #[prost(bytes = "vec", tag = "12")] + pub region_custom_config_encrypted: ::prost::alloc::vec::Vec, + #[prost(bytes = "vec", tag = "13")] + pub client_region_custom_config_encrypted: ::prost::alloc::vec::Vec, + #[prost(string, tag = "14")] + pub gate_ticket: ::prost::alloc::string::String, + #[prost(oneof = "query_curr_region_http_rsp::Detail", tags = "4, 5")] + pub detail: ::core::option::Option, +} +/// Nested message and enum types in `QueryCurrRegionHttpRsp`. +pub mod query_curr_region_http_rsp { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Detail { + #[prost(message, tag = "4")] + ForceUpdate(super::ForceUpdateInfo), + #[prost(message, tag = "5")] + StopServer(super::StopServerInfo), + } +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gomgejhckoa { + #[prost(message, repeated, tag = "3")] + pub kpfkgkfiima: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "13")] + pub clogcdcahei: u32, + #[prost(uint32, repeated, tag = "14")] + pub gnedhchodml: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27062)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Negkildjdbb { + #[prost(uint32, tag = "3")] + pub cdmjgifefmd: u32, + #[prost(uint32, tag = "7")] + pub jmldgkcbcbo: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Digpmlgliln { + #[prost(uint64, tag = "1")] + pub padclipinad: u64, + #[prost(uint64, tag = "2")] + pub cgammlododp: u64, + #[prost(message, repeated, tag = "3")] + pub entity_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "4")] + pub dgmekiilhgp: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "5")] + pub jhfmeficaal: bool, + #[prost(uint32, repeated, tag = "6")] + pub bdnllapjcic: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "7")] + pub geieddfnlmp: i32, + #[prost(message, repeated, tag = "8")] + pub ohmgddcbbod: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "9")] + pub ohajpgjeffb: i32, + #[prost(message, optional, tag = "10")] + pub lfmdnbaookk: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3233)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Digfkdcdime { + #[prost(uint32, tag = "12")] + pub gbcebgkbjdm: u32, + #[prost(uint32, tag = "14")] + pub gadget_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20619)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nbkeljafmhd { + #[prost(uint32, tag = "1")] + pub cnomanmjnbo: u32, + #[prost(uint32, tag = "5")] + pub jodcjcpenna: u32, + #[prost(int32, tag = "9")] + pub retcode: i32, + #[prost(uint32, tag = "14")] + pub kkfhbldeaba: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5616)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pahkpggeohf { + #[prost(uint32, tag = "1")] + pub ocfbngkjgca: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9647)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hocnhfogole { + #[prost(uint32, tag = "14")] + pub omgchbachci: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4226)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gmehdnblkag { + #[prost(int32, tag = "9")] + pub retcode: i32, + #[prost(message, optional, tag = "14")] + pub jieakemolai: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Glacehkejmf { + #[prost(bool, tag = "1")] + pub fbijjnnkele: bool, + #[prost(message, repeated, tag = "4")] + pub dlgmlfembmg: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "11")] + pub gfbkakoonhm: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "13")] + pub opejfpcfjfi: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1623)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hnddhogboid {} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mngofpdhbpg { + #[prost(uint32, tag = "1")] + pub costume_id: u32, + #[prost(uint32, tag = "5")] + pub avatar_id: u32, + #[prost(bool, tag = "12")] + pub hjfopbhakde: bool, + #[prost(uint32, tag = "15")] + pub uid: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2878)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gbijnjopfma { + #[prost(uint32, tag = "1")] + pub omgchbachci: u32, + #[prost(uint32, tag = "2")] + pub pjagpbalimk: u32, + #[prost(uint32, tag = "3")] + pub dekhbeooien: u32, + #[prost(uint32, tag = "6")] + pub mkfidapckmf: u32, + #[prost(uint32, tag = "7")] + pub leijpnjklim: u32, + #[prost(uint32, tag = "8")] + pub cldfheopigb: u32, + #[prost(bool, tag = "14")] + pub dggckmikbmo: bool, + #[prost(bool, tag = "15")] + pub dmedoehomkh: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5568)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lldkoimkmoh {} +#[derive(proto_gen::CmdID)] +#[cmdid(3440)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Efpkgpegpho { + #[prost(bool, tag = "6")] + pub dggckmikbmo: bool, + #[prost(uint32, tag = "8")] + pub kefcikpngjc: u32, + #[prost(uint32, tag = "9")] + pub ogopbmamfma: u32, + #[prost(uint32, tag = "12")] + pub hckcjifhkdb: u32, + #[prost(uint32, tag = "15")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cggcfcgpell { + #[prost(string, tag = "1")] + pub bmljclenhmh: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub llgjemmhion: ::prost::alloc::string::String, + #[prost(uint32, tag = "3")] + pub khhibkpbkpn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29645)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kpecfncdhdn { + #[prost(uint32, tag = "10")] + pub pdlmkflekdl: u32, + #[prost(int32, tag = "11")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7543)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bnilonchcld { + #[prost(int32, tag = "14")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kcaahgkkmla { + #[prost(message, optional, tag = "5")] + pub jfdaekllkkn: ::core::option::Option, + #[prost(bool, tag = "6")] + pub cmadplggjih: bool, + #[prost(uint32, tag = "7")] + pub scene_id: u32, + #[prost(uint32, tag = "9")] + pub peer_id: u32, + #[prost(uint32, tag = "10")] + pub uid: u32, + #[prost(string, tag = "11")] + pub name: ::prost::alloc::string::String, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28125)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cbkpkjejplk { + #[prost(int32, tag = "3")] + pub retcode: i32, + #[prost(uint32, tag = "7")] + pub pdlmkflekdl: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8343)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ndjagbcnidh {} +#[derive(proto_gen::CmdID)] +#[cmdid(25875)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Paegimelngb { + #[prost(message, optional, tag = "2")] + pub bnhbapdikoj: ::core::option::Option, + #[prost(enumeration = "Igohjibcdfa", tag = "10")] + pub lkidbhiooog: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5820)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jdonmlhdjgi { + #[prost(bool, tag = "5")] + pub bgaoacgaldg: bool, + #[prost(uint32, tag = "12")] + pub ohkidhnabib: u32, + #[prost(uint32, tag = "13")] + pub uid: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26072)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hkknjgmdjfi { + #[prost(int32, tag = "13")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25385)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Inmhkjfeojm {} +#[derive(proto_gen::CmdID)] +#[cmdid(25099)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dhfggfpdcbk {} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mncddaedmpp { + #[prost(message, optional, tag = "1")] + pub abpjibdjipa: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2090)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Llknofonjfb {} +#[derive(proto_gen::CmdID)] +#[cmdid(20025)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ooenphbhfen { + #[prost(uint32, tag = "4")] + pub onabdgfcpih: u32, + #[prost(int32, tag = "12")] + pub retcode: i32, + #[prost(uint32, tag = "13")] + pub epjoaallggd: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lcmjaiogkpo { + #[prost(uint32, tag = "4")] + pub mempkcgnnmf: u32, + #[prost(bool, tag = "7")] + pub ecihdijcled: bool, + #[prost(uint32, tag = "8")] + pub ijffkcgiaoj: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2358)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kkhlcedgekh { + #[prost(message, optional, tag = "12")] + pub aeianmankof: ::core::option::Option, + #[prost(message, optional, tag = "8")] + pub jjeepbcifcp: ::core::option::Option, + #[prost(message, optional, tag = "15")] + pub ffdebpeddmd: ::core::option::Option, + #[prost(message, optional, tag = "4")] + pub odfifckdodj: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub dnfdjphiobd: ::core::option::Option, + #[prost(int32, tag = "13")] + pub jjfpfmpjema: i32, + #[prost(uint32, tag = "7")] + pub scene_id: u32, + #[prost(int32, tag = "2")] + pub uid: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(176)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Checkdialhe {} +#[derive(proto_gen::CmdID)] +#[cmdid(21432)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eehimdppadp { + #[prost(message, repeated, tag = "8")] + pub mdpdlcndkmo: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "10")] + pub egmbajdjcop: u32, + #[prost(int32, tag = "11")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hapcmpeonjl { + #[prost(int32, tag = "2")] + pub mpgkoihcfim: i32, + #[prost(message, optional, tag = "7")] + pub hfedopicbpn: ::core::option::Option, + #[prost(message, optional, tag = "8")] + pub pofkmpbggdl: ::core::option::Option, + #[prost(int32, repeated, tag = "10")] + pub alkgminnaml: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mlaiepdekjh { + #[prost(enumeration = "Hjaaammhghn", tag = "8")] + pub aiigjkjlbal: i32, + #[prost(message, repeated, tag = "12")] + pub afbfpehoedg: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hghmaooikpe { + #[prost(string, tag = "4")] + pub aeomgddoncc: ::prost::alloc::string::String, + #[prost(uint32, tag = "6")] + pub costume_id: u32, + #[prost(uint32, tag = "7")] + pub avatar_id: u32, + #[prost(uint32, tag = "8")] + pub iaomoifpbkj: u32, + #[prost(string, tag = "13")] + pub kamjijolfkj: ::prost::alloc::string::String, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lenjkdipebg { + #[prost(bool, tag = "2")] + pub hblihlkjeda: bool, + #[prost(uint32, tag = "14")] + pub avatar_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27187)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lgeahoncdab { + #[prost(message, repeated, tag = "6")] + pub ncfkjkijmkd: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22412)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Caifeoffhbh { + #[prost(uint32, repeated, tag = "13")] + pub ldedoinniok: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ocjneamjapc { + #[prost(bool, tag = "5")] + pub kgipbhibobd: bool, + #[prost(message, repeated, tag = "12")] + pub gocbhmdladb: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Igbbfnjfahk { + #[prost(map = "uint32, message", tag = "6")] + pub cilfdmfadlg: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iglhbjpbbda { + #[prost(uint32, tag = "6")] + pub ljfafdhikjd: u32, + #[prost(uint32, tag = "11")] + pub pjjaoilbfbn: u32, + #[prost(bool, tag = "13")] + pub ecihdijcled: bool, + #[prost(bool, tag = "14")] + pub jhfmeficaal: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27806)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pcmjljmfcbl { + #[prost(int32, tag = "1")] + pub retcode: i32, + #[prost(uint32, tag = "11")] + pub group_id: u32, + #[prost(uint32, tag = "14")] + pub fgedppoccke: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lknialgdpbj { + #[prost(uint32, tag = "2")] + pub lekfejhkppe: u32, + #[prost(uint32, tag = "12")] + pub hpkjcbecfgb: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8172)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Icgcocljale { + #[prost(message, optional, tag = "4")] + pub ibjhbimbaim: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20970)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lpplgkggjjj { + #[prost(message, repeated, tag = "4")] + pub fcdagighnmd: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "6")] + pub gilnofipmjb: bool, + #[prost(int32, tag = "8")] + pub retcode: i32, + #[prost(uint32, tag = "9")] + pub gblenhcpkcp: u32, + #[prost(message, optional, tag = "14")] + pub kldbnldjgfi: ::core::option::Option, + #[prost(bool, tag = "15")] + pub nolfdoblhbn: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bgabkejdeom { + #[prost(bool, tag = "6")] + pub ecihdijcled: bool, + #[prost(uint32, tag = "8")] + pub pjjaoilbfbn: u32, + #[prost(bool, tag = "10")] + pub jhfmeficaal: bool, + #[prost(uint32, tag = "14")] + pub hbfipkbclhk: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27648)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ppgajfbjnnn { + #[prost(message, optional, tag = "8")] + pub position: ::core::option::Option, + #[prost(uint32, tag = "9")] + pub owner_entity_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fenihpadojf { + #[prost(map = "uint32, uint32", tag = "4")] + pub njhiojnmkcb: ::std::collections::HashMap, + #[prost(string, tag = "5")] + pub nick_name: ::prost::alloc::string::String, + #[prost(string, tag = "6")] + pub kamjijolfkj: ::prost::alloc::string::String, + #[prost(string, tag = "7")] + pub mmdpdoococo: ::prost::alloc::string::String, + #[prost(uint32, repeated, tag = "8")] + pub ggbmhjflahd: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "9")] + pub fbpgimlmdnj: u32, + #[prost(message, optional, tag = "12")] + pub blfkojlccoo: ::core::option::Option, + #[prost(uint32, tag = "15")] + pub uid: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2409)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fffmbbhpkpi { + #[prost(uint32, tag = "7")] + pub guid: u32, + #[prost(bool, tag = "14")] + pub ddeejmjomcl: bool, + #[prost(bool, tag = "12")] + pub ghnkompjkci: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dianbpejpij { + #[prost(bool, tag = "2")] + pub jhfmeficaal: bool, + #[prost(uint32, tag = "6")] + pub ajhkdlcaphg: u32, + #[prost(uint32, tag = "10")] + pub mempkcgnnmf: u32, + #[prost(bool, tag = "11")] + pub ecihdijcled: bool, + #[prost(uint32, tag = "12")] + pub dmkfeccmcop: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6440)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ceainpmmjaa { + #[prost(bool, tag = "5")] + pub bhhcjikkibo: bool, + #[prost(uint32, tag = "8")] + pub iehlhaogkpj: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hkbcjpopogi { + #[prost(uint32, tag = "2")] + pub item_id: u32, + #[prost(bool, tag = "6")] + pub hppmegldgkf: bool, + #[prost(uint32, tag = "7")] + pub count: u32, + #[prost(uint64, tag = "8")] + pub guid: u64, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cdghdalggal { + #[prost(message, optional, tag = "10")] + pub hnjiidamchp: ::core::option::Option, + #[prost(enumeration = "Ialdlppfide", tag = "12")] + pub epcbaobgodi: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21075)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bhhenalolib { + #[prost(uint64, tag = "4")] + pub avatar_guid: u64, + #[prost(uint32, tag = "6")] + pub omnkhjbmgkl: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6671)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mlpnmhmiofd { + #[prost(int32, tag = "5")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21295)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gaepdhejomg { + #[prost(int32, tag = "2")] + pub retcode: i32, + #[prost(message, optional, tag = "14")] + pub iimdjnnjiep: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20887)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Akgkpnieonn { + #[prost(message, repeated, tag = "3")] + pub enehegnabil: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27265)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jijgjgpalah { + #[prost(uint32, repeated, tag = "2")] + pub nkaichlodle: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24042)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bjagghlidda { + #[prost(uint64, repeated, tag = "2")] + pub dlkmfcjekal: ::prost::alloc::vec::Vec, + #[prost(uint64, tag = "9")] + pub opbnfdpdjgd: u64, + #[prost(uint32, tag = "12")] + pub emggcbpmcpd: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jpbojeclhpa { + #[prost(map = "uint32, message", tag = "5")] + pub ejeppajkaob: ::std::collections::HashMap, + #[prost(message, repeated, tag = "11")] + pub lbjcobndkbd: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "14")] + pub pogdnklbfjm: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4683)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ncbeddngcnf { + #[prost(uint32, tag = "4")] + pub kihigcbbali: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(821)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kbhkabmfhia { + #[prost(int32, tag = "8")] + pub retcode: i32, + #[prost(uint32, repeated, tag = "9")] + pub fhoejdgpncd: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(69)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Epidfojkkkp { + #[prost(uint32, tag = "6")] + pub cpjofigjdgp: u32, + #[prost(uint64, repeated, tag = "10")] + pub hhmflfigild: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25833)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Haoljbdhbmd {} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ghabjoheaga { + #[prost(bool, tag = "4")] + pub pfokfhlokej: bool, + #[prost(uint32, repeated, tag = "5")] + pub mdmfajhfibd: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "6")] + pub ofbcbogfcej: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "8")] + pub fmnffnnobih: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "13")] + pub cmafekgpacg: u32, + #[prost(uint32, repeated, tag = "14")] + pub jphhgapgmbm: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "15")] + pub avatar_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cfbjkoangjo { + #[prost(uint32, tag = "1")] + pub oboopjlpdni: u32, + #[prost(uint32, tag = "2")] + pub okicoglejec: u32, + #[prost(bool, tag = "3")] + pub is_active: bool, + #[prost(message, optional, tag = "4")] + pub pos: ::core::option::Option, + #[prost(message, optional, tag = "5")] + pub nbaidhhdpmd: ::core::option::Option, + #[prost(int32, tag = "6")] + pub speed: i32, + #[prost(uint32, tag = "7")] + pub odilegfjbok: u32, + #[prost(uint32, tag = "8")] + pub state: u32, + #[prost(uint32, tag = "9")] + pub peblohahpmm: u32, + #[prost(uint32, tag = "10")] + pub jkgafnnlifh: u32, + #[prost(message, repeated, tag = "11")] + pub aabaecaakeg: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "12")] + pub ddmmdbeooml: i32, + #[prost(message, repeated, tag = "13")] + pub info_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "14")] + pub hdkpmodacmp: u32, + #[prost(uint32, tag = "15")] + pub njfflkndlke: u32, + #[prost(int32, tag = "16")] + pub kigfpeikeio: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ahnndhpffij { + #[prost(uint32, repeated, tag = "2")] + pub jcpopmkjdgl: ::prost::alloc::vec::Vec, + #[prost(map = "uint32, uint32", tag = "7")] + pub ahhpnefbelf: ::std::collections::HashMap, + #[prost(message, repeated, tag = "8")] + pub gnomiomenpe: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "9")] + pub ccemdhcgkpl: u32, + #[prost(uint32, tag = "11")] + pub bohciopclja: u32, + #[prost(map = "uint32, uint32", tag = "13")] + pub pgcmpkmhllo: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dfohafaojfa { + #[prost(uint64, tag = "1")] + pub padclipinad: u64, + #[prost(uint64, tag = "2")] + pub cgammlododp: u64, + #[prost(message, repeated, tag = "3")] + pub ndeljoaekff: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "4")] + pub afelflnmohm: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "5")] + pub dgmekiilhgp: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "6")] + pub ohajpgjeffb: u32, + #[prost(bool, tag = "7")] + pub jhfmeficaal: bool, + #[prost(uint32, tag = "8")] + pub dekhbeooien: u32, + #[prost(uint32, tag = "9")] + pub pcklffnfnge: u32, + #[prost(uint32, tag = "10")] + pub ejnglcjnapn: u32, + #[prost(uint32, tag = "11")] + pub pkdnedainpl: u32, + #[prost(uint32, tag = "12")] + pub pnicfjonlde: u32, + #[prost(message, repeated, tag = "13")] + pub omhoeclbobi: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "14")] + pub hpempjlfgco: u32, + #[prost(message, repeated, tag = "15")] + pub hafimfjblfg: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "16")] + pub nfbkfndnaai: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "17")] + pub bcogkegagnp: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "18")] + pub gnmpklahjcb: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "19")] + pub bdnllapjcic: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "20")] + pub geieddfnlmp: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26506)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nmggmlcfhah { + #[prost(int32, tag = "9")] + pub retcode: i32, + #[prost(message, optional, tag = "12")] + pub jcimgdhmmln: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Micamkkbkmm { + #[prost(uint32, tag = "1")] + pub ombhpmmomla: u32, + #[prost(uint32, repeated, tag = "10")] + pub dnijppkbcbd: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "12")] + pub bbmeenimmeh: u32, + #[prost(string, repeated, tag = "15")] + pub knchdpbaage: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23355)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fmiihieldip { + #[prost(message, repeated, tag = "7")] + pub bnlkkidlbme: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct AvatarEquipAffixInfo { + #[prost(uint32, tag = "1")] + pub equip_affix_id: u32, + #[prost(uint32, tag = "2")] + pub left_cd_time: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27639)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dodfjbhnfil { + #[prost(message, repeated, tag = "2")] + pub hhegbiiibeo: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "6")] + pub ohlhefnmkfo: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "12")] + pub pjjaoilbfbn: u32, + #[prost(bool, tag = "5")] + pub dmedoehomkh: bool, + #[prost(uint32, tag = "15")] + pub hmgabgobnla: u32, + #[prost(uint32, tag = "8")] + pub aigakboajgj: u32, + #[prost(uint32, tag = "14")] + pub bilnineaaoi: u32, + #[prost(uint32, tag = "13")] + pub jofbeiaclof: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3422)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Clloapindmm { + #[prost(uint32, tag = "1")] + pub abkjocjkdfh: u32, + #[prost(uint32, repeated, tag = "7")] + pub elggbgahpbc: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "12")] + pub hcpkdcnkpgd: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "15")] + pub mgijfmcbjke: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9119)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aicbehigdob { + #[prost(uint32, tag = "9")] + pub npc_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(870)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Npfkgikckij { + #[prost(uint64, tag = "2")] + pub dcompdppdpo: u64, + #[prost(bool, tag = "12")] + pub fojakdnohaf: bool, + #[prost(int32, tag = "13")] + pub retcode: i32, + #[prost(enumeration = "Himmemhogfb", tag = "15")] + pub mfmlakbiaed: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9236)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oapooaklkbi { + #[prost(message, repeated, tag = "11")] + pub gjnffcfmoha: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "14")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fcpkpnobjfm { + #[prost(uint32, tag = "4")] + pub level: u32, + #[prost(uint32, tag = "6")] + pub ckjgfceepok: u32, + #[prost(uint32, tag = "9")] + pub ifgpnankeaj: u32, + #[prost(uint32, tag = "13")] + pub dmcjbimfkci: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Delamilmdgl { + #[prost(uint32, tag = "1")] + pub dekhbeooien: u32, + #[prost(message, optional, tag = "3")] + pub mhfdgagiepa: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Epopbokbcfd { + #[prost(enumeration = "Dabhikgpaie", tag = "3")] + pub platform_type: i32, + #[prost(uint32, tag = "6")] + pub lbclghbmdaf: u32, + #[prost(uint32, tag = "7")] + pub jbghbcnlkhp: u32, + #[prost(bool, tag = "9")] + pub jookmiedbie: bool, + #[prost(uint32, tag = "13")] + pub ilffggjakaj: u32, + #[prost(uint32, tag = "14")] + pub pjmhkgkfahk: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bfdnmbbmogm { + #[prost(bool, tag = "1")] + pub jhfmeficaal: bool, + #[prost(uint32, tag = "2")] + pub pjjaoilbfbn: u32, + #[prost(uint32, tag = "9")] + pub fjhhikoihka: u32, + #[prost(bool, tag = "12")] + pub ecihdijcled: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ofjffjddake { + #[prost(int32, tag = "1")] + pub pagninbknfj: i32, + #[prost(uint32, tag = "2")] + pub bfhecakoocn: u32, + #[prost(uint32, tag = "3")] + pub hjcdicmbdke: u32, + #[prost(uint32, tag = "4")] + pub entity_id: u32, + #[prost(bool, tag = "5")] + pub oabnnledcai: bool, + #[prost(int32, tag = "6")] + pub bedacoieima: i32, + #[prost(float, tag = "7")] + pub pkjibefejon: f32, + #[prost(uint32, tag = "8")] + pub ref_id: u32, + #[prost(int32, tag = "9")] + pub bpelaiajjkj: i32, + #[prost(bool, tag = "10")] + pub gpihdklihkg: bool, + #[prost(message, optional, tag = "12")] + pub ref_pos: ::core::option::Option, + #[prost(uint32, tag = "13")] + pub kgedpgankpc: u32, + #[prost(uint32, tag = "14")] + pub nbodgmdfafp: u32, + #[prost(message, optional, tag = "15")] + pub pos: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25857)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ogeklkkfmge { + #[prost(uint32, tag = "3")] + pub hnijmehbebp: u32, + #[prost(uint32, tag = "6")] + pub ogopopjbobp: u32, + #[prost(bool, tag = "7")] + pub cpknlalfoac: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6829)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jmpilopgkco { + #[prost(message, optional, tag = "2")] + pub ddpgemgdhel: ::core::option::Option, + #[prost(bool, tag = "5")] + pub nfbifipddad: bool, + #[prost(uint32, tag = "15")] + pub ocinfhojcea: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24267)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lbenmcflbmi { + #[prost(uint32, tag = "15")] + pub bmbbdjpdjnd: u32, + #[prost(uint32, tag = "14")] + pub ejhaopdpjak: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4552)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ppolmjjgoac { + #[prost(message, optional, tag = "1")] + pub kgjnkfnpoib: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Amimnlmegea { + #[prost(message, repeated, tag = "1")] + pub hegnigachmi: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "11")] + pub apnlofpnahn: u32, + #[prost(uint32, tag = "13")] + pub peblohahpmm: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Igojpadbhln { + #[prost(uint32, tag = "6")] + pub pjjaoilbfbn: u32, + #[prost(uint32, tag = "7")] + pub mempkcgnnmf: u32, + #[prost(bool, tag = "10")] + pub ecihdijcled: bool, + #[prost(bool, tag = "14")] + pub eialjbaengj: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5641)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ogolaepipdm { + #[prost(message, repeated, tag = "6")] + pub aphkopalnlj: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dfbalngnhfa { + #[prost(uint32, tag = "7")] + pub skill_depot_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cjdgpmeojip { + #[prost(message, repeated, tag = "10")] + pub cpglefgbnpg: ::prost::alloc::vec::Vec, + #[prost(string, tag = "15")] + pub title: ::prost::alloc::string::String, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21822)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hicpmlhdace { + #[prost(int32, tag = "9")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fphbhofgjnp { + #[prost(message, repeated, tag = "9")] + pub gocbhmdladb: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "10")] + pub ecihdijcled: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25478)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lingkndpeah { + #[prost(uint32, tag = "4")] + pub gldnnfocdem: u32, + #[prost(uint32, tag = "5")] + pub okicoglejec: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pggpfnpdpln { + #[prost(uint32, tag = "2")] + pub ojoapinglno: u32, + #[prost(uint32, tag = "6")] + pub kpampgdjdhe: u32, + #[prost(uint32, tag = "9")] + pub lekfejhkppe: u32, + #[prost(uint32, tag = "15")] + pub clocegaahjn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8785)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hkcljjkhebj {} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aonhlnjidif { + #[prost(uint32, tag = "4")] + pub name_id: u32, + #[prost(uint32, tag = "5")] + pub dmlcigbdpii: u32, + #[prost(bool, tag = "10")] + pub necliphhkng: bool, + #[prost(uint32, tag = "11")] + pub mdffajlbgjj: u32, + #[prost(uint32, tag = "13")] + pub jpjampmnpoj: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9788)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ompmmiadlca { + #[prost(uint32, tag = "1")] + pub cbfmilloboo: u32, + #[prost(uint32, tag = "3")] + pub ccdgnfpmobd: u32, + #[prost(uint32, tag = "4")] + pub cmdnkflfhia: u32, + #[prost(uint32, tag = "5")] + pub ddclebhphhb: u32, + #[prost(uint32, tag = "8")] + pub amnljmbjnkg: u32, + #[prost(uint32, tag = "10")] + pub fdjakfibmml: u32, + #[prost(uint32, tag = "15")] + pub kffhibefmpp: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3869)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nmokniiinch { + #[prost(uint32, tag = "1")] + pub afpkljbmobb: u32, + #[prost(bool, tag = "5")] + pub ecihdijcled: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mlkkibocgco { + #[prost(message, optional, tag = "13")] + pub jajnmbllabi: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29632)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Koikaijkhak { + #[prost(int32, tag = "3")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20780)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lclomdgdchb { + #[prost(uint32, tag = "2")] + pub hkejlenogln: u32, + #[prost(uint32, tag = "3")] + pub ilieopgmdgo: u32, + #[prost(uint32, tag = "4")] + pub param: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fhhpbcfpjkk { + #[prost(uint32, repeated, tag = "6")] + pub apbmoddnkje: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "14")] + pub oboopjlpdni: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1078)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Agkldekndac { + #[prost(int32, tag = "5")] + pub retcode: i32, + #[prost(uint32, tag = "9")] + pub hklkmbmgake: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7773)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iedkiiicddf { + #[prost(message, optional, tag = "5")] + pub mjghgbhcfil: ::core::option::Option, + #[prost(uint32, tag = "10")] + pub pjjaoilbfbn: u32, + #[prost(bool, tag = "9")] + pub eialjbaengj: bool, + #[prost(uint32, tag = "4")] + pub dekhbeooien: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4716)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dbpljgfkcaj { + #[prost(uint32, tag = "3")] + pub lbclghbmdaf: u32, + #[prost(uint32, tag = "14")] + pub gaplfmmgbfa: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27592)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lcefokjfbnd { + #[prost(uint32, tag = "11")] + pub enfbngolblo: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hhgiikmjebp { + #[prost(enumeration = "Pbjbnapeoed", tag = "1")] + pub state: i32, + #[prost(uint32, repeated, tag = "3")] + pub fikgdofabee: ::prost::alloc::vec::Vec, + #[prost(float, tag = "4")] + pub hgkbfkjlkao: f32, + #[prost(uint32, tag = "5")] + pub mhjeokngcdf: u32, + #[prost(uint32, tag = "8")] + pub ojoapinglno: u32, + #[prost(uint32, tag = "9")] + pub nnebhhfhdcc: u32, + #[prost(uint32, tag = "11")] + pub bkkdbgcoenn: u32, + #[prost(uint32, tag = "12")] + pub dibjhdjhhlo: u32, + #[prost(uint32, tag = "14")] + pub eibhpahcjbg: u32, + #[prost(uint32, tag = "15")] + pub cngjenenjih: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lamahkpfkln {} +#[derive(proto_gen::CmdID)] +#[cmdid(2718)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ckikijpckpp {} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Keoabmhgede { + #[prost(uint32, repeated, tag = "5")] + pub kehdbaphjig: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26018)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ihcjcbgcncj { + #[prost(uint32, tag = "7")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22498)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aaeohbakffl { + #[prost(bool, tag = "1")] + pub jiglgehaajk: bool, + #[prost(int32, tag = "2")] + pub retcode: i32, + #[prost(bool, tag = "3")] + pub dggckmikbmo: bool, + #[prost(uint32, tag = "7")] + pub jlfheeipddp: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28614)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pkeagpbfcic { + #[prost(int32, tag = "5")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21633)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cmcflnjpcek { + #[prost(uint32, tag = "4")] + pub omgchbachci: u32, + #[prost(uint32, tag = "5")] + pub admokadnfhh: u32, + #[prost(uint32, tag = "9")] + pub icmgfgejcjk: u32, + #[prost(uint32, tag = "10")] + pub kpampgdjdhe: u32, + #[prost(bool, tag = "11")] + pub iicidnmoebc: bool, + #[prost(map = "uint32, uint32", tag = "14")] + pub jclilkdklgf: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29484)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fmgfjjpppdl { + #[prost(uint32, tag = "9")] + pub badoiojgdbb: u32, + #[prost(uint32, tag = "11")] + pub ialkblcgcil: u32, + #[prost(enumeration = "Kckmmddjpce", tag = "7")] + pub phfalpgfgkn: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4730)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cgfiggodhib { + #[prost(uint32, tag = "6")] + pub r#type: u32, + #[prost(int32, tag = "7")] + pub retcode: i32, + #[prost(uint32, tag = "8")] + pub avatar_id: u32, + #[prost( + oneof = "cgfiggodhib::Detail", + tags = "144, 493, 677, 996, 1434, 1451, 1986" + )] + pub detail: ::core::option::Option, +} +/// Nested message and enum types in `CGFIGGODHIB`. +pub mod cgfiggodhib { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Detail { + #[prost(message, tag = "144")] + ElementWeaponResponse(super::Cachhpniabc), + #[prost(message, tag = "493")] + ElementReliquarySetResponse(super::Dlggmgomego), + #[prost(message, tag = "677")] + ReliquaryResponse(super::Jgdlhlghiib), + #[prost(message, tag = "996")] + SkillResponse(super::Joapclnjbca), + #[prost(message, tag = "1434")] + ElementReliquaryResponse(super::Amimnlmegea), + #[prost(message, tag = "1451")] + ReliquarySetResponse(super::Admfdgokbag), + #[prost(message, tag = "1986")] + WeaponResponse(super::Codlghbfmll), + } +} +#[derive(proto_gen::CmdID)] +#[cmdid(9410)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hphknegjanc { + #[prost(message, repeated, tag = "15")] + pub ogifpolbhep: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Khfpkkbignc { + #[prost(uint32, tag = "7")] + pub pglajfafgai: u32, + #[prost(bool, tag = "8")] + pub ddjdafhloef: bool, + #[prost(uint32, tag = "9")] + pub cjcjonhpiio: u32, + #[prost(uint32, tag = "14")] + pub ilpjbepjdlp: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pdcdlnldcdp { + #[prost(bool, tag = "4")] + pub ecihdijcled: bool, + #[prost(uint32, tag = "5")] + pub pjjaoilbfbn: u32, + #[prost(float, tag = "9")] + pub cpimbckmlfc: f32, + #[prost(bool, tag = "10")] + pub jhfmeficaal: bool, + #[prost(uint32, tag = "13")] + pub bngpnmobohj: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8479)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ojogchcdopj { + #[prost(int32, tag = "13")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9303)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Okejfheiipa { + #[prost(message, optional, tag = "12")] + pub hjikegifecd: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23643)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hgmjclkanjf { + #[prost(int32, tag = "7")] + pub retcode: i32, + #[prost(message, repeated, tag = "10")] + pub nbjchnblalf: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5042)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fegdekekpbb { + #[prost(int32, tag = "11")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6469)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Apgbcbbnfka { + #[prost(uint32, tag = "5")] + pub homgpjjmldg: u32, + #[prost(bool, tag = "15")] + pub mcpkkmhkcpd: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20574)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kpnghkiomde { + #[prost(uint32, tag = "2")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(764)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ggihkodokaj { + #[prost(uint32, tag = "11")] + pub kfpegnaadlo: u32, + #[prost(uint32, tag = "5")] + pub gaplfmmgbfa: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2985)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pkafmnogogn { + #[prost(bool, tag = "3")] + pub jgjkhbobffj: bool, + #[prost(uint32, tag = "12")] + pub hoipfdomipj: u32, + #[prost(int32, tag = "15")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6194)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kkdajcmckme {} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lpkohplnioa { + #[prost(message, repeated, tag = "1")] + pub cbdjnkepeaj: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "8")] + pub level: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jmifahcngao { + #[prost(message, repeated, tag = "3")] + pub mgilpohhoem: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "4")] + pub fbdgobjhilf: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "9")] + pub iebgeeomoig: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dhikeicgonl { + #[prost(uint32, tag = "1")] + pub uid: u32, + #[prost(message, optional, tag = "2")] + pub pos: ::core::option::Option, + #[prost(uint32, tag = "3")] + pub dekhbeooien: u32, + #[prost(uint32, tag = "4")] + pub okicoglejec: u32, + #[prost(uint32, tag = "5")] + pub dingfnceiab: u32, + #[prost(uint32, tag = "6")] + pub manncafbime: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1317)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ChangeAvatarRsp { + #[prost(int32, tag = "1")] + pub retcode: i32, + #[prost(uint64, tag = "9")] + pub cur_guid: u64, + #[prost(uint32, tag = "14")] + pub skill_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Acbclkofkdj {} +#[derive(proto_gen::CmdID)] +#[cmdid(26787)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pkkjmodglbe { + #[prost(uint32, tag = "2")] + pub jinjlbemjnc: u32, + #[prost(int32, tag = "8")] + pub retcode: i32, + #[prost(oneof = "pkkjmodglbe::Adebpdlaojp", tags = "4, 10")] + pub adebpdlaojp: ::core::option::Option, +} +/// Nested message and enum types in `PKKJMODGLBE`. +pub mod pkkjmodglbe { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Adebpdlaojp { + #[prost(message, tag = "4")] + DetectorData(super::Pkgbfmjbbia), + #[prost(message, tag = "10")] + ClientCollectorData(super::Jhaiacbojop), + } +} +#[derive(proto_gen::CmdID)] +#[cmdid(2026)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mnapeolclni { + #[prost(int32, tag = "2")] + pub retcode: i32, + #[prost(uint32, repeated, tag = "3")] + pub ebeecdalmkm: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bibgelojilj { + #[prost(uint32, tag = "8")] + pub entity_id: u32, + #[prost(message, optional, tag = "10")] + pub ffioldkchck: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jenbhhgnlmb { + #[prost(uint32, tag = "1")] + pub avatar_id: u32, + #[prost(map = "uint32, message", tag = "2")] + pub prop_map: ::std::collections::HashMap, + #[prost(uint32, repeated, tag = "3")] + pub talent_id_list: ::prost::alloc::vec::Vec, + #[prost(map = "uint32, float", tag = "4")] + pub fight_prop_map: ::std::collections::HashMap, + #[prost(uint32, tag = "5")] + pub skill_depot_id: u32, + #[prost(uint32, tag = "6")] + pub core_proud_skill_level: u32, + #[prost(uint32, repeated, tag = "7")] + pub inherent_proud_skill_list: ::prost::alloc::vec::Vec, + #[prost(map = "uint32, uint32", tag = "8")] + pub skill_level_map: ::std::collections::HashMap, + #[prost(map = "uint32, uint32", tag = "9")] + pub proud_skill_extra_level_map: ::std::collections::HashMap, + #[prost(message, repeated, tag = "10")] + pub aleijmnifgk: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "11")] + pub fetter_info: ::core::option::Option, + #[prost(uint32, tag = "12")] + pub costume_id: u32, + #[prost(message, optional, tag = "13")] + pub excel_info: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27758)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hjpcdciejej { + #[prost(int32, tag = "4")] + pub retcode: i32, + #[prost(enumeration = "Ialdlppfide", tag = "5")] + pub epcbaobgodi: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8884)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bfpajihlnmk { + #[prost(message, repeated, tag = "12")] + pub kfapijcgdbc: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "13")] + pub gaplfmmgbfa: u32, + #[prost(enumeration = "Ialdlppfide", tag = "2")] + pub epcbaobgodi: i32, + #[prost(uint32, tag = "4")] + pub room_id: u32, + #[prost(uint64, tag = "5")] + pub gedmdocolfj: u64, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ojafhoohbio { + #[prost(uint32, repeated, tag = "3")] + pub bpbolafchcl: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "4")] + pub fhiddcjdchl: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "5")] + pub npldfkninho: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "7")] + pub dekhbeooien: u32, + #[prost(bool, tag = "8")] + pub ecihdijcled: bool, + #[prost(uint32, tag = "9")] + pub pjjaoilbfbn: u32, + #[prost(uint32, repeated, tag = "12")] + pub hdpbogfdien: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "13")] + pub jhfmeficaal: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8745)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bbhogbccami { + #[prost(uint32, tag = "7")] + pub lgeoebdjdfg: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4375)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jnpcjflpodd { + #[prost(bool, tag = "13")] + pub fojakdnohaf: bool, + #[prost(uint64, tag = "15")] + pub gedmdocolfj: u64, +} +#[derive(proto_gen::CmdID)] +#[cmdid(177)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ohbiepbkhij { + #[prost(uint32, tag = "7")] + pub khhibkpbkpn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22866)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nhobnflmfbb {} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gmefnjaiodo { + #[prost(bool, tag = "15")] + pub cdjgkclkppj: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(626)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fdceidhlgom { + #[prost(int32, tag = "15")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Heffhmdipai { + #[prost(uint32, repeated, tag = "1")] + pub cdgfhbkoogn: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Khnihkaiecp { + #[prost(uint32, repeated, tag = "2")] + pub dhiofcabkhe: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "4")] + pub kdknoocoebm: u32, + #[prost(uint32, tag = "8")] + pub icjfcaklnfg: u32, + #[prost(uint32, tag = "9")] + pub lgooidciaag: u32, + #[prost(uint32, tag = "10")] + pub joijhcopeng: u32, + #[prost(uint32, repeated, tag = "13")] + pub fllbnagkfkp: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mfmholfmedp { + #[prost(uint32, tag = "1")] + pub necgmakacdi: u32, + #[prost(uint32, tag = "2")] + pub ombmigpcoaa: u32, + #[prost(uint32, repeated, tag = "3")] + pub jgakggcibge: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "4")] + pub hpjadbmcnkb: ::prost::alloc::vec::Vec, + #[prost(map = "uint32, message", tag = "5")] + pub picddpncjmf: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26441)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dblckahanob { + #[prost(message, optional, tag = "10")] + pub pfogokingmb: ::core::option::Option, + #[prost(enumeration = "Ppllgnghlmb", tag = "1")] + pub reason: i32, + #[prost(bool, tag = "12")] + pub lgeoldehabg: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dnkelomnhjd { + #[prost(uint32, tag = "9")] + pub jkpfiblbghh: u32, + #[prost(uint32, tag = "13")] + pub bghdjjooiik: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25094)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dndiljmhlim { + #[prost(int32, tag = "10")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7100)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mmhmmdfoimb { + #[prost(int32, tag = "11")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2903)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ghadbcgpcde { + #[prost(message, optional, tag = "2")] + pub lognndhodkh: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dgifokanndk { + #[prost(message, repeated, tag = "7")] + pub cocolcgnccm: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "10")] + pub pelpbfiemdk: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "11")] + pub iiahcagpboo: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(175)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ijaeolmjejg { + #[prost(message, optional, tag = "2")] + pub fdhagoenhac: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23955)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bbfkhemaeag { + #[prost(uint32, repeated, tag = "5")] + pub mjnnjkeilfm: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "2")] + pub gaplfmmgbfa: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26132)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dihnpgepgge { + #[prost(message, repeated, tag = "8")] + pub bcdecbeoklf: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27733)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kknpoiedgdi { + #[prost(uint32, tag = "2")] + pub target_uid: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28545)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Doehhhdemmc { + #[prost(uint32, tag = "4")] + pub jinjlbemjnc: u32, + #[prost(int32, tag = "10")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kochdlaofpc { + #[prost(message, optional, tag = "1")] + pub admfbdmolmf: ::core::option::Option, + #[prost(uint32, repeated, tag = "3")] + pub coppgcjjbem: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "4")] + pub apiajepbkak: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "6")] + pub negbondceej: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "7")] + pub llnppammaka: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "10")] + pub aiagdpedgki: ::core::option::Option, + #[prost(bool, tag = "11")] + pub dphdagagbii: bool, + #[prost(uint32, repeated, tag = "12")] + pub ngbpeiehcop: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4253)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jjjccdhiike { + #[prost(int32, tag = "2")] + pub retcode: i32, + #[prost(uint32, tag = "9")] + pub cdmjgifefmd: u32, + #[prost(uint32, tag = "13")] + pub ejgkapalfjb: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1594)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fplpegmbdpe { + #[prost(message, repeated, tag = "1")] + pub info_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3929)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SceneForceLockNotify { + #[prost(uint32, repeated, tag = "11")] + pub force_id_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23171)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Melikbggphd { + #[prost(bool, tag = "15")] + pub ankcbommojb: bool, + #[prost(uint32, tag = "7")] + pub gbcebgkbjdm: u32, + #[prost(uint32, tag = "1")] + pub jinjlbemjnc: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27726)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hgifmbgnkag { + #[prost(oneof = "hgifmbgnkag::Icmnfpacfjf", tags = "4, 11, 12")] + pub icmnfpacfjf: ::core::option::Option, +} +/// Nested message and enum types in `HGIFMBGNKAG`. +pub mod hgifmbgnkag { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Icmnfpacfjf { + #[prost(message, tag = "4")] + AddWindBulletNotify(super::Opbcjbpbbcb), + #[prost(message, tag = "11")] + AreaNotify(super::Jkhafpfeoce), + #[prost(message, tag = "12")] + RefreshNotify(super::Gfhajkpfmdo), + } +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gfhajkpfmdo { + #[prost(uint32, tag = "6")] + pub hbepbaeocpj: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Opbcjbpbbcb { + #[prost(uint32, tag = "1")] + pub mnblecldhnn: u32, + #[prost(message, optional, tag = "7")] + pub nancojecgko: ::core::option::Option, + #[prost(uint32, tag = "8")] + pub mmaklnhalkn: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jkhafpfeoce { + #[prost(bytes = "vec", tag = "3")] + pub hjjamclblad: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "8")] + pub fchfakepinp: u32, + #[prost(uint32, tag = "11")] + pub area_type: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27555)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mcajoopjlim { + #[prost(uint32, tag = "14")] + pub uid: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6265)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ngmfobegffe { + #[prost(uint64, tag = "11")] + pub gedmdocolfj: u64, + #[prost(uint32, tag = "2")] + pub gaplfmmgbfa: u32, + #[prost(enumeration = "Ialdlppfide", tag = "10")] + pub epcbaobgodi: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3150)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Clkknoeanan {} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dopecjnioeg { + #[prost(string, tag = "2")] + pub dcfhklamehj: ::prost::alloc::string::String, + #[prost(bool, tag = "5")] + pub nlnghndakhd: bool, + #[prost(float, tag = "10")] + pub cdjmjlahfgk: f32, + #[prost(float, tag = "12")] + pub effphdcldjb: f32, + #[prost(float, tag = "13")] + pub agidomnebcj: f32, + #[prost(uint32, tag = "15")] + pub avatar_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28139)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Heehjoefell { + #[prost(message, repeated, tag = "1")] + pub dohiocbemma: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "3")] + pub pnopncldgkh: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "4")] + pub retcode: i32, + #[prost(message, repeated, tag = "7")] + pub iibaeddpdjd: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "9")] + pub fflgcbbliao: ::core::option::Option, + #[prost(message, repeated, tag = "10")] + pub mbmpjjfeiim: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "12")] + pub lpnkmdeakpc: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cdaadhnagcj { + #[prost(bool, tag = "3")] + pub lejlmjjdedc: bool, + #[prost(string, tag = "12")] + pub lgnfafmphkd: ::prost::alloc::string::String, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3030)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Onalakbofpl { + #[prost(enumeration = "Himmemhogfb", tag = "14")] + pub mfmlakbiaed: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20086)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Njmnlogdoia { + #[prost(uint64, repeated, tag = "13")] + pub avatar_guid: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8126)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Glbdfpchkcd { + #[prost(int32, tag = "9")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jbenliafbcp { + #[prost(message, repeated, tag = "5")] + pub ebldmcjpkja: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "11")] + pub dphdagagbii: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hkmfjkcpipg { + #[prost(uint32, tag = "1")] + pub fabceoggkjk: u32, + #[prost(uint32, tag = "8")] + pub kmaehpagkfk: u32, + #[prost(uint32, tag = "10")] + pub uid: u32, + #[prost(message, optional, tag = "11")] + pub mhfdgagiepa: ::core::option::Option, + #[prost(uint32, tag = "12")] + pub ejnglcjnapn: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bikidclpeop { + #[prost(uint32, repeated, tag = "1")] + pub gdaipfjdeff: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "5")] + pub ijlhnhojkkl: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "10")] + pub emohjkimafd: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25001)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Loadfnmlahe { + #[prost(int32, tag = "5")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fbjodjmofbk { + #[prost(message, repeated, tag = "1")] + pub ilnagigifdj: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "2")] + pub mmfhiifgkbb: u32, + #[prost(message, repeated, tag = "3")] + pub kdnomlkhaeg: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "5")] + pub llhnlhfibhk: bool, + #[prost(message, repeated, tag = "6")] + pub ohpfgcabfjg: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "8")] + pub inmhhpijfhb: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "9")] + pub gjbaokjbfkj: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "10")] + pub ooakfcehabe: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "11")] + pub ncfkjkijmkd: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "12")] + pub block_id: u32, + #[prost(message, repeated, tag = "13")] + pub dnchgilkbfh: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "14")] + pub njjdmfmnlhn: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "15")] + pub gckknghdlpn: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(911)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lpnmodnpacm { + #[prost(string, tag = "10")] + pub mdldojhmcko: ::prost::alloc::string::String, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23474)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dlffgliopkf { + #[prost(int32, tag = "9")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mlabobklbck { + #[prost(uint32, tag = "1")] + pub ombmigpcoaa: u32, + #[prost(uint32, repeated, tag = "2")] + pub hpjadbmcnkb: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "3")] + pub jgakggcibge: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "4")] + pub gidpaabdmfl: u32, + #[prost(uint32, tag = "5")] + pub eghpnedhaem: u32, + #[prost(uint32, tag = "6")] + pub bjjjdldclll: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29340)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Knmlocmkacj { + #[prost(uint32, tag = "1")] + pub lgooidciaag: u32, + #[prost(uint32, tag = "2")] + pub kdknoocoebm: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6309)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pmommgooppg { + #[prost(enumeration = "Iohpcjajppo", tag = "14")] + pub kfmglfjdodo: i32, + #[prost(uint32, tag = "5")] + pub efniikefdpo: u32, + #[prost(uint32, tag = "3")] + pub gbcebgkbjdm: u32, + #[prost(uint32, tag = "15")] + pub dmcjbimfkci: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dhlbkbinian { + #[prost(uint32, tag = "3")] + pub geihmkhcije: u32, + #[prost(uint32, tag = "5")] + pub lidgejjlfmc: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4230)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Obfkjoggeok {} +#[derive(proto_gen::CmdID)] +#[cmdid(7518)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Agcfhomkfhn { + #[prost(message, repeated, tag = "12")] + pub info_list: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "134")] + pub knfokjbgbei: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26308)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cnepljfoiha {} +#[derive(proto_gen::CmdID)] +#[cmdid(24236)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ipiglkhohfk { + #[prost(bool, tag = "1")] + pub imhnjlnpgcj: bool, + #[prost(uint32, tag = "2")] + pub mhjeokngcdf: u32, + #[prost(int32, tag = "7")] + pub retcode: i32, + #[prost(uint32, tag = "15")] + pub gapcklplnpn: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jjhmjknbelh { + #[prost(uint32, tag = "1")] + pub mihmgcojgob: u32, + #[prost(uint32, tag = "3")] + pub pos: u32, + #[prost(uint32, repeated, tag = "7")] + pub gcbeeinchka: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "8")] + pub fbpgimlmdnj: u32, + #[prost(enumeration = "Eegmnipnkmj", tag = "13")] + pub reason: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23575)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bkgoebbmila { + #[prost(int32, tag = "12")] + pub retcode: i32, + #[prost(message, repeated, tag = "13")] + pub dhcedicbjam: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aplcjhpdooa { + #[prost(uint32, tag = "1")] + pub afjclenhanc: u32, + #[prost(message, repeated, tag = "3")] + pub nphlhaeliam: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "4")] + pub dphdagagbii: bool, + #[prost(map = "uint32, message", tag = "6")] + pub hjjikniehdk: ::std::collections::HashMap, + #[prost(map = "uint32, message", tag = "8")] + pub ikakikjliig: ::std::collections::HashMap, + #[prost(bool, tag = "11")] + pub ihoafkkloom: bool, + #[prost(uint32, tag = "12")] + pub iaahhnbgbah: u32, + #[prost(uint32, tag = "13")] + pub mmpocfbcdoi: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23438)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Helheaejnlo { + #[prost(int32, tag = "4")] + pub retcode: i32, + #[prost(message, repeated, tag = "5")] + pub kfapijcgdbc: ::prost::alloc::vec::Vec, + #[prost(map = "uint32, float", tag = "11")] + pub mlnpmgnlhmp: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9897)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ajklhfiihdb { + #[prost(uint32, tag = "2")] + pub group_id: u32, + #[prost(uint32, tag = "5")] + pub pebgmemnknf: u32, + #[prost(int32, tag = "10")] + pub retcode: i32, + #[prost(message, repeated, tag = "11")] + pub pbpakbcpjkj: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9627)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Njbljlccleb { + #[prost(message, optional, tag = "6")] + pub boajmooggij: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21049)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pbjikhplacp { + #[prost(message, repeated, tag = "4")] + pub okilmhjjbpp: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cachhpniabc { + #[prost(uint32, tag = "4")] + pub peblohahpmm: u32, + #[prost(message, repeated, tag = "14")] + pub weapon_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9202)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gdmfhpigmko { + #[prost(uint32, tag = "10")] + pub afeikfcjneo: u32, + #[prost(uint32, tag = "4")] + pub dkiolkfdflp: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27230)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Egnincfoeok { + #[prost(int32, tag = "3")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dlfonaionco { + #[prost(message, repeated, tag = "14")] + pub cbenkjeocil: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29346)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Igngpljofbj { + #[prost(message, repeated, tag = "7")] + pub item_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "11")] + pub fiknlhojfkl: u32, + #[prost(int32, tag = "13")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9881)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ibimehlbjem { + #[prost(uint32, repeated, tag = "2")] + pub iejfclmnfea: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7784)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fgbfnaadokh {} +#[derive(proto_gen::CmdID)] +#[cmdid(21319)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jcnmbklfffd { + #[prost(uint64, tag = "9")] + pub avatar_guid: u64, + #[prost(uint32, tag = "12")] + pub bifofbnfpmo: u32, + #[prost(int32, tag = "14")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nlldfoclanc { + #[prost(uint32, tag = "1")] + pub kaioccbnppa: u32, + #[prost(uint32, tag = "2")] + pub adoapmblfaa: u32, + #[prost(uint32, tag = "3")] + pub jddamhceape: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jmlmhfcgdgl { + #[prost(uint32, tag = "1")] + pub pdpcieiolln: u32, + #[prost(uint32, tag = "8")] + pub pheddgpdkep: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pneoikpagam { + #[prost(uint32, tag = "11")] + pub ncnkmdbafeh: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hjmleooojlj { + #[prost(message, optional, tag = "3")] + pub ccnnjmkemlc: ::core::option::Option, + #[prost(enumeration = "Epnikabpigp", tag = "5")] + pub jpioceplhcm: i32, + #[prost(int32, tag = "7")] + pub foecapjdakj: i32, + #[prost(message, optional, tag = "10")] + pub bokhjookahc: ::core::option::Option, + #[prost(message, optional, tag = "14")] + pub gpbnffjbomn: ::core::option::Option, + #[prost(int64, tag = "15")] + pub ncnkmdbafeh: i64, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1420)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fcobgfhmhkn { + #[prost(uint32, tag = "14")] + pub fkhohkelkoe: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22894)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Egbbkgdcomf { + #[prost(uint32, tag = "15")] + pub uid: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27631)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ppcfakhebjf { + #[prost(uint32, repeated, tag = "6")] + pub clgpppohdgd: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "12")] + pub info_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29066)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Behafjlphja { + #[prost(message, optional, tag = "3")] + pub nlkgmjnajhg: ::core::option::Option, + #[prost(int32, tag = "5")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27780)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ociicnfagpg { + #[prost(uint32, tag = "12")] + pub jchhllebmja: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22554)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hgmpphhbpkb { + #[prost(uint32, tag = "9")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8661)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dllnpogpoij { + #[prost(uint32, tag = "5")] + pub ogccdacjjig: u32, + #[prost(uint32, tag = "13")] + pub jinjlbemjnc: u32, + #[prost(enumeration = "Hnncclmhcla", tag = "15")] + pub bkidnkcmail: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1055)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Emdnpadkohj { + #[prost(enumeration = "Himmemhogfb", tag = "6")] + pub mfmlakbiaed: i32, + #[prost(uint64, tag = "10")] + pub dcompdppdpo: u64, + #[prost(int32, tag = "13")] + pub retcode: i32, + #[prost(oneof = "emdnpadkohj::Gcmkmeijkhj", tags = "3")] + pub gcmkmeijkhj: ::core::option::Option, +} +/// Nested message and enum types in `EMDNPADKOHJ`. +pub mod emdnpadkohj { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Gcmkmeijkhj { + #[prost(message, tag = "3")] + MusicBriefInfo(super::Pcdlglmdhai), + } +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aloiaoejmck { + #[prost(string, tag = "3")] + pub name: ::prost::alloc::string::String, + #[prost(int32, tag = "7")] + pub gnjcidhobia: i32, + #[prost(uint32, tag = "15")] + pub config_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22338)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bjilkjbgobm { + #[prost(uint32, tag = "10")] + pub okicoglejec: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ennabdgogof { + #[prost(uint32, tag = "4")] + pub fbidmkkflhe: u32, + #[prost(uint64, tag = "7")] + pub hodolkcoplg: u64, + #[prost(uint32, tag = "8")] + pub ilmfkefpege: u32, + #[prost(bool, tag = "11")] + pub dmedoehomkh: bool, + #[prost(uint32, tag = "13")] + pub mcmgodlfnjo: u32, + #[prost(message, repeated, tag = "14")] + pub knbifccible: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "15")] + pub jklmgmdfipk: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4866)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pgalcicmpok { + #[prost(uint32, tag = "3")] + pub mempkcgnnmf: u32, + #[prost(uint32, tag = "7")] + pub dmnldppgokg: u32, + #[prost(message, repeated, tag = "9")] + pub kgogfpoddlj: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "14")] + pub pjjaoilbfbn: u32, + #[prost(bool, tag = "15")] + pub amblldmipfp: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Geookffkpok { + #[prost(uint32, repeated, tag = "4")] + pub oeihebpjcjc: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "6")] + pub pjjaoilbfbn: u32, + #[prost(uint32, repeated, tag = "13")] + pub enmmkpchpnd: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "15")] + pub jmlhmojmmpm: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2097)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Noddcmimoko { + #[prost(enumeration = "Oeaoccjeope", tag = "9")] + pub ddiaamkbfda: i32, + #[prost(bool, tag = "4")] + pub mcpkkmhkcpd: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22801)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ldebbbcjejb { + #[prost(int32, tag = "3")] + pub retcode: i32, + #[prost(message, optional, tag = "6")] + pub fflgcbbliao: ::core::option::Option, + #[prost(uint32, tag = "9")] + pub gldnnfocdem: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5058)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Impoihelnbd { + #[prost(message, optional, tag = "12")] + pub jieakemolai: ::core::option::Option, + #[prost(int32, tag = "13")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kgmkmgmicfj { + #[prost(uint32, tag = "6")] + pub dekhbeooien: u32, + #[prost(uint32, tag = "7")] + pub endimmnlaad: u32, + #[prost(uint32, tag = "14")] + pub pimkfeicmek: u32, + #[prost(uint32, tag = "15")] + pub hgljfadloeb: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1757)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Likapgpdgjp { + #[prost(uint32, tag = "10")] + pub mbcalmmjafa: u32, + #[prost(uint32, tag = "12")] + pub pjjlmhgjkdg: u32, + #[prost(uint32, tag = "13")] + pub ohgaghpnjfa: u32, + #[prost(int32, tag = "15")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Odbehiednfd { + #[prost(uint32, tag = "2")] + pub ljfafdhikjd: u32, + #[prost(bool, tag = "5")] + pub dmedoehomkh: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7551)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Egbjbgjjdfe { + #[prost(message, repeated, tag = "8")] + pub kgimmencgmj: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "5")] + pub fpiplmfcdod: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "9")] + pub pjjaoilbfbn: u32, + #[prost(uint32, tag = "7")] + pub mhhcoedmpdp: u32, + #[prost(uint32, tag = "2")] + pub fjhhikoihka: u32, + #[prost(bool, tag = "10")] + pub bmneoaaabje: bool, + #[prost(bool, tag = "14")] + pub dmedoehomkh: bool, + #[prost(uint32, tag = "15")] + pub game_time: u32, + #[prost(uint32, tag = "6")] + pub akgidlcecpk: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2799)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Naegmjplfgk { + #[prost(int32, tag = "2")] + pub retcode: i32, + #[prost(message, optional, tag = "3")] + pub position: ::core::option::Option, + #[prost(uint32, tag = "7")] + pub entity_id: u32, + #[prost(uint64, tag = "9")] + pub kfnbcklkeib: u64, + #[prost(int32, tag = "11")] + pub pbhchamjkhb: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jbbpjpobalj { + #[prost(uint32, tag = "2")] + pub pjjaoilbfbn: u32, + #[prost(bool, tag = "5")] + pub jhfmeficaal: bool, + #[prost(uint32, tag = "7")] + pub dekhbeooien: u32, + #[prost(bool, tag = "8")] + pub ecihdijcled: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dknkkmemnec { + #[prost(uint32, tag = "1")] + pub oboopjlpdni: u32, + #[prost(uint32, tag = "2")] + pub param: u32, + #[prost(uint32, tag = "3")] + pub knfgkmecadn: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nophpgmjakd { + #[prost(uint32, tag = "1")] + pub lanbakkbbgh: u32, + #[prost(uint32, tag = "3")] + pub jofbeiaclof: u32, + #[prost(bool, tag = "8")] + pub dmedoehomkh: bool, + #[prost(uint32, tag = "13")] + pub nmchkcijhhg: u32, + #[prost(message, repeated, tag = "15")] + pub fohhpjbefjb: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21662)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gnjlmaiammm { + #[prost(message, repeated, tag = "7")] + pub nmgkpdjbbbp: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "11")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26199)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hpphjmploii { + #[prost(int32, tag = "2")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1940)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lhbladhonlo { + #[prost(bool, tag = "8")] + pub ljmfgajfian: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8852)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bbinomjighp { + #[prost(uint64, tag = "3")] + pub cur_avatar_guid: u64, + #[prost(uint64, repeated, tag = "12")] + pub avatar_team_guid_list: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "14")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dgifoneoahc { + #[prost(message, repeated, tag = "2")] + pub cbenkjeocil: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bghkjfdggbe { + #[prost(bool, tag = "1")] + pub ncegkbanobp: bool, + #[prost(float, tag = "3")] + pub adcniaaidpc: f32, + #[prost(float, tag = "9")] + pub okfdgficjcn: f32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8586)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aknjimdfafn { + #[prost(int32, tag = "10")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28884)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oppdhinlnkf { + #[prost(message, optional, tag = "1")] + pub ihgidghgknh: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22979)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kaffamkmpii { + #[prost(uint32, tag = "10")] + pub onabdgfcpih: u32, + #[prost(message, optional, tag = "13")] + pub nmklkgccmie: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fhfdmampgog { + #[prost(fixed32, tag = "7")] + pub end_time: u32, + #[prost(fixed32, tag = "9")] + pub lgbnfifcpjf: u32, + #[prost(uint32, repeated, tag = "10")] + pub fikgdofabee: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eaahlpkjjmc { + #[prost(uint32, tag = "2")] + pub dmkfeccmcop: u32, + #[prost(uint32, tag = "9")] + pub hojjlblkohj: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22329)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cfiikcfpdmb {} +#[derive(proto_gen::CmdID)] +#[cmdid(9408)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ejmlhiolamo { + #[prost(uint32, tag = "1")] + pub uid: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2766)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Edhedmdpoan { + #[prost(uint32, tag = "1")] + pub khhibkpbkpn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29185)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hcheebcojce {} +#[derive(proto_gen::CmdID)] +#[cmdid(20773)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kiabpmcjhdi { + #[prost(uint32, tag = "12")] + pub gdjklhgohif: u32, + #[prost(uint32, tag = "11")] + pub hajbdmhdgig: u32, + #[prost(uint32, tag = "3")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21575)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gkjdbfkcgak { + #[prost(uint32, tag = "2")] + pub pgmifndnkee: u32, + #[prost(int32, tag = "9")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27151)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Akjhagaamnh { + #[prost(int32, tag = "9")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26009)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ifhbhdhiiih { + #[prost(message, repeated, tag = "2")] + pub filhggiljln: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "3")] + pub lgbnfifcpjf: u32, + #[prost(uint32, tag = "5")] + pub bknplfikkfg: u32, + #[prost(bool, tag = "7")] + pub ankcbommojb: bool, + #[prost(uint32, repeated, tag = "8")] + pub cdidjfpemmi: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "10")] + pub knbifccible: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "13")] + pub fpedhedekpe: u32, + #[prost(bool, tag = "14")] + pub mjaoipldjmc: bool, + #[prost(uint32, tag = "15")] + pub pdlmkflekdl: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5931)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jhhobcibnpm { + #[prost(uint32, tag = "6")] + pub dekhbeooien: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(135)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gfbjmlgogoj { + #[prost(message, repeated, tag = "14")] + pub eloilboekpk: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jlghkgkchjp { + #[prost(float, tag = "1")] + pub gnjcidhobia: f32, + #[prost(message, optional, tag = "5")] + pub key: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hgjmoplpbeh { + #[prost(float, tag = "8")] + pub pmlkmklehkk: f32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jgjollohfno { + #[prost(uint32, tag = "12")] + pub djmaimmmmfa: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7946)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Knchfggbamh { + #[prost(message, optional, tag = "1")] + pub admfbdmolmf: ::core::option::Option, + #[prost(message, optional, tag = "14")] + pub aiagdpedgki: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20339)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ieobffhmong { + #[prost(bool, tag = "1")] + pub dmedoehomkh: bool, + #[prost(uint32, tag = "2")] + pub dekhbeooien: u32, + #[prost(uint32, tag = "9")] + pub ibeggcdmjli: u32, + #[prost(uint32, tag = "10")] + pub hmelbfcbinf: u32, + #[prost(uint32, tag = "11")] + pub omgchbachci: u32, + #[prost(uint32, tag = "14")] + pub ldfehofhdfc: u32, + #[prost(bool, tag = "15")] + pub ocibddefjmb: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22968)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pifommneajj { + #[prost(uint32, tag = "9")] + pub ccpigccdboi: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cfphpfofnnm { + #[prost(uint32, tag = "2")] + pub mempkcgnnmf: u32, + #[prost(bool, tag = "13")] + pub ecihdijcled: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6356)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bhbhijlelij { + #[prost(message, optional, tag = "4")] + pub dejoimafmck: ::core::option::Option, + #[prost(int32, tag = "15")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Niabidedmfl { + #[prost(uint32, tag = "3")] + pub skill_id: u32, + #[prost(uint32, tag = "5")] + pub phpfppidjkj: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27400)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pdlckmlhmhj { + #[prost(message, optional, tag = "7")] + pub fpojglaneco: ::core::option::Option, + #[prost(message, repeated, tag = "5")] + pub ceihipahgnh: ::prost::alloc::vec::Vec, + #[prost(uint64, tag = "6")] + pub guid: u64, + #[prost(bool, tag = "8")] + pub oldfklfoanf: bool, + #[prost(bool, tag = "14")] + pub idiklageldn: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2937)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ddomimcoone { + #[prost(uint32, tag = "5")] + pub lbclghbmdaf: u32, + #[prost(bool, tag = "9")] + pub ghjmcffdfdd: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fomenikamhi { + #[prost(uint32, tag = "1")] + pub ablccnkmenf: u32, + #[prost(float, tag = "6")] + pub odmapjkhdcp: f32, + #[prost(float, tag = "8")] + pub ngnkpbemfob: f32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9759)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fjojhibahoi { + #[prost(int32, tag = "8")] + pub retcode: i32, + #[prost(uint32, tag = "12")] + pub level: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bhneedmelmk { + #[prost(bool, tag = "3")] + pub eialjbaengj: bool, + #[prost(bool, tag = "4")] + pub mdgjjofokap: bool, + #[prost(uint32, tag = "7")] + pub pjjaoilbfbn: u32, + #[prost(uint32, tag = "10")] + pub gpaeljhnaek: u32, + #[prost(uint64, tag = "11")] + pub behhgcfpklp: u64, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23717)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jojefoeikmi {} +#[derive(proto_gen::CmdID)] +#[cmdid(29282)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Meobgckljkc {} +#[derive(proto_gen::CmdID)] +#[cmdid(3724)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hpddaklokjh { + #[prost(uint32, tag = "6")] + pub cghhpcmdemi: u32, + #[prost(uint32, tag = "4")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8998)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gmamenjbhlk { + #[prost(uint32, tag = "15")] + pub lanbakkbbgh: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1150)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hhpdofmkaej { + #[prost(uint32, tag = "10")] + pub cmafekgpacg: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Olljomaddck { + #[prost(bool, tag = "6")] + pub phpemoenbim: bool, + #[prost(message, repeated, tag = "15")] + pub cbenkjeocil: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hjnoajhjkoj { + #[prost(uint32, tag = "1")] + pub clocegaahjn: u32, + #[prost(bool, tag = "5")] + pub dggckmikbmo: bool, + #[prost(uint32, tag = "7")] + pub lekfejhkppe: u32, + #[prost(uint32, tag = "13")] + pub kmaehpagkfk: u32, + #[prost(enumeration = "Paibiheifka", tag = "14")] + pub reason: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27471)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Joofoaagopb { + #[prost(message, optional, tag = "8")] + pub pos: ::core::option::Option, + #[prost(uint32, tag = "3")] + pub jinjlbemjnc: u32, + #[prost(uint32, tag = "2")] + pub entity_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22510)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Khjkcjdeaho { + #[prost(uint32, tag = "1")] + pub peblohahpmm: u32, + #[prost(uint32, tag = "3")] + pub lbclghbmdaf: u32, + #[prost(uint32, tag = "5")] + pub hklkmbmgake: u32, + #[prost(uint32, tag = "6")] + pub avatar_id: u32, + #[prost(bool, tag = "9")] + pub elppgecieaf: bool, + #[prost(uint32, tag = "10")] + pub pjjaoilbfbn: u32, + #[prost(bool, tag = "13")] + pub hjoachmoekb: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20446)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ecfimaienal { + #[prost(uint32, repeated, tag = "6")] + pub bdeombceoea: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24956)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Flfbembakjb { + #[prost(uint64, repeated, tag = "13")] + pub dlkmfcjekal: ::prost::alloc::vec::Vec, + #[prost(uint64, tag = "12")] + pub avatar_guid: u64, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1357)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mgokocilopa { + #[prost(float, tag = "1")] + pub eemanlfmmdp: f32, + #[prost(enumeration = "Llmdbkhcleb", tag = "5")] + pub dhnkaedgpml: i32, + #[prost(uint32, tag = "7")] + pub entity_id: u32, + #[prost(uint32, tag = "14")] + pub aaaohhgbhab: u32, + #[prost(float, tag = "15")] + pub gnjcidhobia: f32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25393)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bfiakfojjhf { + #[prost(int32, tag = "6")] + pub retcode: i32, + #[prost(message, optional, tag = "12")] + pub idlacekofkp: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hpbeaccgdbj { + #[prost(uint32, tag = "4")] + pub iebldpnalkb: u32, + #[prost(uint32, tag = "15")] + pub pkkbcnacmnd: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25173)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aonlbmcmihh { + #[prost(uint32, repeated, tag = "12")] + pub hnpbppdijpp: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hpgkmhknhdk { + #[prost(map = "uint32, message", tag = "2")] + pub amaemdjockj: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21742)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hndahamkfdk { + #[prost(uint32, tag = "3")] + pub dbkoiphedke: u32, + #[prost(uint32, tag = "9")] + pub group_id: u32, + #[prost(uint32, tag = "13")] + pub lkigjmjnmbj: u32, + #[prost(int32, tag = "14")] + pub retcode: i32, + #[prost(uint32, tag = "15")] + pub lgbmbjcjmka: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pfbejhagodb { + #[prost(uint32, tag = "3")] + pub skill_id: u32, + #[prost(message, repeated, tag = "4")] + pub eojfococbcj: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28807)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oejjpjoileo { + #[prost(bool, tag = "14")] + pub ffahbhonnnd: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kcbmbgacjph { + #[prost(string, tag = "8")] + pub name: ::prost::alloc::string::String, + #[prost(bool, tag = "9")] + pub olhcoklbchp: bool, + #[prost(uint32, repeated, tag = "10")] + pub bfbomboinpj: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "12")] + pub hoepcmhjbhe: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20192)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Inomjjlpeob { + #[prost(message, repeated, tag = "7")] + pub cigkldhkmfa: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9243)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mmiecklkfno { + #[prost(message, optional, tag = "10")] + pub glilgfhhhhm: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8531)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dlkedimhlck { + #[prost(uint32, tag = "3")] + pub ijffkcgiaoj: u32, + #[prost(bool, tag = "12")] + pub dggckmikbmo: bool, + #[prost(bool, tag = "13")] + pub ankcbommojb: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1143)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fekikoeidnc { + #[prost(uint64, tag = "8")] + pub dcompdppdpo: u64, + #[prost(int32, tag = "12")] + pub retcode: i32, + #[prost(enumeration = "Himmemhogfb", tag = "14")] + pub mfmlakbiaed: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7432)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oecaajilded { + #[prost(message, optional, tag = "1")] + pub mibgejfdeki: ::core::option::Option, + #[prost(uint32, tag = "9")] + pub omgchbachci: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Djjegldmnag { + #[prost(uint32, tag = "1")] + pub ifpcihenjnl: u32, + #[prost(bool, tag = "6")] + pub dmedoehomkh: bool, + #[prost(uint32, tag = "9")] + pub hhpibdggljf: u32, + #[prost(uint32, tag = "12")] + pub ghkeojdcmnp: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24829)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Chgjnaehhef { + #[prost(uint32, repeated, tag = "15")] + pub dnijppkbcbd: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3561)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hclheginmho { + #[prost(int32, tag = "4")] + pub retcode: i32, + #[prost(uint32, repeated, tag = "11")] + pub caknfaoiikk: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mlgjjaoijmp { + #[prost(message, optional, tag = "11")] + pub bnejocdiffh: ::core::option::Option, + #[prost(message, optional, tag = "14")] + pub pfceefmijeh: ::core::option::Option, + #[prost(message, optional, tag = "15")] + pub fmnnhdmjcfo: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aloijpmffol { + #[prost(uint32, tag = "3")] + pub ncnkmdbafeh: u32, + #[prost(message, repeated, tag = "12")] + pub fhmfkcicfkd: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(756)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gpomphelafj { + #[prost(uint32, tag = "3")] + pub hfjbndpdlbe: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22495)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mmfgdmdedbc { + #[prost(int32, tag = "5")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bjeglidfjne {} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cgfjapchgnl { + #[prost(uint32, tag = "2")] + pub pjjaoilbfbn: u32, + #[prost(message, repeated, tag = "4")] + pub pmpobfdjgmg: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "5")] + pub jhfmeficaal: bool, + #[prost(uint32, tag = "6")] + pub mopafocgakm: u32, + #[prost(bool, tag = "11")] + pub ecihdijcled: bool, + #[prost(uint32, tag = "13")] + pub gpaeljhnaek: u32, + #[prost(uint32, tag = "14")] + pub ondajkggmah: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22682)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pgcmdldlpah { + #[prost(int32, tag = "5")] + pub retcode: i32, + #[prost(uint32, tag = "15")] + pub cipplpaegkn: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iheknmlmonc { + #[prost(message, repeated, tag = "1")] + pub gkbjeekccgm: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "2")] + pub pbkeaocbpmn: u32, + #[prost(message, repeated, tag = "3")] + pub bfbomboinpj: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "4")] + pub cmnkkdbhijg: ::core::option::Option, + #[prost(uint32, repeated, tag = "5")] + pub ggbmhjflahd: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "6")] + pub ooflahmeleo: u32, + #[prost(message, repeated, tag = "7")] + pub ncfkjkijmkd: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "8")] + pub oegnopodlkj: u32, + #[prost(enumeration = "Hkkcdiccimi", tag = "9")] + pub nkiolhkgjco: i32, + #[prost(uint32, tag = "10")] + pub fbpgimlmdnj: u32, + #[prost(message, optional, tag = "11")] + pub figfpencngd: ::core::option::Option, + #[prost(uint32, tag = "13")] + pub kafapfjllgp: u32, + #[prost(uint32, tag = "14")] + pub jpdlmmgfdec: u32, + #[prost(message, repeated, tag = "15")] + pub joinmkjpbna: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "823")] + pub ammljpgpibo: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "1056")] + pub ngfannnbmac: ::prost::alloc::vec::Vec, + #[prost(map = "uint32, message", tag = "1077")] + pub bekiakdceen: ::std::collections::HashMap, + #[prost(message, repeated, tag = "1294")] + pub bgbjekelijl: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "1404")] + pub dcmhhgoipnh: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "1631")] + pub nkogclndhhi: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "1834")] + pub behelimipnp: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "1901")] + pub abjmkdogamk: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6286)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pjbonploeag { + #[prost(uint32, tag = "5")] + pub pjjlmhgjkdg: u32, + #[prost(uint32, tag = "6")] + pub kajcndjlkfi: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27896)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gbajdegfkfd { + #[prost(uint32, tag = "6")] + pub omgchbachci: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Obpabmgdahj { + #[prost(message, optional, tag = "1")] + pub pos: ::core::option::Option, + #[prost(uint32, tag = "11")] + pub jpioceplhcm: u32, + #[prost(uint32, tag = "12")] + pub config_id: u32, + #[prost(uint32, tag = "14")] + pub group_id: u32, + #[prost(oneof = "obpabmgdahj::Baokdjelelh", tags = "747, 943, 1155, 1216")] + pub baokdjelelh: ::core::option::Option, +} +/// Nested message and enum types in `OBPABMGDAHJ`. +pub mod obpabmgdahj { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Baokdjelelh { + #[prost(message, tag = "747")] + CylinderSize(super::Heokefpjikf), + #[prost(message, tag = "943")] + PolygonSize(super::Hkinnehlnac), + #[prost(float, tag = "1155")] + SphereRadius(f32), + #[prost(message, tag = "1216")] + CubicSize(super::Vector), + } +} +#[derive(proto_gen::CmdID)] +#[cmdid(20663)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bfddngnmbae {} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Okbcfgfpbkm { + #[prost(uint32, tag = "1")] + pub bkoecphphej: u32, + #[prost(uint32, tag = "2")] + pub dknmbapfjkb: u32, + #[prost(uint32, tag = "3")] + pub ankfglccklm: u32, + #[prost(uint32, tag = "4")] + pub ofmnimmopgd: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20583)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dicdcbkpbol { + #[prost(uint32, tag = "9")] + pub dknkfkdabla: u32, + #[prost(uint32, tag = "6")] + pub kejahifpbbb: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fpkhmchidin { + #[prost(uint32, tag = "7")] + pub pbkeaocbpmn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2131)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eebhegfhmml {} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jfbdjlogkpc { + #[prost(uint32, tag = "1")] + pub npc_id: u32, + #[prost(message, optional, tag = "2")] + pub pos: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21705)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nkcdnkdcljj { + #[prost(uint32, tag = "2")] + pub ncffdckbeli: u32, + #[prost(bool, tag = "7")] + pub hnlmmobiobe: bool, + #[prost(int32, tag = "8")] + pub retcode: i32, + #[prost(bool, tag = "9")] + pub jdaefkhfkka: bool, + #[prost(uint32, tag = "12")] + pub ameoigghhdc: u32, + #[prost(message, repeated, tag = "14")] + pub gbddcckiafk: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fmhchkndpof { + #[prost(uint32, tag = "2")] + pub fbpgimlmdnj: u32, + #[prost(uint32, tag = "13")] + pub epkjfpiiigp: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21686)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bedilpdclim { + #[prost(uint32, tag = "14")] + pub oboopjlpdni: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1671)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct AvatarTeamUpdateNotify { + #[prost(uint64, repeated, tag = "5")] + pub temp_avatar_guid_list: ::prost::alloc::vec::Vec, + #[prost(map = "uint32, message", tag = "10")] + pub avatar_team_map: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6985)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ldbfndjebli { + #[prost(uint32, tag = "1")] + pub parent_quest_id: u32, + #[prost(int32, tag = "3")] + pub retcode: i32, + #[prost(message, optional, tag = "4")] + pub pfogokingmb: ::core::option::Option, + #[prost(uint32, tag = "5")] + pub kenikecfflm: u32, + #[prost(bool, tag = "8")] + pub djoafmpojah: bool, + #[prost(uint32, tag = "13")] + pub entity_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cdminfonnjg { + #[prost(uint32, tag = "6")] + pub eepfjadodpa: u32, + #[prost(uint32, tag = "12")] + pub khhibkpbkpn: u32, + #[prost(message, repeated, tag = "13")] + pub eejljkgmgek: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "14")] + pub dbppmchlbjg: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2015)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dlajcmdfapn { + #[prost(int32, tag = "5")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20419)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Odhfnnillha { + #[prost(int32, tag = "15")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24053)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fmnibnfmfab { + #[prost(message, optional, tag = "5")] + pub lognndhodkh: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7232)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gokpmkkjkgn { + #[prost(uint32, tag = "2")] + pub target_uid: u32, + #[prost(bool, tag = "4")] + pub midfpdcbphk: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5121)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oiominajabo { + #[prost(uint32, tag = "12")] + pub draft_id: u32, + #[prost(bool, tag = "4")] + pub bgaoacgaldg: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27517)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nlfegoogdaj { + #[prost(message, repeated, tag = "6")] + pub lcfpdkicjph: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "15")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26006)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hfnkiejfmdh { + #[prost(uint32, tag = "4")] + pub jlhfgabkeoi: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27741)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bemeaglgoja { + #[prost(int32, tag = "8")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27946)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Npdpcmgkedo { + #[prost(message, repeated, tag = "5")] + pub olpnnlgabbg: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "6")] + pub retcode: i32, + #[prost(message, repeated, tag = "11")] + pub mlbpenmicli: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "12")] + pub jfpjmbolngm: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25752)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hodgndhaefp { + #[prost(int32, tag = "7")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20863)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ejljdnjaopj { + #[prost(bytes = "vec", tag = "5")] + pub oincfcjknha: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "15")] + pub config_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24068)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gnhkfpooncj { + #[prost(uint64, repeated, tag = "1")] + pub avatar_team_guid_list: ::prost::alloc::vec::Vec, + #[prost(uint64, tag = "10")] + pub cur_avatar_guid: u64, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fjfddhegeeo { + #[prost(map = "uint32, uint32", tag = "3")] + pub bijhlibinod: ::std::collections::HashMap, + #[prost(message, optional, tag = "4")] + pub obljpapeamc: ::core::option::Option, + #[prost(map = "uint32, uint32", tag = "5")] + pub lnmbfedflkc: ::std::collections::HashMap, + #[prost(map = "uint32, uint32", tag = "6")] + pub hipkgdhphla: ::std::collections::HashMap, + #[prost(uint32, tag = "7")] + pub ajfkkocigha: u32, + #[prost(bool, tag = "8")] + pub aadjdkifenl: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2743)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bidjkllllae { + #[prost(uint32, tag = "8")] + pub entity_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22260)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cocbbjgaemb { + #[prost(message, repeated, tag = "15")] + pub dlkgdlnileh: ::prost::alloc::vec::Vec, + #[prost(uint64, repeated, tag = "4")] + pub kkagfcfmhmm: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "8")] + pub gadget_id: u32, + #[prost(enumeration = "Hhnoenmdggg", tag = "9")] + pub kfmglfjdodo: i32, + #[prost(uint32, tag = "14")] + pub gbcebgkbjdm: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9148)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cnjlkinihci { + #[prost(int32, tag = "3")] + pub retcode: i32, + #[prost(uint32, tag = "10")] + pub entity_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6476)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bmllnohhedl { + #[prost(uint32, tag = "9")] + pub omgchbachci: u32, + #[prost(bool, tag = "11")] + pub dmedoehomkh: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cjbdpmneipc { + #[prost(uint32, tag = "5")] + pub count: u32, + #[prost(uint32, tag = "7")] + pub hbemijmkbmh: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24063)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Icnidlkdjhb {} +#[derive(proto_gen::CmdID)] +#[cmdid(22752)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Edkconenpge {} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ldcdehpemkp { + #[prost(uint32, tag = "4")] + pub doebcoaonhk: u32, + #[prost(uint32, tag = "5")] + pub dlpjaaapkkl: u32, + #[prost(uint32, tag = "6")] + pub kmaehpagkfk: u32, + #[prost(uint32, tag = "9")] + pub omgchbachci: u32, + #[prost(uint32, tag = "10")] + pub nikbfddehdf: u32, + #[prost(uint32, tag = "11")] + pub cnkddkikglg: u32, + #[prost(uint32, tag = "13")] + pub bkgngmdjnhp: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oiedeofbgdj { + #[prost(message, optional, tag = "2")] + pub rot: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub pos: ::core::option::Option, + #[prost(uint32, tag = "6")] + pub block_id: u32, + #[prost(uint32, tag = "9")] + pub guid: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nfggicfddfj { + #[prost(bool, tag = "3")] + pub hdcagpjlidi: bool, + #[prost(bool, tag = "12")] + pub jhijpailmjg: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22830)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ijbeimlnngl { + #[prost(uint32, tag = "11")] + pub entity_id: u32, + #[prost(int32, tag = "13")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22718)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ianlhndlbag { + #[prost(uint32, repeated, tag = "11")] + pub bdeombceoea: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22112)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ndpjpafcbbn {} +#[derive(proto_gen::CmdID)] +#[cmdid(9504)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ecobjjfonaf { + #[prost(uint32, tag = "3")] + pub pjjaoilbfbn: u32, + #[prost(bool, tag = "2")] + pub hbnafkomajo: bool, + #[prost(uint32, tag = "13")] + pub bknplfikkfg: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kmcibogjcbb { + #[prost(uint32, tag = "4")] + pub bgflnmgcanj: u32, + #[prost(uint32, tag = "8")] + pub entity_id: u32, + #[prost(uint32, tag = "15")] + pub ijilgbbpghe: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20929)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cpjkegmpodm { + #[prost(uint32, tag = "5")] + pub kdfgdjcfhcf: u32, + #[prost(int32, tag = "7")] + pub retcode: i32, + #[prost(uint32, tag = "11")] + pub ilieopgmdgo: u32, + #[prost(uint32, tag = "14")] + pub aiiggmglbmg: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2530)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bhgkcggncfb {} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nppphkhnboo { + #[prost(bool, tag = "8")] + pub hblihlkjeda: bool, + #[prost(uint32, tag = "12")] + pub avatar_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jccfiojlogg { + #[prost(uint32, repeated, tag = "6")] + pub lgbipehfabc: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "8")] + pub fbpgimlmdnj: u32, + #[prost(enumeration = "Cmdeepdjoga", repeated, tag = "10")] + pub ebhcablnklp: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23521)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jpemclnmoek { + #[prost(message, optional, tag = "7")] + pub ajfefdidfel: ::core::option::Option, + #[prost(enumeration = "Igohjibcdfa", tag = "10")] + pub lkidbhiooog: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hodjcbpphji { + #[prost(uint64, tag = "6")] + pub mojeffjpnbn: u64, + #[prost(uint32, tag = "10")] + pub cmdnkflfhia: u32, + #[prost(uint64, tag = "11")] + pub eplfnnhempi: u64, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nhfplbmemed { + #[prost(uint32, tag = "4")] + pub dekhbeooien: u32, + #[prost(uint32, tag = "6")] + pub pjjaoilbfbn: u32, + #[prost(uint32, tag = "11")] + pub kdplcbjgbaf: u32, + #[prost(uint32, tag = "12")] + pub ljejebelkmj: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6912)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aplogghjbod { + #[prost(uint32, tag = "11")] + pub group_id: u32, + #[prost(uint32, tag = "13")] + pub khhibkpbkpn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23550)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lcjjcmakooc { + #[prost(int32, tag = "11")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pmljkimlcjp { + #[prost(uint32, tag = "3")] + pub apply_entity_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hfcnchpphka { + #[prost(int32, tag = "1")] + pub x: i32, + #[prost(int32, tag = "2")] + pub y: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1309)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ldfppfobnfp {} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jdlknjjkdmn { + #[prost(float, tag = "2")] + pub ddlienjbakb: f32, + #[prost(int32, tag = "4")] + pub blhlceeohhd: i32, + #[prost(float, tag = "6")] + pub gghmahbomke: f32, + #[prost(message, optional, tag = "9")] + pub emignngobod: ::core::option::Option, + #[prost(message, optional, tag = "10")] + pub edoeeceachh: ::core::option::Option, + #[prost(enumeration = "Ohgcdmmlnok", tag = "12")] + pub bcdelafdiog: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7132)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jnhimkmmiih { + #[prost(uint32, tag = "1")] + pub entity_id: u32, + #[prost(float, tag = "2")] + pub llgkenmienl: f32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1087)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nohmgplmbfk { + #[prost(uint32, tag = "7")] + pub olikaoabpjm: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21247)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ociiodgbjdp { + #[prost(uint32, tag = "14")] + pub njekbpkeloh: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ppcnlmmomoe { + #[prost(uint32, tag = "2")] + pub ejpgldgfkad: u32, + #[prost(uint32, tag = "3")] + pub nlomoeocpjf: u32, + #[prost(bool, tag = "4")] + pub eialjbaengj: bool, + #[prost(uint32, tag = "5")] + pub dbfpjfmkmgh: u32, + #[prost(uint32, tag = "6")] + pub dekhbeooien: u32, + #[prost(uint32, tag = "7")] + pub hlncoconmgf: u32, + #[prost(uint32, repeated, tag = "8")] + pub dmfdeibbiem: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "9")] + pub hdbhpbhokcb: u32, + #[prost(uint32, tag = "10")] + pub lmehamojall: u32, + #[prost(uint32, tag = "11")] + pub jpoheacajla: u32, + #[prost(uint32, repeated, tag = "12")] + pub hpeeojjfmip: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "13")] + pub jofbeiaclof: u32, + #[prost(uint32, repeated, tag = "14")] + pub dbdmlpaoomm: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "15")] + pub dggckmikbmo: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9416)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Offallfncfi { + #[prost(message, repeated, tag = "7")] + pub mfakdobmfim: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Innefldgbap { + #[prost(float, tag = "1")] + pub cpimbckmlfc: f32, + #[prost(uint32, tag = "2")] + pub bngpnmobohj: u32, + #[prost(uint32, tag = "6")] + pub apafipofloj: u32, + #[prost(uint32, tag = "8")] + pub capaepnmgpb: u32, + #[prost(bool, tag = "11")] + pub apbhdllancp: bool, + #[prost(uint32, tag = "15")] + pub loniebhkkgp: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20056)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ffjdgmagcco { + #[prost(uint32, tag = "2")] + pub mempkcgnnmf: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21472)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gpbjhhjiofm { + #[prost(uint32, tag = "2")] + pub fchfakepinp: u32, + #[prost(uint32, tag = "3")] + pub okicoglejec: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dlggmgomego { + #[prost(uint32, tag = "3")] + pub peblohahpmm: u32, + #[prost(message, repeated, tag = "13")] + pub mnfiibjlkll: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kdlbokjkjed { + #[prost(uint32, tag = "1")] + pub uid: u32, + #[prost(uint32, repeated, tag = "2")] + pub ogjodgflein: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "3")] + pub flihobkofld: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7039)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ecbhfkpgbhm { + #[prost(enumeration = "Dbkkepahcpe", tag = "3")] + pub fbbbjnhiplf: i32, + #[prost(uint32, tag = "7")] + pub egbmifdjdih: u32, + #[prost(uint32, tag = "13")] + pub nikbfddehdf: u32, + #[prost(uint32, tag = "15")] + pub geihmkhcije: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Noclalbhlgc { + #[prost(uint32, tag = "3")] + pub ecmcilnnnkl: u32, + #[prost(uint32, tag = "7")] + pub ocnjnmhllhi: u32, + #[prost(uint32, tag = "10")] + pub iknfnnfkagf: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25038)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eokjcmfjfme { + #[prost(uint32, tag = "12")] + pub costume_id: u32, + #[prost(uint64, tag = "1")] + pub avatar_guid: u64, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ceinfknnhbl { + #[prost(uint32, tag = "4")] + pub uid: u32, + #[prost(message, optional, tag = "9")] + pub rot: ::core::option::Option, + #[prost(message, optional, tag = "15")] + pub pos: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Poalogaejaf { + #[prost(uint64, tag = "8")] + pub avatar_guid: u64, + #[prost(bool, tag = "14")] + pub dohhenfngpe: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1608)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mmkeffddlih { + #[prost(message, repeated, tag = "3")] + pub ojocipgaldi: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hkinnehlnac { + #[prost(message, repeated, tag = "3")] + pub gooonmahlnl: ::prost::alloc::vec::Vec, + #[prost(float, tag = "12")] + pub dkkgfphnknb: f32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Egeekpapbgj { + #[prost(uint32, tag = "3")] + pub hgaoafpjogo: u32, + #[prost(uint32, tag = "4")] + pub group_id: u32, + #[prost(uint32, tag = "7")] + pub cammfnmahek: u32, + #[prost(message, optional, tag = "8")] + pub position: ::core::option::Option, + #[prost(uint32, tag = "9")] + pub agienjjkpbe: u32, + #[prost(uint32, tag = "11")] + pub kfmiioohoah: u32, + #[prost(uint32, tag = "14")] + pub scene_id: u32, + #[prost(uint32, tag = "15")] + pub config_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25727)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ghfilmiibap { + #[prost(uint32, tag = "11")] + pub agloejebcdf: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ijncodaicnj { + #[prost(uint32, tag = "2")] + pub key_id: u32, + #[prost(bool, tag = "8")] + pub icjdfmeaofb: bool, + #[prost(bool, tag = "9")] + pub eialjbaengj: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(101)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dhjlgodgljo { + #[prost(bool, tag = "11")] + pub mbfllhnligd: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fchnnkfbmlc { + #[prost(uint32, tag = "10")] + pub scene_id: u32, + #[prost(message, optional, tag = "15")] + pub glbcidcfhep: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jhejeckncld { + #[prost(message, repeated, tag = "6")] + pub bgkfngfmcmm: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22482)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nclmfghbhil {} +#[derive(proto_gen::CmdID)] +#[cmdid(22809)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Epkambgncko { + #[prost(uint32, tag = "12")] + pub hkeeinbhfhm: u32, + #[prost(uint32, tag = "9")] + pub cjcjonhpiio: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mehpdegadgm { + #[prost(uint32, tag = "1")] + pub ffmphbaokjc: u32, + #[prost(uint32, tag = "2")] + pub cbdgfeomfig: u32, + #[prost(uint32, tag = "5")] + pub pbpehhpghpo: u32, + #[prost(uint32, tag = "6")] + pub dfdajmdfked: u32, + #[prost(uint32, tag = "7")] + pub skill_id: u32, + #[prost(message, repeated, tag = "8")] + pub mncimgkbckh: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "9")] + pub eclpjkhfdne: u32, + #[prost(uint32, tag = "11")] + pub ehejdjoeind: u32, + #[prost(uint32, tag = "12")] + pub jnlfhoaaoop: u32, + #[prost(uint32, tag = "13")] + pub njmeoanobdd: u32, + #[prost(uint32, tag = "15")] + pub mjpdbgbpbel: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3714)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fjabkbgnilj { + #[prost(uint32, tag = "2")] + pub pjjaoilbfbn: u32, + #[prost(bool, tag = "12")] + pub emlilmhjhog: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Manbbaokdpc { + #[prost(uint32, tag = "3")] + pub pjjaoilbfbn: u32, + #[prost(bool, tag = "5")] + pub ecihdijcled: bool, + #[prost(uint32, tag = "10")] + pub ppbamnfheje: u32, + #[prost(bool, tag = "15")] + pub jhfmeficaal: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22622)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dpfmjhioblh { + #[prost(uint32, tag = "2")] + pub group_id: u32, + #[prost(uint32, tag = "9")] + pub player_uid: u32, + #[prost(uint32, tag = "12")] + pub bknplfikkfg: u32, + #[prost(uint32, tag = "15")] + pub lgooidciaag: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9017)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dhhiapolpjj { + #[prost(uint32, tag = "2")] + pub avatar_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9510)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hohniaidcmh { + #[prost(int32, tag = "3")] + pub retcode: i32, + #[prost(uint32, tag = "4")] + pub lpnkmdeakpc: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Djjhecaogbo { + #[prost(float, tag = "3")] + pub cogjlpkokmn: f32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23665)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dnebbcfcifj { + #[prost(uint32, tag = "10")] + pub lpjakjllemi: u32, + #[prost(uint32, tag = "9")] + pub elnoaapjmcf: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(131)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hogbegldnnk { + #[prost(uint32, tag = "14")] + pub jddamhceape: u32, + #[prost(uint32, tag = "11")] + pub kjlbepdnldm: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7007)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ijfknlighla { + #[prost(int32, tag = "5")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1372)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jbljogjmoeh { + #[prost(message, optional, tag = "6")] + pub lognndhodkh: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8042)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mnfhdgdcgpn { + #[prost(message, repeated, tag = "9")] + pub bdcphhcefhi: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "14")] + pub ljdmbidhpji: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cpknppfipnd { + #[prost(bool, tag = "9")] + pub lbdfakfhpmi: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6397)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Olgbkhklhjb { + #[prost(uint32, tag = "1")] + pub entity_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8917)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gokojifkdcl { + #[prost(message, repeated, tag = "9")] + pub dacalpkibbi: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jmcoefebang { + #[prost(uint32, tag = "1")] + pub cpjofigjdgp: u32, + #[prost(uint32, tag = "3")] + pub uid: u32, + #[prost(bool, tag = "11")] + pub ibeikeigmko: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22470)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lbcpoiapefb { + #[prost(bool, tag = "9")] + pub jofhnoemekc: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8879)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aahlabcbaig { + #[prost(uint32, tag = "1")] + pub deifmdkjahf: u32, + #[prost(int32, tag = "8")] + pub retcode: i32, + #[prost(uint32, tag = "9")] + pub lgooidciaag: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hjimahmopcg { + #[prost(map = "uint32, uint32", tag = "8")] + pub kdameaodohp: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dofemmfnnng { + #[prost(uint32, tag = "1")] + pub guid: u32, + #[prost(uint32, repeated, tag = "2")] + pub tag_list: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "3")] + pub nokebcooncg: bool, + #[prost(uint32, repeated, tag = "4")] + pub nklnidikhfp: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "5")] + pub oeaalpjbkae: u32, + #[prost(uint32, tag = "6")] + pub level: u32, + #[prost(uint32, tag = "7")] + pub kgffekdhkga: u32, + #[prost(uint32, tag = "8")] + pub onpfimkkjdf: u32, + #[prost(uint32, repeated, tag = "9")] + pub amhdkmcjplb: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "10")] + pub nfdlgdbcnhe: u32, + #[prost(bool, tag = "11")] + pub deejedoiaid: bool, + #[prost(bool, tag = "12")] + pub idefckpaoaf: bool, + #[prost(uint32, tag = "13")] + pub ckoccfdgcol: u32, + #[prost(message, repeated, tag = "15")] + pub ddbdokonakg: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21907)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pjafjpllhfk { + #[prost(uint32, tag = "13")] + pub ihlceedfind: u32, + #[prost(uint32, tag = "12")] + pub group_id: u32, + #[prost(uint32, tag = "5")] + pub nnebhhfhdcc: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1733)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oinpcplohcp { + #[prost(int32, tag = "1")] + pub retcode: i32, + #[prost(message, repeated, tag = "4")] + pub eloilboekpk: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5424)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mpgmdchapbk { + #[prost(uint32, tag = "1")] + pub entity_id: u32, + #[prost(map = "uint32, message", tag = "10")] + pub prop_map: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bdkbolglafb { + #[prost(uint32, tag = "12")] + pub peajinifghm: u32, + #[prost(uint32, tag = "14")] + pub jhidonemjjc: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Locachpgjph { + #[prost(uint32, tag = "2")] + pub hiplmeoicbg: u32, + #[prost(uint32, repeated, tag = "6")] + pub aipamkaahej: ::prost::alloc::vec::Vec, + #[prost(enumeration = "Fblkbbkfenl", tag = "9")] + pub bdngjlaacgl: i32, + #[prost(uint32, tag = "11")] + pub oboopjlpdni: u32, + #[prost(bool, tag = "13")] + pub galmkiodanm: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ljocpdmincm { + #[prost(message, repeated, tag = "7")] + pub ehgnabkaach: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "15")] + pub dnflbgnadnk: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7918)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ipfhidfejaa { + #[prost(bool, tag = "15")] + pub biogccnggcf: bool, + #[prost(oneof = "ipfhidfejaa::Kldjmobgbba", tags = "8, 4, 6")] + pub kldjmobgbba: ::core::option::Option, +} +/// Nested message and enum types in `IPFHIDFEJAA`. +pub mod ipfhidfejaa { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Kldjmobgbba { + #[prost(string, tag = "8")] + OnlineId(::prost::alloc::string::String), + #[prost(string, tag = "4")] + PsnId(::prost::alloc::string::String), + #[prost(uint32, tag = "6")] + TargetUid(u32), + } +} +#[derive(proto_gen::CmdID)] +#[cmdid(29050)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Khmobkbnldp { + #[prost(uint32, tag = "6")] + pub param: u32, + #[prost(int32, tag = "7")] + pub retcode: i32, + #[prost(string, tag = "11")] + pub mdldojhmcko: ::prost::alloc::string::String, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5886)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pihmklgekcd { + #[prost(int32, tag = "3")] + pub retcode: i32, + #[prost(message, repeated, tag = "6")] + pub fmihgnhgndm: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27436)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Conekbncijm { + #[prost(uint32, tag = "8")] + pub kihigcbbali: u32, + #[prost(string, tag = "10")] + pub ieielbdkhbf: ::prost::alloc::string::String, + #[prost(string, tag = "13")] + pub jdlciiakgji: ::prost::alloc::string::String, + #[prost(int32, tag = "14")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mkalmmgnkoo { + #[prost(uint32, tag = "1")] + pub key: u32, + #[prost(uint32, tag = "2")] + pub gnjcidhobia: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20565)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Enckadkpnii { + #[prost(int32, tag = "6")] + pub retcode: i32, + #[prost(enumeration = "Himmemhogfb", tag = "11")] + pub mfmlakbiaed: i32, + #[prost(oneof = "enckadkpnii::Jenbhgoiekm", tags = "8")] + pub jenbhgoiekm: ::core::option::Option, +} +/// Nested message and enum types in `ENCKADKPNII`. +pub mod enckadkpnii { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Jenbhgoiekm { + #[prost(message, tag = "8")] + MusicBriefInfo(super::Oolbipgmpjb), + } +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bajhgoimcce { + #[prost(uint32, tag = "6")] + pub pimcmamenci: u32, + #[prost(enumeration = "Kdioojinlkg", tag = "7")] + pub hgkoegebhfo: i32, + #[prost(uint32, tag = "10")] + pub belhflpnegd: u32, + #[prost(uint32, tag = "11")] + pub egbmifdjdih: u32, + #[prost(uint32, tag = "12")] + pub lbclghbmdaf: u32, + #[prost(uint32, tag = "15")] + pub cnebhlcgnij: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25601)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hpnjpkaomaa { + #[prost(int32, tag = "5")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1088)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jfbnkemmnab { + #[prost(uint32, tag = "6")] + pub gdjklhgohif: u32, + #[prost(uint32, tag = "11")] + pub linlhilphma: u32, + #[prost(uint32, tag = "15")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9676)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iampfpgjmib { + #[prost(message, optional, tag = "3")] + pub avatar_info: ::core::option::Option, + #[prost(int32, tag = "6")] + pub retcode: i32, + #[prost(message, optional, tag = "7")] + pub cepimedmkpi: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6513)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bfkomamploh { + #[prost(uint32, tag = "11")] + pub pjjaoilbfbn: u32, + #[prost(int32, tag = "12")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21685)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ojkneindhpa { + #[prost(int32, tag = "14")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28538)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ldlcbknglkf { + #[prost(uint32, tag = "4")] + pub player_uid: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29914)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iijdhajkjmk { + #[prost(uint32, tag = "3")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9023)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ngocbcebbno { + #[prost(bool, tag = "7")] + pub nkggdpgpghk: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27603)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pgmlodcmbmj { + #[prost(uint32, tag = "1")] + pub pjjaoilbfbn: u32, + #[prost(int32, tag = "3")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21951)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lamihbfkdom { + #[prost(bool, tag = "1")] + pub bgaoacgaldg: bool, + #[prost(uint32, tag = "5")] + pub cenhkjdffda: u32, + #[prost(uint32, tag = "13")] + pub uid: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hpblfcnddah { + #[prost(bool, tag = "2")] + pub dggckmikbmo: bool, + #[prost(uint32, tag = "3")] + pub pjjaoilbfbn: u32, + #[prost(uint32, tag = "4")] + pub dmnldppgokg: u32, + #[prost(uint32, tag = "5")] + pub mppeiehoclp: u32, + #[prost(uint32, tag = "10")] + pub pnkbdklljbp: u32, + #[prost(uint32, tag = "11")] + pub dekhbeooien: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20208)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Adeglmglldb { + #[prost(message, optional, tag = "6")] + pub fknojfjgdlm: ::core::option::Option, + #[prost(int32, tag = "12")] + pub retcode: i32, + #[prost(uint32, tag = "14")] + pub jinjlbemjnc: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20431)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ojablipmkii { + #[prost(int32, tag = "2")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4690)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ikckginncbb { + #[prost(uint64, tag = "9")] + pub avatar_guid: u64, + #[prost(uint32, tag = "13")] + pub dalmffloamd: u32, + #[prost(uint32, tag = "14")] + pub ifhechfemdn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3274)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Heiidiojofm {} +#[derive(proto_gen::CmdID)] +#[cmdid(29871)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jbeibckhhgh { + #[prost(message, repeated, tag = "15")] + pub almbifelkaa: ::prost::alloc::vec::Vec, + #[prost(uint64, repeated, tag = "14")] + pub njlkafbffcn: ::prost::alloc::vec::Vec, + #[prost(oneof = "jbeibckhhgh::Bnpjpjlnfbe", tags = "276, 1515")] + pub bnpjpjlnfbe: ::core::option::Option, +} +/// Nested message and enum types in `JBEIBCKHHGH`. +pub mod jbeibckhhgh { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Bnpjpjlnfbe { + #[prost(uint32, tag = "276")] + SlotId(u32), + #[prost(uint32, tag = "1515")] + FurnitureSuiteId(u32), + } +} +#[derive(proto_gen::CmdID)] +#[cmdid(3744)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cakpiemohoe {} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Giielhhjnhm { + #[prost(uint32, tag = "5")] + pub ejoamahccmj: u32, + #[prost(message, repeated, tag = "11")] + pub dhdignmhjnb: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1045)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Blmhcgmpgcc { + #[prost(uint32, repeated, tag = "11")] + pub fnaoacpmmkd: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "6")] + pub npfglajlhil: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "3")] + pub goakcbglbmj: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21032)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oblacacdkke { + #[prost(int32, tag = "5")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dghbmhoaeld { + #[prost(message, repeated, tag = "2")] + pub ebldmcjpkja: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20009)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eiobhckoemd { + #[prost(enumeration = "Aagpkjdpblk", tag = "1")] + pub ajmkoiopdgc: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Afchppfejef { + #[prost(uint32, tag = "4")] + pub scene_id: u32, + #[prost(message, repeated, tag = "6")] + pub gfpibaaljjp: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "10")] + pub lbclghbmdaf: u32, + #[prost(uint32, tag = "11")] + pub plaipmojmeo: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pdcmbokbhha { + #[prost(bool, tag = "1")] + pub njadpplkkci: bool, + #[prost(enumeration = "Nmbjfbodlke", tag = "2")] + pub mhhcoedmpdp: i32, + #[prost(bool, tag = "3")] + pub dggckmikbmo: bool, + #[prost(string, tag = "4")] + pub bkdilgijpeg: ::prost::alloc::string::String, + #[prost(uint32, tag = "9")] + pub ohhpffamheh: u32, + #[prost(string, tag = "11")] + pub kamjijolfkj: ::prost::alloc::string::String, + #[prost(uint32, tag = "12")] + pub ehnijbnnhkd: u32, + #[prost(message, repeated, tag = "13")] + pub kafokippiap: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "14")] + pub blfkojlccoo: ::core::option::Option, + #[prost(message, optional, tag = "15")] + pub mhfdgagiepa: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8929)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kmjgeahlaib { + #[prost(message, optional, tag = "9")] + pub dejoimafmck: ::core::option::Option, + #[prost(uint32, tag = "6")] + pub gghkdjlgfpb: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2807)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mnncglomcek { + #[prost(message, optional, tag = "2")] + pub oaiiomnbidi: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20154)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gibapmpnopa { + #[prost(int32, tag = "11")] + pub retcode: i32, + #[prost(uint32, tag = "13")] + pub ccpigccdboi: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fjjbhegfbdi { + #[prost(bool, tag = "1")] + pub dphdagagbii: bool, + #[prost(uint32, tag = "3")] + pub gpaeljhnaek: u32, + #[prost(uint32, tag = "10")] + pub alfekgpgmoa: u32, + #[prost(bool, tag = "15")] + pub gbfjikeegfg: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27829)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ecilgphiohk { + #[prost(uint32, tag = "1")] + pub group_id: u32, + #[prost(uint32, tag = "9")] + pub bknplfikkfg: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4008)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Inekfalkdal { + #[prost(uint32, repeated, tag = "11")] + pub hljohdkcbjm: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nceaknkcgpc { + #[prost(uint32, tag = "1")] + pub kmaehpagkfk: u32, + #[prost(uint32, tag = "2")] + pub dlpjaaapkkl: u32, + #[prost(uint32, tag = "4")] + pub omgchbachci: u32, + #[prost(uint32, tag = "6")] + pub kmdcklepegp: u32, + #[prost(uint32, tag = "11")] + pub nikbfddehdf: u32, + #[prost(enumeration = "Paahdfjmicd", tag = "15")] + pub reason: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5356)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dcnkeakekib { + #[prost(uint32, tag = "4")] + pub cenhkjdffda: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5930)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cfdhhhdende { + #[prost(uint32, tag = "1")] + pub fneojppfdhh: u32, + #[prost(int32, tag = "13")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8966)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fhjbabopeoh { + #[prost(uint32, tag = "11")] + pub kenikecfflm: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oookdcabmik { + #[prost(uint32, tag = "4")] + pub pjjaoilbfbn: u32, + #[prost(uint32, tag = "7")] + pub dekhbeooien: u32, + #[prost(bool, tag = "12")] + pub ecihdijcled: bool, + #[prost(bool, tag = "15")] + pub jhfmeficaal: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct EntityRendererChangedInfo { + #[prost(map = "string, uint32", tag = "1")] + pub changed_renderers: ::std::collections::HashMap< + ::prost::alloc::string::String, + u32, + >, + #[prost(uint32, tag = "2")] + pub visibility_count: u32, + #[prost(bool, tag = "3")] + pub is_cached: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20769)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nplogcdppan { + #[prost(enumeration = "Oeaoccjeope", tag = "8")] + pub ddiaamkbfda: i32, + #[prost(bool, tag = "10")] + pub mcpkkmhkcpd: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6498)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Faijicepbhn { + #[prost(uint32, tag = "6")] + pub player_uid: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1097)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pnobgdfefeh { + #[prost(uint32, tag = "13")] + pub iidhpkefhpm: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2065)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Deioionogml { + #[prost(message, repeated, tag = "6")] + pub kgogfpoddlj: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "10")] + pub retcode: i32, + #[prost(uint32, tag = "13")] + pub dfpnkfekiig: u32, + #[prost(uint32, tag = "14")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27763)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ijcblamalke { + #[prost(int32, tag = "13")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2853)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bneogbnfnmi { + #[prost(bool, tag = "11")] + pub nnkapmcjkbh: bool, + #[prost(message, optional, tag = "15")] + pub hidfcjhlblb: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27337)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pdmnoenhhoi { + #[prost(string, tag = "1")] + pub hbkocffodil: ::prost::alloc::string::String, + #[prost(string, tag = "4")] + pub msg: ::prost::alloc::string::String, + #[prost(int32, tag = "15")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9991)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ffhlaofnjle { + #[prost(bool, tag = "1")] + pub ebgkbpbkogl: bool, + #[prost(uint32, repeated, tag = "4")] + pub aahnpojgpci: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "5")] + pub jofbeiaclof: u32, + #[prost(enumeration = "Lejcogafncb", tag = "7")] + pub reason: i32, + #[prost(uint32, tag = "8")] + pub bknplfikkfg: u32, + #[prost(message, repeated, tag = "11")] + pub filhggiljln: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "13")] + pub fpedhedekpe: u32, + #[prost(message, repeated, tag = "15")] + pub knbifccible: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8903)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ggiginmbpbn { + #[prost(int32, tag = "5")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ddaekajcgok { + #[prost(bool, tag = "12")] + pub kpcnipjndad: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kehhnndneoo { + #[prost(uint32, tag = "1")] + pub dekhbeooien: u32, + #[prost(uint32, tag = "2")] + pub jkdamdfjagd: u32, + #[prost(bool, tag = "4")] + pub dggckmikbmo: bool, + #[prost(uint32, tag = "7")] + pub amcihnhnoae: u32, + #[prost(uint32, tag = "8")] + pub fohkbcilnmo: u32, + #[prost(uint32, tag = "12")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gdomjpehffj { + #[prost(int32, tag = "2")] + pub koinnjpenfl: i32, + #[prost(bool, tag = "6")] + pub napmcbkmnaa: bool, + #[prost(uint32, tag = "9")] + pub ojoapinglno: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9471)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dimhkgckiac { + #[prost(uint32, tag = "12")] + pub khhibkpbkpn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4300)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hmefgcglogc { + #[prost(uint32, tag = "5")] + pub mhjeokngcdf: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Adknhghfjbe { + #[prost(message, repeated, tag = "3")] + pub massive_prop_list: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "6")] + pub idpjmemjjfj: bool, + #[prost(int64, repeated, tag = "13")] + pub ingfphnpoim: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22323)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pmeabiehklm { + #[prost(message, repeated, tag = "2")] + pub ppalbjnlaaa: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jpoaeidkabj { + #[prost(string, tag = "1")] + pub bmljclenhmh: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub llgjemmhion: ::prost::alloc::string::String, + #[prost(uint32, tag = "3")] + pub cbmfbkaicap: u32, + #[prost(uint32, tag = "4")] + pub lbihiohangm: u32, + #[prost(uint32, tag = "5")] + pub eeclaoeipbg: u32, + #[prost(uint32, tag = "6")] + pub ngjiickjnhg: u32, + #[prost(bool, tag = "7")] + pub popjgojfoka: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SceneTeamAvatar { + #[prost(uint64, tag = "1")] + pub avatar_guid: u64, + #[prost(uint64, tag = "2")] + pub weapon_guid: u64, + #[prost(bool, tag = "3")] + pub is_player_cur_avatar: bool, + #[prost(message, optional, tag = "4")] + pub aobhcppmkma: ::core::option::Option, + #[prost(message, optional, tag = "5")] + pub scene_avatar_info: ::core::option::Option, + #[prost(uint32, tag = "6")] + pub scene_id: u32, + #[prost(uint32, tag = "7")] + pub entity_id: u32, + #[prost(message, repeated, tag = "8")] + pub server_buff_list: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "9")] + pub avatar_info: ::core::option::Option, + #[prost(bool, tag = "10")] + pub is_reconnect: bool, + #[prost(message, optional, tag = "11")] + pub pnanfpcioko: ::core::option::Option, + #[prost(uint32, tag = "12")] + pub weapon_entity_id: u32, + #[prost(message, optional, tag = "13")] + pub scene_entity_info: ::core::option::Option, + #[prost(message, optional, tag = "14")] + pub ability_control_block: ::core::option::Option, + #[prost(uint32, tag = "15")] + pub player_uid: u32, + #[prost(bool, tag = "809")] + pub is_on_scene: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ekodcpmloaj { + #[prost(message, repeated, tag = "1")] + pub gbgmcmkibep: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "2")] + pub parent_ability_override: ::core::option::Option, + #[prost(uint32, tag = "3")] + pub apply_entity_id: u32, + #[prost(bool, tag = "4")] + pub is_attached_parent_ability: bool, + #[prost(uint32, tag = "5")] + pub server_buff_uid: u32, + #[prost(bool, tag = "6")] + pub inghbkholmo: bool, + #[prost(message, optional, tag = "7")] + pub parent_ability_name: ::core::option::Option, + #[prost(float, tag = "8")] + pub ldjjjknabgd: f32, + #[prost(uint64, tag = "10")] + pub ebafpmjdpbc: u64, + #[prost(enumeration = "Pemmkckgpcp", tag = "11")] + pub mineooknpig: i32, + #[prost(int32, tag = "13")] + pub modifier_local_id: i32, + #[prost(bool, tag = "14")] + pub fcbfpcnfhla: bool, + #[prost(message, optional, tag = "15")] + pub attached_instanced_modifier: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8151)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iimfaiegkgf { + #[prost(int32, tag = "3")] + pub retcode: i32, + #[prost(uint32, tag = "9")] + pub egdoglfapci: u32, + #[prost(uint32, tag = "10")] + pub khhibkpbkpn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(832)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hajlpgcegpo { + #[prost(uint32, tag = "4")] + pub omgchbachci: u32, + #[prost(uint32, tag = "8")] + pub cmdnkflfhia: u32, + #[prost(bool, tag = "15")] + pub iidgielcajn: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2034)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kdhfpflgjhl { + #[prost(uint32, tag = "4")] + pub pkicaibdchd: u32, + #[prost(int32, tag = "7")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20310)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Docfpckgjcg { + #[prost(uint64, repeated, tag = "4")] + pub nmbemjimjob: ::prost::alloc::vec::Vec, + #[prost(uint64, repeated, tag = "6")] + pub hhbnnbdgfim: ::prost::alloc::vec::Vec, + #[prost(uint64, tag = "8")] + pub cur_avatar_guid: u64, + #[prost(uint32, tag = "12")] + pub gaplfmmgbfa: u32, + #[prost(int32, tag = "14")] + pub retcode: i32, + #[prost(uint32, tag = "15")] + pub kfpegnaadlo: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gfdnlppncpa { + #[prost(bool, tag = "1")] + pub ikabkdhnnkc: bool, + #[prost(bool, tag = "12")] + pub ifblnedldld: bool, + #[prost(uint32, tag = "14")] + pub mempkcgnnmf: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pkpjpaomcbc { + #[prost(uint32, repeated, tag = "2")] + pub hnjncahmcmg: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "3")] + pub cbdogimgjoc: u32, + #[prost(uint32, repeated, tag = "4")] + pub knlkfkclkag: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "10")] + pub ekkfajjdnkb: u32, + #[prost(uint32, tag = "12")] + pub geihmkhcije: u32, + #[prost(uint32, tag = "13")] + pub dobokkalheh: u32, + #[prost(uint32, tag = "15")] + pub pgmifndnkee: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ffggpnbbmkn { + #[prost(uint32, tag = "1")] + pub ohkidhnabib: u32, + #[prost(uint32, tag = "2")] + pub kdclmhbcfnh: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lkonpoholdi { + #[prost(uint32, repeated, tag = "1")] + pub micbneehgam: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "2")] + pub dggfhpdhgip: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "3")] + pub celfhccbmll: u32, + #[prost(uint32, tag = "4")] + pub ajggjmhngmm: u32, + #[prost(uint32, tag = "7")] + pub hhfpofnahoc: u32, + #[prost(uint32, tag = "9")] + pub kobnjgklcnc: u32, + #[prost(uint32, tag = "10")] + pub ikhholbmdko: u32, + #[prost(uint32, tag = "11")] + pub dikdlccehnm: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25065)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gofcblgiajg { + #[prost(uint32, tag = "1")] + pub leonidobchj: u32, + #[prost(uint32, tag = "2")] + pub dddppnmbdap: u32, + #[prost(message, repeated, tag = "3")] + pub hfmnaekikjd: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "4")] + pub cnhpajjbbeh: u32, + #[prost(uint32, tag = "5")] + pub mempkcgnnmf: u32, + #[prost(int32, tag = "7")] + pub retcode: i32, + #[prost(uint32, tag = "9")] + pub fmpcppnebgo: u32, + #[prost(uint32, tag = "10")] + pub nnebhhfhdcc: u32, + #[prost(message, repeated, tag = "13")] + pub mcimccjmllc: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6753)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Egkepokkaaa { + #[prost(int32, tag = "13")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25820)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hfldmehpbgb { + #[prost(int32, tag = "10")] + pub retcode: i32, + #[prost(uint32, tag = "12")] + pub lbclghbmdaf: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Onfdbheaonh { + #[prost(uint32, tag = "5")] + pub skill_id: u32, + #[prost(uint32, tag = "15")] + pub phpfppidjkj: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1113)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pfnamgkhfil { + #[prost(int32, tag = "13")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8487)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jfdkhfladmp { + #[prost(bool, tag = "4")] + pub omncikffgbo: bool, + #[prost(uint32, tag = "10")] + pub ooflahmeleo: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nhhfhidliji { + #[prost(uint32, tag = "1")] + pub entity_id: u32, + #[prost(uint32, tag = "2")] + pub fiknlhojfkl: u32, + #[prost(message, optional, tag = "5")] + pub dnjgbehanln: ::core::option::Option, + #[prost(bool, tag = "6")] + pub enligbfklop: bool, + #[prost(enumeration = "Nkkeodoboej", tag = "7")] + pub pihngiilbfk: i32, + #[prost(double, tag = "9")] + pub total_tick_time: f64, + #[prost(enumeration = "Igohjibcdfa", tag = "11")] + pub lkidbhiooog: i32, + #[prost(bytes = "vec", tag = "13")] + pub ejmncabclpf: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "14")] + pub bokfanfefne: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2306)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gaojiflpmof { + #[prost(message, optional, tag = "9")] + pub ccnnjmkemlc: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub bojcnnpkmkj: ::core::option::Option, + #[prost(int32, tag = "1")] + pub uid: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(435)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mbmkhgcekap {} +#[derive(proto_gen::CmdID)] +#[cmdid(5683)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kailgddaeod { + #[prost(bytes = "vec", tag = "5")] + pub oincfcjknha: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "12")] + pub config_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jdmffbambgh { + #[prost(message, repeated, tag = "14")] + pub player_data: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5317)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Opkcpdkghhk {} +#[derive(proto_gen::CmdID)] +#[cmdid(936)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Elalijlmhep { + #[prost(message, optional, tag = "4")] + pub jkcakgmjhjf: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ihgepkipiml { + #[prost(map = "uint32, uint32", tag = "7")] + pub lnmbfedflkc: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5103)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dlhfemamnmm { + #[prost(uint32, tag = "6")] + pub lpahjgdbepe: u32, + #[prost(uint32, tag = "14")] + pub cfidanimegp: u32, + #[prost(string, tag = "15")] + pub bmljclenhmh: ::prost::alloc::string::String, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26063)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dkhgpojaakb { + #[prost(uint32, tag = "2")] + pub avatar_id: u32, + #[prost(uint32, tag = "7")] + pub cmafekgpacg: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27109)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gfeahjacjim { + #[prost(uint32, tag = "3")] + pub ikobfndgfmi: u32, + #[prost(uint32, repeated, tag = "4")] + pub bbfakmblpjh: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "5")] + pub jpinaohpbbk: bool, + #[prost(message, repeated, tag = "14")] + pub gdnmlpmkcoj: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20507)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hhhllnekcfb { + #[prost(uint32, tag = "10")] + pub config_id: u32, + #[prost(uint32, tag = "14")] + pub gghkdjlgfpb: u32, + #[prost(int32, tag = "15")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27438)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mgmahimpdnd { + #[prost(uint32, tag = "11")] + pub pjjaoilbfbn: u32, + #[prost(int32, tag = "13")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25490)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lomnihkapfp { + #[prost(uint32, tag = "3")] + pub jinjlbemjnc: u32, + #[prost(bool, tag = "14")] + pub bdknkbbehco: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1699)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Odkhkoaaeaj { + #[prost(uint32, tag = "5")] + pub onabdgfcpih: u32, + #[prost(uint32, tag = "1")] + pub cjcjonhpiio: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Afgmkcjeicp { + #[prost(message, repeated, tag = "4")] + pub kjjdfphkfeb: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "9")] + pub ecgjaibejeo: u32, + #[prost(uint32, tag = "12")] + pub dmnldppgokg: u32, + #[prost(uint32, tag = "13")] + pub gohbljehkba: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nefgclbanjk { + #[prost(bool, tag = "2")] + pub idndmkmecno: bool, + #[prost(uint32, tag = "6")] + pub lgbnfifcpjf: u32, + #[prost(uint32, tag = "10")] + pub khhibkpbkpn: u32, + #[prost(uint32, tag = "13")] + pub onabdgfcpih: u32, + #[prost(uint32, tag = "14")] + pub end_time: u32, + #[prost(oneof = "nefgclbanjk::Detail", tags = "7")] + pub detail: ::core::option::Option, +} +/// Nested message and enum types in `NEFGCLBANJK`. +pub mod nefgclbanjk { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Detail { + #[prost(message, tag = "7")] + BonusInfo(super::Jdknacipafo), + } +} +#[derive(proto_gen::CmdID)] +#[cmdid(5520)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mbfahogonmk { + #[prost(int32, tag = "13")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26276)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Paneklblcad { + #[prost(message, repeated, tag = "5")] + pub inlkbddpoio: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27852)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jnaohkoehph { + #[prost(bool, tag = "7")] + pub innefhgkaim: bool, + #[prost(bool, tag = "6")] + pub ajlcedmppie: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23255)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Neccpfmbjai {} +#[derive(proto_gen::CmdID)] +#[cmdid(23161)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mdbajcgklfj { + #[prost(uint32, tag = "2")] + pub cdplheijfgf: u32, + #[prost(uint32, tag = "7")] + pub lbclghbmdaf: u32, + #[prost(uint32, tag = "12")] + pub gaplfmmgbfa: u32, + #[prost(uint32, tag = "13")] + pub player_uid: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3367)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ecmcaejhpdh { + #[prost(message, repeated, tag = "1")] + pub effgcacmhgk: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22140)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hcphkknpnnd { + #[prost(bool, tag = "1")] + pub aggagpebijf: bool, + #[prost(bool, tag = "10")] + pub kidnjjcjajh: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Knigpaknllf { + #[prost(uint32, tag = "1")] + pub ombmigpcoaa: u32, + #[prost(uint32, repeated, tag = "2")] + pub jgakggcibge: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "3")] + pub hpjadbmcnkb: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24308)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mkckagdogcf { + #[prost(int32, tag = "12")] + pub retcode: i32, + #[prost(uint32, tag = "14")] + pub neipflioolk: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4298)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gomclhpngpe {} +#[derive(proto_gen::CmdID)] +#[cmdid(22560)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ledehkhcefj { + #[prost(uint64, tag = "4")] + pub avatar_guid: u64, + #[prost(uint64, tag = "9")] + pub baengfiafmf: u64, + #[prost(int32, tag = "15")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Abniijcgjgf { + #[prost(uint32, tag = "1")] + pub guid: u32, + #[prost(uint32, tag = "2")] + pub kbjnlbkmedp: u32, + #[prost(uint32, tag = "3")] + pub hmlgdpbcgdm: u32, + #[prost(message, optional, tag = "4")] + pub pos: ::core::option::Option, + #[prost(oneof = "abniijcgjgf::Haiboppbgdc", tags = "6, 7")] + pub haiboppbgdc: ::core::option::Option, +} +/// Nested message and enum types in `ABNIIJCGJGF`. +pub mod abniijcgjgf { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Haiboppbgdc { + #[prost(message, tag = "6")] + NpcData(super::Djjjneiihdk), + #[prost(message, tag = "7")] + SuiteData(super::Ibommpckklg), + } +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Liakfkadbdj { + #[prost(bool, tag = "4")] + pub ecalplmlhkf: bool, + #[prost(uint32, tag = "7")] + pub ifgpnankeaj: u32, + #[prost(uint32, tag = "14")] + pub lgooidciaag: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bngmeankmmk { + #[prost(uint32, tag = "10")] + pub degmghpfhjb: u32, + #[prost(uint32, tag = "11")] + pub pjjaoilbfbn: u32, + #[prost(uint32, tag = "14")] + pub oboopjlpdni: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dbcnhbgkago { + #[prost(uint32, repeated, tag = "1")] + pub dnijppkbcbd: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9083)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Blgjlajfbnn { + #[prost(message, optional, tag = "13")] + pub fodjcjdbfii: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29785)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hlhnkbijppk { + #[prost(uint32, tag = "1")] + pub uid: u32, + #[prost(bool, tag = "6")] + pub ienkinonacg: bool, + #[prost(string, tag = "7")] + pub ocmpadiifcd: ::prost::alloc::string::String, + #[prost(int32, tag = "11")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25766)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pbmjepjhoff { + #[prost(int32, tag = "10")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24231)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dciopklhhoc {} +#[derive(proto_gen::CmdID)] +#[cmdid(2687)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iojfgiefemp { + #[prost(uint32, tag = "4")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ioilcoenabe { + #[prost(message, repeated, tag = "2")] + pub ohmgddcbbod: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "5")] + pub pjjaoilbfbn: u32, + #[prost(message, repeated, tag = "7")] + pub jmgaaohpmmf: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "11")] + pub cenhkjdffda: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2386)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jgfjoaihppp { + #[prost(message, optional, tag = "5")] + pub aeianmankof: ::core::option::Option, + #[prost(message, repeated, tag = "15")] + pub jjeepbcifcp: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "10")] + pub dnfdjphiobd: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub ffdebpeddmd: ::core::option::Option, + #[prost(message, optional, tag = "12")] + pub odfifckdodj: ::core::option::Option, + #[prost(enumeration = "Hhgielikjhb", tag = "1")] + pub jamcgnfbiba: i32, + #[prost(int32, tag = "13")] + pub jjfpfmpjema: i32, + #[prost(uint32, tag = "6")] + pub scene_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mocgngkiopj { + #[prost(bool, tag = "1")] + pub jhfmeficaal: bool, + #[prost(uint32, tag = "3")] + pub dekhbeooien: u32, + #[prost(message, optional, tag = "6")] + pub gejdoahbape: ::core::option::Option, + #[prost(bool, tag = "8")] + pub ecihdijcled: bool, + #[prost(uint32, tag = "15")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fmkokbfdodm { + #[prost(int32, tag = "3")] + pub hhhcfhhnbbn: i32, + #[prost(message, optional, tag = "6")] + pub ccnnjmkemlc: ::core::option::Option, + #[prost(message, optional, tag = "8")] + pub bokhjookahc: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Neeiehiikco { + #[prost(float, tag = "15")] + pub omopaolnnen: f32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5498)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jijillmgcad { + #[prost(bool, tag = "1")] + pub dggckmikbmo: bool, + #[prost(uint32, tag = "2")] + pub omgchbachci: u32, + #[prost(uint32, tag = "6")] + pub fjhhikoihka: u32, + #[prost(uint32, tag = "7")] + pub pjjaoilbfbn: u32, + #[prost(enumeration = "Paahdfjmicd", tag = "8")] + pub reason: i32, + #[prost(uint32, tag = "11")] + pub dekhbeooien: u32, + #[prost(uint32, tag = "13")] + pub bihammoadbg: u32, + #[prost(bool, tag = "14")] + pub dmedoehomkh: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24569)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oiakjceloem { + #[prost(uint32, repeated, tag = "5")] + pub cdgfhbkoogn: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "7")] + pub noffeobibfp: u32, + #[prost(uint32, tag = "6")] + pub ilieopgmdgo: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9115)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dkbccccepka { + #[prost(bool, tag = "13")] + pub djoclokdkae: bool, + #[prost(uint32, tag = "8")] + pub ohkidhnabib: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4892)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Boehdccdfkp { + #[prost(message, optional, tag = "2")] + pub ihaeelocofk: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4104)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bbficjkjihf { + #[prost(uint32, tag = "10")] + pub avatar_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mekfaehenan { + #[prost(uint32, tag = "1")] + pub affklogicmo: u32, + #[prost(uint32, tag = "3")] + pub khmdgkajflc: u32, + #[prost(bool, tag = "4")] + pub dphdagagbii: bool, + #[prost(uint32, tag = "7")] + pub oomlalimkpc: u32, + #[prost(uint32, tag = "8")] + pub afjclenhanc: u32, + #[prost(bool, tag = "9")] + pub ahdbnklfllc: bool, + #[prost(message, repeated, tag = "11")] + pub pgfomdkjkea: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28074)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cdglabdbbop { + #[prost(uint32, tag = "1")] + pub level: u32, + #[prost(uint32, tag = "10")] + pub jefildjebaj: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1085)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cdpfmfbbfjp { + #[prost(uint32, tag = "8")] + pub dagnblkkjli: u32, + #[prost(bool, tag = "6")] + pub hdcglelhabn: bool, + #[prost(uint32, tag = "3")] + pub game_time: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8016)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cnfldcnokgo { + #[prost(int32, tag = "14")] + pub retcode: i32, + #[prost(uint32, tag = "15")] + pub oboopjlpdni: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6317)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oincodobaho { + #[prost(uint64, tag = "1")] + pub pjfpehfamal: u64, + #[prost(uint32, tag = "3")] + pub kpampgdjdhe: u32, + #[prost(uint32, tag = "4")] + pub pcklffnfnge: u32, + #[prost(int32, tag = "6")] + pub admokadnfhh: i32, + #[prost(uint32, tag = "8")] + pub omgchbachci: u32, + #[prost(uint32, tag = "13")] + pub bcggiogbock: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9450)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ommfigkbkoo { + #[prost(message, repeated, tag = "11")] + pub jgklnnoofnd: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Onelpglkohj { + #[prost(enumeration = "Eegmnipnkmj", tag = "1")] + pub reason: i32, + #[prost(uint32, repeated, tag = "2")] + pub klhpmjghmpc: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "4")] + pub fbpgimlmdnj: u32, + #[prost(enumeration = "Ihacnpjbldi", tag = "6")] + pub mmopbleppcg: i32, + #[prost(uint32, repeated, tag = "8")] + pub gcbeeinchka: ::prost::alloc::vec::Vec, + #[prost(enumeration = "Ihacnpjbldi", tag = "15")] + pub dlgopgkebhd: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7634)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ljajcpfmelp { + #[prost(message, optional, tag = "7")] + pub kkaccpnohcg: ::core::option::Option, + #[prost(uint32, tag = "11")] + pub gejgkajfdcd: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cjfoabaehad { + #[prost(enumeration = "Ihacnpjbldi", tag = "2")] + pub hcdbekjpngd: i32, + #[prost(uint32, tag = "9")] + pub fbpgimlmdnj: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kkbeceliemo { + #[prost(uint32, tag = "3")] + pub padggjnegmb: u32, + #[prost(uint32, tag = "10")] + pub chfombihmlf: u32, + #[prost(uint32, tag = "13")] + pub aaecbhcckbo: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20829)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Okbeocoagjc { + #[prost(int32, tag = "8")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1151)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ikngigpcbkc { + #[prost(bool, tag = "1")] + pub omncikffgbo: bool, + #[prost(int32, tag = "3")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6654)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fibjndiljbn { + #[prost(int32, tag = "1")] + pub retcode: i32, + #[prost(uint32, tag = "6")] + pub khhibkpbkpn: u32, + #[prost(message, repeated, tag = "13")] + pub cfmheecihfo: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Imbhagfdood { + #[prost(uint32, tag = "4")] + pub kbjnlbkmedp: u32, + #[prost(uint32, tag = "13")] + pub gbbpigpnpgd: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kelllefkofc { + #[prost(uint32, repeated, tag = "1")] + pub kinknompgdn: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "2")] + pub mneabebjcga: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "3")] + pub pkfamdjcnma: bool, + #[prost(message, repeated, tag = "8")] + pub fhpheglknid: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "9")] + pub dpdfcjankjm: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "10")] + pub omnacmcakcp: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "11")] + pub mfmiopnkbdp: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "14")] + pub djdnfgbnjkl: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7952)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gkpekpfocee { + #[prost(uint32, tag = "1")] + pub jlfheeipddp: u32, + #[prost(int32, tag = "2")] + pub retcode: i32, + #[prost(bool, tag = "3")] + pub dggckmikbmo: bool, + #[prost(bool, tag = "4")] + pub gblhfaeonkm: bool, + #[prost(uint64, tag = "8")] + pub dcompdppdpo: u64, + #[prost(bool, tag = "14")] + pub folikaaikie: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3594)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Odpadhfjobj { + #[prost(message, optional, tag = "5")] + pub oejcejogmoe: ::core::option::Option, + #[prost(int32, tag = "10")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2316)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eagjbighaeg { + #[prost(int32, repeated, tag = "3")] + pub ehfgkolbomk: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "4")] + pub scene_id: u32, + #[prost(int32, repeated, tag = "5")] + pub phbkedkchnh: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "8")] + pub plapcgkeiea: ::prost::alloc::vec::Vec, + #[prost(int32, repeated, tag = "11")] + pub pbgeekldike: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3324)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kbodbcfbjom { + #[prost(uint32, tag = "9")] + pub ocmhgmlnhjd: u32, + #[prost(uint32, tag = "13")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3364)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cgoedpmkapc { + #[prost(uint32, tag = "1")] + pub nigljbfincd: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gomcihemnmk { + #[prost(message, repeated, tag = "1")] + pub feecgjbpdfa: ::prost::alloc::vec::Vec, + #[prost(enumeration = "Bplklkdbogp", tag = "2")] + pub elddldbkbfb: i32, + #[prost(uint32, tag = "10")] + pub uid: u32, + #[prost(message, repeated, tag = "12")] + pub bpfflklbgod: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25234)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jmapncekbgh { + #[prost(uint32, repeated, tag = "6")] + pub jicefgnaloh: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "1")] + pub okicoglejec: u32, + #[prost(uint32, tag = "3")] + pub kdefnpgadfb: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hohojpfafoj { + #[prost(uint32, tag = "1")] + pub uid: u32, + #[prost(map = "uint32, uint32", tag = "11")] + pub mkpoijfcemp: ::std::collections::HashMap, + #[prost(map = "uint32, uint32", tag = "15")] + pub aghmegibfcd: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20719)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ildpcpmenih { + #[prost(message, optional, tag = "15")] + pub oplhbcnkifm: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3131)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hjcaoihmpam { + #[prost(uint64, repeated, tag = "1")] + pub avatar_guid_list: ::prost::alloc::vec::Vec, + #[prost(enumeration = "Edgibjbaong", tag = "4")] + pub fnimniahfja: i32, + #[prost(message, repeated, tag = "5")] + pub server_buff_list: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "8")] + pub oigllhajnfg: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "11")] + pub gifninkcidl: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22864)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Objhiclojdk { + #[prost(message, repeated, tag = "13")] + pub eloilboekpk: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24671)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fmckllchfej { + #[prost(message, repeated, tag = "6")] + pub kjjdfphkfeb: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "3")] + pub onabdgfcpih: u32, + #[prost(uint32, tag = "8")] + pub mempkcgnnmf: u32, + #[prost(uint32, tag = "10")] + pub dfpnkfekiig: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5791)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cdggbpbfmpb { + #[prost(map = "uint32, uint32", tag = "3")] + pub ngfeoeapbjc: ::std::collections::HashMap, + #[prost(uint32, tag = "11")] + pub emdjlfdjoec: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Facjdkhmmib { + #[prost(int32, tag = "1")] + pub iheignbbhdn: i32, + #[prost(int32, tag = "7")] + pub mklhkfncdib: i32, + #[prost(int32, tag = "11")] + pub ifcocghlgla: i32, + #[prost(int32, tag = "14")] + pub jfijmahafff: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8932)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kiblflpnben { + #[prost(uint64, tag = "11")] + pub opbnfdpdjgd: u64, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pajpiihpail { + #[prost(message, optional, tag = "1")] + pub rot: ::core::option::Option, + #[prost(uint32, tag = "9")] + pub uid: u32, + #[prost(message, optional, tag = "12")] + pub pos: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4470)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oeinpddpgej { + #[prost(uint32, tag = "11")] + pub gaplfmmgbfa: u32, + #[prost(enumeration = "PlayerDieType", tag = "9")] + pub jdfbfdifmmj: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20805)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bpfemoomlji { + #[prost(uint32, tag = "7")] + pub ondajkggmah: u32, + #[prost(bool, tag = "8")] + pub lmgaegakake: bool, + #[prost(uint32, tag = "11")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7040)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jmcbbolempc { + #[prost(uint32, tag = "3")] + pub lihibgchlhc: u32, + #[prost(uint32, tag = "10")] + pub eanlkgldnga: u32, + #[prost(int32, tag = "13")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8270)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Inkijkpknae {} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dgdegdpalbp { + #[prost(message, repeated, tag = "6")] + pub cbenkjeocil: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Deciiailkbh { + #[prost(uint32, tag = "1")] + pub goakcbglbmj: u32, + #[prost(uint32, tag = "6")] + pub ljjbkffffmc: u32, + #[prost(uint32, repeated, tag = "7")] + pub oemlaiinbhi: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "8")] + pub emdpfhfhefp: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "9")] + pub fnaoacpmmkd: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(490)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mbhnjgepjhe { + #[prost(message, optional, tag = "10")] + pub llcmiiekjlk: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28565)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dmojlgleicd { + #[prost(message, repeated, tag = "3")] + pub dclmgcfikab: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25682)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Chcblghkkfp {} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gkjdmhiamkb { + #[prost(uint32, tag = "2")] + pub pjjaoilbfbn: u32, + #[prost(message, repeated, tag = "8")] + pub hnafkfmbipf: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "13")] + pub ahakghlenmf: bool, + #[prost(bool, tag = "15")] + pub ecihdijcled: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8147)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aldnpidlkha { + #[prost(message, repeated, tag = "2")] + pub ijdapiajheg: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26598)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Boenaldkold { + #[prost(message, repeated, tag = "7")] + pub npjdmleimgc: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "9")] + pub iknfnnfkagf: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ckdgkenjllp { + #[prost(bool, tag = "7")] + pub ecihdijcled: bool, + #[prost(uint32, tag = "8")] + pub iehlhaogkpj: u32, + #[prost(uint32, tag = "10")] + pub mihbgpigbkb: u32, + #[prost(uint32, tag = "15")] + pub aaopmgielok: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lficlnpilho { + #[prost(uint32, tag = "5")] + pub entity_id: u32, + #[prost(uint32, tag = "14")] + pub gchglannhmc: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3043)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ijogaomknof { + #[prost(message, repeated, tag = "1")] + pub info_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23075)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gcligncmkae { + #[prost(uint32, tag = "3")] + pub homgpjjmldg: u32, + #[prost(bool, tag = "9")] + pub mcpkkmhkcpd: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20382)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dhbechbenan { + #[prost(message, repeated, tag = "8")] + pub doljcbcogni: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "11")] + pub dloijeggjoe: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21842)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ffilolmcece { + #[prost(int32, tag = "1")] + pub retcode: i32, + #[prost(message, optional, tag = "13")] + pub maejdfjekdf: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fpbmmomlkkn { + #[prost(uint32, tag = "4")] + pub guid: u32, + #[prost(message, optional, tag = "7")] + pub rot: ::core::option::Option, + #[prost(message, optional, tag = "10")] + pub pos: ::core::option::Option, + #[prost(uint32, tag = "12")] + pub config_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20957)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Njojocaknih { + #[prost(message, repeated, tag = "13")] + pub ipkbmajidjl: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kbpfnfnbgem { + #[prost(string, tag = "2")] + pub llgjemmhion: ::prost::alloc::string::String, + #[prost(string, tag = "4")] + pub bmljclenhmh: ::prost::alloc::string::String, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6174)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Neepomlbnch { + #[prost(message, optional, tag = "8")] + pub jjeepbcifcp: ::core::option::Option, + #[prost(int32, repeated, tag = "2")] + pub alkgminnaml: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "12")] + pub ffdebpeddmd: ::core::option::Option, + #[prost(int32, tag = "7")] + pub jjfpfmpjema: i32, + #[prost(uint32, tag = "4")] + pub scene_id: u32, + #[prost(int32, tag = "11")] + pub uid: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iefofbpibgk { + #[prost(bool, tag = "2")] + pub keonjkilagp: bool, + #[prost(uint32, tag = "3")] + pub mjooaanbpbg: u32, + #[prost(bool, tag = "5")] + pub chgakfcpjkh: bool, + #[prost(bool, tag = "8")] + pub ejoocgcbojm: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3985)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Podiclokimj { + #[prost(uint32, tag = "13")] + pub akmdkfbgdlb: u32, + #[prost(bool, tag = "1")] + pub ecihdijcled: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21513)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Honaillfgbd { + #[prost(uint32, tag = "9")] + pub omgchbachci: u32, + #[prost(int32, tag = "13")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7881)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lpfgbndkcbl { + #[prost(uint32, tag = "1")] + pub khhibkpbkpn: u32, + #[prost(uint32, tag = "5")] + pub group_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27621)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Clakpcffbom { + #[prost(uint32, tag = "3")] + pub lgooidciaag: u32, + #[prost(int32, tag = "7")] + pub retcode: i32, + #[prost(uint32, tag = "12")] + pub pjjaoilbfbn: u32, + #[prost(bool, tag = "15")] + pub emlilmhjhog: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3204)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pjmnofedmcf {} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Djjjneiihdk { + #[prost(uint32, tag = "1")] + pub avatar_id: u32, + #[prost(uint32, tag = "2")] + pub costume_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nlmepnkfocj { + #[prost(uint32, tag = "9")] + pub apfoogpjala: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hgmnefbckgk { + #[prost(message, repeated, tag = "13")] + pub gocbhmdladb: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Phfpfbologf { + #[prost(message, repeated, tag = "4")] + pub nngnoplgjjf: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "9")] + pub uid: u32, + #[prost(message, repeated, tag = "13")] + pub llgijchelia: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hmajiggcebj { + #[prost(uint32, tag = "1")] + pub pjegodebmjc: u32, + #[prost(map = "uint32, uint32", tag = "2")] + pub jnhpjifbmoj: ::std::collections::HashMap, + #[prost(uint32, tag = "6")] + pub bajbbdmonka: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22448)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ieepapccacc { + #[prost(message, repeated, tag = "7")] + pub avatar_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4360)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hjibmncmggn { + #[prost(message, repeated, tag = "15")] + pub cpbfljagpic: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2340)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dpdfgakcidn { + #[prost(message, repeated, tag = "9")] + pub nlnlbaikbki: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "11")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3152)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Klepbbnmpll { + #[prost(uint32, tag = "11")] + pub epjoaallggd: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22147)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fnmhmkanpfj {} +#[derive(proto_gen::CmdID)] +#[cmdid(28832)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Plnjcjbebfo { + #[prost(uint64, tag = "7")] + pub pekdnkgbefe: u64, + #[prost(int32, tag = "13")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lndmeehgmjn { + #[prost(uint32, repeated, tag = "11")] + pub bghndipkjhp: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "13")] + pub hhiacciikga: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20602)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bgoibbggjkd {} +#[derive(proto_gen::CmdID)] +#[cmdid(28666)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ehpbbddfpfl { + #[prost(message, optional, tag = "1")] + pub oomnoofgino: ::core::option::Option, + #[prost(int32, tag = "7")] + pub retcode: i32, + #[prost(message, repeated, tag = "10")] + pub kjfmdlmnfam: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2169)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bpkpdoaddag { + #[prost(uint32, repeated, tag = "12")] + pub mkelecopffb: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2999)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Medahiacmbk { + #[prost(int32, tag = "10")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(268)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ddjcodjobke { + #[prost(bool, tag = "9")] + pub dbjoiecgkah: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22327)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cchjahlkjja { + #[prost(message, optional, tag = "11")] + pub glmklipeldi: ::core::option::Option, + #[prost(uint32, tag = "15")] + pub target_uid: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28846)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ifhmbhpdpel { + #[prost(uint32, tag = "3")] + pub entity_id: u32, + #[prost(uint32, tag = "5")] + pub scene_time: u32, + #[prost(message, optional, tag = "6")] + pub motion_info: ::core::option::Option, + #[prost(uint32, tag = "13")] + pub fggmoakinfd: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27459)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oickgjgddbb { + #[prost(int32, tag = "13")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4841)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mnbcbgbcmea { + #[prost(uint32, tag = "13")] + pub jlfheeipddp: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aalcndngghe { + #[prost(bool, tag = "1")] + pub dohhenfngpe: bool, + #[prost(uint64, tag = "15")] + pub avatar_id: u64, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23704)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nfnenlgeneg { + #[prost(uint32, tag = "1")] + pub idnmkokhjcb: u32, + #[prost(uint32, tag = "2")] + pub jahipcehnib: u32, + #[prost(uint32, tag = "5")] + pub ppmpfmbfmbb: u32, + #[prost(enumeration = "Djnpamlnjgc", tag = "13")] + pub ohhmbehbbmc: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21502)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ppfmepahdld { + #[prost(int32, tag = "4")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2864)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cpgcpfglbke { + #[prost(uint32, tag = "6")] + pub ghdjjmikfpi: u32, + #[prost(int32, tag = "9")] + pub retcode: i32, + #[prost(uint32, tag = "12")] + pub pjjaoilbfbn: u32, + #[prost(uint32, repeated, tag = "15")] + pub jkilokiaeff: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22678)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gbaenifcjbc { + #[prost(int32, tag = "2")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22201)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Odlfpokgiki { + #[prost(uint64, tag = "1")] + pub avatar_guid: u64, + #[prost(uint32, tag = "6")] + pub ablfjpmkkda: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pgobmmnhpfk { + #[prost(message, repeated, tag = "14")] + pub cbenkjeocil: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cmcbcmnbifa { + #[prost(message, repeated, tag = "8")] + pub fmmjciekibm: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "9")] + pub dphdagagbii: bool, + #[prost(uint32, tag = "12")] + pub hkogkepkcng: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(213)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dpgboiclank { + #[prost(uint32, tag = "3")] + pub cdmjgifefmd: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20298)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mjnmkmllacl { + #[prost(uint32, tag = "10")] + pub pkicaibdchd: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29939)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kehagdincac { + #[prost(int32, tag = "7")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3995)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cphlkodbajj { + #[prost(uint32, tag = "6")] + pub entity_id: u32, + #[prost(uint32, tag = "10")] + pub ajfkkocigha: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9011)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ihbnaehbcbp { + #[prost(int32, tag = "1")] + pub retcode: i32, + #[prost(bool, tag = "3")] + pub bgaoacgaldg: bool, + #[prost(uint32, tag = "8")] + pub iehlhaogkpj: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26459)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kealaiicagl { + #[prost(uint32, tag = "6")] + pub mempkcgnnmf: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8248)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aibpadmbkfo { + #[prost(uint32, tag = "6")] + pub geihmkhcije: u32, + #[prost(uint32, tag = "8")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(394)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dmghlbmhgod { + #[prost(int32, tag = "10")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5514)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Enkobnihcml { + #[prost(uint32, tag = "5")] + pub uid: u32, + #[prost(bool, tag = "6")] + pub lkcaeopcfoc: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eegmnmgojjo { + #[prost(uint32, tag = "5")] + pub ohenhnjjken: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1663)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mimfbkcdiak { + #[prost(bool, tag = "14")] + pub mfblihcpijn: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lhanhemamgo { + #[prost(bool, tag = "2")] + pub eialjbaengj: bool, + #[prost(bool, tag = "10")] + pub ecihdijcled: bool, + #[prost(uint32, tag = "11")] + pub mempkcgnnmf: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9568)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mknieicfbde { + #[prost(uint32, tag = "4")] + pub plicgiinkfi: u32, + #[prost(bool, tag = "6")] + pub bgaoacgaldg: bool, + #[prost(uint32, tag = "7")] + pub draft_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(908)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cmakhkclhii { + #[prost(uint32, tag = "12")] + pub khhibkpbkpn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(767)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hegdckbbddl { + #[prost(uint32, tag = "9")] + pub edgckljkadm: u32, + #[prost(uint32, tag = "1")] + pub hjnkccnnhdn: u32, + #[prost(uint64, tag = "3")] + pub avatar_guid: u64, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7697)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Plidoalcgdc { + #[prost(bool, tag = "4")] + pub jhfmeficaal: bool, + #[prost(uint32, tag = "7")] + pub pjjaoilbfbn: u32, + #[prost(bool, tag = "11")] + pub dggckmikbmo: bool, + #[prost(int32, tag = "12")] + pub retcode: i32, + #[prost(uint32, tag = "15")] + pub dekhbeooien: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29850)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dkcelacfpch { + #[prost(uint32, tag = "15")] + pub end_time: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1385)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kkbjehfiekl { + #[prost(uint32, tag = "3")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21489)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nlphbocamfk { + #[prost(string, tag = "6")] + pub papemocbgeo: ::prost::alloc::string::String, + #[prost(enumeration = "Mnpapanlkkg", tag = "8")] + pub fhanjkplcfl: i32, + #[prost(enumeration = "Jibfhhklaoj", tag = "11")] + pub gogamckkcco: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9319)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eahdnpfeolp { + #[prost(int32, tag = "1")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28918)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iabaanilccj { + #[prost(string, tag = "7")] + pub bmljclenhmh: ::prost::alloc::string::String, + #[prost(int32, tag = "9")] + pub retcode: i32, + #[prost(bool, tag = "12")] + pub dpijhmnfbam: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nmjefmbijid { + #[prost(uint32, tag = "13")] + pub apply_entity_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eafjlampfhi { + #[prost(uint32, tag = "6")] + pub dekhbeooien: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(232)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bjnfjpcdlpl { + #[prost(uint32, tag = "10")] + pub hdkdgijfmpc: u32, + #[prost(uint32, tag = "12")] + pub scene_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8543)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ccpjfpkcihi { + #[prost(message, optional, tag = "6")] + pub bhjhagccpib: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4908)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dcidenojikc { + #[prost(uint32, tag = "11")] + pub hkejlenogln: u32, + #[prost(int32, tag = "15")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9003)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hbbbfclepjf { + #[prost(message, optional, tag = "1")] + pub pnkplpdbocg: ::core::option::Option, + #[prost(float, tag = "2")] + pub pdkifkkmhcn: f32, + #[prost(message, optional, tag = "3")] + pub bmammckamlj: ::core::option::Option, + #[prost(enumeration = "Dpnjdpjgdop", tag = "4")] + pub nkfeikljhhk: i32, + #[prost(string, repeated, tag = "5")] + pub diiiihmdpnc: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, + #[prost(bool, tag = "6")] + pub gaklgdgicdn: bool, + #[prost(float, tag = "7")] + pub nllkhncamgg: f32, + #[prost(uint32, tag = "8")] + pub amhhcbfflpl: u32, + #[prost(bool, tag = "9")] + pub ogjikflmpdj: bool, + #[prost(float, tag = "10")] + pub kkkmbmmhijf: f32, + #[prost(message, optional, tag = "11")] + pub mddabonfbej: ::core::option::Option, + #[prost(bool, tag = "13")] + pub gncjhdkpona: bool, + #[prost(message, optional, tag = "14")] + pub hhfkofgghkg: ::core::option::Option, + #[prost(uint32, tag = "15")] + pub entity_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2433)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gkmbpjdogbp { + #[prost(message, repeated, tag = "5")] + pub jbhaijfnnck: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21212)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cnldbfhbomp { + #[prost(uint32, tag = "3")] + pub mkelffhppog: u32, + #[prost(message, optional, tag = "9")] + pub dejoimafmck: ::core::option::Option, + #[prost(message, optional, tag = "13")] + pub odnfameopbg: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kphndgacfdn { + #[prost(uint32, tag = "7")] + pub scene_id: u32, + #[prost(uint32, tag = "10")] + pub enekacdhjgh: u32, + #[prost(uint32, repeated, tag = "11")] + pub ilmniplkenp: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5334)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gkkjklcpmbp { + #[prost(int32, tag = "7")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3299)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nkdolinebck { + #[prost(uint32, tag = "7")] + pub gaplfmmgbfa: u32, + #[prost(message, optional, tag = "9")] + pub ddpgemgdhel: ::core::option::Option, + #[prost(bool, tag = "11")] + pub nfbifipddad: bool, + #[prost(uint32, tag = "14")] + pub ocinfhojcea: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22588)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jcnciidjlif { + #[prost(uint32, tag = "3")] + pub kjlbepdnldm: u32, + #[prost(int32, tag = "15")] + pub gbaglgmgjhj: i32, + #[prost(int32, tag = "12")] + pub acjpdgmfgnl: i32, + #[prost(int32, tag = "2")] + pub peagfmgmeah: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29671)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Akidcgkpcep { + #[prost(string, tag = "4")] + pub epfpbkmomca: ::prost::alloc::string::String, + #[prost(int32, tag = "6")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8041)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fikojpdchcj { + #[prost(int32, tag = "4")] + pub retcode: i32, + #[prost(uint32, tag = "5")] + pub pjjaoilbfbn: u32, + #[prost(bool, tag = "12")] + pub dmedoehomkh: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dpjneojfiga { + #[prost(message, optional, tag = "1")] + pub fobongihgmj: ::core::option::Option, + #[prost(message, optional, tag = "6")] + pub piijgofjiin: ::core::option::Option, + #[prost(message, optional, tag = "7")] + pub piiapjjelod: ::core::option::Option, + #[prost(message, optional, tag = "9")] + pub eonffbcghih: ::core::option::Option, + #[prost(message, optional, tag = "11")] + pub mdpabhfmgho: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pcmcgonmpho { + #[prost(uint32, tag = "1")] + pub ejngailfghf: u32, + #[prost(uint32, repeated, tag = "2")] + pub oibodamegbd: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "3")] + pub jfcefgehkpg: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29294)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cjegekpndin { + #[prost(uint32, tag = "11")] + pub omgchbachci: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ohjdhpdpkng { + #[prost(uint64, repeated, tag = "11")] + pub avatar_guid_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "13")] + pub odeipclofkn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8054)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dbfakcignjm { + #[prost(uint32, tag = "1")] + pub gaplfmmgbfa: u32, + #[prost(int32, tag = "7")] + pub retcode: i32, + #[prost(uint32, tag = "9")] + pub lbclghbmdaf: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lhohohmibel { + #[prost(uint32, tag = "8")] + pub hmjbphppjdb: u32, + #[prost(uint32, tag = "11")] + pub olongpplcmg: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21021)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ofafgmagnjl { + #[prost(uint32, tag = "10")] + pub feccpddaagm: u32, + #[prost(int32, tag = "13")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aaffbgefkbf { + #[prost(bool, tag = "8")] + pub eialjbaengj: bool, + #[prost(bool, tag = "10")] + pub ecihdijcled: bool, + #[prost(uint32, tag = "12")] + pub peajinifghm: u32, + #[prost(uint32, tag = "14")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(771)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nggpdcihong { + #[prost(uint32, tag = "9")] + pub fecmlpmpopc: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23306)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cdckcggelii { + #[prost(int32, tag = "2")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25849)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jbfjmgljnbh { + #[prost(uint32, tag = "1")] + pub jefildjebaj: u32, + #[prost(uint32, tag = "5")] + pub jiahjojcpfe: u32, + #[prost(uint32, tag = "7")] + pub level: u32, + #[prost(uint32, tag = "8")] + pub exp: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mpojjlbmlpa { + #[prost(uint64, tag = "1")] + pub gedmdocolfj: u64, + #[prost(uint32, tag = "2")] + pub room_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5776)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nhdnhgjpgif { + #[prost(uint32, tag = "13")] + pub ccpigccdboi: u32, + #[prost(uint32, tag = "15")] + pub khhibkpbkpn: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jbimmjpoeba { + #[prost(uint32, tag = "1")] + pub dekhbeooien: u32, + #[prost(uint32, tag = "5")] + pub dmnldppgokg: u32, + #[prost(uint32, tag = "9")] + pub pjjaoilbfbn: u32, + #[prost(bool, tag = "10")] + pub dggckmikbmo: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23238)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ejclecpbfho { + #[prost(uint32, tag = "14")] + pub kdknoocoebm: u32, + #[prost(uint32, tag = "1")] + pub lgooidciaag: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(169)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aegpjofgnhn {} +#[derive(proto_gen::CmdID)] +#[cmdid(24718)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Obnpiajffda { + #[prost(message, optional, tag = "4")] + pub pos: ::core::option::Option, + #[prost(uint32, tag = "6")] + pub item_id: u32, + #[prost(int32, tag = "7")] + pub param: i32, + #[prost(uint32, tag = "12")] + pub gfppmnlpoek: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jljgjgahinl { + #[prost(message, repeated, tag = "6")] + pub niomengdmaj: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "10")] + pub gfgcncpnoig: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7275)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lfihlfanmkl { + #[prost(uint32, tag = "2")] + pub entity_id: u32, + #[prost(uint32, tag = "4")] + pub nndjeepmche: u32, + #[prost(bool, tag = "7")] + pub apgnbjkgeel: bool, + #[prost(enumeration = "Igohjibcdfa", tag = "14")] + pub lkidbhiooog: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29598)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Idfmgmpofoe { + #[prost(uint64, repeated, tag = "12")] + pub fikgdofabee: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2941)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Khhgolfmeka { + #[prost(int32, tag = "5")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bodnniikbgj { + #[prost(message, repeated, tag = "1")] + pub kkfcpkefigk: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "4")] + pub oimebnjcfli: ::core::option::Option, + #[prost(bool, tag = "9")] + pub fjnebbedmce: bool, + #[prost(uint32, repeated, tag = "13")] + pub hbgkefoepch: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "14")] + pub ojhimnjgcio: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "15")] + pub abhkfnbnjgn: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Edbieojnbaf { + #[prost(uint32, tag = "2")] + pub ngjiickjnhg: u32, + #[prost(message, optional, tag = "5")] + pub hpkdnceehfn: ::core::option::Option, + #[prost(uint32, tag = "7")] + pub cjmmgkpfmof: u32, + #[prost(uint32, tag = "10")] + pub hdhjdcphfmk: u32, + #[prost(uint32, tag = "12")] + pub njccempmhdi: u32, + #[prost(message, repeated, tag = "14")] + pub kmbampphcni: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29025)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gkhmiopeiaf { + #[prost(uint32, tag = "3")] + pub khhibkpbkpn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3444)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ljpfhhlmfgm { + #[prost(uint32, tag = "12")] + pub ohkidhnabib: u32, + #[prost(bool, tag = "14")] + pub djoclokdkae: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ipdlldfnkle { + #[prost(message, repeated, tag = "3")] + pub cbenkjeocil: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27433)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Odefamdiiib { + #[prost(uint64, repeated, tag = "6")] + pub equip_guid_list: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "9")] + pub is_locked: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dlimejildca { + #[prost(uint32, tag = "7")] + pub bcgeoglhkan: u32, + #[prost(bool, tag = "10")] + pub lhhbinhjaoe: bool, + #[prost(oneof = "dlimejildca::Naohdahdiog", tags = "3, 12, 15")] + pub naohdahdiog: ::core::option::Option, +} +/// Nested message and enum types in `DLIMEJILDCA`. +pub mod dlimejildca { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Naohdahdiog { + #[prost(message, tag = "3")] + ScoreChallengeInfo(super::Bdkbolglafb), + #[prost(message, tag = "12")] + BundleInfo(super::Klclhnbepho), + #[prost(uint32, tag = "15")] + BossChallengeId(u32), + } +} +#[derive(proto_gen::CmdID)] +#[cmdid(29498)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fnimedeobmj { + #[prost(int32, tag = "6")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20539)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ljbohilakal { + #[prost(uint32, repeated, tag = "3")] + pub amfkehphneb: ::prost::alloc::vec::Vec, + #[prost(string, tag = "4")] + pub version: ::prost::alloc::string::String, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mpfdbhicfac { + #[prost(enumeration = "Momgbciboei", tag = "1")] + pub hjghlapidhd: i32, + #[prost(bool, tag = "5")] + pub admdogdiofh: bool, + #[prost(uint32, repeated, tag = "7")] + pub kaajdbhocho: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "8")] + pub plhjoghbael: u32, + #[prost(uint32, tag = "10")] + pub pfabkdkfgdg: u32, + #[prost(uint32, tag = "11")] + pub pjmkkemigbg: u32, + #[prost(uint32, tag = "14")] + pub ngbgogoppcc: u32, + #[prost(uint32, tag = "15")] + pub iefjccibkja: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25400)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Geipkcfnggk { + #[prost(uint32, tag = "13")] + pub gaplfmmgbfa: u32, + #[prost(uint32, tag = "1")] + pub kfpegnaadlo: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5246)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Flafohpnjao { + #[prost(uint32, tag = "1")] + pub group_id: u32, + #[prost(uint32, tag = "2")] + pub bknplfikkfg: u32, + #[prost(uint32, tag = "3")] + pub blnbjflpefp: u32, + #[prost(uint32, tag = "9")] + pub mlmifecfpoj: u32, + #[prost(uint32, tag = "10")] + pub ckinhoeoecf: u32, + #[prost(bool, tag = "12")] + pub dmedoehomkh: bool, + #[prost(message, repeated, tag = "13")] + pub olpbbgienff: ::prost::alloc::vec::Vec, + #[prost(uint64, tag = "15")] + pub hodolkcoplg: u64, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22826)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oeghicehgod { + #[prost(enumeration = "Cegmlmcfcpm", repeated, tag = "4")] + pub bppepdepjdk: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "12")] + pub bdeombceoea: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SceneReliquaryInfo { + #[prost(uint32, tag = "1")] + pub item_id: u32, + #[prost(uint64, tag = "2")] + pub guid: u64, + #[prost(uint32, tag = "3")] + pub level: u32, + #[prost(uint32, tag = "4")] + pub promote_level: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22215)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nedjhngnekc { + #[prost(uint32, tag = "11")] + pub khhibkpbkpn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4376)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eoodhkcamja { + #[prost(uint32, tag = "3")] + pub dfjmenlmiii: u32, + #[prost(int32, tag = "12")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7628)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ffkjaiphiad { + #[prost(uint32, tag = "1")] + pub bimcajgddoi: u32, + #[prost(float, tag = "5")] + pub speed: f32, + #[prost(uint32, tag = "8")] + pub lbclghbmdaf: u32, + #[prost(enumeration = "Hdjecbnmhli", tag = "9")] + pub cdooiopekkl: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3787)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mddhjeminci { + #[prost(enumeration = "Dmbnnbhbpbi", tag = "1")] + pub hkmhenoepkp: i32, + #[prost(int32, tag = "12")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2533)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ggfhoeccejd { + #[prost(message, repeated, tag = "13")] + pub bdobhhhjkma: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21195)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dgodlafclhi { + #[prost(bool, tag = "1")] + pub emlilmhjhog: bool, + #[prost(uint32, tag = "8")] + pub pjjaoilbfbn: u32, + #[prost(uint32, tag = "12")] + pub lgooidciaag: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8174)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Afkdmcfkfih { + #[prost(int32, tag = "2")] + pub pbhchamjkhb: i32, + #[prost(int32, tag = "9")] + pub ckjpgidhkoi: i32, + #[prost(uint32, tag = "10")] + pub entity_id: u32, + #[prost(uint64, tag = "13")] + pub kfnbcklkeib: u64, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hcpamcoeiem { + #[prost(uint32, tag = "5")] + pub gadget_id: u32, + #[prost(uint32, tag = "6")] + pub config_id: u32, + #[prost(uint32, tag = "9")] + pub r#type: u32, + #[prost(uint32, tag = "10")] + pub group_id: u32, + #[prost(message, optional, tag = "15")] + pub pos: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23518)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cmjpfbdepgo { + #[prost(int32, tag = "5")] + pub retcode: i32, + #[prost(uint32, tag = "14")] + pub eddfmjmpnjp: u32, + #[prost(uint32, tag = "15")] + pub ccpigccdboi: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ngkfhkbbebi { + #[prost(uint32, tag = "5")] + pub afkmpjjegjj: u32, + #[prost(uint32, tag = "15")] + pub lgooidciaag: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ojkdmahfelc { + #[prost(uint32, tag = "2")] + pub entity_id: u32, + #[prost(uint32, tag = "10")] + pub jbghbcnlkhp: u32, + #[prost(uint32, repeated, tag = "15")] + pub mcnjnpmgijg: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4951)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nclfinccbgf { + #[prost(message, optional, tag = "7")] + pub ohoaamnllce: ::core::option::Option, + #[prost(bool, tag = "13")] + pub ofbpbiomcjd: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8266)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fffjdnjoabc { + #[prost(uint32, tag = "5")] + pub jgihcibojpn: u32, + #[prost(int32, tag = "11")] + pub retcode: i32, + #[prost(uint64, tag = "12")] + pub opbnfdpdjgd: u64, + #[prost(uint32, tag = "13")] + pub nfjohaldgdn: u32, + #[prost(message, repeated, tag = "15")] + pub dlkgdlnileh: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4942)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jmemedngbca { + #[prost(uint32, tag = "10")] + pub level: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26252)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ndemlajjpig { + #[prost(uint32, tag = "1")] + pub mcmbofifbcp: u32, + #[prost(int32, tag = "12")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ljndecjabef { + #[prost(message, optional, tag = "2")] + pub bepfmdkmfic: ::core::option::Option, + #[prost(bool, tag = "10")] + pub dggckmikbmo: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kpnjobfakgf { + #[prost(message, optional, tag = "5")] + pub kjiogfgnmeo: ::core::option::Option, + #[prost(message, optional, tag = "11")] + pub jaeidddmihj: ::core::option::Option, + #[prost(message, optional, tag = "12")] + pub aiagdpedgki: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(614)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Anidmdgokol { + #[prost(string, tag = "13")] + pub oinhnddpfli: ::prost::alloc::string::String, + #[prost(int32, tag = "11")] + pub peagfmgmeah: i32, + #[prost(uint32, tag = "7")] + pub jddamhceape: u32, + #[prost(uint32, tag = "4")] + pub kjlbepdnldm: u32, + #[prost(int32, tag = "12")] + pub acjpdgmfgnl: i32, + #[prost(int32, tag = "1")] + pub gbaglgmgjhj: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26368)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct AvatarDataNotify { + #[prost(uint32, repeated, tag = "1")] + pub onaodhdmili: ::prost::alloc::vec::Vec, + #[prost(map = "uint32, message", tag = "2")] + pub avatar_team_map: ::std::collections::HashMap, + #[prost(uint32, repeated, tag = "3")] + pub owned_costume_list: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "4")] + pub owned_flycloak_list: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "9")] + pub backup_avatar_team_order_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "10")] + pub avatar_rename_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "11")] + pub avatar_list: ::prost::alloc::vec::Vec, + #[prost(uint64, tag = "12")] + pub choose_avatar_guid: u64, + #[prost(uint32, tag = "13")] + pub cur_avatar_team_id: u32, + #[prost(uint64, repeated, tag = "14")] + pub temp_avatar_guid_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cndpncjolgf { + #[prost(uint32, tag = "2")] + pub level: u32, + #[prost(uint32, tag = "7")] + pub count: u32, + #[prost(uint32, tag = "14")] + pub monster_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25196)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cbehijlkpdn { + #[prost(int32, tag = "3")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26447)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iojphhaopbc {} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Olbjnpgiiaf { + #[prost(enumeration = "Cmdeepdjoga", repeated, tag = "8")] + pub ebhcablnklp: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "10")] + pub fbpgimlmdnj: u32, + #[prost(uint32, tag = "11")] + pub migldagkhlb: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bkndmgdpebl { + #[prost(message, optional, tag = "1")] + pub lkllhllleeg: ::core::option::Option, + #[prost(map = "uint32, message", tag = "2")] + pub opmmbdkolli: ::std::collections::HashMap, + #[prost(map = "uint32, message", tag = "3")] + pub djemoadbdnd: ::std::collections::HashMap, + #[prost(map = "uint32, message", tag = "4")] + pub bnmfbjmnkba: ::std::collections::HashMap, + #[prost(message, repeated, tag = "5")] + pub enelnognnlp: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "6")] + pub amkmghmlhce: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "10")] + pub lpioegcdkao: u32, + #[prost(map = "uint32, message", tag = "12")] + pub ngmmicpmicl: ::std::collections::HashMap, + #[prost(uint32, tag = "14")] + pub skill_id: u32, + #[prost(message, repeated, tag = "15")] + pub lkcabblcohg: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bilbkkohdab { + #[prost(message, repeated, tag = "3")] + pub dahkfdaacll: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "8")] + pub mempkcgnnmf: u32, + #[prost(uint32, repeated, tag = "9")] + pub emeppkabbge: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "10")] + pub ecihdijcled: bool, + #[prost(uint32, repeated, tag = "13")] + pub lilembeihai: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fchnoohlplb { + #[prost(uint32, repeated, tag = "2")] + pub lcdcikjikgh: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "8")] + pub ecihdijcled: bool, + #[prost(uint32, tag = "10")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dkadipldpdp { + #[prost(bool, tag = "7")] + pub eialjbaengj: bool, + #[prost(uint32, tag = "9")] + pub pjjaoilbfbn: u32, + #[prost(bool, tag = "11")] + pub mdgjjofokap: bool, + #[prost(uint32, tag = "13")] + pub ppbamnfheje: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20960)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Glpdbkoaoje { + #[prost(uint32, tag = "3")] + pub guid: u32, + #[prost(uint32, tag = "1")] + pub avatar_id: u32, + #[prost(uint32, tag = "14")] + pub pghipcmlekh: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26834)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gkbiojdibfp { + #[prost(int32, tag = "2")] + pub retcode: i32, + #[prost(bool, tag = "5")] + pub dhaomgmmdpd: bool, + #[prost(uint64, tag = "15")] + pub guid: u64, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Phmcfehgaki { + #[prost(message, optional, tag = "1")] + pub bleckdpdapi: ::core::option::Option, + #[prost(bool, tag = "6")] + pub cccdcfoiide: bool, + #[prost(message, optional, tag = "7")] + pub oomnoofgino: ::core::option::Option, + #[prost(bool, tag = "11")] + pub omncikffgbo: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(520)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mkfplcpicnp { + #[prost(uint32, tag = "10")] + pub giilnmoloni: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Djhoakcipbk { + #[prost(bool, tag = "2")] + pub eialjbaengj: bool, + #[prost(bool, tag = "6")] + pub mdgjjofokap: bool, + #[prost(uint32, tag = "7")] + pub pjjaoilbfbn: u32, + #[prost(uint32, tag = "10")] + pub peajinifghm: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24813)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ggfonbhpnko { + #[prost(bool, tag = "9")] + pub pekdmminloa: bool, + #[prost(enumeration = "Himmemhogfb", tag = "13")] + pub mfmlakbiaed: i32, + #[prost(int32, tag = "14")] + pub retcode: i32, + #[prost(uint64, tag = "15")] + pub dcompdppdpo: u64, + #[prost(oneof = "ggfonbhpnko::Gcmkmeijkhj", tags = "11")] + pub gcmkmeijkhj: ::core::option::Option, +} +/// Nested message and enum types in `GGFONBHPNKO`. +pub mod ggfonbhpnko { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Gcmkmeijkhj { + #[prost(message, tag = "11")] + MusicBriefInfo(super::Pcdlglmdhai), + } +} +#[derive(proto_gen::CmdID)] +#[cmdid(20426)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ljffeblmlkk { + #[prost(message, repeated, tag = "6")] + pub kebdimiadlm: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20748)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gfifolidgid { + #[prost(uint32, tag = "2")] + pub iehlhaogkpj: u32, + #[prost(bool, tag = "11")] + pub djoclokdkae: bool, + #[prost(int32, tag = "13")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Djeeojbgdjf { + #[prost(message, repeated, tag = "4")] + pub offnadbpdjb: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "6")] + pub ecihdijcled: bool, + #[prost(uint32, tag = "14")] + pub ohbephikojo: u32, + #[prost(uint32, tag = "15")] + pub lgbnfifcpjf: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aagojgecebp { + #[prost(uint32, tag = "4")] + pub oboopjlpdni: u32, + #[prost(uint32, tag = "7")] + pub lbhaeehgdom: u32, + #[prost(uint32, tag = "11")] + pub pglajfafgai: u32, + #[prost(uint32, tag = "12")] + pub ilpjbepjdlp: u32, + #[prost(enumeration = "Popdhnkgoec", tag = "13")] + pub lmgnncgppcg: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nohdomiiohf { + #[prost(message, repeated, tag = "13")] + pub mcdijkphlno: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26866)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nlnkgoikajk { + #[prost(int32, tag = "6")] + pub retcode: i32, + #[prost(message, repeated, tag = "13")] + pub ohmgddcbbod: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Laicgchcmch { + #[prost(message, optional, tag = "3")] + pub mhfdgagiepa: ::core::option::Option, + #[prost(message, repeated, tag = "14")] + pub bfbomboinpj: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29384)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nojndkfjfhm { + #[prost(uint32, tag = "1")] + pub hjnkccnnhdn: u32, + #[prost(uint64, tag = "11")] + pub avatar_guid: u64, + #[prost(int32, tag = "15")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5005)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kfmbbeknbol { + #[prost(uint32, tag = "2")] + pub khhibkpbkpn: u32, + #[prost(uint32, tag = "4")] + pub group_id: u32, + #[prost(int32, tag = "8")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(791)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Foablkkeboh { + #[prost(string, tag = "12")] + pub dppibjfomoc: ::prost::alloc::string::String, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23450)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Chafghjdmnm { + #[prost(uint32, tag = "3")] + pub room_id: u32, + #[prost(int32, tag = "4")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cjmbkpahhmi { + #[prost(uint32, tag = "3")] + pub lmcihlbfanh: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22121)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aibmjdjkbfe { + #[prost(uint32, tag = "5")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29573)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bjpndidlben { + #[prost(uint32, tag = "12")] + pub phmkpnkmooe: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4927)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jfhogffgpdn { + #[prost(message, optional, tag = "7")] + pub fflgcbbliao: ::core::option::Option, + #[prost(int32, tag = "11")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8340)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ofhjlamdmeb { + #[prost(message, repeated, tag = "6")] + pub kgogfpoddlj: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Deofdeaodnn { + #[prost(float, tag = "2")] + pub fbgnmebjncf: f32, + #[prost(uint32, tag = "3")] + pub diefnllchmn: u32, + #[prost(uint32, tag = "7")] + pub rot: u32, + #[prost(float, tag = "9")] + pub fkfjpjmmpim: f32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kcjebliehlm { + #[prost(uint32, tag = "3")] + pub imohcnccofg: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25821)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jggiohpglkf { + #[prost(int32, tag = "7")] + pub retcode: i32, + #[prost(uint32, tag = "8")] + pub oboopjlpdni: u32, + #[prost(uint32, tag = "12")] + pub akfopjphjio: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4656)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mgjfbfnailp { + #[prost(bool, tag = "2")] + pub nlhjigegiin: bool, + #[prost(uint32, tag = "3")] + pub gkkgomdfkml: u32, + #[prost(uint32, tag = "5")] + pub amhhcbfflpl: u32, + #[prost(uint32, tag = "6")] + pub lbclghbmdaf: u32, + #[prost(float, tag = "9")] + pub speed: f32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5332)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jignegchaml { + #[prost(int32, tag = "14")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20867)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Daikdknpcbi { + #[prost(uint32, tag = "7")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9529)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ddookhhmbdj { + #[prost(uint32, repeated, tag = "2")] + pub pbheabpkhab: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "14")] + pub bjjjdldclll: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1774)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Giegoipcjec { + #[prost(uint32, tag = "8")] + pub pjjaoilbfbn: u32, + #[prost(int32, tag = "9")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8053)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bceknicfjdh { + #[prost(int32, tag = "12")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25140)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ciehphijpop { + #[prost(uint32, tag = "14")] + pub mgcmnplnjkl: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6821)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Klmemliikbn { + #[prost(message, repeated, tag = "3")] + pub aahmmhijbia: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "15")] + pub filhmhegccb: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6283)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kjgkcimdkhd { + #[prost(int32, tag = "7")] + pub retcode: i32, + #[prost(uint32, tag = "10")] + pub lbklfcdfpdm: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29883)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bahdfmcpjlg { + #[prost(uint32, tag = "8")] + pub gghkdjlgfpb: u32, + #[prost(int32, tag = "10")] + pub retcode: i32, + #[prost(message, optional, tag = "14")] + pub dejoimafmck: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8506)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Emaaioilapf { + #[prost(message, optional, tag = "9")] + pub nokafmencih: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dkfkdkboofp { + #[prost(message, repeated, tag = "15")] + pub gocbhmdladb: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oedbnoadgjj { + #[prost(string, tag = "5")] + pub name: ::prost::alloc::string::String, + #[prost(uint32, tag = "6")] + pub jjlpijkgkon: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4264)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jhlcokcmeif { + #[prost(uint32, tag = "4")] + pub pjjlmhgjkdg: u32, + #[prost(uint32, tag = "5")] + pub kajcndjlkfi: u32, + #[prost(int32, tag = "8")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29583)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fhnnociooka { + #[prost(uint32, tag = "2")] + pub egbmifdjdih: u32, + #[prost(uint32, tag = "3")] + pub dekhbeooien: u32, + #[prost(bool, tag = "5")] + pub dggckmikbmo: bool, + #[prost(bool, tag = "6")] + pub ankcbommojb: bool, + #[prost(uint32, tag = "7")] + pub pjjaoilbfbn: u32, + #[prost(enumeration = "Paahdfjmicd", tag = "12")] + pub reason: i32, + #[prost(uint32, tag = "14")] + pub ljfafdhikjd: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4373)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ihgjkhbpheb { + #[prost(map = "uint32, float", tag = "2")] + pub fight_prop_map: ::std::collections::HashMap, + #[prost(uint32, tag = "10")] + pub entity_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4774)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Neoeijneceh { + #[prost(uint32, tag = "15")] + pub avatar_id: u32, + #[prost(uint32, tag = "3")] + pub dlphdipgphf: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25379)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pnbfgdlhhpc { + #[prost(uint32, repeated, tag = "4")] + pub akgnhibbcja: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "14")] + pub iljgpojfhdo: ::core::option::Option, + #[prost(uint32, tag = "15")] + pub cehbmhaanil: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6933)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jafkkpepgbk { + #[prost(enumeration = "Ckijcdmelnh", tag = "1")] + pub oaahhnmhafh: i32, + #[prost(uint32, tag = "3")] + pub gadget_id: u32, + #[prost(message, optional, tag = "4")] + pub niblmceoflg: ::core::option::Option, + #[prost(uint32, tag = "5")] + pub giickaofkdb: u32, + #[prost(message, optional, tag = "8")] + pub bndocllebea: ::core::option::Option, + #[prost(enumeration = "Hdpdhdlphae", tag = "10")] + pub iifdbepldke: i32, + #[prost(int32, tag = "12")] + pub retcode: i32, + #[prost(message, optional, tag = "13")] + pub beliokmdlgb: ::core::option::Option, + #[prost(uint32, tag = "15")] + pub entity_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1809)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pnghbfakfga { + #[prost(message, repeated, tag = "4")] + pub nmioeeppfgj: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "13")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mgaofojfdnn { + #[prost(bool, tag = "1")] + pub eialjbaengj: bool, + #[prost(uint32, tag = "9")] + pub mempkcgnnmf: u32, + #[prost(bool, tag = "14")] + pub ecihdijcled: bool, + #[prost(message, repeated, tag = "15")] + pub jnihnacehdl: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Adifnoplaik { + #[prost(int32, tag = "1")] + pub local_id: i32, + #[prost(uint32, tag = "3")] + pub instanced_modifier_id: u32, + #[prost(uint32, tag = "4")] + pub instanced_ability_id: u32, + #[prost(message, optional, tag = "8")] + pub parent_ability_name: ::core::option::Option, + #[prost(int32, tag = "11")] + pub modifier_local_id: i32, + #[prost(uint32, tag = "13")] + pub miagfdldmph: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20176)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jakfknkiofi { + #[prost(int32, tag = "2")] + pub retcode: i32, + #[prost(uint32, tag = "10")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20582)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nkagdmcnbio { + #[prost(uint32, repeated, tag = "1")] + pub buff_id_list: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "11")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2489)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lkfehgadhof { + #[prost(uint32, tag = "5")] + pub mcjiecacmld: u32, + #[prost(uint32, tag = "15")] + pub kfaghbdnfca: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2994)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fpiofcfgeke { + #[prost(uint32, tag = "1")] + pub group_id: u32, + #[prost(uint32, tag = "15")] + pub config_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9629)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pfejcmichna { + #[prost(uint32, tag = "5")] + pub pdlmkflekdl: u32, + #[prost(string, tag = "12")] + pub dmmfjmbmjha: ::prost::alloc::string::String, + #[prost(string, tag = "13")] + pub title: ::prost::alloc::string::String, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23670)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ennoahojfli {} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pabbccknldf { + #[prost(uint32, tag = "10")] + pub uid: u32, + #[prost(message, repeated, tag = "15")] + pub niomengdmaj: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Njpabknndfo { + #[prost(int32, tag = "3")] + pub noljbnbnlml: i32, + #[prost(int32, tag = "12")] + pub mjeflbpjbkm: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27562)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ncjglhekbap { + #[prost(bool, tag = "14")] + pub kkopdpjdjcm: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29126)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jphefdedock { + #[prost(uint32, repeated, tag = "6")] + pub ffpfapmgfhe: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23633)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Llhiboombnn { + #[prost(uint32, tag = "10")] + pub target_uid: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hkpgbeblmie { + #[prost(message, repeated, tag = "2")] + pub avatar_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dadokgjpmid { + #[prost(map = "uint32, uint32", tag = "1")] + pub aogomcielpm: ::std::collections::HashMap, + #[prost(uint32, tag = "3")] + pub end_time: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9655)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Endbahpohmp { + #[prost(uint32, repeated, tag = "14")] + pub lfbghoahkfn: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9990)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nfkiggckaii { + #[prost(int32, tag = "14")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6482)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dfolkicamej { + #[prost(int32, tag = "2")] + pub retcode: i32, + #[prost(uint32, tag = "9")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21971)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gmdnkaijcee { + #[prost(uint64, tag = "4")] + pub avatar_guid: u64, + #[prost(map = "uint32, int64", tag = "15")] + pub prop_map: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct AbilityControlBlock { + #[prost(message, repeated, tag = "1")] + pub ability_embryo_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24194)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Opflfacgich { + #[prost(uint32, tag = "7")] + pub pjegodebmjc: u32, + #[prost(uint32, tag = "10")] + pub jcejajfndhm: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jkobnfpenpd { + #[prost(message, repeated, tag = "11")] + pub mcdijkphlno: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6409)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oapijkccaac {} +#[derive(proto_gen::CmdID)] +#[cmdid(5207)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Plbchblllma { + #[prost(message, repeated, tag = "6")] + pub fmojameeohn: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "7")] + pub scene_time: u32, + #[prost(uint32, tag = "14")] + pub scene_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26942)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Logimffdcea { + #[prost(int32, tag = "8")] + pub retcode: i32, + #[prost(uint32, tag = "11")] + pub target_uid: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(652)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ifaplagelpl { + #[prost(int32, tag = "1")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25877)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lpepjlfblmh { + #[prost(message, repeated, tag = "11")] + pub kjjdfphkfeb: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "12")] + pub onabdgfcpih: u32, + #[prost(uint32, tag = "5")] + pub dfpnkfekiig: u32, + #[prost(uint32, tag = "7")] + pub mempkcgnnmf: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4959)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eeibpedmgjl { + #[prost(int32, tag = "8")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24765)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kobabkallca { + #[prost(int32, tag = "7")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Imagdmeigik { + #[prost(enumeration = "Gacainioald", tag = "6")] + pub state: i32, + #[prost(message, optional, tag = "7")] + pub dejoimafmck: ::core::option::Option, + #[prost(uint32, tag = "8")] + pub gghkdjlgfpb: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aagpcdjpgdk { + #[prost(uint32, repeated, tag = "1")] + pub cefkegaagll: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2457)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bfnlcljbipd { + #[prost(uint32, tag = "10")] + pub iijkccimjgj: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2446)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lhgemebbccc { + #[prost(uint32, tag = "1")] + pub room_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jbbpnmgjaog { + #[prost(float, tag = "6")] + pub jjpcpmfdneh: f32, + #[prost(int32, tag = "15")] + pub oaagmpkikgi: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28522)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Obbkhedcjkh {} +#[derive(proto_gen::CmdID)] +#[cmdid(5969)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dfkhokhopee { + #[prost(int32, tag = "4")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20538)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bpnnhiianfo { + #[prost(uint32, repeated, tag = "7")] + pub adcjcjeiomk: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "11")] + pub retcode: i32, + #[prost(uint32, repeated, tag = "15")] + pub akclibaijcn: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9361)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ajdfklkcndj { + #[prost(uint32, tag = "6")] + pub belhflpnegd: u32, + #[prost(uint32, tag = "10")] + pub lbclghbmdaf: u32, + #[prost(uint32, tag = "11")] + pub egbmifdjdih: u32, + #[prost(uint32, tag = "14")] + pub cnebhlcgnij: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21961)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bbclehnomoa { + #[prost(uint32, repeated, tag = "2")] + pub hfgcnhedapn: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "3")] + pub cdjlgcopfai: ::prost::alloc::vec::Vec, + #[prost(enumeration = "Cmdeepdjoga", repeated, tag = "14")] + pub ebhcablnklp: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Enhienoghhd { + #[prost(uint32, tag = "1")] + pub nhgniieaogi: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jelbmdnlkpm { + #[prost(uint64, tag = "3")] + pub amiilbjpola: u64, + #[prost(uint64, tag = "6")] + pub avatar_guid: u64, + #[prost(uint32, tag = "9")] + pub mmndomkgebh: u32, + #[prost(bool, tag = "10")] + pub imhnjlnpgcj: bool, + #[prost(uint32, tag = "11")] + pub lgooidciaag: u32, + #[prost(uint32, tag = "13")] + pub gggijlcjeea: u32, + #[prost(bool, tag = "15")] + pub lfncdokdfhh: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28156)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pgibbegdode { + #[prost(uint32, tag = "2")] + pub dglcdjnmnkh: u32, + #[prost(int32, tag = "11")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Echegkdjnol { + #[prost(bool, tag = "5")] + pub ipkoiinhcjp: bool, + #[prost(uint32, tag = "15")] + pub mabcoknipdb: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6625)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SceneEntityDisappearNotify { + #[prost(uint32, repeated, tag = "7")] + pub entity_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "9")] + pub param: u32, + #[prost(enumeration = "VisionType", tag = "15")] + pub disappear_type: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2730)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kdfdaifpbmi {} +#[derive(proto_gen::CmdID)] +#[cmdid(8686)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ioifppmhmka {} +#[derive(proto_gen::CmdID)] +#[cmdid(23531)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Daijffibejf { + #[prost(uint32, repeated, tag = "2")] + pub njhgoaehndm: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "12")] + pub lbclghbmdaf: u32, + #[prost(uint32, tag = "4")] + pub dfpnkfekiig: u32, + #[prost(uint32, tag = "15")] + pub pkkkijalpnm: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9000)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ndebjndhiec { + #[prost(uint32, tag = "3")] + pub eeddllecdle: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct EntityClientData { + #[prost(uint32, tag = "1")] + pub wind_change_scene_time: u32, + #[prost(float, tag = "2")] + pub windmill_sync_angle: f32, + #[prost(int32, tag = "3")] + pub wind_change_target_level: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Idmjlclifla { + #[prost(uint32, tag = "3")] + pub iiicbihodjb: u32, + #[prost(uint32, tag = "4")] + pub kjoinehljnp: u32, + #[prost(uint32, tag = "6")] + pub eopffipdkgn: u32, + #[prost(message, optional, tag = "7")] + pub hdofjefkgkb: ::core::option::Option, + #[prost(bool, tag = "10")] + pub hjeilabenak: bool, + #[prost(uint32, tag = "15")] + pub gaplfmmgbfa: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8703)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fpklldpfmok { + #[prost(map = "uint32, uint32", tag = "8")] + pub fdlkfiekcdk: ::std::collections::HashMap, + #[prost(map = "uint32, uint32", tag = "12")] + pub fjokilkfakh: ::std::collections::HashMap, + #[prost(enumeration = "Bieolmjpked", tag = "13")] + pub r#type: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3108)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jjomcoemddl { + #[prost(int32, tag = "3")] + pub retcode: i32, + #[prost(uint32, tag = "5")] + pub afeikfcjneo: u32, + #[prost(uint32, tag = "12")] + pub dkiolkfdflp: u32, + #[prost(uint32, repeated, tag = "14")] + pub mnafpkdandj: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bhbpbciajbm { + #[prost(bool, tag = "15")] + pub ekeikdijabm: bool, + #[prost(oneof = "bhbpbciajbm::Detail", tags = "1, 12, 13")] + pub detail: ::core::option::Option, +} +/// Nested message and enum types in `BHBPBCIAJBM`. +pub mod bhbpbciajbm { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Detail { + #[prost(uint32, tag = "1")] + TrialConfigId(u32), + #[prost(uint32, tag = "12")] + AvatarId(u32), + #[prost(uint32, tag = "13")] + RentAvatarId(u32), + } +} +#[derive(proto_gen::CmdID)] +#[cmdid(28486)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ifbfgaklmbb {} +#[derive(proto_gen::CmdID)] +#[cmdid(29453)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hoeljjhehon { + #[prost(string, tag = "2")] + pub jhlcikookmo: ::prost::alloc::string::String, + #[prost(uint32, tag = "4")] + pub gadget_id: u32, + #[prost(uint32, tag = "13")] + pub gbcebgkbjdm: u32, + #[prost(uint32, tag = "14")] + pub entity_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27699)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Japbmmjcfkh { + #[prost(map = "uint32, uint32", tag = "6")] + pub fddebckigge: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dngnakadcba { + #[prost(message, repeated, tag = "11")] + pub pigofiofjid: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1730)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dapifhbkpoo { + #[prost(map = "uint32, message", tag = "1")] + pub fkempcfeeoi: ::std::collections::HashMap, + #[prost(enumeration = "PlayerDieType", tag = "3")] + pub jdfbfdifmmj: i32, + #[prost(message, optional, tag = "7")] + pub goeachamiaf: ::core::option::Option, + #[prost(uint32, tag = "8")] + pub gaplfmmgbfa: u32, + #[prost(uint32, tag = "9")] + pub hjbeggjocdn: u32, + #[prost(uint32, tag = "11")] + pub omccjjohdoi: u32, + #[prost(uint32, tag = "14")] + pub ngnkpbemfob: u32, + #[prost(uint32, tag = "15")] + pub gkhnlkaadng: u32, + #[prost(oneof = "dapifhbkpoo::Entity", tags = "2, 5")] + pub entity: ::core::option::Option, +} +/// Nested message and enum types in `DAPIFHBKPOO`. +pub mod dapifhbkpoo { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Entity { + #[prost(uint32, tag = "2")] + MonsterId(u32), + #[prost(uint32, tag = "5")] + GadgetId(u32), + } +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hbbcjinhnjc { + #[prost(message, repeated, tag = "2")] + pub oplajnckefn: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "10")] + pub openmcebgef: ::core::option::Option, + #[prost(uint32, tag = "12")] + pub eheimdfmhhk: u32, + #[prost(message, optional, tag = "14")] + pub ifneldhkaei: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28300)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cndficlddec { + #[prost(uint32, repeated, tag = "12")] + pub hpckdgemldn: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "15")] + pub bepnjolipfg: bool, + #[prost(bool, tag = "11")] + pub bbfhpffigai: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20702)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Glggmpokpmi { + #[prost(uint32, repeated, tag = "9")] + pub njhgoaehndm: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "5")] + pub dfpnkfekiig: u32, + #[prost(uint32, tag = "1")] + pub nnebhhfhdcc: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20380)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ipbcdnbngep { + #[prost(uint32, tag = "2")] + pub onabdgfcpih: u32, + #[prost(uint32, tag = "3")] + pub mngmfjcfmbc: u32, + #[prost(uint32, tag = "9")] + pub mempkcgnnmf: u32, + #[prost(uint32, tag = "11")] + pub lolmnhaooec: u32, + #[prost(uint32, tag = "13")] + pub dikiefcchpa: u32, + #[prost(message, repeated, tag = "15")] + pub dfdkbiadlnm: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ghhnbbloaia { + #[prost(uint32, tag = "5")] + pub uid: u32, + #[prost(uint32, tag = "8")] + pub jahjojochom: u32, + #[prost(message, repeated, tag = "11")] + pub pbebcpgdlco: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "12")] + pub jcbdaeeddcf: u32, + #[prost(bool, tag = "13")] + pub kmbemmpckii: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9690)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ofgeiofedak { + #[prost(uint32, repeated, tag = "14")] + pub cnfodgeooef: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8282)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nhlmdieefmm { + #[prost(uint32, repeated, tag = "9")] + pub njhgoaehndm: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "10")] + pub bnblmfkkfgg: u32, + #[prost(uint32, tag = "12")] + pub nnebhhfhdcc: u32, + #[prost(uint32, tag = "14")] + pub dfpnkfekiig: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8809)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hnhebpkchlb { + #[prost(int32, tag = "5")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27053)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jhfapobhgih { + #[prost(uint32, tag = "1")] + pub gollekhhdgh: u32, + #[prost(uint32, tag = "2")] + pub pjegodebmjc: u32, + #[prost(uint32, tag = "3")] + pub miildbcnekl: u32, + #[prost(uint32, tag = "4")] + pub group_id: u32, + #[prost(uint32, tag = "9")] + pub dekhbeooien: u32, + #[prost(bool, tag = "10")] + pub dmedoehomkh: bool, + #[prost(bool, tag = "11")] + pub dggckmikbmo: bool, + #[prost(uint32, tag = "12")] + pub ljfafdhikjd: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7393)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hlgfgjfafdi { + #[prost(uint32, tag = "2")] + pub khhibkpbkpn: u32, + #[prost(int32, tag = "10")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24691)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dpekdpfhgko { + #[prost(uint32, tag = "9")] + pub mempkcgnnmf: u32, + #[prost(bool, tag = "11")] + pub hjlpileemeb: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Onnkfjdgilj { + #[prost(uint32, tag = "1")] + pub fjhhikoihka: u32, + #[prost(uint32, repeated, tag = "3")] + pub jkkkhfekekd: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "4")] + pub bdeombceoea: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "5")] + pub peajinifghm: u32, + #[prost(bool, tag = "7")] + pub ecihdijcled: bool, + #[prost(bool, tag = "10")] + pub jhfmeficaal: bool, + #[prost(uint32, tag = "11")] + pub pjjaoilbfbn: u32, + #[prost(uint64, repeated, tag = "15")] + pub avatar_guid_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2974)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fmcpplaodnl { + #[prost(uint64, tag = "7")] + pub avatar_guid: u64, + #[prost(uint32, tag = "9")] + pub nfjohaldgdn: u32, + #[prost(uint32, tag = "11")] + pub jmlppgefbpf: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bgiahghgajd { + #[prost(message, repeated, tag = "8")] + pub bcdpialogha: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "11")] + pub dflplbjknea: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(488)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bgmnhjjighk { + #[prost(message, repeated, tag = "9")] + pub kfapijcgdbc: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "15")] + pub buff_id_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "13")] + pub kdplcbjgbaf: u32, + #[prost(uint32, tag = "12")] + pub pjjaoilbfbn: u32, + #[prost(uint32, tag = "10")] + pub mempkcgnnmf: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Olmjnbalkgh { + #[prost(uint32, tag = "3")] + pub bppjaboncjl: u32, + #[prost(uint32, tag = "7")] + pub costume_id: u32, + #[prost(enumeration = "Jailcnefodi", tag = "11")] + pub avatar_type: i32, + #[prost(uint32, tag = "12")] + pub avatar_id: u32, + #[prost(uint32, tag = "15")] + pub cmafekgpacg: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bjhhimcnoci { + #[prost(uint32, tag = "1")] + pub pjjaoilbfbn: u32, + #[prost(uint32, repeated, tag = "5")] + pub djfeomjfkgc: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "6")] + pub nkchbiafpom: bool, + #[prost(bool, tag = "8")] + pub lhhbinhjaoe: bool, + #[prost(uint32, tag = "9")] + pub nfllcpmnihn: u32, + #[prost(bool, tag = "11")] + pub eialjbaengj: bool, + #[prost(uint32, tag = "12")] + pub lenmgnmfnnm: u32, + #[prost(uint32, tag = "14")] + pub lflbhacobeo: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6921)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fejkledlhja { + #[prost(uint32, tag = "3")] + pub dfjmenlmiii: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8128)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Knedhdhihbb { + #[prost(message, optional, tag = "12")] + pub blfkojlccoo: ::core::option::Option, + #[prost(int32, tag = "13")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fncpdglgobc { + #[prost(bool, tag = "2")] + pub ecihdijcled: bool, + #[prost(uint32, tag = "5")] + pub ilffggjakaj: u32, + #[prost(bool, tag = "6")] + pub jhfmeficaal: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(576)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aclcphklmof { + #[prost(message, optional, tag = "4")] + pub ocacindeham: ::core::option::Option, + #[prost(message, optional, tag = "5")] + pub neoilleiibo: ::core::option::Option, + #[prost(enumeration = "Obidodcpegg", tag = "9")] + pub laicdpfdimh: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26011)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Decbipnpbia {} +#[derive(proto_gen::CmdID)] +#[cmdid(4678)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gpaghmdjclf { + #[prost(int32, tag = "15")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27198)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Baniobfiioc { + #[prost(message, repeated, tag = "4")] + pub nohabamidad: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "5")] + pub pmhiiliieig: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "6")] + pub pogdnklbfjm: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "14")] + pub lbjcobndkbd: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1510)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dekekhbijfn { + #[prost(uint32, tag = "3")] + pub pkicaibdchd: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4342)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bdljhnolpal {} +#[derive(proto_gen::CmdID)] +#[cmdid(23048)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gjfoafnkglk { + #[prost(bool, tag = "7")] + pub eiilpbbllpi: bool, + #[prost(uint32, tag = "14")] + pub entity_id: u32, + #[prost(enumeration = "Igohjibcdfa", tag = "2")] + pub lkidbhiooog: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5223)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerLoginReq { + #[prost(string, tag = "1825")] + pub llimbpceabn: ::prost::alloc::string::String, + #[prost(string, tag = "15")] + pub nnbgjpgdgcp: ::prost::alloc::string::String, + #[prost(string, tag = "1174")] + pub lpfpajbhjmh: ::prost::alloc::string::String, + #[prost(string, tag = "8")] + pub jjiohijngfp: ::prost::alloc::string::String, + #[prost(string, tag = "612")] + pub pecpgfpbjeb: ::prost::alloc::string::String, + #[prost(message, optional, tag = "1673")] + pub kofgdjgjplh: ::core::option::Option, + #[prost(string, tag = "879")] + pub country_code: ::prost::alloc::string::String, + #[prost(bytes = "vec", tag = "986")] + pub extra_bin_data: ::prost::alloc::vec::Vec, + #[prost(string, tag = "2")] + pub mdikihjhhjj: ::prost::alloc::string::String, + #[prost(string, tag = "606")] + pub jcimgdhmmln: ::prost::alloc::string::String, + #[prost(string, tag = "1330")] + pub fbkhednnfif: ::prost::alloc::string::String, + #[prost(string, tag = "12")] + pub token: ::prost::alloc::string::String, + #[prost(string, tag = "487")] + pub cddbbpkkopm: ::prost::alloc::string::String, + #[prost(bytes = "vec", tag = "460")] + pub pfdfhpkihmo: ::prost::alloc::vec::Vec, + #[prost(string, tag = "7")] + pub keodmfokngh: ::prost::alloc::string::String, + #[prost(string, tag = "519")] + pub cbiehlmfbhi: ::prost::alloc::string::String, + #[prost(string, tag = "13")] + pub account_uid: ::prost::alloc::string::String, + #[prost(message, optional, tag = "1144")] + pub fdnodkobnfh: ::core::option::Option, + #[prost(string, tag = "1351")] + pub imcmlaglodl: ::prost::alloc::string::String, + #[prost(string, tag = "1017")] + pub meegoicdefg: ::prost::alloc::string::String, + #[prost(string, tag = "1495")] + pub hcjgllhfcma: ::prost::alloc::string::String, + #[prost(string, tag = "1544")] + pub jiphknnhbie: ::prost::alloc::string::String, + #[prost(bytes = "vec", tag = "1008")] + pub ofmihdngfnm: ::prost::alloc::vec::Vec, + #[prost(string, tag = "1842")] + pub kamjijolfkj: ::prost::alloc::string::String, + #[prost(string, tag = "1")] + pub platform: ::prost::alloc::string::String, + #[prost(string, tag = "10")] + pub imaciigiogc: ::prost::alloc::string::String, + #[prost(string, tag = "1272")] + pub mmdpdoococo: ::prost::alloc::string::String, + #[prost(uint32, tag = "1866")] + pub plnnjpfppam: u32, + #[prost(uint32, tag = "1897")] + pub target_home_owner_uid: u32, + #[prost(uint32, tag = "236")] + pub ocinfhojcea: u32, + #[prost(uint32, tag = "4")] + pub platform_type: u32, + #[prost(uint32, tag = "1249")] + pub mckeonlbaoa: u32, + #[prost(uint32, tag = "144")] + pub fnpppmbibem: u32, + #[prost(uint32, tag = "1793")] + pub kpcgbpchbmj: u32, + #[prost(uint32, tag = "5")] + pub account_type: u32, + #[prost(uint32, tag = "1303")] + pub gm_uid: u32, + #[prost(uint32, tag = "333")] + pub epagbflkjbn: u32, + #[prost(uint32, tag = "3")] + pub target_uid: u32, + #[prost(uint32, tag = "6")] + pub bfpjpdclfnm: u32, + #[prost(uint32, tag = "902")] + pub ikkklhicpmf: u32, + #[prost(uint32, tag = "1879")] + pub dkgaonkkoha: u32, + #[prost(uint32, tag = "191")] + pub tag: u32, + #[prost(uint64, tag = "11")] + pub login_rand: u64, + #[prost(bool, tag = "1338")] + pub jagelbdjfjh: bool, + #[prost(bool, tag = "14")] + pub is_guest: bool, + #[prost(bool, tag = "9")] + pub haaggonehch: bool, + #[prost(uint32, tag = "155")] + pub ncnkmdbafeh: u32, + #[prost(uint32, tag = "906")] + pub kekhakapmin: u32, + #[prost(uint32, tag = "43")] + pub client_data_version: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8033)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mlbloedhdna { + #[prost(message, repeated, tag = "15")] + pub eloilboekpk: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27503)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ljomjdecllc {} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hajbjkcbfgf { + #[prost(uint32, repeated, tag = "15")] + pub bfbomboinpj: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25104)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hdhbgcgmfop { + #[prost(uint32, tag = "1")] + pub end_time: u32, + #[prost(uint32, tag = "6")] + pub geihmkhcije: u32, + #[prost(uint32, tag = "7")] + pub llmjiojfmbj: u32, + #[prost(uint32, tag = "11")] + pub jahipcehnib: u32, + #[prost(uint32, tag = "15")] + pub ppmpfmbfmbb: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27192)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Keihkjpmnhh { + #[prost(uint32, tag = "6")] + pub oboopjlpdni: u32, + #[prost(uint32, tag = "8")] + pub peajinifghm: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1259)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Phfdkolmggi { + #[prost(uint32, tag = "15")] + pub dglcdjnmnkh: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hlgblaibmng { + #[prost(message, repeated, tag = "13")] + pub lioebadblca: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3073)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ifeefmhnemp { + #[prost(uint32, tag = "14")] + pub kenikecfflm: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oildjfmlmjl { + #[prost(uint32, tag = "4")] + pub avatar_id: u32, + #[prost(uint32, tag = "10")] + pub data: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2012)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cjnpcicjeeb { + #[prost(message, optional, tag = "3")] + pub dejoimafmck: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ojhnhnnepip { + #[prost(message, repeated, tag = "1")] + pub avatar_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "5")] + pub oebibbfhikd: u32, + #[prost(uint32, tag = "10")] + pub glffdomajdd: u32, + #[prost(uint32, tag = "13")] + pub ledgjdcjimk: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27931)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bbhhlcnghco { + #[prost(message, optional, tag = "2")] + pub aebglfmjfhm: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27641)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jnklangghgk { + #[prost(uint32, tag = "12")] + pub ohkidhnabib: u32, + #[prost(bool, tag = "7")] + pub bgaoacgaldg: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26432)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Chajoinpleh { + #[prost(uint32, tag = "2")] + pub mempkcgnnmf: u32, + #[prost(uint32, tag = "8")] + pub nnebhhfhdcc: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3023)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Klbaameglha { + #[prost(uint32, tag = "10")] + pub omgchbachci: u32, + #[prost(message, optional, tag = "13")] + pub bepfmdkmfic: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9729)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hpicjjonljd { + #[prost(int32, tag = "10")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9624)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ofoaamimbho { + #[prost(bool, tag = "3")] + pub npodkpfblpo: bool, + #[prost(bool, tag = "6")] + pub lhhbinhjaoe: bool, + #[prost(uint32, tag = "8")] + pub bimcajgddoi: u32, + #[prost(bool, tag = "15")] + pub miopoohgdpm: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28560)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ginplfinfcp { + #[prost(int32, tag = "10")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29081)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gblnhbfhanf { + #[prost(int32, tag = "14")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kjcljleknek { + #[prost(map = "uint32, uint32", tag = "5")] + pub maijpomopne: ::std::collections::HashMap, + #[prost(uint32, tag = "10")] + pub uid: u32, + #[prost(map = "uint32, uint32", tag = "12")] + pub eagoggjecjc: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jgbbfognlkn { + #[prost(uint32, repeated, tag = "1")] + pub oohggbkfell: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "4")] + pub pgnloogfeke: u32, + #[prost(uint32, tag = "5")] + pub gnegaogjlbd: u32, + #[prost(uint32, tag = "6")] + pub lhlgjeonmdl: u32, + #[prost(uint32, repeated, tag = "10")] + pub hmedfeamnba: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23351)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Depchmjdmei { + #[prost(uint32, tag = "6")] + pub lgooidciaag: u32, + #[prost(int32, tag = "10")] + pub retcode: i32, + #[prost(uint32, tag = "11")] + pub kdknoocoebm: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25170)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jimeehbhghk { + #[prost(uint32, tag = "1")] + pub blbccmphapa: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6990)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ServerDisconnectClientNotify { + #[prost(uint32, tag = "10")] + pub data: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20090)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bnldbgenonp { + #[prost(uint32, tag = "13")] + pub scene_id: u32, + #[prost(uint32, tag = "4")] + pub lbclghbmdaf: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Elebhcpkcmj { + #[prost(message, repeated, tag = "4")] + pub mneogibkoon: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ifmkomlekpf { + #[prost(uint32, tag = "2")] + pub klnoghllfpl: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2875)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mfaaldlndnc { + #[prost(uint64, tag = "4")] + pub gedmdocolfj: u64, + #[prost(bool, tag = "7")] + pub is_add: bool, + #[prost(uint32, tag = "1")] + pub room_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26460)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hgcfljeajie { + #[prost(bool, tag = "2")] + pub bhhcjikkibo: bool, + #[prost(uint32, tag = "14")] + pub draft_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(951)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jcednoegdog { + #[prost(uint32, tag = "8")] + pub pjjaoilbfbn: u32, + #[prost(int32, tag = "14")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7244)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kmpblacdaje { + #[prost(uint32, repeated, tag = "374")] + pub cdoeckccgdp: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "1225")] + pub ability_name: ::core::option::Option, + #[prost(uint32, repeated, tag = "1312")] + pub eahfiofcond: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "2")] + pub ebapjpnlcib: ::core::option::Option, + #[prost(message, optional, tag = "6")] + pub pdfdckhldok: ::core::option::Option, + #[prost(uint32, tag = "3")] + pub owner_entity_id: u32, + #[prost(uint32, tag = "11")] + pub entity_id: u32, + #[prost(int32, tag = "1578")] + pub local_id: i32, + #[prost(uint32, tag = "14")] + pub jbllllojnlp: u32, + #[prost(uint32, tag = "1301")] + pub lkhkmkmkmjc: u32, + #[prost(uint32, tag = "12")] + pub kaioccbnppa: u32, + #[prost(uint32, tag = "5")] + pub prop_owner_entity_id: u32, + #[prost(uint32, tag = "758")] + pub init_pose_id: u32, + #[prost(enumeration = "Igohjibcdfa", tag = "13")] + pub lkidbhiooog: i32, + #[prost(uint32, tag = "4")] + pub ghogbhlmckl: u32, + #[prost(uint32, tag = "1")] + pub jddamhceape: u32, + #[prost(bool, tag = "7")] + pub mbhbbjhmleh: bool, + #[prost(bool, tag = "1188")] + pub nplkhloppjg: bool, + #[prost(bool, tag = "1620")] + pub ahpaefcodfk: bool, + #[prost(bool, tag = "9")] + pub phfepgidogi: bool, + #[prost(uint32, tag = "8")] + pub room_id: u32, + #[prost(uint32, tag = "15")] + pub config_id: u32, + #[prost(uint64, tag = "10")] + pub guid: u64, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1092)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oagcnkgfdhn { + #[prost(uint32, repeated, tag = "8")] + pub dlfdfcfeifb: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gcmmiknlcjb { + #[prost(message, repeated, tag = "15")] + pub cclgckhpcjm: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27576)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hklbheaioal { + #[prost(uint32, tag = "5")] + pub gghkdjlgfpb: u32, + #[prost(int32, tag = "6")] + pub retcode: i32, + #[prost(uint32, tag = "7")] + pub ffhembokbef: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20634)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dpgpcdcalpc { + #[prost(float, tag = "1")] + pub gnjcidhobia: f32, + #[prost(uint32, tag = "2")] + pub aaaohhgbhab: u32, + #[prost(uint32, tag = "13")] + pub entity_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8541)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Clfgclinhfc { + #[prost(uint32, tag = "15")] + pub bpflddihccg: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1970)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bmboaldgfjf { + #[prost(message, repeated, tag = "2")] + pub bnmfbfkglbe: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "8")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(448)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nmaapdnkgpj { + #[prost(int32, tag = "1")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ccgfkeglihc { + #[prost(string, tag = "4")] + pub ppcokjjocoi: ::prost::alloc::string::String, + #[prost(uint32, tag = "6")] + pub dppfeemfnmn: u32, + #[prost(uint32, tag = "9")] + pub uid: u32, + #[prost(fixed32, tag = "13")] + pub ghdjjmikfpi: u32, + #[prost(message, optional, tag = "15")] + pub blfkojlccoo: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1852)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oegndfenmkp { + #[prost(message, repeated, tag = "14")] + pub acemalekhld: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "5")] + pub lbclghbmdaf: u32, + #[prost(uint32, tag = "8")] + pub scene_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29289)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Flekobdjmfc { + #[prost(int32, tag = "13")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20015)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jklpdbaanpe { + #[prost(uint32, tag = "7")] + pub key: u32, + #[prost(uint32, tag = "6")] + pub gnjcidhobia: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29203)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lioomdeongk { + #[prost(uint32, tag = "7")] + pub kenikecfflm: u32, + #[prost(int32, tag = "13")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2590)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SetUpAvatarTeamRsp { + #[prost(int32, tag = "3")] + pub retcode: i32, + #[prost(uint32, tag = "4")] + pub team_id: u32, + #[prost(uint64, tag = "7")] + pub cur_avatar_guid: u64, + #[prost(uint64, repeated, tag = "11")] + pub avatar_team_guid_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fkhbfjiembg { + #[prost(uint32, tag = "12")] + pub fhhjghkngfg: u32, + #[prost(message, repeated, tag = "14")] + pub mllipapceaf: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lfdhmkdcobl { + #[prost(message, optional, tag = "3")] + pub gcobkcepimj: ::core::option::Option, + #[prost(message, repeated, tag = "4")] + pub djhnhpipfba: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "7")] + pub buff_id_list: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "13")] + pub pakcabfdked: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ckbocoihknc { + #[prost(uint32, tag = "3")] + pub oboopjlpdni: u32, + #[prost(enumeration = "Bdkppllibff", tag = "8")] + pub state: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25277)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ebepobekkdl { + #[prost(uint32, tag = "14")] + pub gknplcafbmb: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28529)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cekhmbpemda { + #[prost(uint32, tag = "9")] + pub pjjaoilbfbn: u32, + #[prost(bool, tag = "10")] + pub lejlmjjdedc: bool, + #[prost(int32, tag = "12")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kmecifnikhf { + #[prost(uint32, tag = "1")] + pub oboopjlpdni: u32, + #[prost(uint32, tag = "7")] + pub npfipfpfini: u32, + #[prost(bool, tag = "9")] + pub galmkiodanm: bool, + #[prost(uint32, repeated, tag = "10")] + pub lejcfafgmbh: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "11")] + pub hiplmeoicbg: u32, + #[prost(enumeration = "Fblkbbkfenl", tag = "12")] + pub bdngjlaacgl: i32, + #[prost(bool, tag = "13")] + pub bkilicajhpj: bool, + #[prost(uint32, repeated, tag = "15")] + pub aipamkaahej: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gmfekgahdgc { + #[prost(bool, tag = "14")] + pub fpgmpdhhfbe: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7005)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jfpkjcooddh { + #[prost(message, repeated, tag = "7")] + pub item_list: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "11")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7921)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nbgkjeckalp { + #[prost(bool, tag = "2")] + pub bhffjlaachb: bool, + #[prost(bool, tag = "6")] + pub pkikljpbfld: bool, + #[prost(uint32, tag = "9")] + pub iidhpkefhpm: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3661)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Okafjfpcine { + #[prost(message, repeated, tag = "8")] + pub fhancekjeoi: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "12")] + pub fkhohkelkoe: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jmfilhpjlki { + #[prost(bool, tag = "6")] + pub dklgbfpccen: bool, + #[prost(uint32, tag = "8")] + pub fndeickokmo: u32, + #[prost(uint32, tag = "15")] + pub config_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23101)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fmfbblggdeb { + #[prost(message, optional, tag = "11")] + pub abpjibdjipa: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1711)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Klhpnkepaoa { + #[prost(uint64, tag = "4")] + pub avatar_guid: u64, + #[prost(uint32, tag = "7")] + pub skill_depot_id: u32, + #[prost(uint32, tag = "9")] + pub jgihcibojpn: u32, + #[prost(uint32, tag = "10")] + pub jmlppgefbpf: u32, + #[prost(uint32, tag = "11")] + pub nfjohaldgdn: u32, + #[prost(uint32, tag = "14")] + pub entity_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23976)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lfehppbnick {} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ppgpjddiehm { + #[prost(uint32, repeated, tag = "4")] + pub ogjodgflein: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "5")] + pub kfapijcgdbc: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7004)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SetPlayerBornDataRsp { + #[prost(int32, tag = "12")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27445)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nmnemmdboib { + #[prost(bool, tag = "7")] + pub ebhfibehjge: bool, + #[prost(uint32, tag = "12")] + pub jchhllebmja: u32, + #[prost(uint32, tag = "3")] + pub cmdnkflfhia: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7110)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hmpdfjjmoco {} +#[derive(proto_gen::CmdID)] +#[cmdid(26671)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pfjmgjficej { + #[prost(int32, tag = "5")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jmennamcmhc { + #[prost(message, optional, tag = "6")] + pub ohlahiokhod: ::core::option::Option, + #[prost(message, optional, tag = "12")] + pub nbeolenhmfm: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9379)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dbmblelgdjk { + #[prost(uint32, tag = "8")] + pub entity_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29128)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bmajaffjkfj { + #[prost(message, repeated, tag = "9")] + pub jfnnnipocbj: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9542)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ocjdmgldeik { + #[prost(int32, tag = "14")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22714)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kbeidogfbln { + #[prost(uint32, tag = "7")] + pub mgcmnplnjkl: u32, + #[prost(int32, tag = "9")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20130)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kgokcfgepnj { + #[prost(message, optional, tag = "5")] + pub agllfjbkmjk: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Njhegccdbbc { + #[prost(uint32, tag = "2")] + pub pefplnjheli: u32, + #[prost(uint32, tag = "5")] + pub dmnldppgokg: u32, + #[prost(uint32, repeated, tag = "6")] + pub knbifccible: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "8")] + pub dggckmikbmo: bool, + #[prost(uint32, tag = "11")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1547)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bjpjeaobcpn { + #[prost(uint64, tag = "10")] + pub baengfiafmf: u64, + #[prost(uint64, tag = "7")] + pub avatar_guid: u64, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22970)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nbhalafbcci { + #[prost(uint32, tag = "6")] + pub ejgkapalfjb: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9597)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nkgjplklbbi { + #[prost(uint32, repeated, tag = "13")] + pub belmemdfepn: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "7")] + pub pkmjlonieco: u32, + #[prost(uint32, tag = "5")] + pub lpganhofjoa: u32, + #[prost(uint32, tag = "1")] + pub oiphhklaibf: u32, + #[prost(uint32, tag = "10")] + pub ploahdfgdfe: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(732)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nkampdopdib { + #[prost(uint32, tag = "13")] + pub aaecbhcckbo: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(384)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bhpbpgfedcb { + #[prost(message, repeated, tag = "4")] + pub pilhdlllcai: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4303)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hpkkiponhck { + #[prost(uint32, repeated, tag = "7")] + pub mdcdgkclnfl: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "14")] + pub pfokfhlokej: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2008)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aieacakimgm { + #[prost(int32, tag = "7")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22447)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nhilepniaoo {} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cjnkamcmnpf { + #[prost(uint32, tag = "5")] + pub peblohahpmm: u32, + #[prost(uint32, tag = "6")] + pub apnlofpnahn: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fkobcnpgkbn { + #[prost(message, optional, tag = "6")] + pub ebndeihoeom: ::core::option::Option, + #[prost(uint32, tag = "11")] + pub ehejdjoeind: u32, + #[prost(uint32, tag = "14")] + pub eobkdkgocgo: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28290)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Benikinjdjc { + #[prost(uint32, repeated, tag = "2")] + pub geeddoemcfo: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct RegionInfo { + #[prost(string, tag = "1")] + pub gateserver_ip: ::prost::alloc::string::String, + #[prost(uint32, tag = "2")] + pub gateserver_port: u32, + #[prost(string, tag = "3")] + pub pay_callback_url: ::prost::alloc::string::String, + #[prost(string, tag = "7")] + pub area_type: ::prost::alloc::string::String, + #[prost(string, tag = "8")] + pub resource_url: ::prost::alloc::string::String, + #[prost(string, tag = "9")] + pub data_url: ::prost::alloc::string::String, + #[prost(string, tag = "10")] + pub feedback_url: ::prost::alloc::string::String, + #[prost(string, tag = "11")] + pub bulletin_url: ::prost::alloc::string::String, + #[prost(string, tag = "12")] + pub resource_url_bak: ::prost::alloc::string::String, + #[prost(string, tag = "13")] + pub data_url_bak: ::prost::alloc::string::String, + #[prost(uint32, tag = "14")] + pub client_data_version: u32, + #[prost(string, tag = "16")] + pub handbook_url: ::prost::alloc::string::String, + #[prost(uint32, tag = "18")] + pub client_silence_data_version: u32, + #[prost(string, tag = "19")] + pub client_data_md5: ::prost::alloc::string::String, + #[prost(string, tag = "20")] + pub client_silence_data_md5: ::prost::alloc::string::String, + #[prost(message, optional, tag = "22")] + pub res_version_config: ::core::option::Option, + #[prost(bytes = "vec", tag = "23")] + pub secret_key: ::prost::alloc::vec::Vec, + #[prost(string, tag = "24")] + pub official_community_url: ::prost::alloc::string::String, + #[prost(string, tag = "26")] + pub client_version_suffix: ::prost::alloc::string::String, + #[prost(string, tag = "27")] + pub client_silence_version_suffix: ::prost::alloc::string::String, + #[prost(bool, tag = "28")] + pub use_gateserver_domain_name: bool, + #[prost(string, tag = "29")] + pub gateserver_domain_name: ::prost::alloc::string::String, + #[prost(string, tag = "30")] + pub user_center_url: ::prost::alloc::string::String, + #[prost(string, tag = "31")] + pub account_bind_url: ::prost::alloc::string::String, + #[prost(string, tag = "32")] + pub cdkey_url: ::prost::alloc::string::String, + #[prost(string, tag = "33")] + pub privacy_policy_url: ::prost::alloc::string::String, + #[prost(string, tag = "34")] + pub next_resource_url: ::prost::alloc::string::String, + #[prost(message, optional, tag = "35")] + pub next_res_version_config: ::core::option::Option, + #[prost(string, tag = "36")] + pub game_biz: ::prost::alloc::string::String, + #[prost(string, tag = "37")] + pub gateserver_ipv6_ip: ::prost::alloc::string::String, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cnifdnmikif { + #[prost(string, tag = "1")] + pub mgdjmemfbcd: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub jfambdkkdhe: ::prost::alloc::string::String, + #[prost(string, tag = "4")] + pub bdofcococph: ::prost::alloc::string::String, + #[prost(string, tag = "11")] + pub lgmpogacdha: ::prost::alloc::string::String, + #[prost(string, tag = "12")] + pub jlkfdddpphd: ::prost::alloc::string::String, + #[prost(string, tag = "13")] + pub kibfinhdcko: ::prost::alloc::string::String, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29396)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jblomepmfin { + #[prost(uint32, tag = "3")] + pub phmkpnkmooe: u32, + #[prost(int32, tag = "8")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6180)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mnnnmhaacok { + #[prost(message, optional, tag = "2")] + pub jjeepbcifcp: ::core::option::Option, + #[prost(int32, repeated, tag = "5")] + pub alkgminnaml: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "13")] + pub ffdebpeddmd: ::core::option::Option, + #[prost(message, repeated, tag = "6")] + pub cachpghfffc: ::prost::alloc::vec::Vec, + #[prost(enumeration = "Afbfhonpigc", tag = "8")] + pub ipnbijodglg: i32, + #[prost(int32, tag = "15")] + pub jjfpfmpjema: i32, + #[prost(enumeration = "Icbodpognhd", tag = "10")] + pub jamcgnfbiba: i32, + #[prost(uint32, tag = "9")] + pub scene_id: u32, + #[prost(int32, tag = "1")] + pub kfmjnmglkee: i32, + #[prost(enumeration = "Lppfedcjjap", tag = "12")] + pub chelnbllfkb: i32, + #[prost(bool, tag = "3")] + pub bkiknhbodkb: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25663)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gbaiaflkhaj { + #[prost(uint32, tag = "3")] + pub onabdgfcpih: u32, + #[prost(bool, tag = "12")] + pub hkdhoncfgoj: bool, + #[prost(enumeration = "Hibhhjenmpp", tag = "9")] + pub pipmddflkmo: i32, + #[prost(uint32, tag = "4")] + pub pjjaoilbfbn: u32, + #[prost(oneof = "gbaiaflkhaj::Detail", tags = "2043, 1860, 1989, 784, 1307")] + pub detail: ::core::option::Option, +} +/// Nested message and enum types in `GBAIAFLKHAJ`. +pub mod gbaiaflkhaj { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Detail { + #[prost(message, tag = "2043")] + BirdBallClientInfo(super::Iddikhfdhog), + #[prost(message, tag = "1860")] + GreatFestivalV2SheetRestoreInfo(super::Kcagnbmdjmh), + #[prost(message, tag = "1989")] + CookGameInfo(super::Gkomdabhopi), + #[prost(message, tag = "784")] + FairyTalesFlyppyHatInfo(super::Ppcnlmmomoe), + #[prost(message, tag = "1307")] + CatcafeInfo(super::Mhobdfhbloi), + } +} +#[derive(proto_gen::CmdID)] +#[cmdid(4799)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jaopbagebbf { + #[prost(uint32, tag = "9")] + pub bknplfikkfg: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hackpihcioi { + #[prost(uint64, tag = "1")] + pub avatar_guid: u64, + #[prost(bool, tag = "3")] + pub jkejaoohbjb: bool, + #[prost(bool, tag = "11")] + pub dohhenfngpe: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2751)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dadllpgicpa { + #[prost(int32, tag = "1")] + pub retcode: i32, + #[prost(uint32, tag = "3")] + pub oehkjpbepkb: u32, + #[prost(uint32, repeated, tag = "7")] + pub cdgfhbkoogn: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "10")] + pub iehlhaogkpj: u32, + #[prost(bool, tag = "11")] + pub djoclokdkae: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mknkblppjmi { + #[prost(bool, tag = "1")] + pub jhfmeficaal: bool, + #[prost(uint32, tag = "7")] + pub peajinifghm: u32, + #[prost(uint32, tag = "10")] + pub oboopjlpdni: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20108)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Abefjahnfjm { + #[prost(message, repeated, tag = "5")] + pub bnlkkidlbme: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "11")] + pub pjjaoilbfbn: u32, + #[prost(bool, tag = "13")] + pub mjaoipldjmc: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4723)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kjpkopiiggl { + #[prost(uint32, tag = "1")] + pub kepfcpaljgn: u32, + #[prost(uint32, tag = "3")] + pub entity_id: u32, + #[prost(enumeration = "Ohgcdmmlnok", tag = "4")] + pub bcdelafdiog: i32, + #[prost(int32, tag = "5")] + pub blhlceeohhd: i32, + #[prost(message, optional, tag = "6")] + pub emignngobod: ::core::option::Option, + #[prost(message, optional, tag = "8")] + pub ldbdifabgce: ::core::option::Option, + #[prost(uint32, tag = "9")] + pub bokfanfefne: u32, + #[prost(enumeration = "Igohjibcdfa", tag = "11")] + pub lkidbhiooog: i32, + #[prost(uint32, tag = "14")] + pub cojbpkdfnch: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pndpbppmkid { + #[prost(uint32, repeated, tag = "2")] + pub fkgbkfahefk: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "4")] + pub level: u32, + #[prost(bool, tag = "5")] + pub dfngomailbc: bool, + #[prost(bool, tag = "6")] + pub mibjmkdnlfh: bool, + #[prost(uint32, tag = "7")] + pub lhdahdneppl: u32, + #[prost(map = "uint32, uint32", tag = "10")] + pub nkdlecndepa: ::std::collections::HashMap, + #[prost(oneof = "pndpbppmkid::Detail", tags = "1515")] + pub detail: ::core::option::Option, +} +/// Nested message and enum types in `PNDPBPPMKID`. +pub mod pndpbppmkid { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Detail { + #[prost(message, tag = "1515")] + OfferingPariDetailData(super::Aekanihggbl), + } +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hikiafmnklo { + #[prost(message, optional, tag = "1")] + pub blfkojlccoo: ::core::option::Option, + #[prost(bool, tag = "3")] + pub gfpgmmefpgb: bool, + #[prost(uint32, tag = "5")] + pub jdhfhcfeonf: u32, + #[prost(uint32, tag = "6")] + pub okicoglejec: u32, + #[prost(string, tag = "9")] + pub ocmpadiifcd: ::prost::alloc::string::String, + #[prost(string, tag = "10")] + pub pbigganlbdh: ::prost::alloc::string::String, + #[prost(string, tag = "11")] + pub bkdilgijpeg: ::prost::alloc::string::String, + #[prost(uint32, tag = "13")] + pub avatar_id: u32, + #[prost(uint32, tag = "15")] + pub uid: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Babeofpjijn { + #[prost(uint32, tag = "2")] + pub uid: u32, + #[prost(uint32, tag = "4")] + pub costume_id: u32, + #[prost(uint32, tag = "7")] + pub avatar_id: u32, + #[prost(string, tag = "12")] + pub bkdilgijpeg: ::prost::alloc::string::String, + #[prost(bool, tag = "14")] + pub hjfopbhakde: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jakkockddop { + #[prost(uint32, tag = "5")] + pub pfbhahgjgfh: u32, + #[prost(uint32, repeated, tag = "7")] + pub neebbadgimn: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "8")] + pub pegadobnfje: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8688)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fjblhmbafid { + #[prost(uint32, tag = "11")] + pub scene_id: u32, + #[prost(int32, tag = "12")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Idalmaljcao {} +#[derive(proto_gen::CmdID)] +#[cmdid(4697)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Phmbdnhhebi {} +#[derive(proto_gen::CmdID)] +#[cmdid(28995)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gdbffadhfae { + #[prost(message, repeated, tag = "1")] + pub knbifccible: ::prost::alloc::vec::Vec, + #[prost(enumeration = "Paahdfjmicd", tag = "10")] + pub reason: i32, + #[prost(bool, tag = "11")] + pub dggckmikbmo: bool, + #[prost(uint32, tag = "12")] + pub lappelekahp: u32, + #[prost(message, repeated, tag = "14")] + pub filhggiljln: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20398)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ooajpkpnekc { + #[prost(message, optional, tag = "14")] + pub ckibhdfljfg: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Onjiengbdip { + #[prost(bool, tag = "5")] + pub nfolocgbffg: bool, + #[prost(uint32, tag = "8")] + pub comefdoonhd: u32, + #[prost(enumeration = "Jdfkbdohhni", tag = "11")] + pub state: i32, + #[prost(uint32, tag = "13")] + pub geihmkhcije: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hdpinkbncbo { + #[prost(bool, tag = "1")] + pub dpiijegocoi: bool, + #[prost(uint32, tag = "7")] + pub skill_id: u32, + #[prost(bool, tag = "11")] + pub jkpfoepekil: bool, + #[prost(bool, tag = "12")] + pub ininkkmfhmf: bool, + #[prost(bool, tag = "15")] + pub ognmmkkcadi: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6223)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lgpijfablgk { + #[prost(int32, tag = "1")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29861)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iadacdinfha {} +#[derive(proto_gen::CmdID)] +#[cmdid(29317)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nofpjbmcbbi { + #[prost(uint32, repeated, tag = "13")] + pub lfbghoahkfn: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29135)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aldlgpdfcfh { + #[prost(uint64, tag = "14")] + pub gedmdocolfj: u64, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28753)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eaojbocppdd { + #[prost(uint32, tag = "6")] + pub ddkjchigmek: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3651)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cabnmhdheng { + #[prost(int32, tag = "2")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Olbakomobei { + #[prost(uint32, tag = "2")] + pub bhkedlmdgpm: u32, + #[prost(enumeration = "Paahdfjmicd", tag = "3")] + pub reason: i32, + #[prost(uint32, tag = "5")] + pub dekhbeooien: u32, + #[prost(uint32, tag = "13")] + pub lmjnokajeki: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26356)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pjghbgiimdd { + #[prost(uint32, repeated, tag = "13")] + pub ebeecdalmkm: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8663)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dmonfgpdgmh { + #[prost(uint32, tag = "7")] + pub gghkdjlgfpb: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29493)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kfenigbpgam { + #[prost(int32, tag = "4")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25135)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bbkihhhkmbg { + #[prost(bool, tag = "1")] + pub cjmkaiplkpp: bool, + #[prost(uint32, tag = "10")] + pub gadget_id: u32, + #[prost(enumeration = "Aefkhogcdoe", tag = "2")] + pub eaggojpmmbp: i32, + #[prost(uint32, tag = "5")] + pub gbcebgkbjdm: u32, + #[prost(uint32, tag = "3")] + pub jngedmophfe: u32, + #[prost(uint32, tag = "4")] + pub chddofmlblm: u32, + #[prost(enumeration = "Hhnoenmdggg", tag = "14")] + pub kfmglfjdodo: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7434)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pibalnkgbcn {} +#[derive(proto_gen::CmdID)] +#[cmdid(3400)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Almajjbdnen { + #[prost(uint32, tag = "2")] + pub ccpigccdboi: u32, + #[prost(uint32, tag = "13")] + pub khhibkpbkpn: u32, + #[prost(uint32, tag = "15")] + pub nlanefnjdmn: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mllbffmeemp { + #[prost(uint32, tag = "2")] + pub nldmdecjcmg: u32, + #[prost(float, tag = "7")] + pub fgidaldomaf: f32, + #[prost(uint32, tag = "12")] + pub gcbhmfenena: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3057)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mbhfpalihak { + #[prost(uint32, tag = "4")] + pub target_uid: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7742)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jfhdboepbmn { + #[prost(message, repeated, tag = "9")] + pub bihiklaiolg: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eiblpcaajkb { + #[prost(uint32, tag = "1")] + pub uid: u32, + #[prost(uint32, tag = "9")] + pub avatar_id: u32, + #[prost(uint32, tag = "12")] + pub bppjaboncjl: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26939)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hkbnodnakip { + #[prost(int32, tag = "7")] + pub retcode: i32, + #[prost(message, optional, tag = "9")] + pub fflgcbbliao: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5327)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Llcoobjbndf {} +#[derive(proto_gen::CmdID)] +#[cmdid(20435)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Olkkljfihbh { + #[prost(uint32, tag = "8")] + pub khhibkpbkpn: u32, + #[prost(int32, tag = "13")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8647)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mflijjicknj { + #[prost(uint32, repeated, tag = "3")] + pub ghkkndmnogo: ::prost::alloc::vec::Vec, + #[prost(map = "uint32, message", tag = "4")] + pub oegmmdljkdm: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cmgekoamleo { + #[prost(message, repeated, tag = "11")] + pub pigkifkkjfe: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "14")] + pub donnenpiddb: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28480)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gimoifamicm { + #[prost(enumeration = "Eclbipadhbl", tag = "2")] + pub ffmcekmjclc: i32, + #[prost(string, tag = "10")] + pub mbjkkmlplbc: ::prost::alloc::string::String, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23637)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kfheeegcppa { + #[prost(uint32, tag = "1")] + pub obdconjmpfn: u32, + #[prost(bool, tag = "6")] + pub jhfmeficaal: bool, + #[prost(bool, tag = "7")] + pub dggckmikbmo: bool, + #[prost(uint32, tag = "11")] + pub pjjaoilbfbn: u32, + #[prost(int32, tag = "12")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bhpcnemciia { + #[prost(map = "uint32, uint32", tag = "2")] + pub hipkgdhphla: ::std::collections::HashMap, + #[prost(map = "uint32, uint32", tag = "12")] + pub bijhlibinod: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[cmdid(755)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Annbjgndcjp { + #[prost(int32, tag = "6")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29936)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jhlkobhdmcp { + #[prost(int32, tag = "5")] + pub retcode: i32, + #[prost(uint32, tag = "14")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23824)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jbbehaolmmc { + #[prost(uint64, tag = "5")] + pub guid: u64, + #[prost(bool, tag = "10")] + pub dhaomgmmdpd: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8214)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jomojbpdahe { + #[prost(string, tag = "14")] + pub epfpbkmomca: ::prost::alloc::string::String, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26795)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Imdlpjkaigl { + #[prost(uint32, tag = "1")] + pub ndehkhcalmf: u32, + #[prost(int32, tag = "8")] + pub retcode: i32, + #[prost(uint32, tag = "11")] + pub param: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jfmhncmkoaf { + #[prost(message, repeated, tag = "3")] + pub kfapijcgdbc: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "4")] + pub ecihdijcled: bool, + #[prost(uint32, tag = "11")] + pub jbplgbkldlp: u32, + #[prost(uint32, tag = "13")] + pub ppbamnfheje: u32, + #[prost(uint32, tag = "14")] + pub mempkcgnnmf: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Plhljcaljhn { + #[prost(message, repeated, tag = "1")] + pub lklifpnkclf: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "3")] + pub pjjaoilbfbn: u32, + #[prost(bool, tag = "5")] + pub jhfmeficaal: bool, + #[prost(bool, tag = "15")] + pub ecihdijcled: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(552)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Clcndfccbeg { + #[prost(int32, tag = "14")] + pub retcode: i32, + #[prost(uint32, tag = "15")] + pub jjpcpmfdneh: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7430)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Koljgbkcdfe { + #[prost(uint32, tag = "6")] + pub omgchbachci: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nheipeoofhn { + #[prost(uint32, tag = "3")] + pub kbjnlbkmedp: u32, + #[prost(uint32, tag = "6")] + pub kdefnpgadfb: u32, + #[prost(message, repeated, tag = "8")] + pub iecgngfmoip: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "9")] + pub kpbecglgibm: ::core::option::Option, + #[prost(uint32, tag = "11")] + pub scene_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ncgjebljecf { + #[prost(message, repeated, tag = "3")] + pub cbenkjeocil: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28543)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mkemmlahhek { + #[prost(int32, tag = "2")] + pub retcode: i32, + #[prost(uint32, tag = "10")] + pub target_uid: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3432)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hdcddploklc { + #[prost(uint64, tag = "11")] + pub avatar_guid: u64, + #[prost(uint32, tag = "7")] + pub item_id: u32, + #[prost(uint32, tag = "10")] + pub count: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8089)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ihdldcfpkaa { + #[prost(bool, tag = "3")] + pub mbfllhnligd: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24558)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oggmapcgjpg { + #[prost(int32, tag = "14")] + pub retcode: i32, + #[prost(message, optional, tag = "15")] + pub oomnoofgino: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4537)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gebofmoadnc { + #[prost(message, optional, tag = "1")] + pub nlkgmjnajhg: ::core::option::Option, + #[prost(uint32, repeated, tag = "9")] + pub apdfabcoghk: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "11")] + pub retcode: i32, + #[prost(uint32, repeated, tag = "14")] + pub keebgpjmcmb: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hofgfncfkbc { + #[prost(uint32, tag = "3")] + pub gbaglgmgjhj: u32, + #[prost(uint32, tag = "4")] + pub epcpnhjnkbn: u32, + #[prost(uint32, tag = "7")] + pub acjpdgmfgnl: u32, + #[prost(uint32, tag = "8")] + pub peagfmgmeah: u32, + #[prost(uint32, tag = "10")] + pub omgchbachci: u32, + #[prost(enumeration = "Paahdfjmicd", tag = "11")] + pub reason: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27725)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ekncdhckigd { + #[prost(uint32, tag = "1")] + pub ooflahmeleo: u32, + #[prost(message, repeated, tag = "11")] + pub kjfmdlmnfam: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21615)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iocgpkahppd { + #[prost(int32, tag = "3")] + pub retcode: i32, + #[prost(uint32, tag = "4")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1698)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cnnmdljjofa { + #[prost(message, optional, tag = "1")] + pub glmklipeldi: ::core::option::Option, + #[prost(int32, tag = "14")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(959)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Defiogbongl { + #[prost(int32, tag = "7")] + pub retcode: i32, + #[prost(uint32, tag = "10")] + pub onabdgfcpih: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1286)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mfkcpfjbiid { + #[prost(uint32, tag = "6")] + pub uid: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct AbilitySyncStateInfo { + #[prost(bool, tag = "1")] + pub is_inited: bool, + #[prost(message, repeated, tag = "2")] + pub dynamic_value_map: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "3")] + pub applied_abilities: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "4")] + pub applied_modifiers: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "5")] + pub mixin_recover_infos: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "6")] + pub sgv_dynamic_value_map: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9894)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ioladinjkka { + #[prost(message, repeated, tag = "6")] + pub item_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "4")] + pub onabdgfcpih: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23567)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Khfaimhknnb { + #[prost(enumeration = "Jlopibknegm", tag = "1")] + pub dmnldppgokg: i32, + #[prost(uint32, tag = "15")] + pub kfpegnaadlo: u32, + #[prost(uint32, tag = "14")] + pub gaplfmmgbfa: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4906)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Domjedhpfai { + #[prost(uint32, tag = "3")] + pub gghkdjlgfpb: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22405)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mnempfbeajo { + #[prost(uint32, tag = "7")] + pub ddnpgfanekk: u32, + #[prost(message, repeated, tag = "10")] + pub nicodpphlgi: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "12")] + pub fhdnmihoabj: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "13")] + pub acddkljhcia: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aonnihmpech { + #[prost(uint32, tag = "4")] + pub count: u32, + #[prost(uint32, tag = "7")] + pub hfpboeeopbf: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8774)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lohbgcclmho { + #[prost(int32, tag = "15")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5816)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pmgolohmbji { + #[prost(enumeration = "Jbacjjpknga", tag = "10")] + pub reason: i32, + #[prost(string, tag = "15")] + pub bkdilgijpeg: ::prost::alloc::string::String, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gcmpeogagca { + #[prost(bool, tag = "10")] + pub oejhkfpoege: bool, + #[prost(uint32, tag = "12")] + pub cknbekpnhli: u32, + #[prost(uint32, tag = "15")] + pub amhhcbfflpl: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22539)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Omnejighkah { + #[prost(bool, tag = "6")] + pub ejaiaekgmbc: bool, + #[prost(message, optional, tag = "14")] + pub nppeicdfdpk: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ekiahognhgg { + #[prost(enumeration = "Eegmnipnkmj", tag = "5")] + pub reason: i32, + #[prost(uint32, tag = "9")] + pub fbpgimlmdnj: u32, + #[prost(uint32, repeated, tag = "15")] + pub lgbipehfabc: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26232)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pdonjabkcec { + #[prost(int32, tag = "7")] + pub retcode: i32, + #[prost(uint32, tag = "10")] + pub phmkpnkmooe: u32, + #[prost(uint32, tag = "11")] + pub lgooidciaag: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27297)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cpkhcmgndpi {} +#[derive(proto_gen::CmdID)] +#[cmdid(4309)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gcmbbieohjp { + #[prost(int32, tag = "9")] + pub retcode: i32, + #[prost(uint32, tag = "14")] + pub omgchbachci: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29686)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dbaokamjhpd { + #[prost(message, optional, tag = "1")] + pub bhjhagccpib: ::core::option::Option, + #[prost(bool, tag = "9")] + pub ekjmdindggg: bool, + #[prost(bool, tag = "13")] + pub is_reconnect: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dkkanfffpkd { + #[prost(uint32, tag = "3")] + pub mempkcgnnmf: u32, + #[prost(oneof = "dkkanfffpkd::Gcbckcbnpmn", tags = "4, 5, 12")] + pub gcbckcbnpmn: ::core::option::Option, +} +/// Nested message and enum types in `DKKANFFFPKD`. +pub mod dkkanfffpkd { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Gcbckcbnpmn { + #[prost(message, tag = "4")] + SecondStageInfo(super::Mkjipiajnmf), + #[prost(message, tag = "5")] + ThirdStageInfo(super::Bjeglidfjne), + #[prost(message, tag = "12")] + FirstStageInfo(super::Kgmkmgmicfj), + } +} +#[derive(proto_gen::CmdID)] +#[cmdid(25353)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Loglbjpomfj { + #[prost(int32, tag = "11")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20802)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jilkgbccnab { + #[prost(uint32, tag = "2")] + pub gaplfmmgbfa: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9126)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aaldgjpngco { + #[prost(string, tag = "6")] + pub kadfmamhgbg: ::prost::alloc::string::String, + #[prost(uint32, tag = "8")] + pub item_id: u32, + #[prost(message, repeated, tag = "9")] + pub neclanajkjj: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21326)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mkcgooakipn { + #[prost(int32, tag = "13")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3510)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ahcgdhdmpla { + #[prost(int32, tag = "1")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7280)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iclglbehdng { + #[prost(uint32, repeated, tag = "4")] + pub pnomgdmcpjh: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "6")] + pub oboopjlpdni: u32, + #[prost(uint32, tag = "11")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20065)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jmdnljpkdhe { + #[prost(message, repeated, tag = "5")] + pub bcmlddcnadf: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "1")] + pub fhhjghkngfg: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1360)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lfdffnemaed { + #[prost(uint32, repeated, tag = "7")] + pub hljohdkcbjm: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1302)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dgajjpbpfkc { + #[prost(message, repeated, tag = "1")] + pub gbhoolgcene: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "10")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5458)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ameceffdoda { + #[prost(uint32, tag = "4")] + pub jlmkcinpcgf: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28955)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lmecaahdiho { + #[prost(uint32, tag = "2")] + pub ckbciahglmi: u32, + #[prost(uint32, tag = "7")] + pub gaplfmmgbfa: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29747)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hjielohbfpm { + #[prost(uint32, repeated, tag = "14")] + pub jabmphlokni: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8457)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dlifcllhkij { + #[prost(uint64, repeated, tag = "9")] + pub hhbnnbdgfim: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "2")] + pub kfpegnaadlo: u32, + #[prost(uint32, tag = "13")] + pub gaplfmmgbfa: u32, + #[prost(uint64, tag = "14")] + pub cur_avatar_guid: u64, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22909)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iohbpdcincb { + #[prost(string, tag = "3")] + pub oiekbajlmoo: ::prost::alloc::string::String, + #[prost(string, tag = "11")] + pub gdgefdbjffd: ::prost::alloc::string::String, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22763)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Opjjabniggh { + #[prost(uint32, tag = "1")] + pub omgchbachci: u32, + #[prost(message, optional, tag = "8")] + pub bepfmdkmfic: ::core::option::Option, + #[prost(uint32, tag = "14")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Abegkkekjmi { + #[prost(uint32, tag = "2")] + pub lnbbmiahhnd: u32, + #[prost(uint32, tag = "5")] + pub fenjhmlgkie: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(558)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pkbkbpmlcdm { + #[prost(uint32, tag = "9")] + pub ocinfhojcea: u32, + #[prost(message, optional, tag = "15")] + pub ilnbhpkjkmg: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22946)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iekmnkbhpfa { + #[prost(bool, tag = "4")] + pub fofbkdlgime: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dappcggbonm { + #[prost(enumeration = "Lekkkbafdam", tag = "1")] + pub lmgnncgppcg: i32, + #[prost(uint32, repeated, tag = "2")] + pub dnijppkbcbd: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "3")] + pub bbcmbaoakfi: u32, + #[prost(uint32, tag = "4")] + pub jidoclgijbp: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6663)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Poheegcndke { + #[prost(int32, tag = "10")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27832)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fjdeeciglpp { + #[prost(message, optional, tag = "2")] + pub eaihkeigiio: ::core::option::Option, + #[prost(uint32, tag = "7")] + pub entity_id: u32, + #[prost(enumeration = "Igohjibcdfa", tag = "11")] + pub lkidbhiooog: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Meigmjnljjf { + #[prost(bool, tag = "1")] + pub aiopioomehb: bool, + #[prost(uint32, tag = "5")] + pub pplchpohjal: u32, + #[prost(enumeration = "Ibfpdnnekli", tag = "6")] + pub lmgnncgppcg: i32, + #[prost(uint32, tag = "7")] + pub icblkpkanmk: u32, + #[prost(uint32, tag = "8")] + pub affklogicmo: u32, + #[prost(uint32, tag = "9")] + pub boadnakmfif: u32, + #[prost(map = "uint32, uint32", tag = "10")] + pub hoeofipcgbg: ::std::collections::HashMap, + #[prost(uint32, tag = "11")] + pub himacdielmk: u32, + #[prost(bool, tag = "12")] + pub pmgbpkdgjok: bool, + #[prost(uint32, tag = "13")] + pub llpnnpkkchc: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4843)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pbjplekogkl { + #[prost(int32, tag = "14")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27329)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jhmfbndllmm { + #[prost(message, repeated, tag = "2")] + pub fpdbhhdageb: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "4")] + pub hfjpmhfffjc: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "5")] + pub retcode: i32, + #[prost(uint32, repeated, tag = "13")] + pub gaahojippjo: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hjhjfeiojmh { + #[prost(message, repeated, tag = "1")] + pub ningbfipjpd: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "3")] + pub jpanpdjfhjk: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "5")] + pub mbkkphciiai: ::core::option::Option, + #[prost(uint32, tag = "6")] + pub igkjoombffm: u32, + #[prost(uint32, repeated, tag = "7")] + pub dhnaoljdkmd: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "8")] + pub ampcnpfpbel: u32, + #[prost(uint32, tag = "9")] + pub hbkdflgipmg: u32, + #[prost(uint32, repeated, tag = "10")] + pub jkodffffkcb: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "11")] + pub ailoghkfhko: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "12")] + pub hfipaljkada: ::core::option::Option, + #[prost(uint32, tag = "13")] + pub eakgoadiemj: u32, + #[prost(message, optional, tag = "14")] + pub folnenedfig: ::core::option::Option, + #[prost(uint32, tag = "15")] + pub dfpnkfekiig: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oaoglgbpbdm { + #[prost(uint32, repeated, tag = "7")] + pub fikgdofabee: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "12")] + pub pdpcieiolln: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Podpbjoalmc { + #[prost(uint64, tag = "7")] + pub hciiahlmpjj: u64, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9942)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kipcahcfmnc { + #[prost(uint32, repeated, tag = "5")] + pub cdgfhbkoogn: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "7")] + pub pdlkmpbkane: u32, + #[prost(uint32, repeated, tag = "14")] + pub neojjndlfff: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "15")] + pub pdkifkkmhcn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24458)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ikmleendcoe {} +#[derive(proto_gen::CmdID)] +#[cmdid(4023)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pmfgpdedpml { + #[prost(uint32, tag = "6")] + pub gghkdjlgfpb: u32, + #[prost(uint32, tag = "3")] + pub level: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23064)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Akdebohjmhe { + #[prost(message, repeated, tag = "2")] + pub eloggecdgnl: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25430)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Imnbbikebmh { + #[prost(uint32, tag = "1")] + pub lbclghbmdaf: u32, + #[prost(uint32, tag = "11")] + pub aljnjkpmopb: u32, + #[prost(uint32, tag = "14")] + pub kenikecfflm: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29619)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nkbejoijlee {} +#[derive(proto_gen::CmdID)] +#[cmdid(24961)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Milbjpinaaa { + #[prost(message, repeated, tag = "12")] + pub kgogfpoddlj: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "5")] + pub dmnldppgokg: u32, + #[prost(uint32, tag = "15")] + pub mempkcgnnmf: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26777)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gndcebdapoe { + #[prost(uint32, tag = "6")] + pub hogpdlghglm: u32, + #[prost(uint32, tag = "11")] + pub bjjjdldclll: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23006)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ijehibbmdfh { + #[prost(uint64, tag = "1")] + pub dcompdppdpo: u64, + #[prost(uint32, tag = "11")] + pub jlfheeipddp: u32, + #[prost(int32, tag = "12")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28506)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Akhconkelmo { + #[prost(uint32, tag = "4")] + pub aaopmgielok: u32, + #[prost(bool, tag = "5")] + pub mllbdapbhel: bool, + #[prost(bool, tag = "7")] + pub mjpcdckofeg: bool, + #[prost(string, tag = "10")] + pub gepiddnccpl: ::prost::alloc::string::String, + #[prost(message, repeated, tag = "13")] + pub appmhmkgcof: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2084)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lodpcinkmne { + #[prost(uint32, tag = "1")] + pub dalbepbfmfb: u32, + #[prost(uint32, tag = "2")] + pub fkhohkelkoe: u32, + #[prost(int32, tag = "3")] + pub retcode: i32, + #[prost(message, optional, tag = "7")] + pub kiolegbhkbk: ::core::option::Option, + #[prost(message, repeated, tag = "10")] + pub gabljanjlaf: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2385)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pjfhbeoaalh { + #[prost(int32, repeated, tag = "10")] + pub hdfcdncgbbh: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "9")] + pub nlnlbaikbki: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "11")] + pub version: u32, + #[prost(uint32, tag = "12")] + pub cddphgddccn: u32, + #[prost(uint32, tag = "5")] + pub dkeobfmafpk: u32, + #[prost(uint32, tag = "14")] + pub scene_id: u32, + #[prost(bool, tag = "8")] + pub haaggonehch: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jpfgiaflebm { + #[prost(fixed64, tag = "2")] + pub lgbnfifcpjf: u64, + #[prost(fixed64, tag = "8")] + pub ohdfeiceled: u64, + #[prost(uint32, tag = "10")] + pub fbpgimlmdnj: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gjdhoaafmpg { + #[prost(message, optional, tag = "3")] + pub aiagdpedgki: ::core::option::Option, + #[prost(message, optional, tag = "4")] + pub omdchnkniko: ::core::option::Option, + #[prost(uint32, tag = "7")] + pub level: u32, + #[prost(uint32, repeated, tag = "8")] + pub fkgbkfahefk: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "9")] + pub mmfkdhalglg: u32, + #[prost(message, optional, tag = "10")] + pub oglnpbnceco: ::core::option::Option, + #[prost(uint32, tag = "11")] + pub eopffipdkgn: u32, + #[prost(message, optional, tag = "12")] + pub elllcmjmhic: ::core::option::Option, + #[prost(uint32, tag = "13")] + pub exp: u32, + #[prost(uint32, tag = "15")] + pub neijigcohad: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lelgcmgopli { + #[prost(bool, tag = "3")] + pub dblpjbbpnic: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jobimalcphl { + #[prost(bool, tag = "4")] + pub fcikeoiacdg: bool, + #[prost(uint32, tag = "10")] + pub jdmjngdhdfh: u32, + #[prost(uint32, tag = "11")] + pub adejngmkinh: u32, + #[prost(uint32, tag = "12")] + pub phajgbbpmpm: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23774)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hegbomgkekm { + #[prost(enumeration = "Igohjibcdfa", tag = "14")] + pub lkidbhiooog: i32, + #[prost(message, optional, tag = "15")] + pub bocfeileaki: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23394)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Giedfmgeccc { + #[prost(message, repeated, tag = "6")] + pub gfoibopdlgj: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "8")] + pub pbhmclnfoeh: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "9")] + pub dkcieiglfei: bool, + #[prost(enumeration = "Hocjffhhjne", tag = "12")] + pub kfmglfjdodo: i32, + #[prost(uint32, tag = "14")] + pub khhibkpbkpn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9577)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ohpkgibdkmo { + #[prost(int32, tag = "11")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24549)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dfhdjkahkdc { + #[prost(int32, tag = "9")] + pub retcode: i32, + #[prost(uint32, tag = "12")] + pub khhibkpbkpn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28948)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SetPlayerBornDataReq { + #[prost(string, tag = "7")] + pub nick_name: ::prost::alloc::string::String, + #[prost(uint32, tag = "11")] + pub avatar_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dgehiibllmc { + #[prost(uint32, tag = "3")] + pub config_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6789)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Becmdkinlka { + #[prost(message, optional, tag = "6")] + pub baimabkjkdd: ::core::option::Option, + #[prost(message, optional, tag = "8")] + pub panikdlniia: ::core::option::Option, + #[prost(uint32, tag = "12")] + pub mmkamelgmoa: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct AvatarFetterInfo { + #[prost(uint32, tag = "1")] + pub exp_number: u32, + #[prost(uint32, tag = "2")] + pub exp_level: u32, + #[prost(uint32, repeated, tag = "3")] + pub open_id_list: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "4")] + pub finish_id_list: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "5")] + pub rewarded_fetter_level_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "6")] + pub fetter_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4707)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kkbkijjgdmn { + #[prost(uint32, repeated, tag = "2")] + pub pgkajdadhpo: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "6")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2375)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dkhopclbmea {} +#[derive(proto_gen::CmdID)] +#[cmdid(23183)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gcnacggjpcm { + #[prost(int32, tag = "3")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27655)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lbfffkjlanf { + #[prost(message, repeated, tag = "8")] + pub baobhjbdacm: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "11")] + pub khhibkpbkpn: u32, + #[prost(int32, tag = "15")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29680)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nfoofdpkfoc { + #[prost(int32, tag = "3")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1128)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lgmjffblbml { + #[prost(bool, tag = "5")] + pub dggckmikbmo: bool, + #[prost(uint32, tag = "7")] + pub jofbeiaclof: u32, + #[prost(bool, tag = "10")] + pub dmedoehomkh: bool, + #[prost(uint32, tag = "12")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Naikfmefkij { + #[prost(uint32, tag = "3")] + pub pjjaoilbfbn: u32, + #[prost(bool, tag = "4")] + pub ecihdijcled: bool, + #[prost(uint32, tag = "6")] + pub oicebegencm: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jdeilbndlfb { + #[prost(uint32, tag = "2")] + pub instanced_modifier_id: u32, + #[prost(int32, tag = "3")] + pub migmcamiepp: i32, + #[prost(uint32, tag = "4")] + pub instanced_ability_id: u32, + #[prost(int32, tag = "7")] + pub local_id: i32, + #[prost(uint32, tag = "8")] + pub nldmdecjcmg: u32, + #[prost(uint32, tag = "10")] + pub server_buff_uid: u32, + #[prost(bool, tag = "12")] + pub is_serverbuff_modifier: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5394)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jnnnmjiomig { + #[prost(message, optional, tag = "13")] + pub nlmdbcacpfg: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hgmkohplkie { + #[prost(uint32, tag = "1")] + pub kenikecfflm: u32, + #[prost(uint32, tag = "2")] + pub state: u32, + #[prost(uint32, tag = "4")] + pub ojoapinglno: u32, + #[prost(bool, tag = "5")] + pub dkbjpnmclhi: bool, + #[prost(uint32, tag = "6")] + pub parent_quest_id: u32, + #[prost(uint32, tag = "7")] + pub ifnjcelnabn: u32, + #[prost(uint32, tag = "8")] + pub eldhjpmklkg: u32, + #[prost(uint32, tag = "9")] + pub mepomjbblhd: u32, + #[prost(uint32, repeated, tag = "10")] + pub poceifcmgap: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "11")] + pub ecancphkloc: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "12")] + pub mlhfbafckip: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "13")] + pub ebpoibhnpnh: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ofnjgncoifk { + #[prost(uint32, tag = "1")] + pub ombmigpcoaa: u32, + #[prost(uint32, tag = "2")] + pub gidpaabdmfl: u32, + #[prost(uint32, repeated, tag = "3")] + pub jgakggcibge: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "4")] + pub hpjadbmcnkb: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "5")] + pub fodgafibgjb: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kkfobmpmgbi { + #[prost(message, repeated, tag = "5")] + pub olpbbgienff: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "7")] + pub ckinhoeoecf: u32, + #[prost(uint64, tag = "9")] + pub hodolkcoplg: u64, + #[prost(bool, tag = "10")] + pub dmedoehomkh: bool, + #[prost(uint32, tag = "11")] + pub bknplfikkfg: u32, + #[prost(uint32, tag = "12")] + pub group_id: u32, + #[prost(uint32, tag = "13")] + pub blnbjflpefp: u32, + #[prost(uint32, tag = "14")] + pub mlmifecfpoj: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Knpbbbdnlje { + #[prost(message, repeated, tag = "12")] + pub info_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Edfpkjkfdhb { + #[prost(uint32, tag = "1")] + pub entity_id: u32, + #[prost(message, optional, tag = "2")] + pub motion_info: ::core::option::Option, + #[prost(uint32, tag = "3")] + pub scene_time: u32, + #[prost(uint32, tag = "4")] + pub fggmoakinfd: u32, + #[prost(bool, tag = "5")] + pub epbncfhddah: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jafnchnpado { + #[prost(int32, repeated, tag = "2")] + pub ohdihophcld: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "5")] + pub kpbecglgibm: ::core::option::Option, + #[prost(uint32, tag = "9")] + pub guid: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22518)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kcamgkdfafn { + #[prost(uint32, tag = "4")] + pub omnkhjbmgkl: u32, + #[prost(uint64, tag = "8")] + pub avatar_guid: u64, + #[prost(int32, tag = "10")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3824)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kfbpmjbpfpp { + #[prost(uint32, tag = "1")] + pub kpampgdjdhe: u32, + #[prost(message, optional, tag = "7")] + pub hnjiidamchp: ::core::option::Option, + #[prost(uint32, tag = "9")] + pub cehbmhaanil: u32, + #[prost(message, optional, tag = "10")] + pub iljgpojfhdo: ::core::option::Option, + #[prost(uint32, tag = "11")] + pub ffafbeafihe: u32, + #[prost(uint32, tag = "14")] + pub epcbaobgodi: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Elapnkhihbj { + #[prost(enumeration = "Eegmnipnkmj", tag = "10")] + pub reason: i32, + #[prost(uint32, tag = "11")] + pub fbpgimlmdnj: u32, + #[prost(message, repeated, tag = "13")] + pub bapkpfhfeie: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8572)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gafbcfikdkg { + #[prost(message, repeated, tag = "1")] + pub kjjdfphkfeb: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "6")] + pub onabdgfcpih: u32, + #[prost(uint32, tag = "9")] + pub dfpnkfekiig: u32, + #[prost(int32, tag = "13")] + pub retcode: i32, + #[prost(uint32, tag = "15")] + pub mempkcgnnmf: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dlclekeebgj { + #[prost(message, repeated, tag = "15")] + pub dnpebapalek: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28422)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gpgflbgbajl { + #[prost(enumeration = "Jhhbgbphnkf", tag = "14")] + pub ffbojfojagd: i32, + #[prost(uint32, tag = "5")] + pub fgdnkjchnki: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20461)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ggibcnfpckn { + #[prost(uint32, tag = "9")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26145)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eaabmmfcmff { + #[prost(uint32, repeated, tag = "3")] + pub hjhpfacphjf: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "1")] + pub gghkdjlgfpb: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28530)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jjdddcginkh { + #[prost(bytes = "vec", tag = "2")] + pub pflfeiiljdk: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "7")] + pub oboopjlpdni: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25929)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lndfnhlhiem { + #[prost(message, optional, tag = "9")] + pub hlfodgeaham: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8888)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nikjbkdolml { + #[prost(uint32, tag = "1")] + pub bnblmfkkfgg: u32, + #[prost(bool, tag = "3")] + pub dmedoehomkh: bool, + #[prost(uint32, tag = "5")] + pub nnebhhfhdcc: u32, + #[prost(uint32, tag = "12")] + pub cmgfmdlfcfk: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5261)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lfbmcfambbm { + #[prost(message, optional, tag = "3")] + pub iljgpojfhdo: ::core::option::Option, + #[prost(uint32, repeated, tag = "13")] + pub akgnhibbcja: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gkomdabhopi { + #[prost(uint32, tag = "2")] + pub coimemmjdcf: u32, + #[prost(uint32, tag = "3")] + pub okgngninnmi: u32, + #[prost(uint32, tag = "6")] + pub abiokbbaeck: u32, + #[prost(uint32, tag = "7")] + pub pjgeledijhd: u32, + #[prost(uint32, tag = "8")] + pub dfbibmmpjfp: u32, + #[prost(uint32, tag = "9")] + pub pgelkgkhppc: u32, + #[prost(uint32, tag = "10")] + pub lpoiolhlimp: u32, + #[prost(uint32, tag = "12")] + pub jfclhnofbbo: u32, + #[prost(uint32, tag = "15")] + pub phkelffaoon: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ooamlhchlnm { + #[prost(uint32, tag = "11")] + pub avatar_id: u32, + #[prost(uint32, repeated, tag = "12")] + pub ndlpimjdedl: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4020)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cklndalmlhj { + #[prost(uint32, repeated, tag = "10")] + pub lfodeagdimj: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "15")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9140)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oaoemiafpac { + #[prost(bool, tag = "5")] + pub ekpcfffnphg: bool, + #[prost(message, optional, tag = "6")] + pub glekhbclijf: ::core::option::Option, + #[prost(uint32, tag = "11")] + pub entity_id: u32, + #[prost(enumeration = "Igohjibcdfa", tag = "12")] + pub lkidbhiooog: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1749)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eiaimikhjad { + #[prost(uint32, tag = "3")] + pub uid: u32, + #[prost(uint32, tag = "14")] + pub scene_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28639)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Amnnnbfalfl { + #[prost(message, optional, tag = "2")] + pub helfhpnajpb: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bfghiphhkmj { + #[prost(uint32, tag = "2")] + pub affklogicmo: u32, + #[prost(bool, tag = "3")] + pub eiefmemfonh: bool, + #[prost(bool, tag = "5")] + pub dphdagagbii: bool, + #[prost(uint32, tag = "7")] + pub fgbjejcehdd: u32, + #[prost(map = "uint32, uint32", tag = "12")] + pub ofbinopgiab: ::std::collections::HashMap, + #[prost(map = "uint32, uint32", tag = "14")] + pub nbbjmakhifm: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20491)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Laepoippigf { + #[prost(message, repeated, tag = "6")] + pub aeoadoklkck: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "9")] + pub pgbaikhnkdc: u32, + #[prost(bool, tag = "11")] + pub ekiggmkhlpl: bool, + #[prost(uint32, tag = "14")] + pub fibdeagplao: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22605)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cekgnmedbao {} +#[derive(proto_gen::CmdID)] +#[cmdid(7909)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pnkdffhcini { + #[prost(uint32, tag = "1")] + pub jofbeiaclof: u32, + #[prost(bool, tag = "2")] + pub ocibddefjmb: bool, + #[prost(uint32, tag = "6")] + pub dekhbeooien: u32, + #[prost(bool, tag = "7")] + pub dmedoehomkh: bool, + #[prost(uint32, tag = "13")] + pub pjjaoilbfbn: u32, + #[prost(uint32, tag = "14")] + pub djkhfndphjg: u32, + #[prost(uint32, tag = "15")] + pub hnhgkplcknj: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3254)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ifbfchjfchd { + #[prost(string, tag = "9")] + pub team_name: ::prost::alloc::string::String, + #[prost(int32, tag = "12")] + pub retcode: i32, + #[prost(int32, tag = "13")] + pub team_id: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5151)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nnhjcfoeoad { + #[prost(string, tag = "15")] + pub pbigganlbdh: ::prost::alloc::string::String, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1643)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lapnldoajki { + #[prost(uint32, tag = "8")] + pub khhibkpbkpn: u32, + #[prost(uint32, tag = "13")] + pub uid: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7759)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Afhgggfcbnf { + #[prost(message, repeated, tag = "3")] + pub kfapijcgdbc: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "6")] + pub mempkcgnnmf: u32, + #[prost(uint32, tag = "7")] + pub dmnldppgokg: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fgakelddlam { + #[prost(uint32, tag = "2")] + pub config_id: u32, + #[prost(uint32, tag = "4")] + pub agienjjkpbe: u32, + #[prost(uint32, tag = "7")] + pub group_id: u32, + #[prost(message, optional, tag = "12")] + pub pos: ::core::option::Option, + #[prost(uint32, tag = "13")] + pub scene_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3186)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ppbjpnnggkn { + #[prost(int32, tag = "10")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cgmaokbgoho { + #[prost(uint32, repeated, tag = "7")] + pub dhnkodbjkhl: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4356)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fmaagoabgnj { + #[prost(uint32, tag = "2")] + pub cdmjgifefmd: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26406)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dmmeadaofeh { + #[prost(uint32, tag = "7")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ndbiilbamgh { + #[prost(message, repeated, tag = "12")] + pub kdadmgfchjm: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "14")] + pub ecihdijcled: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cfbpmenbcbo { + #[prost(uint32, tag = "2")] + pub ffhembokbef: u32, + #[prost(uint32, tag = "4")] + pub kenikecfflm: u32, + #[prost(bool, tag = "12")] + pub lbmialpeoba: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7957)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fckpjjofkki { + #[prost(message, repeated, tag = "4")] + pub dahkfdaacll: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "5")] + pub hecfbahgcpc: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "7")] + pub lpppojjieoi: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Olodkmpinmp { + #[prost(uint32, tag = "1")] + pub kihigcbbali: u32, + #[prost(uint32, tag = "2")] + pub jdpmifpjnec: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ggkigjcgijn { + #[prost(bool, tag = "3")] + pub ecihdijcled: bool, + #[prost(bool, tag = "6")] + pub egclhkeilhk: bool, + #[prost(uint32, tag = "12")] + pub mempkcgnnmf: u32, + #[prost(uint32, tag = "15")] + pub dmkfeccmcop: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2552)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Legdjlcjdjd { + #[prost(int32, tag = "10")] + pub retcode: i32, + #[prost(map = "uint32, uint32", tag = "14")] + pub eifchjhikhi: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5236)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cdchoikjcdc {} +#[derive(proto_gen::CmdID)] +#[cmdid(7709)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ejlhpdmnjme { + #[prost(int32, tag = "13")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1271)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Likkcfljeed { + #[prost(int32, tag = "14")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(682)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pchkcdgfjgc { + #[prost(uint32, tag = "11")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27918)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jmaigbmamll { + #[prost(uint32, tag = "2")] + pub mkelffhppog: u32, + #[prost(uint32, tag = "3")] + pub bhfdigmgmgi: u32, + #[prost(message, optional, tag = "6")] + pub dejoimafmck: ::core::option::Option, + #[prost(message, optional, tag = "14")] + pub pgkedialloa: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23775)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jakaldnimnf { + #[prost(uint32, tag = "2")] + pub room_id: u32, + #[prost(int32, tag = "5")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27274)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Klealcoodkg { + #[prost(map = "uint32, uint32", tag = "6")] + pub skill_level_map: ::std::collections::HashMap, + #[prost(uint32, tag = "7")] + pub skill_depot_id: u32, + #[prost(map = "uint32, uint32", tag = "8")] + pub proud_skill_extra_level_map: ::std::collections::HashMap, + #[prost(uint32, tag = "11")] + pub core_proud_skill_level: u32, + #[prost(uint64, tag = "12")] + pub avatar_guid: u64, + #[prost(uint32, repeated, tag = "13")] + pub talent_id_list: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "14")] + pub lobogppeppf: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "15")] + pub entity_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7649)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cpjaielmeop { + #[prost(map = "uint32, uint32", tag = "5")] + pub fdocpgobhnm: ::std::collections::HashMap, + #[prost(uint32, tag = "8")] + pub kfiineejnpn: u32, + #[prost(uint32, tag = "9")] + pub bknplfikkfg: u32, + #[prost(uint32, tag = "11")] + pub group_id: u32, + #[prost(uint64, tag = "12")] + pub ndfchldidpf: u64, + #[prost(message, repeated, tag = "14")] + pub bfbomboinpj: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27972)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ojjnpfellpk { + #[prost(int32, tag = "1")] + pub retcode: i32, + #[prost(uint32, tag = "2")] + pub ocbdiolapob: u32, + #[prost(uint32, tag = "5")] + pub kajcndjlkfi: u32, + #[prost(uint32, tag = "9")] + pub pjjlmhgjkdg: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27281)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ndccfbglanh { + #[prost(uint32, tag = "1")] + pub item_id: u32, + #[prost(uint32, tag = "2")] + pub gfppmnlpoek: u32, + #[prost(int32, tag = "6")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mamjnjhcdap { + #[prost(enumeration = "Eaebejoppcg", tag = "1")] + pub cdjamnmdmcj: i32, + #[prost(uint32, tag = "15")] + pub acjpdgmfgnl: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(138)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ibhonfgapob { + #[prost(enumeration = "WidgetSlotTag", repeated, tag = "13")] + pub tag_list: ::prost::alloc::vec::Vec, + #[prost(enumeration = "Gfilbkbgmaf", tag = "6")] + pub laicdpfdimh: i32, + #[prost(uint32, tag = "2")] + pub jinjlbemjnc: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bianhbhdlpc { + #[prost(uint32, repeated, tag = "3")] + pub cdgfhbkoogn: ::prost::alloc::vec::Vec, + #[prost(enumeration = "Adfnpmillop", tag = "5")] + pub ddojihipggp: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27831)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hlfadilgghd { + #[prost(uint32, repeated, tag = "1")] + pub knbifccible: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "3")] + pub pjjaoilbfbn: u32, + #[prost(bool, tag = "4")] + pub amblldmipfp: bool, + #[prost(uint32, tag = "8")] + pub dmnldppgokg: u32, + #[prost(bool, tag = "9")] + pub ommfipehlof: bool, + #[prost(uint32, tag = "14")] + pub mempkcgnnmf: u32, + #[prost(uint32, tag = "15")] + pub pbkeaocbpmn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28269)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lbeaglkamkd { + #[prost(int32, tag = "2")] + pub haojjffipml: i32, + #[prost(uint32, tag = "10")] + pub ihpmbbejajp: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fflaijjojfn { + #[prost(bool, tag = "12")] + pub dohhenfngpe: bool, + #[prost(uint32, tag = "14")] + pub avatar_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hanilmjmmgm { + #[prost(bool, tag = "3")] + pub lpcfaggknen: bool, + #[prost(uint32, tag = "4")] + pub epjoaallggd: u32, + #[prost(uint32, tag = "5")] + pub ghiaogllldi: u32, + #[prost(bool, tag = "6")] + pub kelmamlgeoo: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8408)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fnpiinibjmi { + #[prost(int32, tag = "7")] + pub retcode: i32, + #[prost(uint32, tag = "8")] + pub ihlceedfind: u32, + #[prost(uint32, tag = "11")] + pub group_id: u32, + #[prost(uint32, tag = "14")] + pub nnebhhfhdcc: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5815)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kcbphnmbehj { + #[prost(uint32, tag = "12")] + pub meekejeideh: u32, + #[prost(uint32, tag = "5")] + pub lpahjgdbepe: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8722)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hickngpjokd { + #[prost(uint64, tag = "15")] + pub guid: u64, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21375)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nclkdlijppb { + #[prost(uint32, tag = "3")] + pub fchfakepinp: u32, + #[prost(uint32, tag = "11")] + pub area_type: u32, + #[prost(int32, tag = "13")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Edeinfiobee { + #[prost(uint32, tag = "12")] + pub cmdnkflfhia: u32, + #[prost(uint32, tag = "13")] + pub ghdjjmikfpi: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27675)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gfaicdkfpkh { + #[prost(uint32, tag = "7")] + pub jkbgakmpclf: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25778)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mlgmphlkmhg { + #[prost(int32, tag = "5")] + pub retcode: i32, + #[prost(message, repeated, tag = "8")] + pub ncfkjkijmkd: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Badjadmdpgh { + #[prost(message, optional, tag = "2")] + pub hemkhkocddh: ::core::option::Option, + #[prost(message, optional, tag = "6")] + pub iccekffajhk: ::core::option::Option, + #[prost(message, repeated, tag = "11")] + pub kjifldoafjh: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "14")] + pub naakafcnggp: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4066)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gniffjcppol { + #[prost(uint32, tag = "5")] + pub jjlpijkgkon: u32, + #[prost(int32, tag = "11")] + pub retcode: i32, + #[prost(message, optional, tag = "14")] + pub oeapfmfefge: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ServerBuff { + #[prost(uint32, tag = "1")] + pub server_buff_uid: u32, + #[prost(uint32, tag = "2")] + pub server_buff_id: u32, + #[prost(uint32, tag = "3")] + pub server_buff_type: u32, + #[prost(uint32, tag = "4")] + pub instanced_modifier_id: u32, + #[prost(bool, tag = "5")] + pub is_modifier_added: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24316)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cnpjfppacpk { + #[prost(uint32, tag = "13")] + pub ccpigccdboi: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mpkihlghogc { + #[prost(bool, tag = "5")] + pub dphdagagbii: bool, + #[prost(uint32, tag = "12")] + pub afjclenhanc: u32, + #[prost(message, repeated, tag = "15")] + pub nphlhaeliam: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21777)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ndnlfhmpbii {} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Npankifllmm { + #[prost(uint32, tag = "1")] + pub elhpdaeimpj: u32, + #[prost(uint32, tag = "3")] + pub hbinbdbmoed: u32, + #[prost(map = "uint32, message", tag = "7")] + pub cdniiblifii: ::std::collections::HashMap, + #[prost(uint32, tag = "11")] + pub mempkcgnnmf: u32, + #[prost(bool, tag = "12")] + pub pkoellipbhp: bool, + #[prost(uint32, tag = "14")] + pub jgihcibojpn: u32, + #[prost(bool, tag = "15")] + pub cmfpjhffhbi: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29186)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bikbdoollop { + #[prost(message, repeated, tag = "12")] + pub elokjjingmc: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9424)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dliomacgajc { + #[prost(uint32, tag = "1")] + pub mhhcoedmpdp: u32, + #[prost(bool, tag = "2")] + pub dbolhbghmaj: bool, + #[prost(uint64, tag = "11")] + pub guid: u64, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20650)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pbojgdcdgab { + #[prost(uint64, tag = "2")] + pub opbnfdpdjgd: u64, + #[prost(int32, tag = "5")] + pub retcode: i32, + #[prost(uint32, tag = "7")] + pub hcojcafbpel: u32, + #[prost(map = "uint32, uint32", tag = "10")] + pub clpjgancnhc: ::std::collections::HashMap, + #[prost(uint64, tag = "11")] + pub avatar_guid: u64, + #[prost(map = "uint32, uint32", tag = "13")] + pub chbfmmglihg: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22793)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mipmpjmgkjh { + #[prost(uint32, tag = "13")] + pub pjjaoilbfbn: u32, + #[prost(uint32, tag = "15")] + pub dmnldppgokg: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dfmjfilicop { + #[prost(uint32, tag = "1")] + pub geihmkhcije: u32, + #[prost(uint32, repeated, tag = "3")] + pub gmldnleodoh: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "4")] + pub hojmlpjhhpj: u32, + #[prost(uint32, tag = "5")] + pub pdkifkkmhcn: u32, + #[prost(uint32, tag = "7")] + pub iehlhaogkpj: u32, + #[prost(uint32, tag = "8")] + pub r#type: u32, + #[prost(uint32, tag = "11")] + pub ojoapinglno: u32, + #[prost(uint32, tag = "12")] + pub aaopmgielok: u32, + #[prost(uint32, tag = "13")] + pub kdclmhbcfnh: u32, + #[prost(uint32, tag = "14")] + pub state: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26993)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Olaiemeehfh { + #[prost(uint32, tag = "4")] + pub phmkpnkmooe: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2230)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cgdaehmeooj { + #[prost(uint64, repeated, tag = "13")] + pub fljlpghegem: ::prost::alloc::vec::Vec, + #[prost(uint64, repeated, tag = "9")] + pub fafobhabbkn: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4589)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hbhbhcbcgok { + #[prost(int32, tag = "9")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20043)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Belhanmihjp { + #[prost(message, repeated, tag = "10")] + pub ncohdkjjpkf: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "14")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cccagkhmnag { + #[prost(bool, tag = "1")] + pub jhfmeficaal: bool, + #[prost(uint32, tag = "2")] + pub pjjaoilbfbn: u32, + #[prost(uint32, tag = "3")] + pub gpaeljhnaek: u32, + #[prost(bool, tag = "14")] + pub ecihdijcled: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27553)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aamkffhnonf { + #[prost(bool, tag = "12")] + pub mpccmbdpckc: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(921)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bgemlcaapgb { + #[prost(uint32, tag = "1")] + pub pjjaoilbfbn: u32, + #[prost(uint32, tag = "3")] + pub omgchbachci: u32, + #[prost(uint32, tag = "4")] + pub pcklffnfnge: u32, + #[prost(message, repeated, tag = "5")] + pub pldfkdklmej: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "6")] + pub aiokpjbdobb: bool, + #[prost(uint32, tag = "9")] + pub ghdjjmikfpi: u32, + #[prost(bool, tag = "10")] + pub dggckmikbmo: bool, + #[prost(enumeration = "Jagnmbobgnk", tag = "12")] + pub reason: i32, + #[prost(bool, tag = "14")] + pub bdgphdbflkm: bool, + #[prost(uint32, tag = "15")] + pub dekhbeooien: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cmgmdhpjbfa { + #[prost(bool, tag = "1")] + pub eibgiijboch: bool, + #[prost(bool, tag = "2")] + pub eoeaacpnpkk: bool, + #[prost(bool, tag = "3")] + pub pampgjbhffc: bool, + #[prost(message, repeated, tag = "9")] + pub jhpaihaohcc: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "12")] + pub jkkkhfekekd: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "13")] + pub cjbckciadcl: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ForceUpdateInfo { + #[prost(string, tag = "1")] + pub force_update_url: ::prost::alloc::string::String, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1790)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gimfhhnbffa { + #[prost(uint32, tag = "5")] + pub bobnlkdjoka: u32, + #[prost(bool, tag = "6")] + pub kndhnelheha: bool, + #[prost(message, repeated, tag = "7")] + pub oaakbkbonjk: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "8")] + pub dmedoehomkh: bool, + #[prost(uint32, tag = "11")] + pub hnfbbakfomm: u32, + #[prost(uint32, tag = "12")] + pub ijffkcgiaoj: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct CurVehicleInfo { + #[prost(uint32, tag = "1")] + pub entity_id: u32, + #[prost(uint32, tag = "2")] + pub pos: u32, + #[prost(uint32, tag = "3")] + pub gadget_id: u32, + #[prost(message, optional, tag = "4")] + pub bndocllebea: ::core::option::Option, + #[prost(uint32, tag = "5")] + pub giickaofkdb: u32, + #[prost(message, optional, tag = "6")] + pub beliokmdlgb: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(617)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Flmlcjbbjkd { + #[prost(uint32, tag = "8")] + pub uid: u32, + #[prost(uint32, tag = "10")] + pub avatar_id: u32, + #[prost(uint32, tag = "13")] + pub costume_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Adljglobkbl { + #[prost(uint32, tag = "12")] + pub bobnlkdjoka: u32, + #[prost(uint32, tag = "13")] + pub hnfbbakfomm: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26421)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cpobfkanhea { + #[prost(int32, tag = "10")] + pub retcode: i32, + #[prost(message, repeated, tag = "11")] + pub kgogfpoddlj: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23012)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Enmhegjdahl { + #[prost(uint32, tag = "9")] + pub bkngnhmgldg: u32, + #[prost(uint32, tag = "10")] + pub khhibkpbkpn: u32, + #[prost(uint32, tag = "11")] + pub gcfedfajgah: u32, + #[prost(uint32, tag = "15")] + pub jibfgckjpbe: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21992)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kbbphpmhemb { + #[prost(int32, tag = "15")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Omlmlmjkenc { + #[prost(int32, tag = "4")] + pub oaagmpkikgi: i32, + #[prost(uint32, tag = "11")] + pub entity_id: u32, + #[prost(uint32, tag = "12")] + pub mmldgpbiecc: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(451)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eonlhahgank { + #[prost(uint32, tag = "1")] + pub aaopmgielok: u32, + #[prost(uint32, tag = "2")] + pub ojoapinglno: u32, + #[prost(uint32, tag = "7")] + pub entity_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hhajgbfhbkf { + #[prost(uint32, tag = "10")] + pub hmlgdpbcgdm: u32, + #[prost(uint32, tag = "11")] + pub avatar_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27840)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bcacgpnlaji { + #[prost(int32, tag = "6")] + pub retcode: i32, + #[prost(uint32, repeated, tag = "13")] + pub mjgcfcfkpke: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "15")] + pub ngghbimceog: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hhadjjanalk { + #[prost(uint32, tag = "1")] + pub icmllghcfgn: u32, + #[prost(uint32, tag = "10")] + pub config_id: u32, + #[prost(uint32, tag = "14")] + pub ljagcbbkkpj: u32, + #[prost(string, tag = "15")] + pub gdlecopfjcf: ::prost::alloc::string::String, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Abhpgdeogag { + #[prost(uint32, repeated, tag = "2")] + pub kahoagpanbe: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "10")] + pub onhojobnapm: u32, + #[prost(uint32, tag = "13")] + pub dpmdgmebgii: u32, + #[prost(uint32, tag = "14")] + pub dekhbeooien: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23344)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gbglpdkkaak { + #[prost(uint32, tag = "15")] + pub gbcebgkbjdm: u32, + #[prost(uint32, tag = "3")] + pub hnfbbakfomm: u32, + #[prost(uint32, tag = "11")] + pub bobnlkdjoka: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7202)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nchjohnbjke { + #[prost(uint32, tag = "9")] + pub infgbpalamc: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20751)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Agmiagnohbl {} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dkaaljkpflf { + #[prost(uint32, repeated, tag = "2")] + pub mgnjfnamhbe: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "14")] + pub gfhfkcmpehj: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bedogakkgme { + #[prost(message, repeated, tag = "1")] + pub kgogfpoddlj: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "6")] + pub gpaeljhnaek: u32, + #[prost(bool, tag = "10")] + pub ecihdijcled: bool, + #[prost(uint32, tag = "11")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Adbnjeemdam { + #[prost(bool, tag = "1")] + pub bgmkcjonfkl: bool, + #[prost(bool, tag = "5")] + pub ihflckjfmck: bool, + #[prost(uint32, tag = "6")] + pub lodekgdpijm: u32, + #[prost(message, repeated, tag = "15")] + pub ijnbieljijf: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22359)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mnpkikbbgll { + #[prost(int32, tag = "2")] + pub retcode: i32, + #[prost(uint32, tag = "8")] + pub mempkcgnnmf: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Njkemdblpgo { + #[prost(float, tag = "1")] + pub gnjcidhobia: f32, + #[prost(uint32, tag = "9")] + pub entity_id: u32, + #[prost(uint32, tag = "14")] + pub aaaohhgbhab: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4374)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Khfemkbfjal { + #[prost(int32, tag = "4")] + pub retcode: i32, + #[prost(bool, tag = "14")] + pub mcpkkmhkcpd: bool, + #[prost(uint32, tag = "15")] + pub homgpjjmldg: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ecmmfbiinoj { + #[prost(uint32, tag = "2")] + pub peajinifghm: u32, + #[prost(message, optional, tag = "9")] + pub pos: ::core::option::Option, + #[prost(uint32, tag = "11")] + pub oboopjlpdni: u32, + #[prost(uint32, tag = "12")] + pub dmkfeccmcop: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22113)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Obniepinfeb { + #[prost(uint32, tag = "8")] + pub scene_id: u32, + #[prost(uint32, repeated, tag = "9")] + pub diikdggjbbd: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dfmllmbiecg { + #[prost(uint32, tag = "1")] + pub pjjaoilbfbn: u32, + #[prost(bool, tag = "2")] + pub jhfmeficaal: bool, + #[prost(uint32, tag = "4")] + pub dekhbeooien: u32, + #[prost(uint32, tag = "6")] + pub kill_num: u32, + #[prost(bool, tag = "10")] + pub ecihdijcled: bool, + #[prost(uint32, tag = "11")] + pub fjhhikoihka: u32, + #[prost(uint32, tag = "14")] + pub diggffkgodj: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25953)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerLoginRsp { + #[prost(uint32, tag = "1")] + pub client_silence_data_version: u32, + #[prost(uint32, tag = "2")] + pub client_data_version: u32, + #[prost(map = "string, int32", tag = "3")] + pub ability_hash_map: ::std::collections::HashMap< + ::prost::alloc::string::String, + i32, + >, + #[prost(uint32, tag = "4")] + pub target_uid: u32, + #[prost(uint32, tag = "5")] + pub player_data_version: u32, + #[prost(int32, tag = "6")] + pub retcode: i32, + #[prost(bool, tag = "8")] + pub is_new_player: bool, + #[prost(bytes = "vec", tag = "9")] + pub player_data: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "11")] + pub ability_hash_code: i32, + #[prost(bool, tag = "12")] + pub oamcaciicjj: bool, + #[prost(string, tag = "13")] + pub game_biz: ::prost::alloc::string::String, + #[prost(bool, tag = "14")] + pub pcnbcfnbpgf: bool, + #[prost(uint64, tag = "15")] + pub login_rand: u64, + #[prost(message, optional, tag = "63")] + pub abpmaccddjh: ::core::option::Option, + #[prost(string, tag = "87")] + pub jkanelmfgep: ::prost::alloc::string::String, + #[prost(message, optional, tag = "266")] + pub next_res_version_config: ::core::option::Option, + #[prost(message, repeated, tag = "324")] + pub short_ability_hash_map: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "530")] + pub jagelbdjfjh: bool, + #[prost(double, tag = "533")] + pub total_tick_time: f64, + #[prost(uint32, tag = "608")] + pub target_home_owner_uid: u32, + #[prost(string, tag = "681")] + pub client_silence_version_suffix: ::prost::alloc::string::String, + #[prost(bool, tag = "847")] + pub cljbeginenc: bool, + #[prost(string, tag = "931")] + pub msg: ::prost::alloc::string::String, + #[prost(map = "uint32, message", tag = "1074")] + pub block_info_map: ::std::collections::HashMap, + #[prost(bool, tag = "1179")] + pub efphhjikpjg: bool, + #[prost(message, repeated, tag = "1249")] + pub feature_block_info_list: ::prost::alloc::vec::Vec, + #[prost(string, tag = "1309")] + pub pkekleeoljl: ::prost::alloc::string::String, + #[prost(string, tag = "1316")] + pub client_version_suffix: ::prost::alloc::string::String, + #[prost(bool, tag = "1362")] + pub popjgojfoka: bool, + #[prost(bool, tag = "1470")] + pub fgfihnbmjmk: bool, + #[prost(message, optional, tag = "1518")] + pub res_version_config: ::core::option::Option, + #[prost(bytes = "vec", tag = "1630")] + pub sc_info: ::prost::alloc::vec::Vec, + #[prost(string, tag = "1683")] + pub next_resource_url: ::prost::alloc::string::String, + #[prost(string, tag = "1768")] + pub jcimgdhmmln: ::prost::alloc::string::String, + #[prost(bool, tag = "1886")] + pub kllpfnolbho: bool, + #[prost(string, tag = "1893")] + pub kecglokoidc: ::prost::alloc::string::String, + #[prost(string, tag = "2031")] + pub country_code: ::prost::alloc::string::String, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dabjaadfkod { + #[prost(uint32, tag = "1")] + pub jdhpiindjla: u32, + #[prost(uint32, tag = "2")] + pub gbdfakgfknn: u32, + #[prost(uint32, tag = "3")] + pub mjgjllhaieg: u32, + #[prost(uint32, tag = "4")] + pub pagebplgfkn: u32, + #[prost(uint32, tag = "11")] + pub lmbbneppopm: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9902)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ncedkcpljlj { + #[prost(uint32, repeated, tag = "4")] + pub affix_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "3")] + pub pjjaoilbfbn: u32, + #[prost(uint32, tag = "5")] + pub kafapfjllgp: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5716)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pifjecjdgon { + #[prost(uint64, tag = "11")] + pub dcompdppdpo: u64, + #[prost(uint32, tag = "7")] + pub jlfheeipddp: u32, + #[prost(bool, tag = "15")] + pub jfjdimpcnnf: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8119)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hdhkmkbkkjd { + #[prost(message, optional, tag = "9")] + pub kiolegbhkbk: ::core::option::Option, + #[prost(uint32, tag = "4")] + pub dalbepbfmfb: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cpffekohgdf { + #[prost(uint32, tag = "1")] + pub fccfdjejbif: u32, + #[prost(uint32, tag = "9")] + pub pjjaoilbfbn: u32, + #[prost(message, repeated, tag = "10")] + pub ebjfflnfffg: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "11")] + pub lnfdbmfeafg: ::core::option::Option, + #[prost(uint32, tag = "12")] + pub dmkfeccmcop: u32, + #[prost(bool, tag = "15")] + pub ecihdijcled: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29013)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Napgfocimmj { + #[prost(uint32, tag = "2")] + pub pcdcoloempd: u32, + #[prost(enumeration = "Aohjddpeicb", tag = "4")] + pub r#type: i32, + #[prost(uint32, tag = "10")] + pub oboopjlpdni: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(319)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ikkomakklao { + #[prost(uint32, tag = "6")] + pub ebabpeldogg: u32, + #[prost(bool, tag = "13")] + pub is_locked: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fmcfeaaomng { + #[prost(string, tag = "1")] + pub dppibjfomoc: ::prost::alloc::string::String, + #[prost(uint32, tag = "6")] + pub pghgefmpgdc: u32, + #[prost(uint32, tag = "10")] + pub block_id: u32, + #[prost(uint32, tag = "11")] + pub scene_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9930)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eadkkbfbjlb { + #[prost(message, optional, tag = "9")] + pub gikcopjaiie: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23887)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mammchekboh { + #[prost(uint32, tag = "9")] + pub iidhpkefhpm: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4404)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ilafikenlkc { + #[prost(message, optional, tag = "3")] + pub efnfpngeflp: ::core::option::Option, + #[prost(enumeration = "Igohjibcdfa", tag = "15")] + pub lkidbhiooog: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Docjnodgpim { + #[prost(uint32, tag = "1")] + pub mhghinogbgd: u32, + #[prost(uint32, tag = "6")] + pub config_id: u32, + #[prost(uint32, tag = "10")] + pub hhhbnhdnlfe: u32, + #[prost(uint32, tag = "13")] + pub idckbnhbmde: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27444)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Agbcgancoab { + #[prost(message, repeated, tag = "3")] + pub piknkfonbhj: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6253)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ienkcmbjdcj { + #[prost(int32, tag = "1")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28998)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pndnlndkghp { + #[prost(message, optional, tag = "13")] + pub igkcmjmbbml: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23938)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fflaclnmjed { + #[prost(uint32, tag = "3")] + pub blbccmphapa: u32, + #[prost(message, optional, tag = "10")] + pub odemmdjobca: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jcojickakml { + #[prost(message, repeated, tag = "6")] + pub hhhgfdooepc: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24886)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PostEnterSceneReq { + #[prost(uint32, tag = "4")] + pub enter_scene_token: u32, + #[prost(double, tag = "8")] + pub total_tick_time: f64, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4100)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aoggdbkpbed { + #[prost(uint64, tag = "1")] + pub avatar_guid: u64, + #[prost(map = "uint32, float", tag = "7")] + pub fight_prop_map: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Acohgbfjcdm { + #[prost(uint32, tag = "5")] + pub ohenhnjjken: u32, + #[prost(enumeration = "Agdcpkbnogi", tag = "7")] + pub reason: i32, + #[prost(uint32, tag = "8")] + pub kmaehpagkfk: u32, + #[prost(uint32, tag = "9")] + pub lappelekahp: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25145)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pknipcolofo {} +#[derive(proto_gen::CmdID)] +#[cmdid(29687)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jkajhplkkjl { + #[prost(uint32, tag = "10")] + pub mcmbofifbcp: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28763)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jpiihkfkfef { + #[prost(uint32, tag = "6")] + pub cohkaiacief: u32, + #[prost(int32, tag = "9")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29609)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jgidnhjakbn { + #[prost(message, optional, tag = "2")] + pub idlacekofkp: ::core::option::Option, + #[prost(int32, tag = "10")] + pub retcode: i32, + #[prost(bool, tag = "12")] + pub pcnoiejbaph: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kgipcpjckoc { + #[prost(uint32, tag = "7")] + pub phpfppidjkj: u32, + #[prost(uint32, tag = "10")] + pub fbpgimlmdnj: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nmkdopmpdoj { + #[prost(bool, tag = "3")] + pub ecihdijcled: bool, + #[prost(uint32, tag = "5")] + pub mempkcgnnmf: u32, + #[prost(uint32, tag = "12")] + pub gpaeljhnaek: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4463)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hojjngapppl { + #[prost(uint32, tag = "2")] + pub pebgmemnknf: u32, + #[prost(uint32, tag = "3")] + pub group_id: u32, + #[prost(message, optional, tag = "5")] + pub blpbljkodia: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21967)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kcnooldkopd { + #[prost(uint64, tag = "7")] + pub cur_avatar_guid: u64, + #[prost(int32, tag = "8")] + pub retcode: i32, + #[prost(uint64, repeated, tag = "14")] + pub avatar_guid_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(941)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dgeeaonkobf { + #[prost(message, repeated, tag = "4")] + pub kfapijcgdbc: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "5")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aohakndcajm { + #[prost(uint32, tag = "1")] + pub entity_id: u32, + #[prost(uint32, tag = "2")] + pub player_uid: u32, + #[prost(uint32, tag = "3")] + pub authority_peer_id: u32, + #[prost(uint32, tag = "5")] + pub gejdjbggnag: u32, + #[prost(message, optional, tag = "6")] + pub ability_info: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27697)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oamcljfpmpo { + #[prost(uint32, repeated, tag = "14")] + pub fdjpppfghne: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6957)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iogamedfafa { + #[prost(uint32, tag = "1")] + pub bbfplmbggjp: u32, + #[prost(uint32, tag = "8")] + pub pcaobbjlffm: u32, + #[prost(uint32, tag = "9")] + pub necgmakacdi: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23021)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cjojglpficj { + #[prost(uint32, tag = "1")] + pub khhibkpbkpn: u32, + #[prost(uint32, tag = "8")] + pub fheebhppgoa: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6007)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cfcmkefcjhl { + #[prost(uint32, repeated, tag = "14")] + pub oeifpldonkf: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "8")] + pub mgcmnplnjkl: u32, + #[prost(uint32, tag = "5")] + pub fecbncacgbh: u32, + #[prost(bool, tag = "12")] + pub ankcbommojb: bool, + #[prost(bool, tag = "1")] + pub omkbommennj: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22791)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ogioeoggbgi { + #[prost(int32, tag = "2")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29959)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pmlcaljhjjl { + #[prost(message, optional, tag = "4")] + pub bepfmdkmfic: ::core::option::Option, + #[prost(enumeration = "Kckmmddjpce", tag = "5")] + pub phfalpgfgkn: i32, + #[prost(message, optional, tag = "8")] + pub aepafpdiiba: ::core::option::Option, + #[prost(int32, tag = "14")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kijclocbfoj { + #[prost(uint32, tag = "1")] + pub ogaalhdlgep: u32, + #[prost(uint32, repeated, tag = "9")] + pub fbpgkcjgpld: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "10")] + pub hgigoljniio: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23444)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oiljkhldgpn { + #[prost(message, repeated, tag = "1")] + pub iibaeddpdjd: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "7")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Doapfgnfcco { + #[prost(uint32, tag = "1")] + pub cmclgghakdc: u32, + #[prost(fixed32, tag = "2")] + pub lnpjpiipebc: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3116)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fipfjkokici { + #[prost(int32, tag = "3")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22223)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oikgleekain { + #[prost(uint32, tag = "10")] + pub omgchbachci: u32, + #[prost(int32, tag = "13")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23928)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ljjmnkoedof { + #[prost(uint32, tag = "7")] + pub entity_id: u32, + #[prost(bool, tag = "8")] + pub ahdfcflmacb: bool, + #[prost(message, optional, tag = "9")] + pub motion_info: ::core::option::Option, + #[prost(uint64, tag = "11")] + pub nckjndgeake: u64, + #[prost(uint64, tag = "13")] + pub mobmaekecai: u64, + #[prost(uint32, tag = "15")] + pub scene_time: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22609)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dfimdkocjkg { + #[prost(uint32, tag = "15")] + pub kenikecfflm: u32, + #[prost(bool, tag = "11")] + pub heeahdmiifj: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pnbdikijdoj { + #[prost(bool, tag = "1")] + pub nniapphkbop: bool, + #[prost(bool, tag = "2")] + pub nfnlokmpili: bool, + #[prost(uint32, tag = "3")] + pub block_id: u32, + #[prost(uint32, tag = "5")] + pub pghgefmpgdc: u32, + #[prost(uint32, tag = "6")] + pub gcbnfplahld: u32, + #[prost(uint32, tag = "9")] + pub scene_id: u32, + #[prost(uint32, tag = "10")] + pub jchhllebmja: u32, + #[prost(string, tag = "12")] + pub dppibjfomoc: ::prost::alloc::string::String, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26898)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ohmcleibjon { + #[prost(uint32, tag = "15")] + pub jljnnpbeipg: u32, + #[prost(enumeration = "Dplhebckkgg", tag = "11")] + pub cdebnkchkgm: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22183)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Obkgaldpgoa { + #[prost(uint32, tag = "2")] + pub pjjaoilbfbn: u32, + #[prost(bool, tag = "7")] + pub dmedoehomkh: bool, + #[prost(message, repeated, tag = "11")] + pub filhggiljln: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "15")] + pub bfanfdmpppk: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Njkhiljgcbm { + #[prost(uint32, tag = "5")] + pub lgbnfifcpjf: u32, + #[prost(bool, tag = "6")] + pub ecihdijcled: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Occkkklgdep { + #[prost(uint32, tag = "7")] + pub pjjaoilbfbn: u32, + #[prost(bool, tag = "9")] + pub ecihdijcled: bool, + #[prost(uint32, tag = "14")] + pub peajinifghm: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8024)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Glnhgjfmbie { + #[prost(int32, tag = "4")] + pub retcode: i32, + #[prost(uint32, tag = "8")] + pub costume_id: u32, + #[prost(uint64, tag = "9")] + pub avatar_guid: u64, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8212)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Peneaalbpdi { + #[prost(uint32, tag = "8")] + pub entity_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6229)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nmgpfejfcmk { + #[prost(uint32, tag = "1")] + pub pfogokingmb: u32, + #[prost(uint32, tag = "10")] + pub level: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8352)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cpbpbkecapd { + #[prost(uint32, tag = "6")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pbdpjncfeof { + #[prost(oneof = "pbdpjncfeof::Clbbkmnhfio", tags = "12")] + pub clbbkmnhfio: ::core::option::Option, +} +/// Nested message and enum types in `PBDPJNCFEOF`. +pub mod pbdpjncfeof { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Clbbkmnhfio { + #[prost(message, tag = "12")] + DetailAbilityInfo(super::Adifnoplaik), + } +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kfbbbejgnfa { + #[prost(uint32, tag = "2")] + pub ibiedgdocea: u32, + #[prost(uint32, tag = "4")] + pub dikniicmolj: u32, + #[prost(uint32, tag = "5")] + pub gaplfmmgbfa: u32, + #[prost(uint32, tag = "6")] + pub mhplokgejgg: u32, + #[prost(uint32, tag = "7")] + pub kdlnlophiib: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5739)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mhgmobaomeo { + #[prost(message, optional, tag = "4")] + pub himggkhkgok: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6638)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ejflfkbailp {} +#[derive(proto_gen::CmdID)] +#[cmdid(22326)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jnnmdbhadam { + #[prost(message, optional, tag = "2")] + pub phbpfonlgfb: ::core::option::Option, + #[prost(string, tag = "12")] + pub ipbjnmlcoaf: ::prost::alloc::string::String, + #[prost(uint32, tag = "9")] + pub ohigdjglilo: u32, + #[prost(uint32, tag = "5")] + pub jchhllebmja: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25569)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Omiohlkgnde { + #[prost(message, optional, tag = "7")] + pub ilnbhpkjkmg: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28190)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bmckefjnigg { + #[prost(uint32, tag = "4")] + pub njekbpkeloh: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22275)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ipkdkpchgdn { + #[prost(uint32, tag = "6")] + pub avatar_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gicncpmaoln { + #[prost(uint32, tag = "2")] + pub config_id: u32, + #[prost(oneof = "gicncpmaoln::Adebpdlaojp", tags = "4, 7, 10, 13")] + pub adebpdlaojp: ::core::option::Option, +} +/// Nested message and enum types in `GICNCPMAOLN`. +pub mod gicncpmaoln { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Adebpdlaojp { + #[prost(message, tag = "4")] + GadgetDeactive(super::Bjjjieknmed), + #[prost(message, tag = "7")] + MonsterGroupDeactive(super::Fncfpiodgmi), + #[prost(message, tag = "10")] + MonsterWaveDeactive(super::Khlgklmjnal), + #[prost(message, tag = "13")] + GadgetStateChange(super::Ffchepkenel), + } +} +#[derive(proto_gen::CmdID)] +#[cmdid(24696)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cobeajjckpd { + #[prost(message, repeated, tag = "10")] + pub avatar_rename_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pkfblelmpdh { + #[prost(message, repeated, tag = "1")] + pub paejaajcgbe: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "5")] + pub kmoeppfhpgj: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lffkpkfcjln { + #[prost(uint64, tag = "2")] + pub gedmdocolfj: u64, + #[prost(uint32, tag = "3")] + pub mhghinogbgd: u32, + #[prost(enumeration = "Nncopldhcpb", tag = "7")] + pub joglgbmkmke: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Opidilpmmff { + #[prost(uint32, tag = "2")] + pub nhkapceomoe: u32, + #[prost(message, optional, tag = "5")] + pub pos: ::core::option::Option, + #[prost(message, optional, tag = "10")] + pub rot: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4423)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Naeicajcfkj { + #[prost(uint32, tag = "3")] + pub nkipfebkoko: u32, + #[prost(int32, tag = "9")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cohkpbcgfdk { + #[prost(uint32, tag = "2")] + pub kickknaimhn: u32, + #[prost(uint32, tag = "4")] + pub pebmpdabipa: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jigdfpfknhi { + #[prost(uint32, repeated, tag = "12")] + pub oigllhajnfg: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29355)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bokijmeablb { + #[prost(int32, tag = "1")] + pub retcode: i32, + #[prost(uint32, repeated, tag = "3")] + pub iohpbdgjacm: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2669)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lmcgpnhemno { + #[prost(int32, tag = "8")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nbaddmoplei { + #[prost(uint32, tag = "1")] + pub avatar_id: u32, + #[prost(uint32, tag = "2")] + pub costume_id: u32, + #[prost(uint32, tag = "3")] + pub ahidnmjdejf: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pdbcekidaki { + #[prost(map = "uint32, uint32", tag = "4")] + pub jmchogfdmjn: ::std::collections::HashMap, + #[prost(uint32, tag = "5")] + pub mpindcigmpa: u32, + #[prost(uint32, tag = "9")] + pub gohbjdpebaf: u32, + #[prost(uint32, tag = "15")] + pub ccjhbjofjig: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(196)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dapfgemcgno { + #[prost(int32, tag = "7")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23862)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dkbgoaoejmp { + #[prost(map = "uint32, message", tag = "14")] + pub dlfbogfhajj: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4496)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iepnmgjkhbg { + #[prost(enumeration = "Ohjbejlmdbg", tag = "8")] + pub reason: i32, + #[prost(uint32, tag = "15")] + pub player_uid: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(629)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dmicifjecem { + #[prost(uint32, repeated, tag = "12")] + pub napgdlclmef: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "15")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jcnifbnibhi { + #[prost(message, optional, tag = "2")] + pub pos: ::core::option::Option, + #[prost(uint32, tag = "3")] + pub ijhkiklpjjn: u32, + #[prost(message, repeated, tag = "9")] + pub bcogkegagnp: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "13")] + pub jofbeiaclof: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bikkipeeknf { + #[prost(uint32, tag = "2")] + pub dpehdgldffg: u32, + #[prost(uint32, tag = "9")] + pub ghnpcmopbip: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cpdnnjhcjlk { + #[prost(uint32, tag = "1")] + pub deenpogjlah: u32, + #[prost(uint32, tag = "3")] + pub hdfghjkndic: u32, + #[prost(uint32, tag = "9")] + pub kmaaanmabnj: u32, + #[prost(message, optional, tag = "11")] + pub pmmoglaecfb: ::core::option::Option, + #[prost(message, optional, tag = "15")] + pub odepmbdnilm: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(290)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ljjfbfneina { + #[prost(uint32, tag = "13")] + pub mempkcgnnmf: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27542)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ikaffamcikn { + #[prost(int32, tag = "8")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6866)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aelagpgebdl { + #[prost(int32, tag = "2")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22650)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kbeldlmfphp { + #[prost(uint32, tag = "13")] + pub oboopjlpdni: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6393)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Idajkomnhna { + #[prost(uint32, tag = "2")] + pub omgchbachci: u32, + #[prost(uint32, tag = "5")] + pub deoocbakmcj: u32, + #[prost(uint32, tag = "12")] + pub onhojobnapm: u32, + #[prost(uint32, tag = "14")] + pub dekhbeooien: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nbhbdhejbih {} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Godaclfkpcb { + #[prost(bool, tag = "1")] + pub dkdknfbhcfi: bool, + #[prost(message, repeated, tag = "4")] + pub gooonmahlnl: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "10")] + pub ilffggjakaj: u32, + #[prost(uint32, tag = "15")] + pub r#type: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cjnbabjncoc { + #[prost(uint32, tag = "1")] + pub hlagfhadkcm: u32, + #[prost(uint32, tag = "2")] + pub pfnhcefliip: u32, + #[prost(uint32, tag = "3")] + pub afjclenhanc: u32, + #[prost(bool, tag = "4")] + pub ipjnpmkgbpl: bool, + #[prost(uint32, tag = "8")] + pub level: u32, + #[prost(bool, tag = "10")] + pub dphdagagbii: bool, + #[prost(uint32, tag = "11")] + pub exp: u32, + #[prost(uint32, repeated, tag = "12")] + pub fknmeoaammo: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "13")] + pub cmjimcnkbgi: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4151)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dagaadihehl { + #[prost(uint32, repeated, tag = "15")] + pub klfeggjccfn: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26052)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iakmbhiebnp { + #[prost(uint64, tag = "4")] + pub avatar_guid: u64, + #[prost(bool, tag = "15")] + pub olejpbpbnhc: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Phmenaiaofb { + #[prost(uint32, repeated, tag = "6")] + pub hblmbgkdnkk: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "10")] + pub jgnphjgecak: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "12")] + pub ecihdijcled: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3056)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ogjellhakom { + #[prost(uint32, tag = "6")] + pub pjjaoilbfbn: u32, + #[prost(int32, tag = "12")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2939)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dagegohaodp { + #[prost(uint32, tag = "2")] + pub entity_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gejghfpgjli { + #[prost(uint32, tag = "1")] + pub ocmhgmlnhjd: u32, + #[prost(uint32, repeated, tag = "3")] + pub fikgdofabee: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "4")] + pub ibeikeigmko: bool, + #[prost(uint32, repeated, tag = "12")] + pub mceonpipcni: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "14")] + pub kfldbpmnfpb: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "15")] + pub player_uid: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lhacjneljmn { + #[prost(string, tag = "2")] + pub gejmeoldgio: ::prost::alloc::string::String, + #[prost(string, tag = "4")] + pub ifnechppkke: ::prost::alloc::string::String, + #[prost(string, tag = "6")] + pub hnfgihdngcb: ::prost::alloc::string::String, + #[prost(string, tag = "7")] + pub njpdgkmnohn: ::prost::alloc::string::String, + #[prost(string, tag = "9")] + pub hbblmfkfpkf: ::prost::alloc::string::String, + #[prost(string, tag = "14")] + pub ofgkpphkbcl: ::prost::alloc::string::String, + #[prost(string, tag = "15")] + pub ehmnefanlgi: ::prost::alloc::string::String, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20299)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mdecgncemgl { + #[prost(enumeration = "Bplklkdbogp", tag = "10")] + pub lnmlmljlnjh: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4036)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eloiccaefbg { + #[prost(message, repeated, tag = "13")] + pub item_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22285)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mcfhalgndel { + #[prost(int32, tag = "14")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20262)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ophgndeiemn { + #[prost(uint32, tag = "3")] + pub gghkdjlgfpb: u32, + #[prost(uint32, tag = "6")] + pub dmmplgdappc: u32, + #[prost(int32, tag = "8")] + pub retcode: i32, + #[prost(message, repeated, tag = "9")] + pub edjiabejnif: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "11")] + pub nkckooligak: ::core::option::Option, + #[prost(uint32, tag = "14")] + pub eopffipdkgn: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jcekiajcncj { + #[prost(uint32, tag = "3")] + pub bknplfikkfg: u32, + #[prost(message, repeated, tag = "9")] + pub ohmgddcbbod: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "13")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29539)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Abonipjiegl { + #[prost(int32, tag = "3")] + pub retcode: i32, + #[prost(uint32, tag = "8")] + pub lbclghbmdaf: u32, + #[prost(uint32, tag = "10")] + pub scene_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7469)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ndbghjememh { + #[prost(uint32, tag = "15")] + pub scene_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28177)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kelmmihnblf { + #[prost(uint32, tag = "7")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27175)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lojmbldclei { + #[prost(uint32, repeated, tag = "10")] + pub mjnnjkeilfm: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "12")] + pub gaplfmmgbfa: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26396)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Knhechegjad { + #[prost(message, repeated, tag = "7")] + pub kgogfpoddlj: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "8")] + pub dfpnkfekiig: u32, + #[prost(uint32, tag = "2")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3917)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hjbbolmcnpl { + #[prost(int32, tag = "12")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(986)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lloocpimabb { + #[prost(message, optional, tag = "1")] + pub kpmhbfhlaea: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pcdlglmdhai { + #[prost(bool, tag = "1")] + pub pflajckehfa: bool, + #[prost(bool, tag = "2")] + pub ingmfkkokhg: bool, + #[prost(string, tag = "3")] + pub ebbpboejjpp: ::prost::alloc::string::String, + #[prost(uint64, tag = "4")] + pub lnemimeiieb: u64, + #[prost(uint32, tag = "5")] + pub pkmjlhlcelo: u32, + #[prost(uint64, tag = "6")] + pub dcompdppdpo: u64, + #[prost(uint32, tag = "7")] + pub kblifmghaki: u32, + #[prost(uint32, tag = "8")] + pub peajinifghm: u32, + #[prost(bool, tag = "9")] + pub nkchbiafpom: bool, + #[prost(uint32, tag = "10")] + pub version: u32, + #[prost(uint32, tag = "11")] + pub ndameclaedh: u32, + #[prost(uint32, tag = "12")] + pub glhjioojeeh: u32, + #[prost(uint32, tag = "13")] + pub oppfabknmmb: u32, + #[prost(bool, tag = "14")] + pub bhahcolocma: bool, + #[prost(uint32, tag = "15")] + pub bkpmhmldihk: u32, + #[prost(uint32, repeated, tag = "299")] + pub hmjnbgdglma: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "386")] + pub ojhglmdjcmk: u32, + #[prost(uint32, repeated, tag = "731")] + pub kilfcmkbhhm: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "783")] + pub hkninpejhnp: u32, + #[prost(uint32, tag = "1037")] + pub fkmdginhhnd: u32, + #[prost(message, optional, tag = "1661")] + pub mdmplabaiec: ::core::option::Option, + #[prost(uint32, tag = "1705")] + pub eefjnjegjmj: u32, + #[prost(uint32, tag = "1972")] + pub ngddiacfmik: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22427)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ellhojmlfpi { + #[prost(bool, tag = "2")] + pub lkcaeopcfoc: bool, + #[prost(uint32, tag = "7")] + pub player_uid: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cnchbcdjjob { + #[prost(uint32, repeated, tag = "5")] + pub bpkegpmnjbc: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "9")] + pub pkhodhipjbb: u32, + #[prost(string, tag = "10")] + pub name: ::prost::alloc::string::String, + #[prost(uint32, tag = "12")] + pub lppdfjmknbp: u32, + #[prost(enumeration = "Fbmfhlckejl", tag = "15")] + pub r#type: i32, + #[prost(oneof = "cnchbcdjjob::Detail", tags = "410, 621, 1032")] + pub detail: ::core::option::Option, +} +/// Nested message and enum types in `CNCHBCDJJOB`. +pub mod cnchbcdjjob { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Detail { + #[prost(message, tag = "410")] + Timer(super::Gdomjpehffj), + #[prost(message, tag = "621")] + Normal(super::Bcofjddboca), + #[prost(message, tag = "1032")] + Countdown(super::Gkngbdbkkhe), + } +} +#[derive(proto_gen::CmdID)] +#[cmdid(1127)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kmdepcgifkn { + #[prost(message, optional, tag = "9")] + pub fpojglaneco: ::core::option::Option, + #[prost(uint32, tag = "2")] + pub gaplfmmgbfa: u32, + #[prost(uint32, tag = "5")] + pub aoonjjoanje: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27956)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fnggllcpdbo { + #[prost(uint32, tag = "6")] + pub mempkcgnnmf: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kiffddcgdbd { + #[prost(uint32, tag = "1")] + pub dekhbeooien: u32, + #[prost(uint32, tag = "2")] + pub ecmgldcefng: u32, + #[prost(uint32, tag = "4")] + pub dlmgmpmfojm: u32, + #[prost(uint32, tag = "14")] + pub kill_num: u32, + #[prost(uint64, tag = "15")] + pub dfplcbipdmi: u64, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21736)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mlmaciengcg { + #[prost(message, repeated, tag = "5")] + pub jfkpmhejmcm: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(308)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gmdbcfolddg { + #[prost(enumeration = "Himmemhogfb", tag = "3")] + pub mfmlakbiaed: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5947)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Okcjkpnaekf { + #[prost(uint32, tag = "7")] + pub oboopjlpdni: u32, + #[prost(bool, tag = "8")] + pub idfejncmbhp: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25290)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hnnkbjppbie { + #[prost(uint32, repeated, tag = "1")] + pub cdgfhbkoogn: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "6")] + pub retcode: i32, + #[prost(uint32, tag = "14")] + pub target_uid: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eegbpinnfhj { + #[prost(uint32, tag = "1")] + pub pglajfafgai: u32, + #[prost(uint32, tag = "3")] + pub cjcjonhpiio: u32, + #[prost(bool, tag = "11")] + pub lbmialpeoba: bool, + #[prost(uint32, tag = "14")] + pub ilpjbepjdlp: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5783)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Depmlmofhle { + #[prost(message, repeated, tag = "11")] + pub kgogfpoddlj: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "13")] + pub mempkcgnnmf: u32, + #[prost(uint32, tag = "2")] + pub dmnldppgokg: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8694)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bbaeelniahl { + #[prost(string, tag = "4")] + pub mkjlehnfbeo: ::prost::alloc::string::String, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9834)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Alddafnnpke { + #[prost(uint32, tag = "11")] + pub anhigelnhkp: u32, + #[prost(uint32, tag = "14")] + pub kpidllgnojf: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Akogeogfllk { + #[prost(uint32, tag = "2")] + pub bdlmcmkdboe: u32, + #[prost(enumeration = "Hpichailnka", tag = "8")] + pub state: i32, + #[prost(uint32, tag = "9")] + pub oboopjlpdni: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ppmjiddgdmo { + #[prost(uint32, tag = "4")] + pub pjjaoilbfbn: u32, + #[prost(bool, tag = "5")] + pub dmeoeciamja: bool, + #[prost(bool, tag = "9")] + pub anjbcfcffop: bool, + #[prost(uint32, tag = "12")] + pub gpaeljhnaek: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6670)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mbmgobmnaid {} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mokdffekjpm { + #[prost(message, repeated, tag = "10")] + pub oplajnckefn: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28826)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mgpglhiibnh {} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ckgemjgnlgp { + #[prost(uint32, tag = "1")] + pub region_id: u32, + #[prost(uint32, tag = "2")] + pub dmkfeccmcop: u32, + #[prost(bool, tag = "6")] + pub hjlpileemeb: bool, + #[prost(uint32, tag = "7")] + pub glhdgfefkni: u32, + #[prost(message, optional, tag = "8")] + pub mjkalbbjipi: ::core::option::Option, + #[prost(float, tag = "9")] + pub pakpalckbaf: f32, + #[prost(uint32, tag = "10")] + pub ligehckdlee: u32, + #[prost(uint32, tag = "11")] + pub podphdgmfbl: u32, + #[prost(uint32, tag = "13")] + pub scene_id: u32, + #[prost(bool, tag = "15")] + pub ecihdijcled: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24876)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ffnoljonagb { + #[prost(bool, tag = "1")] + pub obbgbmeploj: bool, + #[prost(uint32, tag = "2")] + pub mempkcgnnmf: u32, + #[prost(int32, tag = "5")] + pub retcode: i32, + #[prost(bool, tag = "6")] + pub lebdjmdlpdc: bool, + #[prost(uint32, tag = "7")] + pub nnebhhfhdcc: u32, + #[prost(uint32, tag = "11")] + pub kmaehpagkfk: u32, + #[prost(bool, tag = "12")] + pub jandanjkoee: bool, + #[prost(bool, tag = "13")] + pub epoejjpdjhe: bool, + #[prost(bool, tag = "15")] + pub dggckmikbmo: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23325)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gafjnhcjkom { + #[prost(uint32, tag = "3")] + pub khhibkpbkpn: u32, + #[prost(int32, tag = "10")] + pub retcode: i32, + #[prost(uint32, tag = "15")] + pub group_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9314)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hldiemkjekj { + #[prost(message, optional, tag = "9")] + pub lfohfjfjiid: ::core::option::Option, + #[prost(uint32, tag = "12")] + pub omgchbachci: u32, + #[prost(message, optional, tag = "15")] + pub nmkmdiogdnk: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20345)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SceneInitFinishRsp { + #[prost(int32, tag = "9")] + pub retcode: i32, + #[prost(uint32, tag = "11")] + pub enter_scene_token: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bncdmiidoii { + #[prost(uint32, tag = "1")] + pub gpaeljhnaek: u32, + #[prost(bool, tag = "2")] + pub ecihdijcled: bool, + #[prost(uint32, tag = "5")] + pub dmkfeccmcop: u32, + #[prost(uint32, tag = "14")] + pub mempkcgnnmf: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2181)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oakjhcicnhn { + #[prost(message, optional, tag = "2")] + pub kiolegbhkbk: ::core::option::Option, + #[prost(uint32, tag = "1")] + pub dalbepbfmfb: u32, + #[prost(uint32, tag = "13")] + pub fkhohkelkoe: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iedhcchgodg { + #[prost(message, optional, tag = "4")] + pub kpbecglgibm: ::core::option::Option, + #[prost(message, optional, tag = "6")] + pub gmolliebbfe: ::core::option::Option, + #[prost(uint32, tag = "7")] + pub costume_id: u32, + #[prost(uint32, tag = "11")] + pub avatar_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4967)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gibielhmeio { + #[prost(message, optional, tag = "13")] + pub kchcincbldj: ::core::option::Option, + #[prost(int32, tag = "15")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27083)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kncdccnclhl { + #[prost(uint32, tag = "1")] + pub jchhllebmja: u32, + #[prost(bool, tag = "5")] + pub nfnlokmpili: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5466)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nfeflmibila { + #[prost(int32, tag = "2")] + pub retcode: i32, + #[prost(uint32, tag = "8")] + pub njmjbknnoib: u32, + #[prost(uint32, tag = "10")] + pub mjeflbpjbkm: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9088)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fnchhmegfgc { + #[prost(map = "uint64, message", tag = "5")] + pub hmemhopnbeb: ::std::collections::HashMap, + #[prost(int32, repeated, tag = "8")] + pub dekiihdlaoi: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "12")] + pub blecgenicfa: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "15")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1932)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gahmpoeloal {} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lkcdjjfmhpo { + #[prost(int32, tag = "6")] + pub local_id: i32, + #[prost(uint32, tag = "7")] + pub instanced_ability_id: u32, + #[prost(bool, tag = "8")] + pub is_serverbuff_modifier: bool, + #[prost(uint32, tag = "10")] + pub instanced_modifier_id: u32, + #[prost(uint32, tag = "12")] + pub nkiealgkijd: u32, + #[prost(uint32, tag = "14")] + pub ajaepngnild: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22680)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eadpmffkmbp { + #[prost(uint32, tag = "6")] + pub area_type: u32, + #[prost(uint32, tag = "11")] + pub fchfakepinp: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Omhacoggfpl { + #[prost(uint32, tag = "1")] + pub pagebplgfkn: u32, + #[prost(uint32, tag = "2")] + pub ljabaofjmcm: u32, + #[prost(uint32, tag = "3")] + pub kniinjkfijc: u32, + #[prost(uint32, tag = "6")] + pub ffhmmbkabjm: u32, + #[prost(uint32, tag = "14")] + pub gbdfakgfknn: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cldiameghla { + #[prost(uint32, repeated, tag = "5")] + pub fghofgjoicc: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "6")] + pub anjbcfcffop: bool, + #[prost(uint32, repeated, tag = "8")] + pub jmeiembndhk: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "9")] + pub pjjaoilbfbn: u32, + #[prost(bool, tag = "12")] + pub dmeoeciamja: bool, + #[prost(uint32, tag = "15")] + pub gpaeljhnaek: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dhklppaplfo { + #[prost(bool, tag = "1")] + pub oncligbklpf: bool, + #[prost(message, repeated, tag = "3")] + pub ibdjlpippnj: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "4")] + pub lgbnfifcpjf: u32, + #[prost(bool, tag = "5")] + pub eialjbaengj: bool, + #[prost(uint32, repeated, tag = "6")] + pub fjepgpkjahk: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "7")] + pub onabdgfcpih: u32, + #[prost(uint32, tag = "8")] + pub end_time: u32, + #[prost(bool, tag = "11")] + pub falglcjdkcl: bool, + #[prost(uint32, tag = "12")] + pub cfdehhepoai: u32, + #[prost(uint32, tag = "14")] + pub khhibkpbkpn: u32, + #[prost(uint32, repeated, tag = "15")] + pub eldnocohalm: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "263")] + pub lchffkhpjio: bool, + #[prost(uint64, repeated, tag = "503")] + pub gonepfedmel: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "676")] + pub cdbiieipbff: bool, + #[prost(map = "uint32, uint32", tag = "693")] + pub fmhodgopcgj: ::std::collections::HashMap, + #[prost(uint32, tag = "971")] + pub lkodghficbh: u32, + #[prost(uint32, tag = "1073")] + pub kpampgdjdhe: u32, + #[prost(message, optional, tag = "1175")] + pub okbinabfbkp: ::core::option::Option, + #[prost(uint32, repeated, tag = "1191")] + pub gicjhofkgko: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "1453")] + pub ceoambhdcng: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "1531")] + pub ilkpgdkeieg: bool, + #[prost(map = "uint32, uint32", tag = "1694")] + pub ehdedbmbhgf: ::std::collections::HashMap, + #[prost(uint32, tag = "1730")] + pub gnakoniijho: u32, + #[prost(bool, tag = "1795")] + pub odmjhpbfiko: bool, + #[prost(uint32, tag = "1805")] + pub mppfclcenap: u32, + #[prost(uint64, tag = "1810")] + pub ciddjfnimpj: u64, + #[prost(uint32, repeated, tag = "1958")] + pub njcgnglkpbj: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "2023")] + pub ffghmfnfpnl: u32, + #[prost( + oneof = "dhklppaplfo::Detail", + tags = "2, 9, 10, 13, 18, 34, 45, 70, 113, 126, 132, 138, 156, 171, 184, 220, 247, 255, 298, 313, 345, 373, 416, 443, 466, 479, 486, 497, 507, 509, 512, 524, 526, 536, 541, 555, 559, 584, 598, 617, 634, 720, 760, 771, 787, 799, 823, 829, 860, 875, 884, 920, 932, 972, 981, 989, 993, 1004, 1007, 1008, 1033, 1037, 1072, 1101, 1111, 1141, 1142, 1155, 1203, 1233, 1237, 1266, 1288, 1292, 1318, 1327, 1349, 1352, 1385, 1396, 1454, 1477, 1558, 1563, 1573, 1574, 1579, 1582, 1591, 1646, 1649, 1668, 1700, 1722, 1741, 1800, 1807, 1809, 1826, 1845, 1852, 1863, 1886, 1894, 1906, 1907, 1919, 1927, 1929, 1939, 1942, 1959, 2004, 2035, 2041, 2042" + )] + pub detail: ::core::option::Option, +} +/// Nested message and enum types in `DHKLPPAPLFO`. +pub mod dhklppaplfo { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Detail { + #[prost(message, tag = "2")] + SamLampInfo(super::Pkpjpaomcbc), + #[prost(message, tag = "9")] + SalesmanInfo(super::Meigmjnljjf), + #[prost(message, tag = "10")] + CrucibleInfo(super::Jcnifbnibhi), + #[prost(message, tag = "13")] + TrialAvatarInfo(super::Idjeofdjkgi), + #[prost(message, tag = "18")] + AlchemySimDetailInfo(super::Gcalocahegi), + #[prost(message, tag = "34")] + ElectroherculesBattleInfo(super::Ecojklifikm), + #[prost(message, tag = "45")] + RockBoardExploreInfo(super::Kffdjghkgpn), + #[prost(message, tag = "70")] + CookGameDetailInfo(super::Eobgpecdjaf), + #[prost(message, tag = "113")] + IslandPartyInfo(super::Dlclekeebgj), + #[prost(message, tag = "126")] + FindHilichurlInfo(super::Mekfaehenan), + #[prost(message, tag = "132")] + NatlanTourDetailInfo(super::Kpnjobfakgf), + #[prost(message, tag = "138")] + DuelHeartInfo(super::Dbeignikeco), + #[prost(message, tag = "156")] + GachaInfo(super::Ahnndhpffij), + #[prost(message, tag = "171")] + BartenderInfo(super::Cepnkdlepbd), + #[prost(message, tag = "184")] + PhotoInfo(super::Jbenliafbcp), + #[prost(message, tag = "220")] + BlitzRushInfo(super::Jhbipkmoccg), + #[prost(message, tag = "247")] + VintageInfo(super::Plfhddfipga), + #[prost(message, tag = "255")] + FishBlasterInfo(super::Focfjfjnjnd), + #[prost(message, tag = "298")] + FairyTalesDetailInfo(super::Bodnniikbgj), + #[prost(message, tag = "313")] + BuoyantCombatInfo(super::Ogkfdmjnofa), + #[prost(message, tag = "345")] + BirdBallDetailInfo(super::Oolbpnpemdk), + #[prost(message, tag = "373")] + IrodoriInfo(super::Badjadmdpgh), + #[prost(message, tag = "416")] + FilmfestDetailInfo(super::Glacehkejmf), + #[prost(message, tag = "443")] + TreasureSeelieInfo(super::Kpeldpaakoc), + #[prost(message, tag = "466")] + WaterSpiritInfo(super::Npjbbeknfbp), + #[prost(message, tag = "479")] + SeaLampV3Info(super::Mlgjjaoijmp), + #[prost(message, tag = "486")] + PenumbraAdventureInfo(super::Dpjneojfiga), + #[prost(message, tag = "497")] + QuickTimeCombatInfo(super::Jkobnfpenpd), + #[prost(message, tag = "507")] + BulletHellDetailInfo(super::Jncachoeepp), + #[prost(message, tag = "509")] + GreatFestivalV2DetailInfo(super::Iiolobmjbae), + #[prost(message, tag = "512")] + DigInfo(super::Meeonahjnje), + #[prost(message, tag = "524")] + CoinCollectInfo(super::Dkfkdkboofp), + #[prost(message, tag = "526")] + PhotoUnderseaInfo(super::Ahgaggngbbm), + #[prost(message, tag = "536")] + RoguelikeDungoenInfo(super::Fifjnbbadkj), + #[prost(message, tag = "541")] + RechargeDiskDetailInfo(super::Jeajdmhfggh), + #[prost(message, tag = "555")] + AcrobaticsBattleDetailInfo(super::Nohdomiiohf), + #[prost(message, tag = "559")] + FungusFighterInfo(super::Bcfobcaialk), + #[prost(message, tag = "584")] + BlessingInfo(super::Adgfpgnggkk), + #[prost(message, tag = "598")] + EffigyChallengeV5DetailInfo(super::Dlfonaionco), + #[prost(message, tag = "617")] + ToyBattleInfo(super::Fkkcacidpna), + #[prost(message, tag = "634")] + LunaRiteInfo(super::Nnpfppjabpa), + #[prost(message, tag = "720")] + BounceConjuringInfo(super::Mpkihlghogc), + #[prost(message, tag = "760")] + GravenInnocenceInfo(super::Ecljpebblno), + #[prost(message, tag = "771")] + EffigyChallengeV4Info(super::Elebhcpkcmj), + #[prost(message, tag = "787")] + HideAndSeekInfo(super::Gkokomhdegi), + #[prost(message, tag = "799")] + EffigyChallengeInfo(super::Phlflgngojj), + #[prost(message, tag = "823")] + LanternRiteActivityInfo(super::Efebijodbnh), + #[prost(message, tag = "829")] + MichiaeMatsuriInfo(super::Dmniaejpkgp), + #[prost(message, tag = "860")] + GcgPveInfiniteInfo(super::Ghlalhdagmp), + #[prost(message, tag = "875")] + FlightInfo(super::Blkghgclobb), + #[prost(message, tag = "884")] + SeaLampInfo(super::Iofnpaieijn), + #[prost(message, tag = "920")] + PlantFlowerInfo(super::Bfghiphhkmj), + #[prost(message, tag = "932")] + InstableSprayInfo(super::Fgoeomkhikk), + #[prost(message, tag = "972")] + ArenaChallengeInfo(super::Amcomlpiebn), + #[prost(message, tag = "981")] + JourneyInfo(super::Bmjiokcbmai), + #[prost(message, tag = "989")] + BlessingV2Info(super::Iojlknpeodb), + #[prost(message, tag = "993")] + GcgPveInfo(super::Ocjneamjapc), + #[prost(message, tag = "1004")] + AkaFesInfo(super::Pckcbpbobpc), + #[prost(message, tag = "1007")] + SandwormCannonDetailInfo(super::Jkfhchedjic), + #[prost(message, tag = "1008")] + BrickBreakerInfo(super::Aineccgepbh), + #[prost(message, tag = "1033")] + SlimeCannonDetailInfo(super::Hheccplejnd), + #[prost(message, tag = "1037")] + AutoTimeStopDetailInfo(super::Ldoicebifmm), + #[prost(message, tag = "1072")] + ChallnelerSlabInfo(super::Hbbcjinhnjc), + #[prost(message, tag = "1101")] + WatergunInfo(super::Ohmjncbaoec), + #[prost(message, tag = "1111")] + HideAndSeekV4DetailInfo(super::Noaifegnkml), + #[prost(message, tag = "1141")] + TreasureMapInfo(super::Mmfabckmaof), + #[prost(message, tag = "1142")] + ExpeditionInfo(super::Epfhmonljoh), + #[prost(message, tag = "1155")] + SummerTimeInfo(super::Dhegfoiaapl), + #[prost(message, tag = "1203")] + MuqadasPotionInfo(super::Genjmanaclb), + #[prost(message, tag = "1233")] + FontaineGatherInfo(super::Fpondjddjda), + #[prost(message, tag = "1237")] + StaminaFightInfo(super::Gjmdmpembnh), + #[prost(message, tag = "1266")] + FleurFairInfo(super::Aplcjhpdooa), + #[prost(message, tag = "1288")] + ChessInfo(super::Cjnbabjncoc), + #[prost(message, tag = "1292")] + AnimalViewInfo(super::Hlgblaibmng), + #[prost(message, tag = "1318")] + GoalChallengeInfo(super::Offcconkfoh), + #[prost(message, tag = "1327")] + CollectUnderwaterInfo(super::Flhcnjgdnha), + #[prost(message, tag = "1349")] + WindFieldInfo(super::Gkcfnjnhlcf), + #[prost(message, tag = "1352")] + MoonfinTrialInfo(super::Fcokgcmnlmo), + #[prost(message, tag = "1385")] + CharAmusementInfo(super::Ahnmcdonjhe), + #[prost(message, tag = "1396")] + MonsterVsMonsterDetailInfo(super::Kbhgaofkfdd), + #[prost(message, tag = "1454")] + RainbowPrinceDetailInfo(super::Jocffcplill), + #[prost(message, tag = "1477")] + TanukiTravelActivityInfo(super::Cmcbcmnbifa), + #[prost(message, tag = "1558")] + EffigyInfo(super::Oohjpmjpakb), + #[prost(message, tag = "1563")] + WinterCampInfo(super::Kochdlaofpc), + #[prost(message, tag = "1573")] + GainBuffDetailInfo(super::Dfkofahkanj), + #[prost(message, tag = "1574")] + MistTrialActivityInfo(super::Gcmmiknlcjb), + #[prost(message, tag = "1579")] + LostSamachurlInfo(super::Aofglkpajen), + #[prost(message, tag = "1582")] + MusicGameInfo(super::Jpbojeclhpa), + #[prost(message, tag = "1591")] + PotionInfo(super::Mokdffekjpm), + #[prost(message, tag = "1646")] + TreasureHuntV4Info(super::Ncgjebljecf), + #[prost(message, tag = "1649")] + BomberDodocoDetailInfo(super::Aajgicjdcmg), + #[prost(message, tag = "1668")] + PoetryFestivalDetailInfo(super::Jnaielhbadh), + #[prost(message, tag = "1700")] + FungusFighterV3Info(super::Dhpnfbffoef), + #[prost(message, tag = "1722")] + SpiceInfo(super::Bedgmdcoeen), + #[prost(message, tag = "1741")] + TeamChainInfo(super::Peheiagofil), + #[prost(message, tag = "1800")] + SummerTimeV2Info(super::Lfiedpgoeme), + #[prost(message, tag = "1807")] + DragonSpineInfo(super::Fjgbnolnfoa), + #[prost(message, tag = "1809")] + LuminanceStoneChallengeInfo(super::Fjjbhegfbdi), + #[prost(message, tag = "1826")] + EchoShellInfo(super::Ojkmppgohfk), + #[prost(message, tag = "1845")] + AsterInfo(super::Cadkjpfbbgh), + #[prost(message, tag = "1852")] + CrystalLinkInfo(super::Knedolcpica), + #[prost(message, tag = "1863")] + ActivityMultiCharacterInfo(super::Dagenklmdhh), + #[prost(message, tag = "1886")] + SumoInfo(super::Menhnbmdedj), + #[prost(message, tag = "1894")] + CatcafeDetailInfo(super::Ljocpdmincm), + #[prost(message, tag = "1906")] + RogueDiaryInfo(super::Mjbnlakaiad), + #[prost(message, tag = "1907")] + LanternRiteV4Info(super::Gpbmneioioa), + #[prost(message, tag = "1919")] + GcgFestivalInfo(super::Npcmlkndene), + #[prost(message, tag = "1927")] + GcgPvePuzzleInfo(super::Flcoinojgil), + #[prost(message, tag = "1929")] + HachiInfo(super::Fmkkailppji), + #[prost(message, tag = "1939")] + SorushTrialInfo(super::Facblonodpo), + #[prost(message, tag = "1942")] + DeliveryInfo(super::Akkecfcjgfn), + #[prost(message, tag = "1959")] + FleurFairV2Info(super::Ikhggpnjgnb), + #[prost(message, tag = "2004")] + FungusFighterV2Info(super::Hgmnefbckgk), + #[prost(message, tag = "2035")] + UgcInfo(super::Adbnjeemdam), + #[prost(message, tag = "2041")] + UgcV2Info(super::Keejnolinba), + #[prost(message, tag = "2042")] + GearInfo(super::Flphjjjlfcm), + } +} +#[derive(proto_gen::CmdID)] +#[cmdid(28903)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hkcbfgnmcko { + #[prost(enumeration = "Himmemhogfb", tag = "10")] + pub mfmlakbiaed: i32, + #[prost(int32, tag = "13")] + pub retcode: i32, + #[prost(oneof = "hkcbfgnmcko::Gcbckcbnpmn", tags = "11")] + pub gcbckcbnpmn: ::core::option::Option, +} +/// Nested message and enum types in `HKCBFGNMCKO`. +pub mod hkcbfgnmcko { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Gcbckcbnpmn { + #[prost(message, tag = "11")] + MusicInfo(super::Jnkcdiomjme), + } +} +#[derive(proto_gen::CmdID)] +#[cmdid(28231)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Diogfnmkoke {} +#[derive(proto_gen::CmdID)] +#[cmdid(1240)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Phhdjdbldmg { + #[prost(uint32, tag = "6")] + pub jigfbecbojb: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mlidanainaj { + #[prost(bool, tag = "2")] + pub dhfhplnhphm: bool, + #[prost(uint32, tag = "5")] + pub ecgbddkijah: u32, + #[prost(uint32, tag = "7")] + pub fjmabklfmej: u32, + #[prost(uint32, tag = "11")] + pub ffpbdjidled: u32, + #[prost(uint32, tag = "14")] + pub kapdbochmbk: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7911)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct EnterSceneReadyReq { + #[prost(uint32, tag = "1")] + pub enter_scene_token: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20598)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Klcpmmmbmmj { + #[prost(uint32, tag = "15")] + pub akfopjphjio: u32, + #[prost(uint32, tag = "7")] + pub oboopjlpdni: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct RoutePoint { + #[prost(message, optional, tag = "1")] + pub position: ::core::option::Option, + #[prost(float, tag = "2")] + pub arrive_range: f32, + #[prost(bool, tag = "3")] + pub has_reach_event: bool, + #[prost(enumeration = "Mkkpichlcgl", tag = "24")] + pub nhjcmjjbegp: i32, + #[prost(oneof = "route_point::MoveParams", tags = "11, 12")] + pub move_params: ::core::option::Option, + #[prost(oneof = "route_point::RotateParams", tags = "21, 22, 23")] + pub rotate_params: ::core::option::Option, +} +/// Nested message and enum types in `RoutePoint`. +pub mod route_point { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum MoveParams { + #[prost(float, tag = "11")] + Velocity(f32), + #[prost(float, tag = "12")] + Time(f32), + } + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum RotateParams { + #[prost(message, tag = "21")] + Rotation(super::Vector), + #[prost(message, tag = "22")] + RotationSpeed(super::MathQuaternion), + #[prost(message, tag = "23")] + AxisSpeed(super::MathQuaternion), + } +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pkgbfmjbbia { + #[prost(uint32, tag = "3")] + pub scene_id: u32, + #[prost(message, optional, tag = "5")] + pub kdhjlmkfman: ::core::option::Option, + #[prost(uint32, tag = "6")] + pub jinjlbemjnc: u32, + #[prost(uint32, tag = "7")] + pub config_id: u32, + #[prost(bool, tag = "8")] + pub hpdagjjbnfc: bool, + #[prost(uint32, tag = "11")] + pub ecamacigjap: u32, + #[prost(uint32, tag = "12")] + pub agienjjkpbe: u32, + #[prost(uint32, tag = "13")] + pub group_id: u32, + #[prost(uint32, tag = "14")] + pub cammfnmahek: u32, + #[prost(bool, tag = "15")] + pub acnmjldpgga: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7017)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cmdhiihfmog { + #[prost(uint32, tag = "13")] + pub pjjaoilbfbn: u32, + #[prost(bool, tag = "15")] + pub dmedoehomkh: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26007)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Amnkidjfbof { + #[prost(int32, tag = "7")] + pub retcode: i32, + #[prost(uint32, tag = "11")] + pub eeddllecdle: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pnglimnhlib { + #[prost(uint32, tag = "1")] + pub jiglgkdmmin: u32, + #[prost(uint32, tag = "2")] + pub oboopjlpdni: u32, + #[prost(uint32, tag = "3")] + pub gghkdjlgfpb: u32, + #[prost(uint32, tag = "4")] + pub eopffipdkgn: u32, + #[prost(uint32, tag = "5")] + pub iiicbihodjb: u32, + #[prost(enumeration = "Nhchbagcjjg", tag = "6")] + pub lomejaipngi: i32, + #[prost(uint32, tag = "7")] + pub ombmigpcoaa: u32, + #[prost(bool, tag = "8")] + pub nnhljpmhjkp: bool, + #[prost(uint32, tag = "9")] + pub kjoinehljnp: u32, + #[prost(uint32, tag = "10")] + pub scene_id: u32, + #[prost(message, optional, tag = "11")] + pub pos: ::core::option::Option, + #[prost(bool, tag = "12")] + pub okiggnfhlgg: bool, + #[prost(uint32, tag = "13")] + pub level: u32, + #[prost(message, optional, tag = "14")] + pub hdofjefkgkb: ::core::option::Option, + #[prost(uint32, tag = "15")] + pub mkbegmmhjin: u32, + #[prost(uint32, tag = "521")] + pub group_id: u32, + #[prost(bool, tag = "572")] + pub idnkjeedogc: bool, + #[prost(uint32, tag = "1117")] + pub monster_id: u32, + #[prost(uint32, tag = "1304")] + pub agienjjkpbe: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(625)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Agicnbhiclf { + #[prost(uint32, tag = "6")] + pub dmmplgdappc: u32, + #[prost(message, repeated, tag = "7")] + pub edjiabejnif: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "9")] + pub eopffipdkgn: u32, + #[prost(uint32, tag = "10")] + pub gghkdjlgfpb: u32, + #[prost(int32, tag = "11")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Anehjknoogj { + #[prost(message, optional, tag = "2")] + pub gnjcidhobia: ::core::option::Option, + #[prost(uint32, tag = "3")] + pub entity_id: u32, + #[prost(bool, tag = "5")] + pub ocnngoflpio: bool, + #[prost(int32, tag = "11")] + pub name_id: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3419)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ajlbeikaaem {} +#[derive(proto_gen::CmdID)] +#[cmdid(25949)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lafoliacppg { + #[prost(enumeration = "Hjbckhabdkl", tag = "2")] + pub ghcciliehna: i32, + #[prost(message, optional, tag = "8")] + pub rot: ::core::option::Option, + #[prost(message, optional, tag = "13")] + pub pos: ::core::option::Option, + #[prost(uint32, tag = "15")] + pub entity_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23141)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jaigabggkcc { + #[prost(uint32, tag = "1")] + pub jjlpijkgkon: u32, + #[prost(int32, tag = "3")] + pub retcode: i32, + #[prost(uint32, tag = "11")] + pub lnpjpiipebc: u32, + #[prost(message, optional, tag = "12")] + pub oeapfmfefge: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gflgjkghmgo { + #[prost(uint32, tag = "1")] + pub lilfanmipoj: u32, + #[prost(bool, tag = "2")] + pub ockcpkpmpjp: bool, + #[prost(message, optional, tag = "3")] + pub mjkalbbjipi: ::core::option::Option, + #[prost(uint32, tag = "8")] + pub scene_id: u32, + #[prost(uint32, tag = "10")] + pub ojoapinglno: u32, + #[prost(bool, tag = "11")] + pub oeplmkcmlio: bool, + #[prost(uint32, tag = "12")] + pub flimaedaoik: u32, + #[prost(uint32, tag = "14")] + pub region_id: u32, + #[prost(uint32, tag = "15")] + pub pakpalckbaf: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dbciioldmhk { + #[prost(uint32, repeated, tag = "8")] + pub ojhoegcchlb: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Feojpikbgpn { + #[prost(uint32, tag = "3")] + pub kaioccbnppa: u32, + #[prost(message, optional, tag = "6")] + pub pos: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9649)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oejemhhminf { + #[prost(uint64, tag = "1")] + pub guid: u64, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pidnhijcmck { + #[prost(enumeration = "Nacddokhdhd", tag = "1")] + pub fogfhaggcli: i32, + #[prost(uint32, repeated, tag = "2")] + pub mcnjnpmgijg: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29730)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Apfaimkiiei { + #[prost(uint32, tag = "5")] + pub khhibkpbkpn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24745)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Imkjbgflbpd { + #[prost(uint32, tag = "7")] + pub ehjhfencklj: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5133)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jfbfgacboem { + #[prost(message, repeated, tag = "13")] + pub jnfpmeijenp: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "15")] + pub gkpjedkhcif: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24826)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ognlfdmkcdb { + #[prost(uint32, tag = "3")] + pub pnhgpldgokb: u32, + #[prost(bool, tag = "10")] + pub gigjldkopek: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27951)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fjlhagbliml { + #[prost(uint32, tag = "12")] + pub region_id: u32, + #[prost(enumeration = "Kmbffanhlbc", tag = "1")] + pub cegailbgkjf: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23008)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gjlcdfenojc { + #[prost(uint32, tag = "13")] + pub mempkcgnnmf: u32, + #[prost(uint32, tag = "15")] + pub onabdgfcpih: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kmpeeohkimj { + #[prost(bool, tag = "2")] + pub dggckmikbmo: bool, + #[prost(uint32, tag = "4")] + pub jofbeiaclof: u32, + #[prost(uint32, tag = "5")] + pub cfblfknojik: u32, + #[prost(uint32, tag = "6")] + pub ehgijgcnhkl: u32, + #[prost(uint32, tag = "7")] + pub dhidkflckbf: u32, + #[prost(uint32, tag = "14")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1205)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nbmgnjngkih { + #[prost(uint32, tag = "1")] + pub pofpehafdif: u32, + #[prost(uint32, tag = "8")] + pub onabdgfcpih: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23439)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fkoaokknjnp { + #[prost(int32, tag = "3")] + pub retcode: i32, + #[prost(uint32, tag = "4")] + pub khhibkpbkpn: u32, + #[prost(uint32, tag = "6")] + pub onabdgfcpih: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3248)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nbmmjmmkneb { + #[prost(enumeration = "Blbmocglooj", tag = "6")] + pub pcfefinaiif: i32, + #[prost(bool, tag = "1")] + pub fljenafhpee: bool, + #[prost(uint32, tag = "12")] + pub emobaloaihm: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20523)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jgfdjjjbinj { + #[prost(uint32, repeated, tag = "13")] + pub akclibaijcn: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8369)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bgekekeckjg { + #[prost(uint32, tag = "1")] + pub miildbcnekl: u32, + #[prost(uint32, tag = "3")] + pub group_id: u32, + #[prost(uint32, tag = "4")] + pub gollekhhdgh: u32, + #[prost(uint32, tag = "6")] + pub pjegodebmjc: u32, + #[prost(bool, tag = "7")] + pub dggckmikbmo: bool, + #[prost(uint32, tag = "8")] + pub dekhbeooien: u32, + #[prost(bool, tag = "9")] + pub dmedoehomkh: bool, + #[prost(uint32, tag = "15")] + pub ljfafdhikjd: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3276)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lklgjbnaeka { + #[prost(bool, tag = "7")] + pub peenoiecadc: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5717)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Anbkmkcmgjm { + #[prost(uint32, tag = "2")] + pub scene_id: u32, + #[prost(message, repeated, tag = "13")] + pub ohcpclgmnmc: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ifbhmlcjfmf { + #[prost(message, repeated, tag = "6")] + pub cbenkjeocil: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Codlopejmfa { + #[prost(uint32, tag = "7")] + pub uid: u32, + #[prost(uint32, tag = "13")] + pub nkeonoiklao: u32, + #[prost(uint32, tag = "15")] + pub jahjojochom: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Coonjgkpjkk { + #[prost(message, repeated, tag = "12")] + pub hcdnagjhpcl: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Material { + #[prost(uint32, tag = "1")] + pub count: u32, + #[prost(message, optional, tag = "2")] + pub delete_info: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct FeatureBlockInfo { + #[prost(uint32, tag = "1")] + pub feature_type: u32, + #[prost(uint32, tag = "2")] + pub end_time: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kampkgiegml { + #[prost(message, optional, tag = "5")] + pub egcgobldigo: ::core::option::Option, + #[prost(uint32, tag = "8")] + pub gadget_state: u32, + #[prost(message, optional, tag = "14")] + pub abpjibdjipa: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlatformInfo { + #[prost(uint32, tag = "1")] + pub ilffggjakaj: u32, + #[prost(int32, tag = "2")] + pub afppklhkhlm: i32, + #[prost(uint32, tag = "3")] + pub kaeoiakapam: u32, + #[prost(uint32, tag = "4")] + pub nffkijpdlgo: u32, + #[prost(message, optional, tag = "7")] + pub nndkdcjmnpb: ::core::option::Option, + #[prost(bool, tag = "8")] + pub jookmiedbie: bool, + #[prost(message, optional, tag = "9")] + pub mcmdcebidek: ::core::option::Option, + #[prost(uint32, tag = "10")] + pub bgdahamomal: u32, + #[prost(message, optional, tag = "11")] + pub ofdimbdklmc: ::core::option::Option, + #[prost(message, optional, tag = "12")] + pub objkiijmkfh: ::core::option::Option, + #[prost(enumeration = "Dabhikgpaie", tag = "13")] + pub bmjpcebmboc: i32, + #[prost(bool, tag = "14")] + pub is_active: bool, + #[prost(message, optional, tag = "15")] + pub icnmchpmcbo: ::core::option::Option, + #[prost(uint32, tag = "16")] + pub lbclghbmdaf: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27317)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jnioogdicbo { + #[prost(int32, tag = "5")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26736)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gddhclpkbip { + #[prost(uint32, tag = "8")] + pub pjjaoilbfbn: u32, + #[prost(int32, tag = "14")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dfbllccocba { + #[prost(uint32, tag = "1")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25131)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cngmicdjalj { + #[prost(bool, tag = "10")] + pub oenhcblfpfc: bool, + #[prost(uint32, tag = "14")] + pub cdmjgifefmd: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24933)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hphefkmojek { + #[prost(message, repeated, tag = "9")] + pub nhogialmdci: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Doopeadjbgj { + #[prost(enumeration = "Pcdgjmpgnha", tag = "1")] + pub dkehlpgnkcb: i32, + #[prost(uint32, tag = "5")] + pub mdlphgfnjba: u32, + #[prost(uint32, tag = "10")] + pub lanbakkbbgh: u32, + #[prost(bool, tag = "14")] + pub foemlkagipa: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9184)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fapnibgmidi { + #[prost(uint32, tag = "11")] + pub leejkjijegb: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6623)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lpkmlabahac { + #[prost(uint32, repeated, tag = "4")] + pub kghmeelkekp: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29981)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Opbpgmbmchm { + #[prost(message, optional, tag = "3")] + pub lnigejebjan: ::core::option::Option, + #[prost(int32, tag = "5")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cnnobnkmngh { + #[prost(bool, tag = "4")] + pub ecihdijcled: bool, + #[prost(bool, tag = "9")] + pub jhfmeficaal: bool, + #[prost(uint32, tag = "11")] + pub dekhbeooien: u32, + #[prost(uint32, tag = "15")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21609)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Llbafoekgkc { + #[prost(uint32, tag = "4")] + pub jdbonkeoala: u32, + #[prost(int32, tag = "5")] + pub retcode: i32, + #[prost(message, repeated, tag = "12")] + pub mpmipjliaga: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pppellgckij {} +#[derive(proto_gen::CmdID)] +#[cmdid(22807)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mgdbkcgknfg { + #[prost(uint32, tag = "3")] + pub level: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6478)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lealhmkcojc { + #[prost(message, optional, tag = "4")] + pub cmpjdmmccpj: ::core::option::Option, + #[prost(uint32, tag = "10")] + pub entity_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21157)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pkjcphlnggj { + #[prost(int32, tag = "2")] + pub retcode: i32, + #[prost(uint32, tag = "5")] + pub mmkbjnciggg: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kippmopnaaa { + #[prost(enumeration = "Fjklgegnmpb", repeated, tag = "2")] + pub bkdcbbmkchh: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "5")] + pub amnobjafgpd: ::prost::alloc::vec::Vec, + #[prost(enumeration = "Fjklgegnmpb", repeated, tag = "9")] + pub eoplgdmlmac: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "12")] + pub dahkfdaacll: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9449)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bomnglcbmom { + #[prost(message, optional, tag = "10")] + pub entity_client_data: ::core::option::Option, + #[prost(uint32, tag = "15")] + pub entity_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20834)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fiehegabijp { + #[prost(int32, tag = "5")] + pub retcode: i32, + #[prost(message, optional, tag = "12")] + pub iimdjnnjiep: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7850)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hmganeaoakm { + #[prost(uint32, repeated, tag = "3")] + pub ecancphkloc: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "6")] + pub poceifcmgap: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "13")] + pub kenikecfflm: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1819)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aefjekngfcb { + #[prost(uint32, repeated, tag = "5")] + pub lfodeagdimj: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "15")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25836)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dmkdaignenj { + #[prost(int32, tag = "4")] + pub retcode: i32, + #[prost(uint32, tag = "10")] + pub param: u32, + #[prost(message, repeated, tag = "12")] + pub ohmgddcbbod: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22616)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mbjegobpaik { + #[prost(uint32, tag = "10")] + pub draft_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26068)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fjgdddhgpmj { + #[prost(uint32, repeated, tag = "2")] + pub jdcapblplna: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "4")] + pub jodpdbpgoab: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5928)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Faebfgilmed { + #[prost(bool, tag = "1")] + pub ifchjfjgmcp: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4400)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gicmdckkeib {} +#[derive(proto_gen::CmdID)] +#[cmdid(2033)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bjpplbjgjdc { + #[prost(uint32, tag = "6")] + pub poncdmkadoa: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6931)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dibjnoophae { + #[prost(int32, tag = "4")] + pub retcode: i32, + #[prost(enumeration = "Himmemhogfb", tag = "7")] + pub mfmlakbiaed: i32, + #[prost(oneof = "dibjnoophae::Gcbckcbnpmn", tags = "9")] + pub gcbckcbnpmn: ::core::option::Option, +} +/// Nested message and enum types in `DIBJNOOPHAE`. +pub mod dibjnoophae { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Gcbckcbnpmn { + #[prost(message, tag = "9")] + MusicInfo(super::Bgiahghgajd), + } +} +#[derive(proto_gen::CmdID)] +#[cmdid(5770)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ffknnbocfip { + #[prost(uint32, tag = "4")] + pub gejgkajfdcd: u32, + #[prost(message, optional, tag = "9")] + pub kkaccpnohcg: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aajgicjdcmg { + #[prost(message, repeated, tag = "15")] + pub cbenkjeocil: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fkgekadlmpi { + #[prost(message, repeated, tag = "3")] + pub lbfmkdpdebp: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "6")] + pub pjjaoilbfbn: u32, + #[prost(uint32, tag = "11")] + pub kcnnfefjgmg: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ipncbonppgb { + #[prost(message, repeated, tag = "3")] + pub ncainepkaap: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21846)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Habpodmabmd { + #[prost(int32, tag = "2")] + pub retcode: i32, + #[prost(uint32, repeated, tag = "14")] + pub ooboklehccd: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jjdmcnomdnb { + #[prost(uint32, tag = "1")] + pub pjjaoilbfbn: u32, + #[prost(bool, tag = "2")] + pub jhfmeficaal: bool, + #[prost(bool, tag = "9")] + pub ecihdijcled: bool, + #[prost(uint32, tag = "10")] + pub ppbamnfheje: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5682)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ojgocmbgpcp { + #[prost(message, repeated, tag = "7")] + pub dmfdnmjjdpc: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29287)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Boohhidmlck { + #[prost(message, optional, tag = "1")] + pub glmklipeldi: ::core::option::Option, + #[prost(uint32, tag = "15")] + pub target_uid: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22564)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fdmgnglcjjc { + #[prost(message, repeated, tag = "1")] + pub elokjjingmc: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lpanilcfgob { + #[prost(uint32, tag = "6")] + pub icimaoekkka: u32, + #[prost(uint64, repeated, tag = "13")] + pub avatar_guid_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6023)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hfglikabhle { + #[prost(int32, tag = "1")] + pub retcode: i32, + #[prost(uint32, tag = "4")] + pub olokldpagoh: u32, + #[prost(enumeration = "Bickfbjhoik", tag = "6")] + pub edioaiaiohi: i32, + #[prost(int32, tag = "14")] + pub jjnhhnfggpa: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1516)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ciacjaknbgg { + #[prost(uint32, tag = "3")] + pub key: u32, + #[prost(uint32, tag = "4")] + pub gnjcidhobia: u32, + #[prost(int32, tag = "5")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pecejflmnde { + #[prost(uint32, tag = "3")] + pub costume_id: u32, + #[prost(uint32, tag = "8")] + pub avatar_id: u32, + #[prost(bool, tag = "10")] + pub hjfopbhakde: bool, + #[prost(uint32, repeated, tag = "14")] + pub cnfodgeooef: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26721)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ohfdndhdnfm { + #[prost(uint32, tag = "8")] + pub kenikecfflm: u32, + #[prost(int32, tag = "13")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hakghkmmhhj { + #[prost(uint32, tag = "1")] + pub bafajaaibbf: u32, + #[prost(uint32, repeated, tag = "3")] + pub gijimmlhapl: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "4")] + pub jhfmeficaal: bool, + #[prost(uint32, tag = "5")] + pub pjjaoilbfbn: u32, + #[prost(uint32, tag = "6")] + pub bnnmgehjpfb: u32, + #[prost(bool, tag = "13")] + pub ecihdijcled: bool, + #[prost(uint32, tag = "14")] + pub olbbcjeahia: u32, + #[prost(uint32, tag = "15")] + pub jofbeiaclof: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8939)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mconihljnae { + #[prost(uint32, tag = "4")] + pub hfjbndpdlbe: u32, + #[prost(uint32, tag = "3")] + pub ocfbngkjgca: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25902)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Falekhbhjhh { + #[prost(bool, tag = "71")] + pub hlfdobhefcj: bool, + #[prost(oneof = "falekhbhjhh::Adebpdlaojp", tags = "1605, 406, 904, 526, 1655")] + pub adebpdlaojp: ::core::option::Option, +} +/// Nested message and enum types in `FALEKHBHJHH`. +pub mod falekhbhjhh { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Adebpdlaojp { + #[prost(message, tag = "1605")] + CameraInfo(super::Ddogijcmgki), + #[prost(message, tag = "406")] + CreatorInfo(super::Oigbjhflkkl), + #[prost(message, tag = "904")] + LocationInfo(super::Fmdngkgcopo), + #[prost(message, tag = "526")] + ThunderBirdFeatherInfo(super::Jigdfpfknhi), + #[prost(message, tag = "1655")] + SorushInfo(super::Ciofcblopdk), + } +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bhpmfophjhp { + #[prost(int32, tag = "1")] + pub r#type: i32, + #[prost(uint32, repeated, tag = "2")] + pub agldifmllhg: ::prost::alloc::vec::Vec, + #[prost(float, repeated, tag = "3")] + pub cdgfhbkoogn: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "4")] + pub miihklddfgj: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26499)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ohkpbhidbia { + #[prost(int32, tag = "3")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9723)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ljnklpifjnh { + #[prost(uint32, tag = "4")] + pub uid: u32, + #[prost(enumeration = "Jkejliipfkl", tag = "5")] + pub reason: i32, + #[prost(message, optional, tag = "10")] + pub pos: ::core::option::Option, + #[prost(uint32, repeated, tag = "13")] + pub ilmniplkenp: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27218)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cpdjaneokco { + #[prost(uint64, tag = "2")] + pub guid: u64, + #[prost(uint32, tag = "3")] + pub costume_id: u32, + #[prost(uint64, tag = "12")] + pub bmgngaabdke: u64, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27720)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dppkojffmnn {} +#[derive(proto_gen::CmdID)] +#[cmdid(23511)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bkhojbdlekk { + #[prost(uint32, tag = "5")] + pub entity_id: u32, + #[prost(message, repeated, tag = "13")] + pub bdobhhhjkma: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "15")] + pub pnabomagmpl: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4685)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pbipagmdphc { + #[prost(int32, tag = "2")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1041)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Peibkdkoobf { + #[prost(uint32, tag = "14")] + pub pgmifndnkee: u32, + #[prost(uint32, tag = "15")] + pub onabdgfcpih: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26313)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lihgldknnie {} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Akkecfcjgfn { + #[prost(bool, tag = "2")] + pub lbmialpeoba: bool, + #[prost(uint32, tag = "12")] + pub affklogicmo: u32, + #[prost(uint32, repeated, tag = "15")] + pub pigbinjahjf: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2228)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct OpenStateChangeNotify { + #[prost(map = "uint32, uint32", tag = "13")] + pub open_state_map: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21207)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pjibcigjnak { + #[prost(message, repeated, tag = "3")] + pub aahmmhijbia: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20456)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ilaimicpbdd { + #[prost(uint32, tag = "3")] + pub hmojpllgmkh: u32, + #[prost(message, repeated, tag = "7")] + pub efbplhdhlpb: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "15")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29683)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hcnibpleeae {} +#[derive(proto_gen::CmdID)] +#[cmdid(23112)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ecibonklgii { + #[prost(uint32, tag = "4")] + pub cngjenenjih: u32, + #[prost(uint32, repeated, tag = "6")] + pub fikgdofabee: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "10")] + pub dibjhdjhhlo: u32, + #[prost(int32, tag = "14")] + pub retcode: i32, + #[prost(uint32, tag = "15")] + pub mhjeokngcdf: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nomcbnkpdfh { + #[prost(message, repeated, tag = "3")] + pub kfapijcgdbc: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "13")] + pub kgimmencgmj: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22965)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Enbainpjkfj { + #[prost(uint32, repeated, tag = "1")] + pub dcimaknlpek: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "2")] + pub bdflbidddme: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "5")] + pub pfdnjopmkec: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "6")] + pub dbkljnmdmdj: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "12")] + pub lkiiefaeihe: u32, + #[prost(message, repeated, tag = "14")] + pub bfbomboinpj: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jcihiegpeai { + #[prost(uint32, tag = "3")] + pub kffhibefmpp: u32, + #[prost(uint32, tag = "5")] + pub cbfmilloboo: u32, + #[prost(uint32, tag = "6")] + pub fdjakfibmml: u32, + #[prost(uint32, tag = "7")] + pub amnljmbjnkg: u32, + #[prost(uint32, tag = "11")] + pub ddclebhphhb: u32, + #[prost(uint32, tag = "12")] + pub cmdnkflfhia: u32, + #[prost(uint32, tag = "13")] + pub ccdgnfpmobd: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(459)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ejbinbagnlp { + #[prost(uint32, tag = "1")] + pub gghkdjlgfpb: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21525)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nbnkhhfgbng { + #[prost(int32, tag = "11")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26461)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Foojgdglepn { + #[prost(uint32, repeated, tag = "12")] + pub npldfkninho: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "13")] + pub fhiddcjdchl: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "8")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1680)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fnbpmjmccdd { + #[prost(uint32, tag = "1")] + pub agoollpkfom: u32, + #[prost(uint32, tag = "3")] + pub pbaakoninkm: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28415)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lmfbgaoofah { + #[prost(int32, tag = "15")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nmhlbngkmpm { + #[prost(uint32, tag = "12")] + pub peblohahpmm: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8841)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hkhaejhjhce { + #[prost(uint32, tag = "4")] + pub hnijmehbebp: u32, + #[prost(string, tag = "6")] + pub llgjemmhion: ::prost::alloc::string::String, + #[prost(string, tag = "9")] + pub bmljclenhmh: ::prost::alloc::string::String, + #[prost(int32, tag = "13")] + pub retcode: i32, + #[prost(uint32, tag = "14")] + pub lbjaacebmkj: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hjcdigfhbdg { + #[prost(uint32, tag = "2")] + pub ajhfccmikdg: u32, + #[prost(message, repeated, tag = "4")] + pub hcdnagjhpcl: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "8")] + pub cenhkjdffda: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29735)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jcmafkfjecc { + #[prost(int32, tag = "4")] + pub retcode: i32, + #[prost(uint32, tag = "10")] + pub kfpegnaadlo: u32, + #[prost(uint32, tag = "13")] + pub gaplfmmgbfa: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1279)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hccfgmmkklg { + #[prost(message, repeated, tag = "15")] + pub dlkgdlnileh: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kbpcanibokn { + #[prost(uint32, tag = "1")] + pub dabljkejoif: u32, + #[prost(uint32, tag = "5")] + pub ghgpjjalleg: u32, + #[prost(bool, tag = "8")] + pub fafgmlajala: bool, + #[prost(message, repeated, tag = "9")] + pub lbfmkdpdebp: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "10")] + pub liaaakbhkgb: ::core::option::Option, + #[prost(uint32, tag = "13")] + pub kcnnfefjgmg: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20425)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Napmfgcnkbj { + #[prost(uint32, repeated, tag = "2")] + pub njhgoaehndm: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "7")] + pub pkkkijalpnm: u32, + #[prost(uint32, tag = "8")] + pub bnblmfkkfgg: u32, + #[prost(uint32, repeated, tag = "10")] + pub caknfaoiikk: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "15")] + pub dfpnkfekiig: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2232)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cpkloabkllh { + #[prost(int32, tag = "1")] + pub retcode: i32, + #[prost(uint32, tag = "2")] + pub hajbdmhdgig: u32, + #[prost(uint32, tag = "11")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9843)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jbmjkgnikbg { + #[prost(int32, tag = "4")] + pub retcode: i32, + #[prost(uint32, tag = "15")] + pub omgchbachci: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26214)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dpknfgllccg { + #[prost(int32, tag = "5")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26685)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ikomchmhpck { + #[prost(uint32, tag = "13")] + pub kpidllgnojf: u32, + #[prost(uint32, tag = "9")] + pub anhigelnhkp: u32, + #[prost(uint32, tag = "10")] + pub item_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8464)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ahlejoifjoa { + #[prost(uint64, repeated, tag = "8")] + pub nmbemjimjob: ::prost::alloc::vec::Vec, + #[prost(uint64, repeated, tag = "7")] + pub hhbnnbdgfim: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "6")] + pub mempkcgnnmf: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Obhhgacommg { + #[prost(uint32, tag = "2")] + pub uid: u32, + #[prost(uint32, tag = "4")] + pub pcklffnfnge: u32, + #[prost(uint32, tag = "6")] + pub kpampgdjdhe: u32, + #[prost(uint32, tag = "10")] + pub pjfpehfamal: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(67)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oogmgdjiegj { + #[prost(uint32, tag = "11")] + pub ebabpeldogg: u32, + #[prost(uint32, tag = "1")] + pub avatar_id: u32, + #[prost(uint32, tag = "15")] + pub lelhnlhlefe: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1865)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bakflajhlfl { + #[prost(message, repeated, tag = "2")] + pub cealfdpamip: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mcieobogomj { + #[prost(uint32, tag = "1")] + pub pjjaoilbfbn: u32, + #[prost(enumeration = "Paahdfjmicd", tag = "5")] + pub reason: i32, + #[prost(uint32, tag = "13")] + pub jofbeiaclof: u32, + #[prost(bool, tag = "14")] + pub dggckmikbmo: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5797)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nhhcpooanei { + #[prost(map = "uint32, int32", tag = "10")] + pub gbhmagadalj: ::std::collections::HashMap, + #[prost(map = "uint32, int32", tag = "11")] + pub eiaeimkelej: ::std::collections::HashMap, + #[prost(uint32, tag = "1")] + pub poooojlncao: u32, + #[prost(uint32, tag = "8")] + pub oboopjlpdni: u32, + #[prost(uint32, tag = "9")] + pub bdlmcmkdboe: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Omhekeepfff { + #[prost(message, repeated, tag = "13")] + pub bdloifdnkjl: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pniahagbeck {} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Noflbmenknc { + #[prost(uint32, tag = "11")] + pub mdkdcjmlflo: u32, + #[prost(bytes = "vec", tag = "14")] + pub okjmeafggdc: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ioliklnlgcl { + #[prost(uint32, tag = "1")] + pub dmkfeccmcop: u32, + #[prost(map = "uint32, message", tag = "2")] + pub ckfeffbpdad: ::std::collections::HashMap, + #[prost(bool, tag = "3")] + pub ecihdijcled: bool, + #[prost(uint32, tag = "8")] + pub mempkcgnnmf: u32, + #[prost(bool, tag = "13")] + pub jhfmeficaal: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21352)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Igmhfcbcnpn {} +#[derive(proto_gen::CmdID)] +#[cmdid(1266)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Peiddijlolk { + #[prost(uint32, repeated, tag = "3")] + pub ekkkkdcddba: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "8")] + pub gjgoapaaigc: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jpooncljeai { + #[prost(message, optional, tag = "1")] + pub ofcgnbaaonj: ::core::option::Option, + #[prost(int32, tag = "3")] + pub bedacoieima: i32, + #[prost(float, tag = "4")] + pub ddebgodpmhd: f32, + #[prost(message, optional, tag = "6")] + pub hnaidnldhkk: ::core::option::Option, + #[prost(message, optional, tag = "7")] + pub ljmhpglfpon: ::core::option::Option, + #[prost(int32, tag = "9")] + pub fogaolefdmf: i32, + #[prost(message, optional, tag = "11")] + pub pos: ::core::option::Option, + #[prost(uint32, tag = "13")] + pub entity_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jeeinadadjm { + #[prost(int32, tag = "7")] + pub gnjcidhobia: i32, + #[prost(bool, tag = "8")] + pub is_add: bool, + #[prost(uint32, tag = "13")] + pub okicoglejec: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(218)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Noagbppaadj { + #[prost(uint32, repeated, tag = "5")] + pub njjceijccag: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kaalepbpclm { + #[prost(int32, tag = "4")] + pub pjiaolagoai: i32, + #[prost(message, optional, tag = "6")] + pub iemhpjaofcn: ::core::option::Option, + #[prost(int64, tag = "11")] + pub okicoglejec: i64, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Njeiiebdgjb { + #[prost(uint32, tag = "4")] + pub mempkcgnnmf: u32, + #[prost(bool, tag = "9")] + pub ecihdijcled: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hchjmocboke { + #[prost(uint32, tag = "10")] + pub group_id: u32, + #[prost(oneof = "hchjmocboke::Detail", tags = "94, 135, 749, 1169, 1938")] + pub detail: ::core::option::Option, +} +/// Nested message and enum types in `HCHJMOCBOKE`. +pub mod hchjmocboke { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Detail { + #[prost(message, tag = "94")] + SeekFurnitureGalleryInfo(super::Dngnakadcba), + #[prost(message, tag = "135")] + StakePlayInfo(super::Cjploceginb), + #[prost(message, tag = "749")] + ExplosionInfo(super::Miakdjelhdc), + #[prost(message, tag = "1169")] + BalloonGalleryInfo(super::Ekjfibamkei), + #[prost(message, tag = "1938")] + RacingGalleryInfo(super::Phpjijiehee), + } +} +#[derive(proto_gen::CmdID)] +#[cmdid(27135)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kcbaibhffkj { + #[prost(uint32, tag = "3")] + pub level: u32, + #[prost(uint32, tag = "4")] + pub gghkdjlgfpb: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct AbilityAppliedModifier { + #[prost(int32, tag = "1")] + pub modifier_local_id: i32, + #[prost(uint32, tag = "2")] + pub parent_ability_entity_id: u32, + #[prost(message, optional, tag = "3")] + pub parent_ability_name: ::core::option::Option, + #[prost(message, optional, tag = "4")] + pub parent_ability_override: ::core::option::Option, + #[prost(uint32, tag = "5")] + pub instanced_ability_id: u32, + #[prost(uint32, tag = "6")] + pub instanced_modifier_id: u32, + #[prost(float, tag = "7")] + pub exist_duration: f32, + #[prost(message, optional, tag = "8")] + pub attached_instanced_modifier: ::core::option::Option, + #[prost(uint32, tag = "9")] + pub apply_entity_id: u32, + #[prost(bool, tag = "10")] + pub is_attached_parent_ability: bool, + #[prost(message, optional, tag = "11")] + pub modifier_durability: ::core::option::Option, + #[prost(uint32, tag = "12")] + pub sbuff_uid: u32, + #[prost(bool, tag = "13")] + pub is_serverbuff_modifier: bool, + #[prost(bool, tag = "14")] + pub ncegkbanobp: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pcmpihmioph { + #[prost(uint32, tag = "4")] + pub avatar_id: u32, + #[prost(bool, tag = "10")] + pub hblihlkjeda: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1158)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kplkanodolc { + #[prost(uint32, tag = "11")] + pub epjoaallggd: u32, + #[prost(uint32, tag = "2")] + pub eaflfgdfphc: u32, + #[prost(uint32, tag = "7")] + pub onabdgfcpih: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lcmdacefjpa { + #[prost(uint32, tag = "2")] + pub uid: u32, + #[prost(string, tag = "3")] + pub bkdilgijpeg: ::prost::alloc::string::String, + #[prost(message, repeated, tag = "4")] + pub bfbomboinpj: ::prost::alloc::vec::Vec, + #[prost(int64, tag = "5")] + pub param: i64, + #[prost(uint32, tag = "6")] + pub djcfmfedncg: u32, + #[prost(uint32, tag = "7")] + pub ammiaeoigod: u32, + #[prost(message, optional, tag = "9")] + pub blfkojlccoo: ::core::option::Option, + #[prost(string, tag = "10")] + pub kamjijolfkj: ::prost::alloc::string::String, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5406)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jpncnpbedkd { + #[prost(uint32, repeated, tag = "12")] + pub pkhadhnafng: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3649)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nnclbhpgino { + #[prost(uint32, tag = "6")] + pub kdefnpgadfb: u32, + #[prost(uint32, tag = "3")] + pub okicoglejec: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21568)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nkdkkmmfpfo { + #[prost(uint32, tag = "10")] + pub pebgmemnknf: u32, + #[prost(uint32, tag = "9")] + pub group_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23993)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pegdmpldbgh { + #[prost(enumeration = "Ckbnedpjfdo", tag = "2")] + pub state: i32, + #[prost(uint32, tag = "7")] + pub uid: u32, + #[prost(string, tag = "12")] + pub bkdilgijpeg: ::prost::alloc::string::String, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dnfiacdomng { + #[prost(enumeration = "Donnpjameed", tag = "1")] + pub cmnkkdbhijg: i32, + #[prost(uint32, tag = "2")] + pub fbpgimlmdnj: u32, + #[prost(fixed64, tag = "6")] + pub ohdfeiceled: u64, + #[prost(fixed64, tag = "14")] + pub lgbnfifcpjf: u64, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22072)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hapaefddgil { + #[prost(uint32, tag = "1")] + pub nnebhhfhdcc: u32, + #[prost(int32, tag = "2")] + pub retcode: i32, + #[prost(uint32, tag = "3")] + pub mempkcgnnmf: u32, + #[prost(message, repeated, tag = "5")] + pub hfmnaekikjd: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "7")] + pub cnhpajjbbeh: u32, + #[prost(uint32, tag = "11")] + pub leonidobchj: u32, + #[prost(uint32, tag = "12")] + pub dddppnmbdap: u32, + #[prost(uint32, tag = "13")] + pub fmpcppnebgo: u32, + #[prost(bool, tag = "14")] + pub cdhlmfllcol: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8537)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Figeafjgijb {} +#[derive(proto_gen::CmdID)] +#[cmdid(6133)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Akmnpihegfg { + #[prost(message, optional, tag = "14")] + pub bojcnnpkmkj: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub ccnnjmkemlc: ::core::option::Option, + #[prost(int32, tag = "4")] + pub uid: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oigbjhflkkl { + #[prost(message, optional, tag = "1")] + pub ioaniaknphc: ::core::option::Option, + #[prost(enumeration = "Bhefkoojnok", tag = "7")] + pub kfmglfjdodo: i32, + #[prost(uint32, tag = "9")] + pub entity_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2630)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oooagikfmld { + #[prost(fixed32, tag = "2")] + pub gcbnfplahld: u32, + #[prost(uint32, tag = "6")] + pub cdmjgifefmd: u32, + #[prost(bool, tag = "14")] + pub oenhcblfpfc: bool, + #[prost(int32, tag = "15")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(333)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bbgjkbjochk { + #[prost(uint32, tag = "11")] + pub param: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9135)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cippmbcjmmc { + #[prost(message, optional, tag = "8")] + pub kjjaoigfjpn: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26290)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Epdlhfemfca {} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Knedolcpica { + #[prost(message, repeated, tag = "2")] + pub cbenkjeocil: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "14")] + pub dfpnkfekiig: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ingaohghfmo { + #[prost(bool, tag = "8")] + pub hblihlkjeda: bool, + #[prost(uint32, tag = "11")] + pub avatar_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8127)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dnhneecnhmi { + #[prost(message, optional, tag = "2")] + pub hffikmkijcm: ::core::option::Option, + #[prost(bool, tag = "14")] + pub llcocjhjbme: bool, + #[prost(uint32, tag = "3")] + pub gaplfmmgbfa: u32, + #[prost(uint32, tag = "13")] + pub lbclghbmdaf: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3721)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mjfeecojeam { + #[prost(uint32, tag = "11")] + pub mnganmnnmjg: u32, + #[prost(int32, tag = "14")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fjhbjodapmi { + #[prost(uint32, tag = "7")] + pub ghiaogllldi: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7564)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gbpcjffgjng { + #[prost(int32, tag = "4")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(106)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iojpcfcoinf { + #[prost(uint32, repeated, tag = "7")] + pub pkhadhnafng: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27101)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bpcgpmhahbm {} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Joapclnjbca { + #[prost(uint32, repeated, tag = "5")] + pub ogjodgflein: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "7")] + pub skill_depot_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2564)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gplniamepfd { + #[prost(message, repeated, tag = "1")] + pub neidbaohpfn: ::prost::alloc::vec::Vec, + #[prost(uint64, repeated, tag = "5")] + pub cjonapommcc: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24508)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dmonbonilcc { + #[prost(uint32, tag = "3")] + pub gbcebgkbjdm: u32, + #[prost(uint32, repeated, tag = "4")] + pub cmhjnabfhgj: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2659)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jaolpdoenbb { + #[prost(int32, tag = "6")] + pub retcode: i32, + #[prost(int32, repeated, tag = "11")] + pub dekiihdlaoi: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "14")] + pub item_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lbbincmibal { + #[prost(uint32, tag = "4")] + pub group_id: u32, + #[prost(bool, tag = "5")] + pub hpdagjjbnfc: bool, + #[prost(uint32, tag = "12")] + pub config_id: u32, + #[prost(message, optional, tag = "13")] + pub kdhjlmkfman: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23405)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kaobpdlphln { + #[prost(int32, tag = "1")] + pub retcode: i32, + #[prost(uint32, tag = "3")] + pub pjegodebmjc: u32, + #[prost(uint32, tag = "5")] + pub cjlmaokmpei: u32, + #[prost(uint32, tag = "6")] + pub pjjaoilbfbn: u32, + #[prost(bool, tag = "10")] + pub jhfmeficaal: bool, + #[prost(uint32, tag = "12")] + pub dekhbeooien: u32, + #[prost(bool, tag = "15")] + pub dggckmikbmo: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kelbfndhnik { + #[prost(message, optional, tag = "4")] + pub abpjibdjipa: ::core::option::Option, + #[prost(bool, tag = "9")] + pub ngdokajiafh: bool, + #[prost(uint32, tag = "12")] + pub jhladdklcfi: u32, + #[prost(oneof = "kelbfndhnik::Adebpdlaojp", tags = "13, 14")] + pub adebpdlaojp: ::core::option::Option, +} +/// Nested message and enum types in `KELBFNDHNIK`. +pub mod kelbfndhnik { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Adebpdlaojp { + #[prost(message, tag = "13")] + ShopInfo(super::Pdgijgaopfj), + #[prost(message, tag = "14")] + ChestInfo(super::Cocnecpfgje), + } +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cbfomllhkkk { + #[prost(bool, tag = "1")] + pub mjeofikhfem: bool, + #[prost(uint32, tag = "2")] + pub owner_entity_id: u32, + #[prost(uint32, tag = "3")] + pub instanced_modifier_id: u32, + #[prost(bool, tag = "4")] + pub is_serverbuff_modifier: bool, + #[prost(int32, tag = "5")] + pub phdilklhgad: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iamcelokjpm { + #[prost(uint32, tag = "2")] + pub avatar_id: u32, + #[prost(bool, tag = "10")] + pub hblihlkjeda: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25557)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aecilhmilao { + #[prost(int32, tag = "7")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2115)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eplfhfiboec { + #[prost(uint32, tag = "13")] + pub kbmklmgchna: u32, + #[prost(uint32, tag = "11")] + pub kpocigpealj: u32, + #[prost(bool, tag = "14")] + pub lgggaifaenk: bool, + #[prost(uint32, tag = "10")] + pub gnfhgjpcdnh: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jnpnfmdpjfl { + #[prost(string, tag = "5")] + pub bkdilgijpeg: ::prost::alloc::string::String, + #[prost(uint32, tag = "8")] + pub uid: u32, + #[prost(uint32, repeated, tag = "13")] + pub fdjpppfghne: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "15")] + pub blfkojlccoo: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26882)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Efdpiajailk { + #[prost(int32, tag = "9")] + pub retcode: i32, + #[prost(uint32, tag = "12")] + pub indikfknkab: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9163)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jieongdphbc { + #[prost(message, repeated, tag = "6")] + pub hmfcfgmgjop: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "7")] + pub afoebhfgfka: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "13")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hohjmannnmg { + #[prost(uint32, tag = "1")] + pub nnaalgjoaio: u32, + #[prost(uint32, tag = "4")] + pub njplicfcfjd: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21607)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jglfjjohdib { + #[prost(int32, tag = "5")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cdffjficdhk { + #[prost(bool, tag = "3")] + pub khhimjnknnn: bool, + #[prost(message, optional, tag = "6")] + pub llnnhdpegef: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kpjfpadpfmj { + #[prost(message, repeated, tag = "7")] + pub fckhpeancna: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(704)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gbklbgdlmgi { + #[prost(bool, tag = "13")] + pub bgaoacgaldg: bool, + #[prost(uint32, tag = "14")] + pub iehlhaogkpj: u32, + #[prost(uint32, tag = "15")] + pub plicgiinkfi: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3381)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jlbbnoafgko { + #[prost(bool, tag = "12")] + pub fdgoboihcbp: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct AbilityScalarValueEntry { + #[prost(message, optional, tag = "1")] + pub key: ::core::option::Option, + #[prost(float, tag = "3")] + pub float_value: f32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(957)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jaoomhpmaga { + #[prost(uint32, tag = "8")] + pub epjoaallggd: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct AbilityMixinRecoverInfo { + #[prost(uint32, tag = "3")] + pub local_id: u32, + #[prost(uint32, repeated, tag = "4")] + pub data_list: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "5")] + pub is_serverbuff_modifier: bool, + #[prost(message, repeated, tag = "6")] + pub massive_prop_list: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "7")] + pub breakout_snap_shot: ::core::option::Option, + #[prost(message, optional, tag = "8")] + pub fjbmdphicpf: ::core::option::Option, + #[prost(oneof = "ability_mixin_recover_info::Nkkgedpmjke", tags = "1, 2")] + pub nkkgedpmjke: ::core::option::Option, +} +/// Nested message and enum types in `AbilityMixinRecoverInfo`. +pub mod ability_mixin_recover_info { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Nkkgedpmjke { + #[prost(uint32, tag = "1")] + InstancedAbilityId(u32), + #[prost(uint32, tag = "2")] + InstancedModifierId(u32), + } +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Adonikgmppl { + #[prost(uint32, tag = "1")] + pub knlilapdkkg: u32, + #[prost(bool, tag = "5")] + pub ffpnmobaknf: bool, + #[prost(uint32, tag = "11")] + pub gigkdjinolg: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ekpablifilg { + #[prost(uint32, tag = "1")] + pub clonhpkokce: u32, + #[prost(uint32, tag = "10")] + pub ehgpnneefob: u32, + #[prost(uint32, tag = "11")] + pub gigkdjinolg: u32, + #[prost(uint32, tag = "13")] + pub mclncmfnpjd: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21935)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jeieicjfebd { + #[prost(uint32, repeated, tag = "13")] + pub jcdfoeebcgn: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Moeoafiaijc { + #[prost(message, repeated, tag = "8")] + pub bppncgienig: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "14")] + pub pjjlmhgjkdg: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8958)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Liieplfmnai { + #[prost(string, tag = "10")] + pub dmmfjmbmjha: ::prost::alloc::string::String, + #[prost(uint32, tag = "12")] + pub cgepcdfidnf: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7096)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jhnhlebcndk { + #[prost(string, tag = "9")] + pub pcapihekaoo: ::prost::alloc::string::String, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mpeooopechb { + #[prost(uint32, tag = "5")] + pub jcnhcifmgkj: u32, + #[prost(message, optional, tag = "9")] + pub dpfhlalanae: ::core::option::Option, + #[prost(uint32, tag = "14")] + pub peer_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2013)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Okicbjhlhlf { + #[prost(uint32, tag = "4")] + pub game_time: u32, + #[prost(uint32, tag = "9")] + pub padclipinad: u32, + #[prost(uint32, repeated, tag = "11")] + pub aeppkckcibp: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "13")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25314)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Megnppjcodb { + #[prost(uint32, tag = "14")] + pub lgbmbjcjmka: u32, + #[prost(uint32, tag = "8")] + pub group_id: u32, + #[prost(uint32, tag = "10")] + pub dbkoiphedke: u32, + #[prost(uint32, tag = "2")] + pub lkigjmjnmbj: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cobiiagbpoo { + #[prost(uint32, tag = "1")] + pub entity_id: u32, + #[prost(float, tag = "2")] + pub jogjekpidih: f32, + #[prost(message, optional, tag = "3")] + pub mnijadclicp: ::core::option::Option, + #[prost(int32, tag = "4")] + pub ehlacbflmdf: i32, + #[prost(message, optional, tag = "5")] + pub dbkfohkalbf: ::core::option::Option, + #[prost(bool, tag = "6")] + pub fbbacpmpgce: bool, + #[prost(float, tag = "7")] + pub jijafhohiaf: f32, + #[prost(int32, tag = "10")] + pub dpokehnmemf: i32, + #[prost(message, optional, tag = "11")] + pub ogloicbjfmk: ::core::option::Option, + #[prost(bool, tag = "13")] + pub mfekinkpikk: bool, + #[prost(message, optional, tag = "14")] + pub foppejekepc: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6470)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lllddlnhkhl { + #[prost(message, repeated, tag = "4")] + pub imegmngkdin: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "11")] + pub hcdnphnkbhb: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "14")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ogflejapleo { + #[prost(float, tag = "1")] + pub x: f32, + #[prost(float, tag = "2")] + pub y: f32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26075)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cboldjecjpd { + #[prost(uint32, tag = "2")] + pub oboopjlpdni: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9804)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Daehleacgcp { + #[prost(uint32, tag = "1")] + pub gdjklhgohif: u32, + #[prost(uint32, tag = "3")] + pub hajbdmhdgig: u32, + #[prost(uint32, tag = "5")] + pub pjjaoilbfbn: u32, + #[prost(int32, tag = "11")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9463)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cknpamkcmbg { + #[prost(message, repeated, tag = "12")] + pub kfapijcgdbc: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Epigpippdpk { + #[prost(bool, tag = "1")] + pub dohhenfngpe: bool, + #[prost(uint32, tag = "12")] + pub avatar_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22908)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pophndoikbi { + #[prost(string, tag = "11")] + pub dmmfjmbmjha: ::prost::alloc::string::String, + #[prost(string, tag = "7")] + pub ijpbkndjghk: ::prost::alloc::string::String, + #[prost(enumeration = "Nlkboohnhhj", tag = "1")] + pub reason: i32, + #[prost(uint32, tag = "3")] + pub target_uid: u32, + #[prost(uint32, tag = "14")] + pub nbfgkpbcglj: u32, + #[prost(enumeration = "Gecmbiekdnd", tag = "5")] + pub pcdfbnghgal: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ghobinfolap { + #[prost(uint32, tag = "3")] + pub kill_num: u32, + #[prost(uint32, tag = "4")] + pub dekhbeooien: u32, + #[prost(bool, tag = "7")] + pub dggckmikbmo: bool, + #[prost(uint32, tag = "12")] + pub diggffkgodj: u32, + #[prost(uint32, tag = "13")] + pub uid: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Afnbgdddoad { + #[prost(float, tag = "12")] + pub emdgkjginac: f32, + #[prost(uint64, tag = "13")] + pub avatar_guid: u64, + #[prost(float, tag = "15")] + pub ijffkcgiaoj: f32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ooiecfnaamk { + #[prost(message, repeated, tag = "3")] + pub cbenkjeocil: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pgmifagdokh { + #[prost(map = "uint32, uint32", tag = "1")] + pub ikjjpjccdon: ::std::collections::HashMap, + #[prost(uint32, repeated, tag = "3")] + pub ofbcbogfcej: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "4")] + pub jphhgapgmbm: ::prost::alloc::vec::Vec, + #[prost(map = "uint32, message", tag = "9")] + pub khcdchnfglb: ::std::collections::HashMap, + #[prost(uint32, tag = "15")] + pub bfpcnieejmi: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6819)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pjcpkbnikik { + #[prost(uint32, tag = "11")] + pub iamcnilplco: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2510)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ljohlmckhdc { + #[prost(message, optional, tag = "5")] + pub goeachamiaf: ::core::option::Option, + #[prost(uint32, tag = "7")] + pub hjbeggjocdn: u32, + #[prost(uint32, tag = "10")] + pub gkhnlkaadng: u32, + #[prost(enumeration = "PlayerDieType", tag = "14")] + pub jdfbfdifmmj: i32, + #[prost(oneof = "ljohlmckhdc::Entity", tags = "8, 15")] + pub entity: ::core::option::Option, +} +/// Nested message and enum types in `LJOHLMCKHDC`. +pub mod ljohlmckhdc { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Entity { + #[prost(uint32, tag = "8")] + GadgetId(u32), + #[prost(uint32, tag = "15")] + MonsterId(u32), + } +} +#[derive(proto_gen::CmdID)] +#[cmdid(27005)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Olgbcpimphb { + #[prost(uint32, tag = "10")] + pub cenhkjdffda: u32, + #[prost(uint32, repeated, tag = "14")] + pub dnijppkbcbd: ::prost::alloc::vec::Vec, + #[prost(enumeration = "Nmjpfhhjdan", tag = "15")] + pub reason: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22280)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gjpmidlfoeo { + #[prost(uint32, tag = "8")] + pub lbclghbmdaf: u32, + #[prost(uint32, tag = "13")] + pub scene_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26220)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Keeboilolji { + #[prost(int32, tag = "2")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26098)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oajglamdcbl { + #[prost(string, tag = "4")] + pub dppibjfomoc: ::prost::alloc::string::String, + #[prost(enumeration = "Edodpnmmkli", tag = "1")] + pub okjdomaeibc: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1719)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ibppbggkbbn { + #[prost(uint32, tag = "10")] + pub pelmfdngnfp: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24884)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Peiklcinook { + #[prost(uint32, tag = "4")] + pub lhdahdneppl: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jhlgcngflaf { + #[prost(uint32, tag = "3")] + pub fepmfinomjl: u32, + #[prost(uint32, tag = "5")] + pub ocedblchfid: u32, + #[prost(uint32, tag = "11")] + pub bgbcfmhofph: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fcfgmgnhadp { + #[prost(message, optional, tag = "1")] + pub rot: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub pos: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29907)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Djkobapablm {} +#[derive(proto_gen::CmdID)] +#[cmdid(2699)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct TeamResonanceChangeNotify { + #[prost(message, repeated, tag = "11")] + pub info_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Genjmanaclb { + #[prost(message, repeated, tag = "13")] + pub ajjgcehclkp: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21514)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bnjafbpdlkp { + #[prost(uint32, tag = "1")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Anaepbepalc { + #[prost(uint32, repeated, tag = "3")] + pub ilmniplkenp: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "12")] + pub dbdmhkfhekf: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24585)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jhdgmmbijih { + #[prost(int32, tag = "8")] + pub retcode: i32, + #[prost(uint32, tag = "15")] + pub gpdogmpijfc: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6502)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mehmeknclbi { + #[prost(uint32, tag = "7")] + pub oboopjlpdni: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2611)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Alakmkplnom { + #[prost(uint32, repeated, tag = "9")] + pub dlkekcdojbj: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mlkdabblifk { + #[prost(uint32, tag = "1")] + pub uid: u32, + #[prost(uint64, tag = "2")] + pub avatar_guid: u64, + #[prost(uint32, tag = "3")] + pub pos: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25101)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lcedhafadgn { + #[prost(uint32, tag = "3")] + pub mhghinogbgd: u32, + #[prost(int32, tag = "6")] + pub retcode: i32, + #[prost(uint32, tag = "8")] + pub cenhkjdffda: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Poipababmda { + #[prost(uint32, tag = "1")] + pub item_id: u32, + #[prost(uint32, tag = "2")] + pub count: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24016)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ejlahoahlhf { + #[prost(int32, tag = "3")] + pub retcode: i32, + #[prost(uint32, tag = "5")] + pub jlfheeipddp: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3033)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kehplkogemf { + #[prost(uint32, tag = "4")] + pub gaplfmmgbfa: u32, + #[prost(int32, tag = "5")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24379)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ngbfhpgmcdc {} +#[derive(proto_gen::CmdID)] +#[cmdid(29504)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fblidjmbjjo { + #[prost(uint32, tag = "9")] + pub khhibkpbkpn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9186)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gbkmfpijanp { + #[prost(uint32, repeated, tag = "15")] + pub napgdlclmef: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29273)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ojpdnbkpiki { + #[prost(message, repeated, tag = "1")] + pub mphoejbnnbh: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "2")] + pub retcode: i32, + #[prost(uint32, tag = "3")] + pub lpddmnemjlg: u32, + #[prost(message, repeated, tag = "7")] + pub item_list: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "10")] + pub kpmhbfhlaea: ::core::option::Option, + #[prost(uint32, tag = "12")] + pub ejcpfnngjkh: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3718)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dfcgceniibe { + #[prost(uint32, repeated, tag = "2")] + pub nnfbhpjcono: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "1890")] + pub cfkplnkhfkn: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "1683")] + pub gikjkdblfad: u32, + #[prost(bool, tag = "766")] + pub hkjpcjflnfj: bool, + #[prost(bool, tag = "13")] + pub jfjdimpcnnf: bool, + #[prost(bool, tag = "167")] + pub oedcpfgakam: bool, + #[prost(uint32, tag = "15")] + pub dekhbeooien: u32, + #[prost(float, tag = "1015")] + pub speed: f32, + #[prost(uint32, tag = "1923")] + pub jjkibhbpppo: u32, + #[prost(uint32, tag = "967")] + pub jpeglebnigl: u32, + #[prost(uint32, tag = "7")] + pub aboagokkiea: u32, + #[prost(uint32, tag = "3")] + pub jlfheeipddp: u32, + #[prost(uint32, tag = "8")] + pub bhpgplpcnpl: u32, + #[prost(uint32, tag = "14")] + pub clcabcnlgfm: u32, + #[prost(uint32, tag = "11")] + pub pcklffnfnge: u32, + #[prost(uint64, tag = "9")] + pub dcompdppdpo: u64, + #[prost(uint32, tag = "6")] + pub cjbckcobhff: u32, + #[prost(uint32, tag = "1")] + pub ejnglcjnapn: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Immkojealha { + #[prost(uint32, tag = "4")] + pub gldnnfocdem: u32, + #[prost(uint32, tag = "10")] + pub avatar_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5500)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pdommnpffdc { + #[prost(int32, tag = "6")] + pub retcode: i32, + #[prost(message, optional, tag = "14")] + pub caibdankdon: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20623)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kocmfnhpiel { + #[prost(message, optional, tag = "7")] + pub pfacbmgkkep: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub hfhepkakhmn: ::core::option::Option, + #[prost(message, optional, tag = "10")] + pub ebagamdkggd: ::core::option::Option, + #[prost(message, optional, tag = "1")] + pub egchgonpakb: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8228)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lpghankihig { + #[prost(uint32, tag = "2")] + pub pjegodebmjc: u32, + #[prost(uint32, tag = "13")] + pub jcejajfndhm: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4114)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pieeokhjoec { + #[prost(uint32, tag = "3")] + pub omgchbachci: u32, + #[prost(int32, tag = "9")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ajkdchjakid { + #[prost(message, optional, tag = "7")] + pub abpjibdjipa: ::core::option::Option, + #[prost(message, repeated, tag = "11")] + pub item_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "12")] + pub dllfgdhcalb: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(937)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kcanlihbmpm {} +#[derive(proto_gen::CmdID)] +#[cmdid(28419)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ngeahblccbn {} +#[derive(proto_gen::CmdID)] +#[cmdid(1580)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eomchklooce {} +#[derive(proto_gen::CmdID)] +#[cmdid(376)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gkjjjbbncep { + #[prost(int32, tag = "2")] + pub oaagmpkikgi: i32, + #[prost(uint32, tag = "7")] + pub mmldgpbiecc: u32, + #[prost(uint32, tag = "3")] + pub entity_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26278)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ppmbleciadk { + #[prost(uint64, tag = "3")] + pub avatar_guid: u64, + #[prost(uint32, tag = "8")] + pub entity_id: u32, + #[prost(uint32, tag = "9")] + pub ablfjpmkkda: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ieoeihipalb { + #[prost(uint32, tag = "6")] + pub mempkcgnnmf: u32, + #[prost(message, repeated, tag = "10")] + pub oopopjofcgm: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "11")] + pub ecihdijcled: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29308)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iopbodojola { + #[prost(message, repeated, tag = "1")] + pub ohmgddcbbod: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "4")] + pub jbadgiahpgc: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "7")] + pub piknkfonbhj: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lfimhkhfcok { + #[prost(uint32, tag = "6")] + pub ifnjcelnabn: u32, + #[prost(uint32, tag = "14")] + pub state: u32, + #[prost(uint32, tag = "15")] + pub kenikecfflm: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6273)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Maamibblgmk { + #[prost(map = "uint32, message", tag = "7")] + pub prop_map: ::std::collections::HashMap, + #[prost(message, optional, tag = "14")] + pub mcgfnjlcedm: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4262)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pneaheegopi { + #[prost(string, tag = "6")] + pub dppibjfomoc: ::prost::alloc::string::String, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25238)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bgpknenkphm { + #[prost(uint32, tag = "13")] + pub fchfakepinp: u32, + #[prost(uint32, tag = "15")] + pub okicoglejec: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lhjhjbonaka { + #[prost(message, optional, tag = "1")] + pub kmgkacaalcl: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub delete_info: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mpaamemplbp { + #[prost(uint32, repeated, tag = "7")] + pub iaiigfiphem: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "10")] + pub konboaobchp: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "11")] + pub knchdpbaage: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "14")] + pub heaabglojhh: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1579)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jicdjaockja { + #[prost(uint32, tag = "4")] + pub lplhaeppnlh: u32, + #[prost(uint32, tag = "8")] + pub bigfelpplae: u32, + #[prost(uint32, repeated, tag = "12")] + pub nceldlhfoii: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "13")] + pub mdbppoihcnm: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dlmkgdnbhel { + #[prost(uint32, tag = "5")] + pub pbocochgfja: u32, + #[prost(bool, tag = "7")] + pub eialjbaengj: bool, + #[prost(uint32, tag = "11")] + pub fmjigfmbjpj: u32, + #[prost(uint32, tag = "13")] + pub geihmkhcije: u32, + #[prost(uint32, tag = "15")] + pub ghiaogllldi: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bdigdpejfbf { + #[prost(uint32, tag = "6")] + pub bcgeoglhkan: u32, + #[prost(uint32, tag = "7")] + pub nnebhhfhdcc: u32, + #[prost(bool, tag = "9")] + pub dmedoehomkh: bool, + #[prost(uint32, tag = "10")] + pub ihlceedfind: u32, + #[prost(bool, tag = "12")] + pub ahpppoloeno: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6855)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Abehebcbieo { + #[prost(message, repeated, tag = "1")] + pub knbifccible: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "2")] + pub poiggnkedah: bool, + #[prost(uint32, tag = "4")] + pub pdkifkkmhcn: u32, + #[prost(uint32, repeated, tag = "5")] + pub cdidjfpemmi: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "6")] + pub bknplfikkfg: u32, + #[prost(message, repeated, tag = "7")] + pub filhggiljln: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "10")] + pub lgbnfifcpjf: u32, + #[prost(bool, tag = "12")] + pub midheclibbo: bool, + #[prost(uint32, tag = "15")] + pub fpedhedekpe: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28083)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hpphfmhegkj { + #[prost(enumeration = "Eoniaegppec", tag = "6")] + pub ogicmfigkpm: i32, + #[prost(message, repeated, tag = "12")] + pub params: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ekpabgijlbo { + #[prost(message, repeated, tag = "6")] + pub gjnnddahmcc: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "11")] + pub skill_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1748)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iknjpddcmmp { + #[prost(uint32, tag = "2")] + pub lioojoaiamc: u32, + #[prost(message, optional, tag = "5")] + pub kkaccpnohcg: ::core::option::Option, + #[prost(enumeration = "Oeaoccjeope", tag = "11")] + pub ddiaamkbfda: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26981)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bjbbiahcham { + #[prost(message, optional, tag = "7")] + pub nnfpnodfkob: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8292)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bbdfoljdmgo { + #[prost(message, optional, tag = "12")] + pub ddpgemgdhel: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fgeenjnkegb { + #[prost(uint32, tag = "9")] + pub iejhhmbobmj: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23980)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Anlpjlbmhfi { + #[prost(message, repeated, tag = "8")] + pub mcdijkphlno: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22394)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Inbpkaehjpc { + #[prost(int32, tag = "6")] + pub retcode: i32, + #[prost(bool, tag = "12")] + pub nkgbaemaplp: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gkibkgpgakj { + #[prost(message, repeated, tag = "4")] + pub fhpgbcfaake: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "5")] + pub mkjgkkilehi: i32, + #[prost(message, repeated, tag = "10")] + pub hhfokbpdnlg: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "11")] + pub hkaaoaeamkk: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6230)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fjchdbccpkn { + #[prost(uint32, tag = "5")] + pub pdgnedcpoch: u32, + #[prost(map = "uint32, message", tag = "9")] + pub oegmmdljkdm: ::std::collections::HashMap, + #[prost(int32, tag = "13")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28894)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iiohdchmcep { + #[prost(int32, tag = "7")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26714)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kmjahahafbo { + #[prost(int32, tag = "11")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5927)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lnebhnakkme { + #[prost(uint32, tag = "10")] + pub ooflahmeleo: u32, + #[prost(message, optional, tag = "14")] + pub aphjkdfbajk: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21446)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ldaoenejokp { + #[prost(message, repeated, tag = "2")] + pub faclcdohbgd: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "3")] + pub ccpmkfadobi: u32, + #[prost(int32, tag = "4")] + pub retcode: i32, + #[prost(string, tag = "9")] + pub lgnfafmphkd: ::prost::alloc::string::String, + #[prost(uint32, tag = "11")] + pub ndddmkodibp: u32, + #[prost(bool, tag = "13")] + pub ljmfgajfian: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Codlghbfmll { + #[prost(message, repeated, tag = "14")] + pub weapon_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29042)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Majaeedoaeo { + #[prost(int32, tag = "3")] + pub retcode: i32, + #[prost(uint32, tag = "4")] + pub onabdgfcpih: u32, + #[prost(uint32, tag = "12")] + pub ghiaogllldi: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fjgbnolnfoa { + #[prost(uint32, tag = "1")] + pub gcfedfajgah: u32, + #[prost(message, repeated, tag = "3")] + pub nphlhaeliam: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "5")] + pub dphdagagbii: bool, + #[prost(uint32, tag = "6")] + pub nlanefnjdmn: u32, + #[prost(uint32, tag = "8")] + pub bkngnhmgldg: u32, + #[prost(uint32, tag = "12")] + pub jibfgckjpbe: u32, + #[prost(uint32, tag = "14")] + pub bhbkmaofggi: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29189)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Minndmnahkj { + #[prost(uint32, tag = "2")] + pub mndlpmlcjhe: u32, + #[prost(uint32, tag = "8")] + pub mempkcgnnmf: u32, + #[prost(bool, tag = "9")] + pub bejambjbgih: bool, + #[prost(uint32, tag = "10")] + pub jnkgigdjilk: u32, + #[prost(bool, tag = "11")] + pub dggckmikbmo: bool, + #[prost(oneof = "minndmnahkj::Gcbckcbnpmn", tags = "4, 7, 15")] + pub gcbckcbnpmn: ::core::option::Option, +} +/// Nested message and enum types in `MINNDMNAHKJ`. +pub mod minndmnahkj { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Gcbckcbnpmn { + #[prost(message, tag = "4")] + FirstStageInfo(super::Jfbjeiphadm), + #[prost(message, tag = "7")] + SecondStageInfo(super::Hmajiggcebj), + #[prost(message, tag = "15")] + ThirdStageInfo(super::Odbehiednfd), + } +} +#[derive(proto_gen::CmdID)] +#[cmdid(25161)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jcchjgegfak { + #[prost(message, repeated, tag = "5")] + pub item_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "6")] + pub uid: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7200)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eimpejmlmoa {} +#[derive(proto_gen::CmdID)] +#[cmdid(29953)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ikenedkcigc { + #[prost(bool, tag = "3")] + pub inbenefpkmk: bool, + #[prost(bool, tag = "4")] + pub gjpeomabhgf: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2264)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jldlokgjcip { + #[prost(uint32, tag = "7")] + pub nobdoodohki: u32, + #[prost(uint32, tag = "2")] + pub nnpgbampcjl: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(794)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kmnminhobgp { + #[prost(int32, tag = "6")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Doapbihibha { + #[prost(uint32, tag = "3")] + pub pcaobbjlffm: u32, + #[prost(uint32, tag = "4")] + pub jefildjebaj: u32, + #[prost(uint32, tag = "5")] + pub djllibidbgn: u32, + #[prost(uint32, tag = "11")] + pub agibomgaddk: u32, + #[prost(enumeration = "Gacainioald", tag = "15")] + pub state: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28495)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Obbafclgjaa { + #[prost(uint32, tag = "10")] + pub gaplfmmgbfa: u32, + #[prost(enumeration = "Noipnepdipn", tag = "2")] + pub epcbaobgodi: i32, + #[prost(uint64, tag = "4")] + pub gedmdocolfj: u64, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27908)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cmbbmgnhbbf { + #[prost(uint32, tag = "4")] + pub avatar_id: u32, + #[prost(uint32, tag = "7")] + pub okkapkjihjb: u32, + #[prost(uint32, tag = "15")] + pub ijagllbjkda: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6146)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pichiaopplj { + #[prost(int32, tag = "10")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22227)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ccidndchjcm { + #[prost(message, repeated, tag = "11")] + pub bgpfbbghdka: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26249)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ikgafgeakak { + #[prost(uint32, tag = "2")] + pub gbcebgkbjdm: u32, + #[prost(int32, tag = "4")] + pub retcode: i32, + #[prost(enumeration = "Hhnoenmdggg", tag = "6")] + pub kfmglfjdodo: i32, + #[prost(enumeration = "Nmfdmilhgpo", tag = "8")] + pub oaahhnmhafh: i32, + #[prost(uint32, tag = "13")] + pub gadget_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7483)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Obomdlilbik { + #[prost(message, optional, tag = "4")] + pub aebglfmjfhm: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Biijlkkmppi { + #[prost(enumeration = "Bkhklfcblfj", tag = "2")] + pub lmgnncgppcg: i32, + #[prost(uint32, repeated, tag = "3")] + pub dobnnmfigih: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "6")] + pub oboopjlpdni: u32, + #[prost(uint32, tag = "7")] + pub bdlmcmkdboe: u32, + #[prost(map = "uint32, int32", tag = "10")] + pub gbhmagadalj: ::std::collections::HashMap, + #[prost(map = "uint32, uint32", tag = "13")] + pub ifdieidjpoh: ::std::collections::HashMap, + #[prost(map = "uint32, int32", tag = "15")] + pub eiaeimkelej: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryRegionListHttpRsp { + #[prost(int32, tag = "1")] + pub retcode: i32, + #[prost(message, repeated, tag = "2")] + pub region_list: ::prost::alloc::vec::Vec, + #[prost(bytes = "vec", tag = "5")] + pub client_secret_key: ::prost::alloc::vec::Vec, + #[prost(bytes = "vec", tag = "6")] + pub client_custom_config_encrypted: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "7")] + pub enable_login_pc: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5391)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mhepmfhillo { + #[prost(message, optional, tag = "1")] + pub nlmdbcacpfg: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8825)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hadhkbngipl { + #[prost(int32, tag = "8")] + pub retcode: i32, + #[prost(uint32, tag = "14")] + pub bailmnhopnp: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fpkfadohamd { + #[prost(message, repeated, tag = "2")] + pub albaimjkelj: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9579)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mgnkejpepgg { + #[prost(uint32, tag = "2")] + pub fpedhedekpe: u32, + #[prost(bool, tag = "3")] + pub mjaoipldjmc: bool, + #[prost(message, repeated, tag = "4")] + pub knbifccible: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "5")] + pub knleaemkoob: u32, + #[prost(message, repeated, tag = "7")] + pub filhggiljln: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "9")] + pub bknplfikkfg: u32, + #[prost(bool, tag = "10")] + pub dggckmikbmo: bool, + #[prost(uint32, repeated, tag = "12")] + pub cdidjfpemmi: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "14")] + pub ankcbommojb: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27835)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gajfdcogcep { + #[prost(uint32, tag = "5")] + pub omgchbachci: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21682)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mephpfeaphh { + #[prost(int32, tag = "3")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bgcjfmnoonb { + #[prost(uint32, tag = "1")] + pub mempkcgnnmf: u32, + #[prost(uint32, repeated, tag = "6")] + pub mnnbpdbbckh: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "10")] + pub dggckmikbmo: bool, + #[prost(uint32, tag = "13")] + pub dmnldppgokg: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23650)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jcddmmfehmm { + #[prost(message, repeated, tag = "4")] + pub cadonpdcdbg: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "10")] + pub retcode: i32, + #[prost(uint32, tag = "12")] + pub uid: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7319)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dljeahlfapa { + #[prost(uint64, tag = "6")] + pub guid: u64, + #[prost(int32, tag = "12")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5909)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fogbfjblndc { + #[prost(uint32, tag = "12")] + pub avatar_id: u32, + #[prost(int32, tag = "14")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(528)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pkhjjlagmop { + #[prost(uint32, repeated, tag = "2")] + pub caknfaoiikk: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(741)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lflefliicpo { + #[prost(uint32, tag = "8")] + pub dmnldppgokg: u32, + #[prost(uint32, tag = "12")] + pub gbcebgkbjdm: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24373)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cljhjbfanpa {} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aamkcdcjnhp { + #[prost(message, optional, tag = "9")] + pub hdmbkcpiccc: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5043)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dnpahcfpjml { + #[prost(uint32, tag = "1")] + pub fchfakepinp: u32, + #[prost(uint32, tag = "10")] + pub scene_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mannmaoahkb { + #[prost(uint32, tag = "3")] + pub fbpgimlmdnj: u32, + #[prost(message, optional, tag = "9")] + pub figfpencngd: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gemjhnlgkol { + #[prost(uint32, tag = "4")] + pub bjjjdldclll: u32, + #[prost(uint32, tag = "6")] + pub fmjigfmbjpj: u32, + #[prost(uint32, tag = "7")] + pub hogpdlghglm: u32, + #[prost(uint32, tag = "10")] + pub geihmkhcije: u32, + #[prost(uint32, tag = "12")] + pub pbkeaocbpmn: u32, + #[prost(uint32, tag = "15")] + pub state: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3384)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Maioabdfdlc { + #[prost(uint32, tag = "4")] + pub cjcjonhpiio: u32, + #[prost(message, optional, tag = "6")] + pub lapiciijckl: ::core::option::Option, + #[prost(uint32, tag = "9")] + pub hkeeinbhfhm: u32, + #[prost(int32, tag = "10")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28194)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fokpcdnnbjj { + #[prost(uint32, repeated, tag = "2")] + pub aeppkckcibp: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "12")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3512)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oncgjpmfpnm {} +#[derive(proto_gen::CmdID)] +#[cmdid(1245)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Clkkdccapim { + #[prost(uint32, tag = "11")] + pub onabdgfcpih: u32, + #[prost(uint32, tag = "14")] + pub khhibkpbkpn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4403)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kjombbbgckp { + #[prost(int32, tag = "6")] + pub retcode: i32, + #[prost(message, optional, tag = "14")] + pub lapiciijckl: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9805)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dgoolimmllj { + #[prost(uint32, repeated, tag = "4")] + pub nmeemocpfme: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "10")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7056)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mcnmehgnklb { + #[prost(uint32, tag = "3")] + pub omgchbachci: u32, + #[prost(bool, tag = "4")] + pub pohfobdllbc: bool, + #[prost(uint32, tag = "7")] + pub admokadnfhh: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5729)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hoclbemgpde { + #[prost(uint32, tag = "4")] + pub apnlofpnahn: u32, + #[prost(uint64, tag = "5")] + pub avatar_guid: u64, + #[prost(uint64, tag = "6")] + pub baengfiafmf: u64, + #[prost(uint32, tag = "7")] + pub item_id: u32, + #[prost(message, optional, tag = "9")] + pub weapon: ::core::option::Option, + #[prost(message, optional, tag = "10")] + pub ppfkbhelidn: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nlagffoigal { + #[prost(uint32, tag = "3")] + pub peajinifghm: u32, + #[prost(uint32, tag = "7")] + pub mempkcgnnmf: u32, + #[prost(message, repeated, tag = "8")] + pub kgogfpoddlj: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "12")] + pub eialjbaengj: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22169)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lbfnfghkegg { + #[prost(bool, tag = "7")] + pub jfjdimpcnnf: bool, + #[prost(uint32, tag = "5")] + pub jlfheeipddp: u32, + #[prost(uint64, tag = "11")] + pub dcompdppdpo: u64, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24589)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jlehjbfldek { + #[prost(uint32, tag = "1")] + pub jofbeiaclof: u32, + #[prost(enumeration = "Peklcmkljmm", tag = "4")] + pub reason: i32, + #[prost(bool, tag = "5")] + pub mjaoipldjmc: bool, + #[prost(bool, tag = "7")] + pub ebgkbpbkogl: bool, + #[prost(uint32, tag = "9")] + pub bknplfikkfg: u32, + #[prost(message, repeated, tag = "10")] + pub filhggiljln: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "11")] + pub pdlmkflekdl: u32, + #[prost(uint32, repeated, tag = "12")] + pub aahnpojgpci: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "13")] + pub lgbnfifcpjf: u32, + #[prost(message, repeated, tag = "14")] + pub knbifccible: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "15")] + pub kmhidaefflc: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9187)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pdonfojmnag { + #[prost(int32, tag = "5")] + pub retcode: i32, + #[prost(uint32, tag = "11")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1299)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Onaebfpnjmn { + #[prost(message, optional, tag = "1")] + pub kglilblfnmf: ::core::option::Option, + #[prost(uint32, tag = "15")] + pub gbcebgkbjdm: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1380)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bpcdhopjnmh { + #[prost(uint32, tag = "4")] + pub beiidlebafi: u32, + #[prost(message, optional, tag = "9")] + pub position: ::core::option::Option, + #[prost(bool, tag = "15")] + pub fijhoanipbe: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dhdoiannjmn { + #[prost(uint32, tag = "1")] + pub item_id: u32, + #[prost(uint32, tag = "2")] + pub gfppmnlpoek: u32, + #[prost(uint32, tag = "3")] + pub adkccidlidi: u32, + #[prost(uint32, tag = "4")] + pub promote_level: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5752)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dooohpfnkni { + #[prost(int32, tag = "8")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lodopknfjnb { + #[prost(uint64, tag = "1")] + pub gedmdocolfj: u64, + #[prost(message, optional, tag = "2")] + pub fpojglaneco: ::core::option::Option, + #[prost(bool, tag = "3")] + pub jfoeekheimo: bool, + #[prost(uint32, tag = "4")] + pub peioefbcmfp: u32, + #[prost(uint32, repeated, tag = "5")] + pub tag_list: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "6")] + pub japdknhenld: ::core::option::Option, + #[prost(enumeration = "Dfafgepbldo", tag = "7")] + pub ehloechhepi: i32, + #[prost(message, repeated, tag = "8")] + pub kohlimepnpm: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "9")] + pub dhaomgmmdpd: bool, + #[prost(uint32, tag = "10")] + pub oppfabknmmb: u32, + #[prost(uint32, tag = "11")] + pub iiacggogmlp: u32, + #[prost(string, tag = "12")] + pub ebbpboejjpp: ::prost::alloc::string::String, + #[prost(string, tag = "13")] + pub dppibjfomoc: ::prost::alloc::string::String, + #[prost(uint32, tag = "14")] + pub gaplfmmgbfa: u32, + #[prost(uint32, tag = "15")] + pub kfeheojcklb: u32, + #[prost(uint32, tag = "710")] + pub dgbmjcfhlbb: u32, + #[prost(bool, tag = "1118")] + pub anicopjpcfm: bool, + #[prost(bool, tag = "1587")] + pub pflajckehfa: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6374)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pffmbimgiie { + #[prost(uint32, tag = "6")] + pub blbccmphapa: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1310)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fjliknejmej { + #[prost(int32, tag = "1")] + pub retcode: i32, + #[prost(message, optional, tag = "4")] + pub pgkblgcdkil: ::core::option::Option, + #[prost(message, optional, tag = "7")] + pub jhjogbelfed: ::core::option::Option, + #[prost(message, optional, tag = "11")] + pub gobchdjolnb: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kkmnangfmok { + #[prost(uint32, repeated, tag = "8")] + pub igojdjhkhon: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "11")] + pub mcmbofifbcp: u32, + #[prost(uint32, tag = "12")] + pub gpaeljhnaek: u32, + #[prost(message, optional, tag = "13")] + pub mbfdgldkefh: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9590)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gbjpkonemda { + #[prost(int32, tag = "1")] + pub retcode: i32, + #[prost(map = "uint32, message", tag = "3")] + pub lnkjpkacoop: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eminhdjhbom { + #[prost(uint32, tag = "1")] + pub ffnofcphooa: u32, + #[prost(uint32, tag = "2")] + pub peblohahpmm: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25520)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oajcdbjcccb { + #[prost(uint32, tag = "7")] + pub hkeeinbhfhm: u32, + #[prost(message, optional, tag = "10")] + pub nmklkgccmie: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8480)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jmfnnmhkijo { + #[prost(int32, tag = "4")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ekjfibamkei { + #[prost(message, repeated, tag = "14")] + pub pigofiofjid: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2636)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kpfdoehbfem {} +#[derive(proto_gen::CmdID)] +#[cmdid(8814)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aioafiohljp { + #[prost(bool, tag = "4")] + pub nnddeadlggd: bool, + #[prost(uint32, tag = "5")] + pub ilpfcpokhpm: u32, + #[prost(float, tag = "6")] + pub oamfefeeajb: f32, + #[prost(uint32, tag = "9")] + pub nldmdecjcmg: u32, + #[prost(string, tag = "11")] + pub ahcfmjjlejn: ::prost::alloc::string::String, + #[prost(float, tag = "12")] + pub pidblfjkebm: f32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ifbejfokpcc { + #[prost(uint32, tag = "2")] + pub fanipenjcgk: u32, + #[prost(uint32, tag = "6")] + pub oljahdjcfbe: u32, + #[prost(uint32, tag = "7")] + pub oeokfgolhbk: u32, + #[prost(uint32, tag = "9")] + pub oinfaddjfbk: u32, + #[prost(uint32, tag = "10")] + pub egbmifdjdih: u32, + #[prost(enumeration = "Dbkkepahcpe", tag = "14")] + pub fbbbjnhiplf: i32, + #[prost(enumeration = "Kdioojinlkg", tag = "15")] + pub hgkoegebhfo: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22994)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bgcglooipfo { + #[prost(uint32, tag = "11")] + pub dlphdipgphf: u32, + #[prost(uint32, tag = "12")] + pub entity_id: u32, + #[prost(uint32, tag = "15")] + pub knclkkifaoc: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gafljbcfkjj { + #[prost(map = "uint32, uint32", tag = "1")] + pub ohbkekljbef: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4641)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Anngejfkkkp {} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nlllhgkpnfa { + #[prost(bool, tag = "1")] + pub ecihdijcled: bool, + #[prost(uint32, tag = "6")] + pub mgcmnplnjkl: u32, + #[prost(bool, tag = "7")] + pub kfpmghhdndo: bool, + #[prost(uint32, tag = "9")] + pub dmkfeccmcop: u32, + #[prost(message, optional, tag = "10")] + pub ccnnjmkemlc: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8819)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Difahdaeoff { + #[prost(message, optional, tag = "7")] + pub aacapngopon: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26668)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ldeilhngkef {} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gbkinkjmghb { + #[prost(uint32, repeated, tag = "6")] + pub bomddcpikbe: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "13")] + pub team_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fkkcacidpna { + #[prost(message, optional, tag = "1")] + pub mkmhliagilo: ::core::option::Option, + #[prost(message, optional, tag = "4")] + pub bnejocdiffh: ::core::option::Option, + #[prost(message, optional, tag = "6")] + pub mcimpejekcj: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29496)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kooglnlmanh { + #[prost(uint32, tag = "2")] + pub group_id: u32, + #[prost(uint32, tag = "3")] + pub bknplfikkfg: u32, + #[prost(oneof = "kooglnlmanh::Detail", tags = "372, 467, 1173")] + pub detail: ::core::option::Option, +} +/// Nested message and enum types in `KOOGLNLMANH`. +pub mod kooglnlmanh { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Detail { + #[prost(message, tag = "372")] + IrodoriChessSettleInfo(super::Nppllpealik), + #[prost(message, tag = "467")] + MechanicusSettleInfo(super::Kkfobmpmgbi), + #[prost(message, tag = "1173")] + ChessSettleInfo(super::Ennabdgogof), + } +} +#[derive(proto_gen::CmdID)] +#[cmdid(7088)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Geiomaelngm { + #[prost(uint32, repeated, tag = "8")] + pub ngacpnngejo: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "13")] + pub scene_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5627)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kdlaeidpige { + #[prost(uint32, tag = "11")] + pub ocnjnmhllhi: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28454)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bjijhaffgcd { + #[prost(uint32, tag = "11")] + pub khhibkpbkpn: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dmniaejpkgp { + #[prost(uint32, repeated, tag = "4")] + pub nogkegjkipk: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "9")] + pub oplajnckefn: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "10")] + pub kkippoeelnd: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "13")] + pub ecfafecmmff: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "14")] + pub pofpehafdif: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3115)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Npjgdcdphij { + #[prost(uint32, tag = "7")] + pub mgcmnplnjkl: u32, + #[prost(uint32, tag = "5")] + pub fecbncacgbh: u32, + #[prost(bool, tag = "13")] + pub ankcbommojb: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21896)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hhodkcmeogi { + #[prost(uint32, tag = "7")] + pub bhkedlmdgpm: u32, + #[prost(uint32, tag = "12")] + pub omgchbachci: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2706)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cmojdonpilo { + #[prost(uint32, tag = "6")] + pub target_uid: u32, + #[prost(uint32, tag = "9")] + pub param: u32, + #[prost(int32, tag = "11")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21701)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ffmonfobapi { + #[prost(int32, tag = "2")] + pub retcode: i32, + #[prost(uint32, tag = "6")] + pub omgchbachci: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24700)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oeembcaipkl { + #[prost(uint64, tag = "8")] + pub dcompdppdpo: u64, + #[prost(enumeration = "Himmemhogfb", tag = "5")] + pub mfmlakbiaed: i32, + #[prost(bool, tag = "14")] + pub akdgmpmndfc: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gopnaklacip { + #[prost(bool, tag = "3")] + pub knhicjhgbem: bool, + #[prost(uint32, tag = "4")] + pub agienjjkpbe: u32, + #[prost(enumeration = "Boedelijagb", tag = "6")] + pub gjlkedkojmj: i32, + #[prost(uint32, tag = "8")] + pub nhkapceomoe: u32, + #[prost(uint32, tag = "9")] + pub scene_id: u32, + #[prost(uint32, tag = "10")] + pub fncogclpgnc: u32, + #[prost(message, optional, tag = "11")] + pub ccnnjmkemlc: ::core::option::Option, + #[prost(bool, tag = "15")] + pub dmjnghladba: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24106)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Adidlmepnok { + #[prost(uint32, tag = "9")] + pub ccpigccdboi: u32, + #[prost(uint32, tag = "10")] + pub pglajfafgai: u32, + #[prost(uint32, tag = "15")] + pub khhibkpbkpn: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nobopmmgclc { + #[prost(uint32, tag = "9")] + pub gadget_id: u32, + #[prost(uint32, repeated, tag = "12")] + pub oilkfbhgobc: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3473)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dabcpfgbhhf { + #[prost(message, repeated, tag = "8")] + pub ikpaapimbhh: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23782)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Alodjbofccc { + #[prost(int32, tag = "1")] + pub retcode: i32, + #[prost(message, repeated, tag = "14")] + pub caibdankdon: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9264)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iebfcfmhlfg { + #[prost(uint64, repeated, tag = "2")] + pub edabeidcffo: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "15")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mjkkfihmkdd { + #[prost(bool, tag = "8")] + pub jhfmeficaal: bool, + #[prost(uint32, tag = "10")] + pub mempkcgnnmf: u32, + #[prost(bool, tag = "11")] + pub ecihdijcled: bool, + #[prost(uint32, tag = "12")] + pub dmkfeccmcop: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29419)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bfkkkecicho { + #[prost(uint32, tag = "6")] + pub iknfnnfkagf: u32, + #[prost(uint32, tag = "5")] + pub ocnjnmhllhi: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3270)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dlengcmioai { + #[prost(enumeration = "Hbcjgnlbden", tag = "3")] + pub mcdfojkmidb: i32, + #[prost(uint32, tag = "6")] + pub config_id: u32, + #[prost(int32, tag = "8")] + pub retcode: i32, + #[prost(uint32, tag = "13")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gaddlilnnbk { + #[prost(uint32, tag = "4")] + pub pjjaoilbfbn: u32, + #[prost(uint32, tag = "10")] + pub oicebegencm: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iepcoaoemna { + #[prost(uint32, tag = "2")] + pub jofbeiaclof: u32, + #[prost(uint32, tag = "4")] + pub bkcndgojplh: u32, + #[prost(uint32, tag = "5")] + pub anokhlpneop: u32, + #[prost(uint32, tag = "8")] + pub nikajahecfe: u32, + #[prost(map = "uint32, uint32", tag = "9")] + pub fbcfokmbgip: ::std::collections::HashMap, + #[prost(map = "uint32, uint32", tag = "10")] + pub jaehhehjpll: ::std::collections::HashMap, + #[prost(uint32, tag = "12")] + pub khlemjilnme: u32, + #[prost(uint32, tag = "14")] + pub ipfpkefikea: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eleenmmgmkb { + #[prost(uint32, tag = "3")] + pub gigkdjinolg: u32, + #[prost(uint32, repeated, tag = "7")] + pub hoepcmhjbhe: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9333)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jpfijbeihho { + #[prost(uint32, repeated, tag = "5")] + pub blihdfackad: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "10")] + pub dmedoehomkh: bool, + #[prost(uint32, tag = "3")] + pub hddpknifeme: u32, + #[prost(uint32, tag = "9")] + pub mempkcgnnmf: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29701)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Beknbpejlco { + #[prost(uint32, repeated, tag = "5")] + pub jmeiembndhk: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "3")] + pub fghofgjoicc: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "4")] + pub pjjaoilbfbn: u32, + #[prost(uint32, tag = "9")] + pub dmnldppgokg: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26802)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aheemipplnb {} +#[derive(proto_gen::CmdID)] +#[cmdid(26384)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cpabcngmdoc {} +#[derive(proto_gen::CmdID)] +#[cmdid(2056)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lhlbcdppafl { + #[prost(int32, tag = "4")] + pub retcode: i32, + #[prost(uint32, tag = "15")] + pub pkkkijalpnm: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jkleddoblji { + #[prost(int32, tag = "10")] + pub gnjcidhobia: i32, + #[prost(uint32, tag = "15")] + pub key: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27314)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hiogpkdddee { + #[prost(uint32, tag = "1")] + pub eihbodhiofk: u32, + #[prost(message, optional, tag = "2")] + pub icnmchpmcbo: ::core::option::Option, + #[prost(uint32, tag = "8")] + pub entity_id: u32, + #[prost(string, tag = "12")] + pub kadfmamhgbg: ::prost::alloc::string::String, + #[prost(uint32, tag = "14")] + pub amhhcbfflpl: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct AvatarTeamResonanceInfo { + #[prost(uint64, tag = "6")] + pub avatar_guid: u64, + #[prost(uint32, repeated, tag = "8")] + pub ajmocmhleoi: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "12")] + pub entity_id: u32, + #[prost(uint32, repeated, tag = "15")] + pub dgagdlknffp: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26419)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ihepmeokhbe { + #[prost(uint32, tag = "10")] + pub mempkcgnnmf: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6313)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bgjgjiejbhb { + #[prost(enumeration = "Himmemhogfb", tag = "5")] + pub mfmlakbiaed: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dpeeknobnjk { + #[prost(enumeration = "GadgetBornType", tag = "1")] + pub born_type: i32, + #[prost(message, optional, tag = "2")] + pub kcfmhdlghcp: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eojijdmbeji { + #[prost(uint32, tag = "1")] + pub emdpedlkdln: u32, + #[prost(bool, tag = "2")] + pub is_show_cutscene: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9050)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fddeibbbpik { + #[prost(int32, tag = "1")] + pub jgiohaebpam: i32, + #[prost(uint32, tag = "3")] + pub gboacpcdmif: u32, + #[prost(uint32, tag = "8")] + pub hoicmnmmoji: u32, + #[prost(bool, tag = "9")] + pub digoflekfib: bool, + #[prost(uint32, tag = "12")] + pub lgfedpkcmck: u32, + #[prost(uint32, tag = "13")] + pub ganniaefpoi: u32, + #[prost(message, optional, tag = "14")] + pub jephhglfnlp: ::core::option::Option, + #[prost(bool, tag = "15")] + pub mkjjnkpcjho: bool, + #[prost(oneof = "fddeibbbpik::Baokdjelelh", tags = "448, 1006, 1337, 1536")] + pub baokdjelelh: ::core::option::Option, +} +/// Nested message and enum types in `FDDEIBBBPIK`. +pub mod fddeibbbpik { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Baokdjelelh { + #[prost(message, tag = "448")] + PolygonSize(super::Hkinnehlnac), + #[prost(message, tag = "1006")] + CylinderSize(super::Heokefpjikf), + #[prost(float, tag = "1337")] + SphereRadius(f32), + #[prost(message, tag = "1536")] + CubicSize(super::Vector), + } +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mmhgimhnkdf { + #[prost(message, repeated, tag = "4")] + pub lnmdpaddcia: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "7")] + pub lpmcoiblmok: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7139)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Godfdejpbmb { + #[prost(uint32, tag = "4")] + pub avatar_id: u32, + #[prost(uint32, tag = "5")] + pub costume_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5817)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fhefkcgofkg { + #[prost(int32, tag = "2")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1916)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jjkjijbepfb { + #[prost(uint32, tag = "4")] + pub config_id: u32, + #[prost(uint32, tag = "5")] + pub group_id: u32, + #[prost(uint32, tag = "8")] + pub lhdahdneppl: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27574)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iincdcngmoi { + #[prost(uint32, tag = "8")] + pub entity_id: u32, + #[prost(uint32, tag = "11")] + pub hgdaflmnmem: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20986)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oboehfnlfod { + #[prost(uint32, tag = "3")] + pub mmkbjnciggg: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pejhkpdneaa { + #[prost(bool, tag = "1")] + pub dpjjkpndjnn: bool, + #[prost(uint32, repeated, tag = "3")] + pub maenejfhmja: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "11")] + pub gbncjlckmei: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nnbplbjgfcd { + #[prost(message, optional, tag = "5")] + pub dfndkdafejo: ::core::option::Option, + #[prost(bool, tag = "7")] + pub is_locked: bool, + #[prost(message, optional, tag = "9")] + pub galjcimkfch: ::core::option::Option, + #[prost(uint32, repeated, tag = "12")] + pub scene_tag_id_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "15")] + pub scene_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2391)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Inehomjjimf { + #[prost(int32, tag = "2")] + pub retcode: i32, + #[prost(enumeration = "Ckjofdmgnno", tag = "7")] + pub bgpjniihanj: i32, + #[prost(message, repeated, tag = "10")] + pub aepbmmidoja: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "13")] + pub jjfpfmpjema: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23106)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nnhfnodpbjl { + #[prost(enumeration = "Gfilbkbgmaf", tag = "5")] + pub laicdpfdimh: i32, + #[prost(message, optional, tag = "14")] + pub cafefeabnec: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5457)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pcblggmcgjl { + #[prost(uint32, tag = "4")] + pub entity_id: u32, + #[prost(enumeration = "Igohjibcdfa", tag = "12")] + pub lkidbhiooog: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27234)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gbjmfloheao { + #[prost(int32, tag = "12")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Phbkijhlpkp { + #[prost(double, repeated, tag = "11")] + pub bnojgalpjfe: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3710)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gbblddhgfdj { + #[prost(uint32, tag = "6")] + pub mempkcgnnmf: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28207)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ilajgoeeace { + #[prost(int32, tag = "3")] + pub retcode: i32, + #[prost(uint32, tag = "4")] + pub fdflphcbgef: u32, + #[prost(uint32, repeated, tag = "9")] + pub fnaoacpmmkd: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Miakdjelhdc { + #[prost(message, repeated, tag = "1")] + pub pigofiofjid: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Peheiagofil { + #[prost(message, repeated, tag = "1")] + pub dnpebapalek: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "7")] + pub ociiljpamom: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8433)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gpfjlfpafhj { + #[prost(uint32, tag = "4")] + pub lbclghbmdaf: u32, + #[prost(uint32, tag = "15")] + pub scene_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Edbndnnkdhn { + #[prost(bool, tag = "1")] + pub okiggnfhlgg: bool, + #[prost(uint32, tag = "2")] + pub avatar_id: u32, + #[prost(bool, tag = "3")] + pub eikogbecmbi: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fajkfecclcg { + #[prost(uint32, tag = "13")] + pub anfnkobfmie: u32, + #[prost(uint32, tag = "15")] + pub dekgjkaicja: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4981)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jdaaehnkekj { + #[prost(uint32, repeated, tag = "15")] + pub dbohfohkmfk: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20359)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Edikekjfmao { + #[prost(uint32, tag = "5")] + pub cdmjgifefmd: u32, + #[prost(int32, tag = "7")] + pub retcode: i32, + #[prost(bool, tag = "9")] + pub bkocnhnnepi: bool, + #[prost(string, tag = "10")] + pub name: ::prost::alloc::string::String, +} +#[derive(proto_gen::CmdID)] +#[cmdid(822)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pdllhlhnmbi { + #[prost(uint32, tag = "1")] + pub djfmkgdbnam: u32, + #[prost(bool, tag = "5")] + pub jjppapoapef: bool, + #[prost(uint32, tag = "7")] + pub dooekccfihk: u32, + #[prost(bool, tag = "10")] + pub nggkbclabbo: bool, + #[prost(bool, tag = "12")] + pub eacmhmfpabh: bool, + #[prost(bool, tag = "14")] + pub ekeikdkljlj: bool, + #[prost(uint32, tag = "15")] + pub group_id: u32, + #[prost(message, repeated, tag = "327")] + pub pfnkgkgaknp: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "331")] + pub paejaajcgbe: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "401")] + pub jbcpjoekppp: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "452")] + pub lpdmidgggfl: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "563")] + pub edpnbomkiia: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "710")] + pub lkjdenefmnb: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "1134")] + pub iklojogephk: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "1299")] + pub kjkgankmemd: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "1547")] + pub foeippoamap: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25807)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cdilieafhho {} +#[derive(proto_gen::CmdID)] +#[cmdid(22592)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dklnbkfjapa { + #[prost(int32, tag = "10")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lanikofedeg { + #[prost(uint32, repeated, tag = "1")] + pub nkcffildbna: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6790)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Odohbofpkim { + #[prost(int32, tag = "10")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jfnkeanabel { + #[prost(uint32, tag = "1")] + pub geihmkhcije: u32, + #[prost(uint32, tag = "3")] + pub bgfabpfehgd: u32, + #[prost(uint32, tag = "6")] + pub ilpjbepjdlp: u32, + #[prost(uint32, tag = "10")] + pub kenikecfflm: u32, + #[prost(enumeration = "Feciocnebah", tag = "15")] + pub state: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22176)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Imndmkbkojj { + #[prost(uint32, tag = "13")] + pub bboffphmobk: u32, + #[prost(uint32, tag = "1")] + pub jofbeiaclof: u32, + #[prost(uint32, tag = "3")] + pub indikfknkab: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3312)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fmogddnhcjh { + #[prost(uint32, tag = "4")] + pub omgchbachci: u32, + #[prost(uint32, tag = "7")] + pub nldmdecjcmg: u32, + #[prost(uint32, repeated, tag = "8")] + pub dnijppkbcbd: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "13")] + pub hogfdpaofom: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24909)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kfnjjbdihhf { + #[prost(uint32, tag = "1")] + pub chefconpkll: u32, + #[prost(uint32, tag = "5")] + pub nklajccimii: u32, + #[prost(uint32, tag = "7")] + pub lekfejhkppe: u32, + #[prost(uint32, tag = "8")] + pub odgiokoodip: u32, + #[prost(uint32, tag = "9")] + pub dbpgbdainil: u32, + #[prost(uint32, tag = "10")] + pub enlkkemcpmh: u32, + #[prost(uint32, tag = "11")] + pub abpaipkldop: u32, + #[prost(uint32, tag = "13")] + pub clocegaahjn: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dlipmfllflp { + #[prost(message, repeated, tag = "1")] + pub ammljpgpibo: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "5")] + pub ecihdijcled: bool, + #[prost(uint32, tag = "8")] + pub dmkfeccmcop: u32, + #[prost(uint32, tag = "14")] + pub mempkcgnnmf: u32, + #[prost(message, optional, tag = "15")] + pub ogceidkpkbm: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3322)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fmmjcphdncb { + #[prost(uint32, tag = "8")] + pub omgchbachci: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7324)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mmhnjhghbdh { + #[prost(uint32, tag = "14")] + pub group_id: u32, + #[prost(uint32, tag = "10")] + pub lgooidciaag: u32, + #[prost(uint32, tag = "3")] + pub bknplfikkfg: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20622)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iamilipjdbk { + #[prost(int32, tag = "2")] + pub retcode: i32, + #[prost(uint32, tag = "8")] + pub npc_id: u32, + #[prost(uint32, tag = "14")] + pub parent_quest_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9097)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aibekfklmcj { + #[prost(uint32, repeated, tag = "11")] + pub oehkfngfanh: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25664)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jmfonnpeljj { + #[prost(uint32, tag = "4")] + pub affklogicmo: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iljgmfhdnce { + #[prost(uint32, tag = "2")] + pub oboopjlpdni: u32, + #[prost(bool, tag = "8")] + pub eialjbaengj: bool, + #[prost(uint32, tag = "10")] + pub dmkfeccmcop: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2431)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nhpobiicigp { + #[prost(uint32, tag = "6")] + pub ohkidhnabib: u32, + #[prost(bool, tag = "10")] + pub djoclokdkae: bool, + #[prost(int32, tag = "14")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23237)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hcfcmboemnd { + #[prost(int32, tag = "5")] + pub retcode: i32, + #[prost(uint32, tag = "6")] + pub eloloopcjmj: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22344)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eidimbcdpnp { + #[prost(message, repeated, tag = "8")] + pub nicodpphlgi: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5784)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iholdomnmng { + #[prost(uint32, tag = "5")] + pub pjjaoilbfbn: u32, + #[prost(uint32, tag = "7")] + pub mempkcgnnmf: u32, + #[prost(uint32, tag = "9")] + pub ljejebelkmj: u32, + #[prost(message, repeated, tag = "11")] + pub bdloifdnkjl: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "14")] + pub kdplcbjgbaf: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4736)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pgmjbamaond { + #[prost(message, repeated, tag = "4")] + pub ioaoaeaijee: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "10")] + pub blfahklapic: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3391)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bfijagdhodg { + #[prost(int32, tag = "1")] + pub retcode: i32, + #[prost(uint32, tag = "13")] + pub dfjmenlmiii: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Giaclkeciai { + #[prost(bool, tag = "1")] + pub ahaalefbbme: bool, + #[prost(uint32, tag = "2")] + pub kfcfomkanom: u32, + #[prost(uint32, tag = "4")] + pub kdpjajjjedg: u32, + #[prost(message, repeated, tag = "5")] + pub bkeaokaelnp: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "6")] + pub npc_id: u32, + #[prost(message, optional, tag = "7")] + pub nebgchplndc: ::core::option::Option, + #[prost(uint32, tag = "11")] + pub oboopjlpdni: u32, + #[prost(uint32, tag = "13")] + pub lmemhmnpmpf: u32, + #[prost(bool, tag = "14")] + pub galmkiodanm: bool, + #[prost(enumeration = "Ckiinnajncp", tag = "15")] + pub mfbbmjciami: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28473)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Elaodggjgdn { + #[prost(int32, tag = "5")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6454)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Clgmbnopkda { + #[prost(uint64, tag = "7")] + pub avatar_guid: u64, + #[prost(map = "uint32, float", tag = "8")] + pub fight_prop_map: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24685)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aoafdfflcfh { + #[prost(uint32, tag = "8")] + pub dmnldppgokg: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9185)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iogfafmhced { + #[prost(message, repeated, tag = "12")] + pub bpkekjlfdah: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6834)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oimbejhelgd { + #[prost(int32, tag = "5")] + pub retcode: i32, + #[prost(uint32, tag = "7")] + pub ndehkhcalmf: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Agblhgeajao { + #[prost(uint32, tag = "9")] + pub mempkcgnnmf: u32, + #[prost(bool, tag = "13")] + pub ecihdijcled: bool, + #[prost(uint32, tag = "14")] + pub meoppacndap: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28996)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kfhokophemi { + #[prost(message, optional, tag = "8")] + pub data: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dfkbcnaplfe { + #[prost(message, optional, tag = "7")] + pub digdkmhijpi: ::core::option::Option, + #[prost(uint32, tag = "10")] + pub entity_id: u32, + #[prost(message, optional, tag = "13")] + pub ofcgnbaaonj: ::core::option::Option, + #[prost(message, optional, tag = "15")] + pub pos: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20871)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hliiejpcofc { + #[prost(int32, tag = "5")] + pub retcode: i32, + #[prost(enumeration = "Himmemhogfb", tag = "10")] + pub mfmlakbiaed: i32, + #[prost(uint64, repeated, tag = "15")] + pub ebgfecdohlp: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2829)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aimghighmnn { + #[prost(int32, tag = "2")] + pub retcode: i32, + #[prost(uint32, tag = "8")] + pub okicoglejec: u32, + #[prost(uint32, repeated, tag = "9")] + pub pdcgacbhlam: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "13")] + pub hflmidmiihn: u32, + #[prost(uint32, tag = "14")] + pub fchfakepinp: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8854)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pkppmamjjgi { + #[prost(uint32, tag = "1")] + pub gghkdjlgfpb: u32, + #[prost(int32, tag = "3")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25959)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ajoccfaikfl { + #[prost(message, repeated, tag = "4")] + pub jnfpmeijenp: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "9")] + pub gkpjedkhcif: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fjhfjjhdcko { + #[prost(uint32, tag = "6")] + pub mbpbfhlbpii: u32, + #[prost(uint32, tag = "15")] + pub guid: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gpbmneioioa { + #[prost(message, optional, tag = "3")] + pub pgkchollmig: ::core::option::Option, + #[prost(message, optional, tag = "5")] + pub ggbehkoffgp: ::core::option::Option, + #[prost(message, optional, tag = "9")] + pub blipchphpce: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20862)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dammndmmolf { + #[prost(int32, tag = "15")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20071)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lfbapdcneej { + #[prost(uint32, repeated, tag = "14")] + pub dahkfdaacll: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9854)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mcfoejdopgp { + #[prost(uint64, tag = "1")] + pub guid: u64, + #[prost(uint32, tag = "9")] + pub room_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Njejjdcjlik { + #[prost(uint32, tag = "4")] + pub dmnldppgokg: u32, + #[prost(bool, tag = "11")] + pub ahakghlenmf: bool, + #[prost(uint32, tag = "13")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4132)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gpbpgnnchba { + #[prost(message, repeated, tag = "1")] + pub gabljanjlaf: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "5")] + pub fkhohkelkoe: u32, + #[prost(int32, tag = "13")] + pub retcode: i32, + #[prost(message, repeated, tag = "14")] + pub fhancekjeoi: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29892)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jedmemhmblm { + #[prost(uint32, tag = "11")] + pub fiknlhojfkl: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20474)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ocnjamnoclo { + #[prost(bool, tag = "1")] + pub fkkmihoegmg: bool, + #[prost(bool, tag = "2")] + pub hndkicjjanm: bool, + #[prost(uint32, repeated, tag = "3")] + pub hldekdfmggc: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "5")] + pub alpfbbejimo: u32, + #[prost(int32, tag = "10")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28505)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fnplanpmina { + #[prost(uint32, tag = "8")] + pub cdmjgifefmd: u32, + #[prost(int32, tag = "14")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8535)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gmiaeabdheg { + #[prost(uint32, tag = "12")] + pub scene_id: u32, + #[prost(uint32, tag = "1")] + pub kenikecfflm: u32, + #[prost(uint32, tag = "6")] + pub entity_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21688)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mnibocibeop {} +#[derive(proto_gen::CmdID)] +#[cmdid(6479)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nohjehdimmc { + #[prost(bool, tag = "13")] + pub jjfohabofol: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21276)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mjkomeafnhn { + #[prost(message, optional, tag = "1")] + pub jcdjmkgdeec: ::core::option::Option, + #[prost(enumeration = "Paahdfjmicd", tag = "5")] + pub reason: i32, + #[prost(uint32, tag = "12")] + pub omgchbachci: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bojambjmcnp { + #[prost(uint32, tag = "3")] + pub iejhhmbobmj: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9782)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kfaboaiajjg { + #[prost(uint32, tag = "7")] + pub hoipfdomipj: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8638)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fikfheblfkn { + #[prost(bool, tag = "5")] + pub lkcaeopcfoc: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29468)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bmhokkmcgpn { + #[prost(uint32, tag = "1")] + pub pcaobbjlffm: u32, + #[prost(enumeration = "Gmamcpbhicj", tag = "2")] + pub reason: i32, + #[prost(uint32, tag = "10")] + pub necgmakacdi: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fpondjddjda { + #[prost(message, repeated, tag = "4")] + pub mcdijkphlno: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5873)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Efakcfdnokg { + #[prost(int32, tag = "14")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22533)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ccpmfoadpkb {} +#[derive(proto_gen::CmdID)] +#[cmdid(8920)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cpeflpfhgal { + #[prost(int32, tag = "10")] + pub retcode: i32, + #[prost(uint32, repeated, tag = "12")] + pub iejfclmnfea: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cbidamifmhj { + #[prost(uint32, tag = "3")] + pub bnblmfkkfgg: u32, + #[prost(bool, tag = "7")] + pub dmedoehomkh: bool, + #[prost(uint32, tag = "8")] + pub pkkkijalpnm: u32, + #[prost(uint32, tag = "9")] + pub cmgfmdlfcfk: u32, + #[prost(bool, tag = "15")] + pub lfnfjighdee: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21385)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jbafhgodfdg { + #[prost(message, repeated, tag = "12")] + pub jjncpfkplhm: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9637)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lgaglmmpkia {} +#[derive(proto_gen::CmdID)] +#[cmdid(3048)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dhfoincigpd { + #[prost(int32, tag = "4")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20880)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ncclfiphdoh { + #[prost(uint32, repeated, tag = "1")] + pub oijfpglhnnn: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "3")] + pub onabdgfcpih: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7060)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Daccfhbjbjn { + #[prost(uint32, tag = "3")] + pub bjjgmliaklb: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oolbpnpemdk { + #[prost(uint32, tag = "3")] + pub cngpmoddhng: u32, + #[prost(message, repeated, tag = "4")] + pub gmldckallkk: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "6")] + pub opgiolhggdc: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6467)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Enegpkjdike { + #[prost(uint32, tag = "1")] + pub dfpnkfekiig: u32, + #[prost(int32, tag = "2")] + pub retcode: i32, + #[prost(uint32, repeated, tag = "3")] + pub njhgoaehndm: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "12")] + pub nnebhhfhdcc: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23380)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kkhlkdpdhej { + #[prost(bool, tag = "2")] + pub dmedoehomkh: bool, + #[prost(uint32, tag = "3")] + pub mempkcgnnmf: u32, + #[prost(int32, tag = "11")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8233)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Icgbjdmbkkj { + #[prost(int32, tag = "4")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29929)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Moeikcblagn { + #[prost(message, repeated, tag = "1")] + pub ahkjlpldped: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6779)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kmpgfidpkpc { + #[prost(message, optional, tag = "8")] + pub admfbdmolmf: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1211)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Homjhdaeaao { + #[prost(uint64, repeated, tag = "1")] + pub equip_guid_list: ::prost::alloc::vec::Vec, + #[prost(uint64, tag = "13")] + pub avatar_guid: u64, + #[prost(enumeration = "Jccjcepopne", tag = "2")] + pub jjpijkbjenn: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24632)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lkacbhndoai { + #[prost(enumeration = "Himmemhogfb", tag = "13")] + pub mfmlakbiaed: i32, + #[prost(uint64, tag = "6")] + pub dcompdppdpo: u64, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fgedmkglgio { + #[prost(bool, tag = "10")] + pub dmacppdbpek: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7325)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bnagknmhkej { + #[prost(uint32, repeated, tag = "9")] + pub fdjpppfghne: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "13")] + pub position: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20384)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lfalanfnnln { + #[prost(int32, tag = "1")] + pub retcode: i32, + #[prost(uint32, tag = "3")] + pub hoipfdomipj: u32, + #[prost(bool, tag = "8")] + pub jgjkhbobffj: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mcmpliehdkp { + #[prost(message, optional, tag = "4")] + pub gnjcidhobia: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20157)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lnbekmpfobo { + #[prost(uint32, tag = "1")] + pub eopffipdkgn: u32, + #[prost(message, repeated, tag = "6")] + pub oopopjofcgm: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "7")] + pub oaihgjcbhgd: bool, + #[prost(uint32, tag = "11")] + pub emcjhgolmcb: u32, + #[prost(message, repeated, tag = "15")] + pub haopeekmdbm: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23702)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aehlablbjdn { + #[prost(message, optional, tag = "2")] + pub res_version_config: ::core::option::Option, + #[prost(string, tag = "4")] + pub client_version_suffix: ::prost::alloc::string::String, + #[prost(uint32, tag = "6")] + pub client_data_version: u32, + #[prost(enumeration = "Ekdmoohdfea", tag = "9")] + pub kfmglfjdodo: i32, + #[prost(bool, tag = "10")] + pub fgfihnbmjmk: bool, + #[prost(string, tag = "11")] + pub pkekleeoljl: ::prost::alloc::string::String, + #[prost(string, tag = "12")] + pub client_silence_version_suffix: ::prost::alloc::string::String, + #[prost(uint32, tag = "14")] + pub client_silence_data_version: u32, + #[prost(string, tag = "15")] + pub jkanelmfgep: ::prost::alloc::string::String, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2351)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ndekejoiidb { + #[prost(int32, tag = "2")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26961)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mlenkagajgo { + #[prost(bool, tag = "11")] + pub pgkplflnedd: bool, + #[prost(bool, tag = "15")] + pub dgejgjmoeah: bool, + #[prost(bool, tag = "9")] + pub hhplblcaldo: bool, + #[prost(uint32, tag = "5")] + pub cfblldhldkj: u32, + #[prost(uint32, tag = "8")] + pub jinjlbemjnc: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1072)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gnelbhgigbb { + #[prost(uint32, tag = "15")] + pub parent_quest_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ihgdnbhdlin { + #[prost(string, tag = "1")] + pub bophodmnkdm: ::prost::alloc::string::String, + #[prost(bool, tag = "3")] + pub pmhhhnkmfml: bool, + #[prost(string, tag = "6")] + pub hfkpmmdkegl: ::prost::alloc::string::String, + #[prost(uint32, tag = "7")] + pub lgbnfifcpjf: u32, + #[prost(uint32, tag = "9")] + pub hbblodcdofo: u32, + #[prost(uint32, tag = "10")] + pub ffjamahidei: u32, + #[prost(string, tag = "11")] + pub mhglohpmjgp: ::prost::alloc::string::String, + #[prost(uint32, tag = "12")] + pub end_time: u32, + #[prost(uint32, tag = "13")] + pub config_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29264)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Inaablnpppd { + #[prost(int32, tag = "7")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26553)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mcjhckbcihc {} +#[derive(proto_gen::CmdID)] +#[cmdid(22365)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jinhgpjgljn { + #[prost(int32, tag = "7")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21559)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Djojmmionmj { + #[prost(bool, tag = "1")] + pub mpgafimhbja: bool, + #[prost(int32, tag = "2")] + pub retcode: i32, + #[prost(uint32, tag = "4")] + pub parent_quest_id: u32, + #[prost(uint32, repeated, tag = "9")] + pub jkoihmchhha: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "15")] + pub dddkhofnjfo: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eajboaffjlf { + #[prost(fixed32, tag = "2")] + pub eopffipdkgn: u32, + #[prost(uint32, tag = "3")] + pub mlphblbpckg: u32, + #[prost(uint32, tag = "11")] + pub ahliollbbpc: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24732)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct EnterSceneDoneRsp { + #[prost(int32, tag = "8")] + pub retcode: i32, + #[prost(uint32, tag = "12")] + pub enter_scene_token: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22099)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eokaiecfkej { + #[prost(uint32, tag = "7")] + pub jlmkcinpcgf: u32, + #[prost(uint32, tag = "11")] + pub iidhpkefhpm: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jhbbojadlpn { + #[prost(uint32, tag = "2")] + pub gaplfmmgbfa: u32, + #[prost(message, optional, tag = "3")] + pub fpojglaneco: ::core::option::Option, + #[prost(uint64, tag = "5")] + pub gedmdocolfj: u64, + #[prost(message, repeated, tag = "11")] + pub ceihipahgnh: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28104)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ccohdfhfkof { + #[prost(uint32, tag = "15")] + pub pnallkjlnlc: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8079)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kcngbidpkdl { + #[prost(int32, tag = "4")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28457)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nblpnhgpnnd {} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dfjmmdocmmo { + #[prost(uint32, tag = "4")] + pub config_id: u32, + #[prost(message, optional, tag = "5")] + pub pos: ::core::option::Option, + #[prost(uint32, tag = "10")] + pub group_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Khbjihjoeom { + #[prost(uint32, tag = "6")] + pub egilpllmlho: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dmogjbhlbnb { + #[prost(uint32, tag = "8")] + pub fbpgimlmdnj: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5116)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ljhilmngdio {} +#[derive(proto_gen::CmdID)] +#[cmdid(22776)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PostEnterSceneRsp { + #[prost(int32, tag = "3")] + pub retcode: i32, + #[prost(uint32, tag = "14")] + pub enter_scene_token: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mikdklnojic { + #[prost(message, repeated, tag = "2")] + pub eojfococbcj: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "7")] + pub lgooidciaag: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29672)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nhckekafjni { + #[prost(int32, tag = "6")] + pub retcode: i32, + #[prost(message, repeated, tag = "9")] + pub ghnlamdomdc: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4486)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hlacaifacfo { + #[prost(int32, tag = "5")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iofnpaieijn { + #[prost(message, repeated, tag = "1")] + pub bhadlendmkd: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "3")] + pub affklogicmo: u32, + #[prost(bool, tag = "4")] + pub ceghighnoko: bool, + #[prost(bool, tag = "9")] + pub dphdagagbii: bool, + #[prost(uint32, tag = "10")] + pub infgbpalamc: u32, + #[prost(bool, tag = "11")] + pub imamkdlkmon: bool, + #[prost(uint32, tag = "12")] + pub lnildgfikml: u32, + #[prost(uint32, tag = "14")] + pub gnakoniijho: u32, + #[prost(uint32, tag = "15")] + pub ihekodchbli: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27782)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nekjjcoekpa { + #[prost(int32, tag = "8")] + pub retcode: i32, + #[prost(message, optional, tag = "12")] + pub mhhcoedmpdp: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3730)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Piaefcpknoc { + #[prost(uint32, tag = "12")] + pub iehlhaogkpj: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25270)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ocamikfaaen { + #[prost(message, repeated, tag = "10")] + pub bihiklaiolg: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23195)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ceinbcjficf { + #[prost(int32, tag = "4")] + pub retcode: i32, + #[prost(uint32, tag = "10")] + pub ccpigccdboi: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4769)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dmndpejaedi { + #[prost(uint32, tag = "5")] + pub lbclghbmdaf: u32, + #[prost(uint32, tag = "10")] + pub scene_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mljijdkhibe { + #[prost(bool, tag = "3")] + pub jhfmeficaal: bool, + #[prost(bool, tag = "8")] + pub ecihdijcled: bool, + #[prost(uint32, tag = "10")] + pub gpaeljhnaek: u32, + #[prost(uint32, tag = "15")] + pub mempkcgnnmf: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct TrialAvatarInfo { + #[prost(uint32, tag = "1")] + pub trial_avatar_id: u32, + #[prost(message, repeated, tag = "2")] + pub trial_equip_list: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "3")] + pub grant_record: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2690)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kldlncaeoen { + #[prost(uint32, tag = "1")] + pub gghkdjlgfpb: u32, + #[prost(uint32, repeated, tag = "4")] + pub hjhpfacphjf: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "13")] + pub item_list: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "15")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7129)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bipjcjmemjd { + #[prost(int32, tag = "12")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5343)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jfchhfgibih { + #[prost(uint32, tag = "12")] + pub ofdgaholebg: u32, + #[prost(message, repeated, tag = "15")] + pub nbeaiobnlbd: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4456)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pfcpdlggcig { + #[prost(uint32, repeated, tag = "6")] + pub ekplkiomgig: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25459)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aboebbnconk { + #[prost(uint32, repeated, tag = "5")] + pub enbgjlpnppj: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23182)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hbkgkefjabd { + #[prost(int32, tag = "2")] + pub retcode: i32, + #[prost(uint32, tag = "6")] + pub group_id: u32, + #[prost(uint32, repeated, tag = "10")] + pub bdeombceoea: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nfikjopiind { + #[prost(message, repeated, tag = "1")] + pub offnadbpdjb: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "9")] + pub mbaadkncicg: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26966)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oackkhpgfdm { + #[prost(bool, tag = "5")] + pub kkhglloekgk: bool, + #[prost(message, repeated, tag = "7")] + pub ahmcjejkfao: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "12")] + pub hgolpkdkomk: u32, + #[prost(uint32, tag = "14")] + pub poccklijigl: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28364)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Edhdflljljh { + #[prost(uint32, tag = "6")] + pub gfppmnlpoek: u32, + #[prost(uint32, tag = "4")] + pub fchfakepinp: u32, + #[prost(uint32, tag = "2")] + pub scene_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21076)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Clhdccofkmd { + #[prost(int32, tag = "3")] + pub retcode: i32, + #[prost(uint32, tag = "5")] + pub uid: u32, + #[prost(uint32, tag = "12")] + pub jdhfhcfeonf: u32, + #[prost(uint32, tag = "14")] + pub okicoglejec: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23093)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lkmapflfbmp { + #[prost(uint32, tag = "5")] + pub pkolnjpbbgk: u32, + #[prost(uint32, tag = "6")] + pub oboopjlpdni: u32, + #[prost(int32, tag = "15")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pjbdlogghfm { + #[prost(uint32, tag = "4")] + pub phpfppidjkj: u32, + #[prost(enumeration = "Eegmnipnkmj", tag = "9")] + pub reason: i32, + #[prost(uint32, tag = "10")] + pub ljjiphjkpjf: u32, + #[prost(uint32, tag = "11")] + pub ocedblchfid: u32, + #[prost(uint32, tag = "13")] + pub nlcacoagdki: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nnpfppjabpa { + #[prost(message, repeated, tag = "11")] + pub mpdmbkelamk: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "13")] + pub nkdkocbfgbc: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28873)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pjdndmjjhok { + #[prost(uint32, tag = "7")] + pub lkaicbelckc: u32, + #[prost(uint32, tag = "9")] + pub bdnnkbpmahh: u32, + #[prost(uint32, tag = "14")] + pub gaplfmmgbfa: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23872)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kelepkhlfcf { + #[prost(message, optional, tag = "6")] + pub lognndhodkh: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kjlkojcgeeo { + #[prost(uint32, tag = "4")] + pub mempkcgnnmf: u32, + #[prost(uint32, tag = "7")] + pub gpaeljhnaek: u32, + #[prost(bool, tag = "10")] + pub ecihdijcled: bool, + #[prost(bool, tag = "11")] + pub aggilmlijdm: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22217)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dnabccnhhah { + #[prost(int32, tag = "8")] + pub retcode: i32, + #[prost(uint32, tag = "12")] + pub khhibkpbkpn: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Okjcnoadkmm { + #[prost(uint64, tag = "1")] + pub ojoapinglno: u64, + #[prost(uint32, tag = "2")] + pub gkkgomdfkml: u32, + #[prost(uint32, tag = "3")] + pub bimcajgddoi: u32, + #[prost(float, tag = "4")] + pub bemjcgabbgf: f32, + #[prost(float, tag = "5")] + pub speed: f32, + #[prost(bool, tag = "6")] + pub jookmiedbie: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7536)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gojociaophn { + #[prost(uint32, tag = "6")] + pub gghkdjlgfpb: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8649)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Loniilkafjb { + #[prost(int32, tag = "14")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29037)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mlfndhldlio { + #[prost(uint32, tag = "13")] + pub kkfhbldeaba: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aoachoghmcm { + #[prost(uint32, tag = "10")] + pub nikbfddehdf: u32, + #[prost(uint32, tag = "11")] + pub dekhbeooien: u32, + #[prost(uint32, tag = "12")] + pub dlpjaaapkkl: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20530)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Agjifcffjch {} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Admfdgokbag { + #[prost(message, repeated, tag = "13")] + pub mnfiibjlkll: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27743)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SceneForceUnlockNotify { + #[prost(bool, tag = "1")] + pub is_add: bool, + #[prost(uint32, repeated, tag = "2")] + pub force_id_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26286)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dhfoiklnmoo { + #[prost(uint32, tag = "3")] + pub level: u32, + #[prost(uint32, tag = "6")] + pub exp: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1604)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dnfcgdlpodd { + #[prost(message, optional, tag = "8")] + pub mhfdgagiepa: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2068)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Akndlaajjnn {} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fjogdboiccg { + #[prost(uint32, tag = "1")] + pub nikbfddehdf: u32, + #[prost(uint32, tag = "2")] + pub kmdcklepegp: u32, + #[prost(uint32, tag = "11")] + pub dlpjaaapkkl: u32, + #[prost(uint32, tag = "13")] + pub dekhbeooien: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7950)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kmbocddhlkd { + #[prost(int32, tag = "15")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7441)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerGameTimeNotify { + #[prost(bool, tag = "4")] + pub is_home: bool, + #[prost(uint32, tag = "9")] + pub game_time: u32, + #[prost(uint32, tag = "10")] + pub uid: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bhfchdpdikj { + #[prost(uint32, tag = "1")] + pub oboopjlpdni: u32, + #[prost(uint32, tag = "2")] + pub mcecoddeedc: u32, + #[prost(message, repeated, tag = "3")] + pub mlcakcoikdn: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22838)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fkjdghemibi { + #[prost(uint32, tag = "3")] + pub dmlcigbdpii: u32, + #[prost(uint32, tag = "12")] + pub name_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Obnmfmnohgf { + #[prost(uint32, repeated, tag = "3")] + pub hoepcmhjbhe: ::prost::alloc::vec::Vec, + #[prost(string, tag = "4")] + pub name: ::prost::alloc::string::String, + #[prost(bool, tag = "5")] + pub oenhcblfpfc: bool, + #[prost(uint32, repeated, tag = "6")] + pub bfbomboinpj: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "8")] + pub oboopjlpdni: u32, + #[prost(fixed32, tag = "10")] + pub gcbnfplahld: u32, + #[prost(uint32, tag = "13")] + pub ejgkapalfjb: u32, + #[prost(uint32, tag = "14")] + pub jmldgkcbcbo: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(318)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kpljmnamgko { + #[prost(uint32, tag = "1")] + pub uid: u32, + #[prost(uint32, repeated, tag = "5")] + pub ilmniplkenp: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "11")] + pub pos: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mlejmigoiip { + #[prost(uint32, tag = "2")] + pub dfkockongfh: u32, + #[prost(message, repeated, tag = "4")] + pub kfapijcgdbc: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "6")] + pub lekfejhkppe: u32, + #[prost(uint32, repeated, tag = "8")] + pub jpanpdjfhjk: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "9")] + pub nbeolenhmfm: ::core::option::Option, + #[prost(uint32, tag = "10")] + pub hbkdflgipmg: u32, + #[prost(uint32, tag = "12")] + pub cohkaiacief: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Clmddbpmeej { + #[prost(uint32, tag = "7")] + pub avatar_id: u32, + #[prost(uint32, tag = "8")] + pub cmafekgpacg: u32, + #[prost(uint32, tag = "10")] + pub costume_id: u32, + #[prost(enumeration = "Jailcnefodi", tag = "13")] + pub avatar_type: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mimflckeing { + #[prost(message, repeated, tag = "10")] + pub cbenkjeocil: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28868)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gpmenacmmjh { + #[prost(uint32, tag = "1")] + pub lgooidciaag: u32, + #[prost(uint32, tag = "13")] + pub deifmdkjahf: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20730)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dhiiifaomcm { + #[prost(message, optional, tag = "6")] + pub rot: ::core::option::Option, + #[prost(message, optional, tag = "4")] + pub pos: ::core::option::Option, + #[prost(uint32, tag = "8")] + pub phpfppidjkj: u32, + #[prost(uint32, tag = "3")] + pub dmcjbimfkci: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1121)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Khmekeakmla { + #[prost(int32, tag = "10")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lodcihbpnom { + #[prost(uint32, tag = "5")] + pub lidgejjlfmc: u32, + #[prost(uint32, tag = "6")] + pub geihmkhcije: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3804)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mlcefnjjjad { + #[prost(uint32, tag = "1")] + pub golcdocfolh: u32, + #[prost(uint32, tag = "3")] + pub ljdmbidhpji: u32, + #[prost(message, repeated, tag = "6")] + pub lnfokopnfip: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24610)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ldaamopomgh { + #[prost(uint32, tag = "3")] + pub oommiflemob: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25258)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gfdnbopecjb { + #[prost(uint32, tag = "6")] + pub jefildjebaj: u32, + #[prost(uint32, repeated, tag = "9")] + pub bihiklaiolg: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "11")] + pub item_list: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "15")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jcbaifpfacc { + #[prost(message, repeated, tag = "5")] + pub dnjnjbamlba: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cjknmoicnig { + #[prost(float, tag = "2")] + pub dmjfggdidok: f32, + #[prost(bool, tag = "7")] + pub okiggnfhlgg: bool, + #[prost(uint32, tag = "15")] + pub dmlcigbdpii: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28236)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Opgbccdgdie { + #[prost(uint32, repeated, tag = "5")] + pub ngacpnngejo: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "11")] + pub scene_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3673)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eacaphlmijk {} +#[derive(proto_gen::CmdID)] +#[cmdid(9979)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nhhmflnkkhd { + #[prost(uint32, repeated, tag = "5")] + pub cnhgganphol: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "7")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct TeamEnterSceneInfo { + #[prost(message, optional, tag = "6")] + pub team_ability_info: ::core::option::Option, + #[prost(uint32, tag = "10")] + pub team_entity_id: u32, + #[prost(message, optional, tag = "12")] + pub ability_control_block: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(19)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Idmdpjlmegl { + #[prost(uint32, tag = "7")] + pub scene_id: u32, + #[prost(uint32, tag = "8")] + pub kenikecfflm: u32, + #[prost(int32, tag = "9")] + pub retcode: i32, + #[prost(uint32, tag = "15")] + pub entity_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8829)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Niidbpofnoa { + #[prost(int32, tag = "5")] + pub retcode: i32, + #[prost(uint32, repeated, tag = "12")] + pub aodnjncfnao: ::prost::alloc::vec::Vec, + #[prost(uint64, tag = "15")] + pub onfhelnnnfo: u64, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Flgbaggebcm { + #[prost(enumeration = "Donnpjameed", tag = "1")] + pub nhokepcpcfe: i32, + #[prost(enumeration = "Donnpjameed", tag = "2")] + pub aapgbbkipje: i32, + #[prost(message, repeated, tag = "4")] + pub jajnjhddloj: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26112)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bdebmcobiah {} +#[derive(proto_gen::CmdID)] +#[cmdid(23373)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cdioglkjknp { + #[prost(int32, tag = "7")] + pub retcode: i32, + #[prost(message, optional, tag = "15")] + pub nlkgmjnajhg: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7678)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Edjmjdkopcp { + #[prost(message, optional, tag = "1")] + pub iklkemlfhdg: ::core::option::Option, + #[prost(message, optional, tag = "6")] + pub dpckmfmfdhj: ::core::option::Option, + #[prost(message, optional, tag = "9")] + pub cdpkgjbmddj: ::core::option::Option, + #[prost(message, optional, tag = "11")] + pub dliefebjlgi: ::core::option::Option, + #[prost(message, optional, tag = "12")] + pub llfklcnkgdi: ::core::option::Option, + #[prost(message, optional, tag = "13")] + pub hddlpbajiia: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kfmeepjlokb { + #[prost(message, repeated, tag = "11")] + pub info_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22315)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Akgiadjicpl { + #[prost(message, optional, tag = "3")] + pub fohckoimpdk: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct FightPropPair { + #[prost(uint32, tag = "1")] + pub prop_type: u32, + #[prost(float, tag = "2")] + pub prop_value: f32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21940)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cepkaahhogm { + #[prost(int32, tag = "5")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gonmjlnglii { + #[prost(uint32, tag = "8")] + pub pghgefmpgdc: u32, + #[prost(uint32, tag = "10")] + pub behbhjahboj: u32, + #[prost(uint32, repeated, tag = "12")] + pub cjchbcellno: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9002)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nbidipbjjda {} +#[derive(proto_gen::CmdID)] +#[cmdid(25075)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mcecdnjokge { + #[prost(bool, tag = "9")] + pub dmedoehomkh: bool, + #[prost(int32, tag = "13")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25531)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dmfdkkbnemn {} +#[derive(proto_gen::CmdID)] +#[cmdid(1922)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kbmgilelkgm { + #[prost(uint32, tag = "2")] + pub lgooidciaag: u32, + #[prost(uint32, tag = "9")] + pub kdknoocoebm: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7797)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pahcjcpnjhl { + #[prost(uint32, tag = "8")] + pub jdllaggpddp: u32, + #[prost(uint32, tag = "11")] + pub affklogicmo: u32, + #[prost(uint32, tag = "12")] + pub khhibkpbkpn: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SceneGadgetInfo { + #[prost(uint32, tag = "1")] + pub gadget_id: u32, + #[prost(uint32, tag = "2")] + pub group_id: u32, + #[prost(uint32, tag = "3")] + pub config_id: u32, + #[prost(uint32, tag = "4")] + pub owner_entity_id: u32, + #[prost(enumeration = "GadgetBornType", tag = "5")] + pub born_type: i32, + #[prost(uint32, tag = "6")] + pub gadget_state: u32, + #[prost(uint32, tag = "7")] + pub gadget_type: u32, + #[prost(bool, tag = "8")] + pub is_show_cutscene: bool, + #[prost(uint32, tag = "9")] + pub authority_peer_id: u32, + #[prost(bool, tag = "10")] + pub is_enable_interact: bool, + #[prost(uint32, tag = "11")] + pub interact_id: u32, + #[prost(uint32, tag = "21")] + pub mark_flag: u32, + #[prost(uint32, tag = "22")] + pub prop_owner_entity_id: u32, + #[prost(message, optional, tag = "23")] + pub platform: ::core::option::Option, + #[prost(uint32, repeated, tag = "24")] + pub interact_uid_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "25")] + pub draft_id: u32, + #[prost(uint32, tag = "26")] + pub gadget_talk_state: u32, + #[prost(message, optional, tag = "27")] + pub igmdelmihma: ::core::option::Option, + #[prost(uint32, tag = "28")] + pub init_pose_id: u32, + #[prost(message, optional, tag = "100")] + pub play_info: ::core::option::Option, + #[prost(message, optional, tag = "101")] + pub pnajjdafjch: ::core::option::Option, + #[prost(message, optional, tag = "102")] + pub glgahajnala: ::core::option::Option, + #[prost(message, optional, tag = "103")] + pub inihndcamaj: ::core::option::Option, + #[prost( + oneof = "scene_gadget_info::Content", + tags = "13, 14, 15, 17, 18, 19, 20, 41, 42, 43, 44, 45, 46, 47, 48, 59, 60, 61, 62, 63, 64, 67" + )] + pub content: ::core::option::Option, +} +/// Nested message and enum types in `SceneGadgetInfo`. +pub mod scene_gadget_info { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Content { + #[prost(message, tag = "13")] + GatherGadget(super::Dpapkilfinn), + #[prost(message, tag = "14")] + Worktop(super::Ikkagaaibik), + #[prost(message, tag = "15")] + ClientGadget(super::Agajgjafdaa), + #[prost(message, tag = "17")] + Weather(super::Enhienoghhd), + #[prost(message, tag = "18")] + AbilityGadget(super::Nlldfoclanc), + #[prost(message, tag = "19")] + StatueGadget(super::Donlajnfjeb), + #[prost(message, tag = "20")] + BossChest(super::Mfmholfmedp), + #[prost(message, tag = "41")] + BlossomChest(super::Mlabobklbck), + #[prost(message, tag = "42")] + MpPlayReward(super::Knigpaknllf), + #[prost(message, tag = "43")] + GeneralReward(super::Ofnjgncoifk), + #[prost(message, tag = "44")] + OfferingInfo(super::Epnhgpbmogc), + #[prost(message, tag = "45")] + FoundationInfo(super::Dappcggbonm), + #[prost(message, tag = "46")] + VehicleInfo(super::Onkijklnahe), + #[prost(message, tag = "47")] + ShellInfo(super::Gddakolohkl), + #[prost(message, tag = "48")] + ScreenInfo(super::Olodkmpinmp), + #[prost(message, tag = "59")] + FishPoolInfo(super::Pcmcgonmpho), + #[prost(message, tag = "60")] + CustomGadgetTreeInfo(super::Lpncacoaamh), + #[prost(message, tag = "61")] + RoguelikeGadgetInfo(super::Iohmnploigc), + #[prost(message, tag = "62")] + NightCrowGadgetInfo(super::Hffhkkmpbfj), + #[prost(message, tag = "63")] + DeshretObeliskGadgetInfo(super::Kemlinfeecm), + #[prost(message, tag = "64")] + CoinCollectOperatorInfo(super::Lieinhahjea), + #[prost(message, tag = "67")] + TrifleGadget(super::Eedhbfmffkh), + } +} +#[derive(proto_gen::CmdID)] +#[cmdid(7903)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mnaolpfeghi { + #[prost(message, repeated, tag = "7")] + pub item_list: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "9")] + pub eocepkicpca: ::core::option::Option, + #[prost(int32, tag = "12")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7270)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Afmhomclbgn { + #[prost(int32, tag = "1")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Idfackddepe { + #[prost(uint32, tag = "4")] + pub dmnldppgokg: u32, + #[prost(uint32, repeated, tag = "5")] + pub njhgoaehndm: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "12")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25060)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kbgpdionekp {} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Elblajjiddd { + #[prost(uint64, tag = "7")] + pub avatar_id: u64, + #[prost(bool, tag = "9")] + pub dohhenfngpe: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2334)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hlkkngjeffi {} +#[derive(proto_gen::CmdID)] +#[cmdid(7352)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dmlmpnhbhgd { + #[prost(int32, tag = "2")] + pub retcode: i32, + #[prost(uint32, tag = "6")] + pub onabdgfcpih: u32, + #[prost(uint32, tag = "13")] + pub dglcdjnmnkh: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24162)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ligbiefelom { + #[prost(message, repeated, tag = "14")] + pub fhpgbcfaake: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bojfcgdlfgl { + #[prost(uint32, tag = "6")] + pub apafipofloj: u32, + #[prost(uint32, tag = "10")] + pub pjjaoilbfbn: u32, + #[prost(uint32, tag = "11")] + pub jofbeiaclof: u32, + #[prost(bool, tag = "15")] + pub dggckmikbmo: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(578)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oegdjifdocm { + #[prost(message, optional, tag = "9")] + pub gigadmpnjhl: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub mimnafdodck: ::core::option::Option, + #[prost(bool, tag = "14")] + pub idiklageldn: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8954)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oebjpgnbpmh { + #[prost(message, repeated, tag = "11")] + pub nbgcfkabfhc: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21979)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ilglmmidegb { + #[prost(uint32, tag = "15")] + pub omgchbachci: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Akoiabnkomp { + #[prost(uint32, tag = "12")] + pub gpaeljhnaek: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5646)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ncnmnhmhbci { + #[prost(message, repeated, tag = "4")] + pub gindmjhhfhf: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "5")] + pub retcode: i32, + #[prost(uint32, tag = "12")] + pub khhibkpbkpn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24555)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aaegpkbjhja { + #[prost(int32, tag = "1")] + pub retcode: i32, + #[prost(enumeration = "Ceocjhphedc", tag = "14")] + pub reason: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Adadbonbign { + #[prost(uint32, repeated, tag = "1")] + pub knbifccible: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "10")] + pub pjjaoilbfbn: u32, + #[prost(bool, tag = "12")] + pub dggckmikbmo: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21345)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mllamphcfjp { + #[prost(uint32, tag = "4")] + pub entity_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23948)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ecdlcchenpc {} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kbhcebmihnd { + #[prost(float, tag = "2")] + pub nocbkdmmaen: f32, + #[prost(uint32, tag = "4")] + pub ennhedlehna: u32, + #[prost(float, tag = "5")] + pub onmkmcnhmgb: f32, + #[prost(message, optional, tag = "6")] + pub djimcfoglpg: ::core::option::Option, + #[prost(message, optional, tag = "10")] + pub nipmgaopheo: ::core::option::Option, + #[prost(message, optional, tag = "11")] + pub amcmbpmhkik: ::core::option::Option, + #[prost(message, optional, tag = "12")] + pub gplklbhahnn: ::core::option::Option, + #[prost(float, tag = "13")] + pub kmfddaffjfb: f32, + #[prost(float, tag = "15")] + pub midbhalnikm: f32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7667)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hmpapjjbhgb { + #[prost(uint32, tag = "12")] + pub okicoglejec: u32, + #[prost(uint32, tag = "8")] + pub uid: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3668)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lfgcgdhdgbb { + #[prost(int32, tag = "15")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3437)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fogdocjoddi { + #[prost(uint32, tag = "11")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27273)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bjinggmjiom { + #[prost(uint32, tag = "13")] + pub khhibkpbkpn: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iahomkmihpe { + #[prost(message, repeated, tag = "9")] + pub cbenkjeocil: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dbddcnhmjlh { + #[prost(int32, tag = "9")] + pub mpgkoihcfim: i32, + #[prost(int32, tag = "11")] + pub level: i32, + #[prost(message, optional, tag = "12")] + pub ccnnjmkemlc: ::core::option::Option, + #[prost(int32, tag = "14")] + pub noljbnbnlml: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7835)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mlomobihhki { + #[prost(uint32, tag = "11")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9047)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hjdnbcbnami { + #[prost(uint32, repeated, tag = "2")] + pub cbhilbblaip: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "7")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1026)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jgkgncmhanl { + #[prost(uint32, tag = "5")] + pub kpampgdjdhe: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24356)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kjjcpoipdig { + #[prost(uint32, tag = "5")] + pub omgchbachci: u32, + #[prost(enumeration = "Paahdfjmicd", tag = "11")] + pub bakhakcemkf: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26161)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lbnbinoncno { + #[prost(int32, tag = "11")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6169)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nlbldgpanlp { + #[prost(int32, tag = "2")] + pub iammgihcbhj: i32, + #[prost(uint32, tag = "9")] + pub scene_id: u32, + #[prost(int32, tag = "4")] + pub jjfpfmpjema: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24528)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jcoeicjpmdg { + #[prost(uint32, tag = "6")] + pub ljejebelkmj: u32, + #[prost(uint32, tag = "12")] + pub clcnmjkomll: u32, + #[prost(int32, tag = "13")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jkfhchedjic { + #[prost(message, repeated, tag = "3")] + pub mogbhlemnep: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23272)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kbodpjnlohf { + #[prost(uint64, repeated, tag = "5")] + pub fikgdofabee: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "10")] + pub dmnldppgokg: u32, + #[prost(uint32, tag = "12")] + pub mempkcgnnmf: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6666)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pfkedhofghf { + #[prost(uint32, repeated, tag = "6")] + pub pcjpdogheop: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "7")] + pub retcode: i32, + #[prost(message, repeated, tag = "8")] + pub mkmhpomeahp: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "12")] + pub fflgcbbliao: ::core::option::Option, + #[prost(message, repeated, tag = "15")] + pub gbepkglfbfd: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20200)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gjbpelncbfd { + #[prost(message, optional, tag = "1")] + pub oeapfmfefge: ::core::option::Option, + #[prost(string, tag = "2")] + pub name: ::prost::alloc::string::String, + #[prost(uint32, tag = "3")] + pub jjlpijkgkon: u32, + #[prost(int32, tag = "6")] + pub retcode: i32, + #[prost(bool, tag = "13")] + pub necndmmppli: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20484)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kjjemelgdge { + #[prost(int32, tag = "11")] + pub retcode: i32, + #[prost(uint32, tag = "15")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4511)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Baaomhlkmlp { + #[prost(int32, tag = "9")] + pub retcode: i32, + #[prost(uint32, tag = "12")] + pub mempkcgnnmf: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7466)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gnbmnefhobk { + #[prost(uint32, repeated, tag = "1")] + pub ejgfnijmajc: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "2")] + pub igibbilclje: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "3")] + pub bafpibopilo: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "4")] + pub ngmjkihmfaj: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "8")] + pub jddpgpmpbfi: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "9")] + pub pejnifpfcfc: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "10")] + pub dogdmgnbboc: bool, + #[prost(bool, tag = "11")] + pub djbppblkegb: bool, + #[prost(uint32, repeated, tag = "13")] + pub llkhpooccoj: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "14")] + pub retcode: i32, + #[prost(bool, tag = "15")] + pub pblimbgnnnb: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21395)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dcjdmkacdjc { + #[prost(int32, tag = "2")] + pub retcode: i32, + #[prost(uint32, repeated, tag = "15")] + pub fjaihbldgio: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1532)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kcfpbcnjgek { + #[prost(uint32, tag = "14")] + pub lgooidciaag: u32, + #[prost(uint32, tag = "9")] + pub bknplfikkfg: u32, + #[prost(uint32, tag = "10")] + pub group_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21527)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ebfgojjllgo { + #[prost(uint32, repeated, tag = "12")] + pub ogjodgflein: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "15")] + pub uid: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oihegjcpmpl { + #[prost(uint32, tag = "2")] + pub oboopjlpdni: u32, + #[prost(message, repeated, tag = "4")] + pub lihcaefdjoc: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "8")] + pub nfolocgbffg: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22451)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lpakbjhkina { + #[prost(message, optional, tag = "5")] + pub ilpjmahlgdk: ::core::option::Option, + #[prost(uint32, tag = "11")] + pub dlflcjkabfg: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hkgapbedoab { + #[prost(uint32, tag = "1")] + pub hfjilncpakl: u32, + #[prost(uint32, tag = "8")] + pub eopffipdkgn: u32, + #[prost(message, repeated, tag = "15")] + pub nhpgadjlhen: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(414)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lianancchja { + #[prost(message, optional, tag = "4")] + pub bepfmdkmfic: ::core::option::Option, + #[prost(uint32, tag = "7")] + pub omgchbachci: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ndfgofpcgic { + #[prost(uint32, tag = "5")] + pub level: u32, + #[prost(message, optional, tag = "6")] + pub pos: ::core::option::Option, + #[prost(message, optional, tag = "7")] + pub rot: ::core::option::Option, + #[prost(uint32, tag = "10")] + pub scene_id: u32, + #[prost(uint32, tag = "11")] + pub room_id: u32, + #[prost(uint32, tag = "12")] + pub phcnllphphl: u32, + #[prost(oneof = "ndfgofpcgic::Entity", tags = "1, 2, 3, 4")] + pub entity: ::core::option::Option, + #[prost(oneof = "ndfgofpcgic::Ldljahppldj", tags = "13")] + pub ldljahppldj: ::core::option::Option, +} +/// Nested message and enum types in `NDFGOFPCGIC`. +pub mod ndfgofpcgic { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Entity { + #[prost(uint32, tag = "1")] + MonsterId(u32), + #[prost(uint32, tag = "2")] + NpcId(u32), + #[prost(uint32, tag = "3")] + GadgetId(u32), + #[prost(uint32, tag = "4")] + ItemId(u32), + } + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Ldljahppldj { + #[prost(message, tag = "13")] + Gadget(super::Dpeeknobnjk), + } +} +#[derive(proto_gen::CmdID)] +#[cmdid(4122)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cmmnhcagodh { + #[prost(message, optional, tag = "1")] + pub kkonlphiahe: ::core::option::Option, + #[prost(uint32, tag = "11")] + pub entity_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3008)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dglciomehol { + #[prost(oneof = "dglciomehol::Detail", tags = "337, 1278, 1653")] + pub detail: ::core::option::Option, +} +/// Nested message and enum types in `DGLCIOMEHOL`. +pub mod dglciomehol { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Detail { + #[prost(bool, tag = "337")] + IsShowBriefCardEventCase(bool), + #[prost(uint32, tag = "1278")] + BgmId(u32), + #[prost(uint32, tag = "1653")] + RedPoint(u32), + } +} +#[derive(proto_gen::CmdID)] +#[cmdid(22585)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Njanifagall { + #[prost(message, repeated, tag = "13")] + pub cccabfdhfka: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(116)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lhedgobiklg { + #[prost(int32, tag = "13")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mhobdfhbloi { + #[prost(uint32, tag = "2")] + pub cijhbcaoepi: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9386)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lpjnmajapkp { + #[prost(uint32, tag = "1")] + pub jlmkcinpcgf: u32, + #[prost(uint32, tag = "4")] + pub bgfabpfehgd: u32, + #[prost(int32, tag = "8")] + pub retcode: i32, + #[prost(uint32, tag = "12")] + pub mempkcgnnmf: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2843)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pfddaklddii { + #[prost(uint64, tag = "1")] + pub avatar_guid: u64, + #[prost(float, tag = "2")] + pub jjpcpmfdneh: f32, + #[prost(float, tag = "7")] + pub eldoedjdghn: f32, + #[prost(uint32, tag = "9")] + pub prop_type: u32, + #[prost(enumeration = "Bbbemdapogh", tag = "11")] + pub reason: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26348)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ieakbkmijfe { + #[prost(message, optional, tag = "14")] + pub pfogjandaci: ::core::option::Option, + #[prost(uint32, tag = "13")] + pub badoiojgdbb: u32, + #[prost(uint32, tag = "5")] + pub ialkblcgcil: u32, + #[prost(enumeration = "Kckmmddjpce", tag = "8")] + pub phfalpgfgkn: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hpjpacgcnaa { + #[prost(uint32, tag = "1")] + pub config_id: u32, + #[prost(uint32, tag = "5")] + pub imchhikagkf: u32, + #[prost(uint32, tag = "9")] + pub kppabonkdcm: u32, + #[prost(uint32, repeated, tag = "12")] + pub jnkilghkhhj: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3888)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dgajbnhfojb { + #[prost(uint32, tag = "14")] + pub omgchbachci: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(322)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jnopnfhpgfj {} +#[derive(proto_gen::CmdID)] +#[cmdid(6324)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lpcgndlefjp { + #[prost(bool, tag = "3")] + pub bfjdeljjjng: bool, + #[prost(uint32, tag = "4")] + pub end_time: u32, + #[prost(uint32, tag = "9")] + pub omgchbachci: u32, + #[prost(enumeration = "Kdioojinlkg", tag = "12")] + pub hgkoegebhfo: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25328)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iphklomjiac { + #[prost(uint32, tag = "1")] + pub mempkcgnnmf: u32, + #[prost(int32, tag = "8")] + pub retcode: i32, + #[prost(uint32, tag = "12")] + pub dfpnkfekiig: u32, + #[prost(uint32, tag = "14")] + pub onabdgfcpih: u32, + #[prost(message, repeated, tag = "15")] + pub kjjdfphkfeb: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1836)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fhgddpfhpjc { + #[prost(uint32, tag = "2")] + pub dekhbeooien: u32, + #[prost(int32, tag = "3")] + pub retcode: i32, + #[prost(bool, tag = "5")] + pub dggckmikbmo: bool, + #[prost(bool, tag = "7")] + pub eialjbaengj: bool, + #[prost(uint32, tag = "14")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24057)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hkabjkpjalj { + #[prost(enumeration = "Fcfbaddhheo", tag = "2")] + pub hkmhenoepkp: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21731)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Blkmeplohjm { + #[prost(int32, tag = "6")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(738)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ServerTimeNotify { + #[prost(uint64, tag = "14")] + pub server_time: u64, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ggafhgknagj { + #[prost(message, repeated, tag = "6")] + pub cbdjnkepeaj: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9287)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ibiidbmjaho { + #[prost(uint32, repeated, tag = "2")] + pub hcjeapglhde: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "7")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24180)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jbfhkflehhh { + #[prost(int32, tag = "11")] + pub retcode: i32, + #[prost(uint32, tag = "12")] + pub omgchbachci: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iadnpjbkilo { + #[prost(uint32, tag = "4")] + pub jinjlbemjnc: u32, + #[prost(uint32, tag = "5")] + pub pemfnlkjkdk: u32, + #[prost(enumeration = "WidgetSlotTag", tag = "6")] + pub tag: i32, + #[prost(bool, tag = "15")] + pub is_active: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25382)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jpfmakamjhj { + #[prost(message, optional, tag = "2")] + pub bepfmdkmfic: ::core::option::Option, + #[prost(bool, tag = "4")] + pub dggckmikbmo: bool, + #[prost(uint32, tag = "5")] + pub omgchbachci: u32, + #[prost(uint32, tag = "9")] + pub ckoccfdgcol: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27107)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dkhmaedalkk { + #[prost(bool, tag = "4")] + pub plflijimomd: bool, + #[prost(map = "uint32, uint32", tag = "15")] + pub dnjdkhdfhop: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23844)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aepfakcjpof { + #[prost(int32, tag = "6")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6589)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lalicfddokf { + #[prost(int32, tag = "12")] + pub retcode: i32, + #[prost(uint32, tag = "15")] + pub entity_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27724)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lbmbihacfig { + #[prost(uint32, tag = "4")] + pub mempkcgnnmf: u32, + #[prost(uint32, tag = "5")] + pub onabdgfcpih: u32, + #[prost(uint32, tag = "7")] + pub mngmfjcfmbc: u32, + #[prost(message, repeated, tag = "9")] + pub dfdkbiadlnm: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "10")] + pub lolmnhaooec: u32, + #[prost(uint32, tag = "11")] + pub dikiefcchpa: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dfndlmnlmlf { + #[prost(float, tag = "1")] + pub hnnmhlbcgmn: f32, + #[prost(bool, tag = "2")] + pub okhnjhjakfd: bool, + #[prost(uint32, tag = "3")] + pub ilffcdkmipe: u32, + #[prost(uint32, tag = "7")] + pub pfoahcojpjm: u32, + #[prost(float, tag = "8")] + pub agidomnebcj: f32, + #[prost(float, tag = "9")] + pub cdjmjlahfgk: f32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22000)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jdioachekag {} +#[derive(proto_gen::CmdID)] +#[cmdid(25873)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oikfpambpng { + #[prost(uint32, tag = "10")] + pub entity_id: u32, + #[prost(message, optional, tag = "11")] + pub pfogokingmb: ::core::option::Option, + #[prost(int32, tag = "13")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27362)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nnhelgfbahe { + #[prost(uint32, tag = "9")] + pub jinjlbemjnc: u32, + #[prost(oneof = "nnhelgfbahe::Gdchhfldeed", tags = "1674, 846")] + pub gdchhfldeed: ::core::option::Option, +} +/// Nested message and enum types in `NNHELGFBAHE`. +pub mod nnhelgfbahe { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Gdchhfldeed { + #[prost(message, tag = "1674")] + WidgetCreatorInfo(super::Oigbjhflkkl), + #[prost(message, tag = "846")] + LocationInfo(super::Fmdngkgcopo), + } +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pbfpkehkkkm { + #[prost(bool, tag = "1")] + pub ecihdijcled: bool, + #[prost(uint32, tag = "2")] + pub gadget_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9437)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Poenonmjnoi { + #[prost(string, repeated, tag = "10")] + pub mjifbdojhmk: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jidlnmkdkmj { + #[prost(message, optional, tag = "6")] + pub bepfmdkmfic: ::core::option::Option, + #[prost(bool, tag = "10")] + pub dggckmikbmo: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fgoeomkhikk { + #[prost(message, repeated, tag = "9")] + pub mcdijkphlno: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Equip { + #[prost(bool, tag = "3")] + pub is_locked: bool, + #[prost(oneof = "equip::Detail", tags = "1, 2")] + pub detail: ::core::option::Option, +} +/// Nested message and enum types in `Equip`. +pub mod equip { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Detail { + #[prost(message, tag = "1")] + Reliquary(super::Reliquary), + #[prost(message, tag = "2")] + Weapon(super::Weapon), + } +} +#[derive(proto_gen::CmdID)] +#[cmdid(29067)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cafnbbkjddm { + #[prost(int32, tag = "7")] + pub retcode: i32, + #[prost(oneof = "cafnbbkjddm::Detail", tags = "164, 407, 1129")] + pub detail: ::core::option::Option, +} +/// Nested message and enum types in `CAFNBBKJDDM`. +pub mod cafnbbkjddm { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Detail { + #[prost(uint32, tag = "164")] + BgmId(u32), + #[prost(uint32, tag = "407")] + RedPoint(u32), + #[prost(bool, tag = "1129")] + IsShowBriefCardEventCase(bool), + } +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nbhjbojgcic { + #[prost(uint32, tag = "8")] + pub uid: u32, + #[prost(bool, tag = "11")] + pub iicidnmoebc: bool, + #[prost(map = "uint32, uint32", tag = "12")] + pub jclilkdklgf: ::std::collections::HashMap, + #[prost(uint32, tag = "14")] + pub kpampgdjdhe: u32, + #[prost(uint32, tag = "15")] + pub icmgfgejcjk: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nenndiiidlj { + #[prost(bool, tag = "3")] + pub egjaiijojdd: bool, + #[prost(bool, tag = "7")] + pub eialjbaengj: bool, + #[prost(bool, tag = "8")] + pub ocnahhgpepb: bool, + #[prost(uint32, tag = "9")] + pub oboopjlpdni: u32, + #[prost(uint32, tag = "10")] + pub oicebegencm: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29420)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gnhkjmijeoc {} +#[derive(proto_gen::CmdID)] +#[cmdid(25351)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jbholopbkpj { + #[prost(uint32, repeated, tag = "2")] + pub fdjpppfghne: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "8")] + pub retcode: i32, + #[prost(uint32, repeated, tag = "15")] + pub jcccnjnjfja: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27577)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dkhcipoamnj { + #[prost(enumeration = "Himmemhogfb", tag = "10")] + pub mfmlakbiaed: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Anhgfbpnhbf { + #[prost(uint32, tag = "4")] + pub attack_target_id: u32, + #[prost(uint32, tag = "7")] + pub iloggcgijhh: u32, + #[prost(uint32, tag = "14")] + pub entity_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1688)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hbdcikeanff { + #[prost(int32, tag = "8")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iejjdfopbpj { + #[prost(enumeration = "Akehcjngjej", tag = "1")] + pub r#type: i32, + #[prost(int32, tag = "2")] + pub bllecclcejn: i32, + #[prost(message, optional, tag = "4")] + pub gpbnffjbomn: ::core::option::Option, + #[prost(message, optional, tag = "8")] + pub ifkdejebmpe: ::core::option::Option, + #[prost(message, optional, tag = "11")] + pub ccnnjmkemlc: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4258)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kkohmpkkagc { + #[prost(int32, tag = "1")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9670)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fkffmjhjkld { + #[prost(message, repeated, tag = "11")] + pub olamgiolbcg: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "14")] + pub scene_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2240)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dbmlbaglhll { + #[prost(uint32, tag = "3")] + pub room_id: u32, + #[prost(int32, tag = "4")] + pub retcode: i32, + #[prost(uint64, tag = "9")] + pub gedmdocolfj: u64, + #[prost(bool, tag = "14")] + pub is_add: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4591)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ojokeibpbol { + #[prost(int32, tag = "1")] + pub retcode: i32, + #[prost(uint32, tag = "3")] + pub config_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bkegalpkbip { + #[prost(message, repeated, tag = "8")] + pub cgmcleelmjo: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fmeoldfccec { + #[prost(message, repeated, tag = "1")] + pub djhjihnakij: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "2")] + pub lcodbnghipi: u32, + #[prost(uint32, tag = "4")] + pub lekfejhkppe: u32, + #[prost(enumeration = "Chjbbpjbkdc", tag = "5")] + pub elgpheclbjf: i32, + #[prost(uint32, tag = "6")] + pub cjmhjhijmjn: u32, + #[prost(uint32, tag = "7")] + pub pjjaoilbfbn: u32, + #[prost(message, repeated, tag = "8")] + pub iehennhnhdj: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "9")] + pub pfjjbfjieje: ::prost::alloc::vec::Vec, + #[prost(uint64, repeated, tag = "10")] + pub avatar_guid_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "11")] + pub pgpkfihjhfd: u32, + #[prost(message, optional, tag = "12")] + pub lkboajlnmio: ::core::option::Option, + #[prost(uint32, repeated, tag = "13")] + pub nijajagmlgp: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "15")] + pub liaaakbhkgb: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2576)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hiolhkjdghe {} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bcoelckigpg { + #[prost(uint32, tag = "11")] + pub end_time: u32, + #[prost(uint32, tag = "12")] + pub ojoapinglno: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3478)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bcjhodglmpm { + #[prost(uint32, tag = "8")] + pub iehlhaogkpj: u32, + #[prost(bool, tag = "1")] + pub djoclokdkae: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9869)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jfdajghalkk {} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Menhnbmdedj { + #[prost(uint32, tag = "2")] + pub dfpnkfekiig: u32, + #[prost(map = "uint32, message", tag = "6")] + pub ajamlcgabpg: ::std::collections::HashMap, + #[prost(uint32, tag = "14")] + pub gdajdfbkpde: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1945)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ffgppoaafkh { + #[prost(uint64, repeated, tag = "11")] + pub edabeidcffo: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3515)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Llbokelbkhf {} +#[derive(proto_gen::CmdID)] +#[cmdid(24165)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Omneibgijih { + #[prost(uint32, tag = "1")] + pub plhjikjloak: u32, + #[prost(message, repeated, tag = "2")] + pub server_buff_list: ::prost::alloc::vec::Vec, + #[prost(string, tag = "4")] + pub lldpnociddf: ::prost::alloc::string::String, + #[prost(enumeration = "PlayerDieType", tag = "5")] + pub jdfbfdifmmj: i32, + #[prost(uint32, tag = "6")] + pub life_state: u32, + #[prost(uint32, tag = "9")] + pub entity_id: u32, + #[prost(uint32, tag = "12")] + pub kjlbepdnldm: u32, + #[prost(string, repeated, tag = "14")] + pub epgobhiedoi: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22480)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iomblpblohg { + #[prost(uint32, tag = "5")] + pub cdplheijfgf: u32, + #[prost(uint32, tag = "6")] + pub ohkidhnabib: u32, + #[prost(bool, tag = "10")] + pub kcmjhjeomoa: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fmipcnlflcb { + #[prost(uint32, tag = "1")] + pub aaopmgielok: u32, + #[prost(uint32, tag = "2")] + pub pdkifkkmhcn: u32, + #[prost(uint32, repeated, tag = "3")] + pub gmldnleodoh: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "4")] + pub kodkbhodgcd: u32, + #[prost(uint32, tag = "5")] + pub ojoapinglno: u32, + #[prost(uint32, tag = "6")] + pub geihmkhcije: u32, + #[prost(oneof = "fmipcnlflcb::Nheankioagf", tags = "21")] + pub nheankioagf: ::core::option::Option, +} +/// Nested message and enum types in `FMIPCNLFLCB`. +pub mod fmipcnlflcb { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Nheankioagf { + #[prost(message, tag = "21")] + CrucibleInfo(super::Ffggpnbbmkn), + } +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kdfgedgeamn { + #[prost(map = "uint32, enumeration(Cmdeepdjoga)", tag = "4")] + pub iffdajmbonc: ::std::collections::HashMap, + #[prost(map = "uint32, enumeration(Cmdeepdjoga)", tag = "7")] + pub baffhlkjdml: ::std::collections::HashMap, + #[prost(enumeration = "Eegmnipnkmj", tag = "12")] + pub reason: i32, + #[prost(uint32, tag = "14")] + pub fbpgimlmdnj: u32, + #[prost(int32, tag = "15")] + pub cgeoapipdoa: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22553)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ncfofpkapon { + #[prost(int32, tag = "5")] + pub retcode: i32, + #[prost(uint32, tag = "9")] + pub hlclacdmepd: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3298)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gebgpcpmcoi { + #[prost(uint32, tag = "10")] + pub pjjaoilbfbn: u32, + #[prost(uint32, tag = "7")] + pub onabdgfcpih: u32, + #[prost(enumeration = "Hibhhjenmpp", tag = "9")] + pub pipmddflkmo: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1894)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bhacbijnjae { + #[prost(int32, tag = "6")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kbhgaofkfdd { + #[prost(message, repeated, tag = "13")] + pub cbenkjeocil: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22343)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dnallddnikn { + #[prost(enumeration = "Hhnoenmdggg", tag = "1")] + pub kfmglfjdodo: i32, + #[prost(uint32, tag = "3")] + pub chddofmlblm: u32, + #[prost(uint32, tag = "5")] + pub gbcebgkbjdm: u32, + #[prost(enumeration = "Nmfdmilhgpo", tag = "6")] + pub oaahhnmhafh: i32, + #[prost(int32, tag = "9")] + pub retcode: i32, + #[prost(uint32, tag = "11")] + pub gadget_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20067)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ljhhdbgkope { + #[prost(int32, tag = "13")] + pub retcode: i32, + #[prost(message, repeated, tag = "14")] + pub hikdoopdahc: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ejplnopgalf { + #[prost(bool, tag = "5")] + pub ecihdijcled: bool, + #[prost(uint32, tag = "8")] + pub peajinifghm: u32, + #[prost(bool, tag = "11")] + pub jhfmeficaal: bool, + #[prost(uint32, tag = "15")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6210)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Alehomeccoa {} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eikifemnonl { + #[prost(bool, tag = "8")] + pub iknbinfmiid: bool, + #[prost(uint32, tag = "11")] + pub pjjaoilbfbn: u32, + #[prost(bool, tag = "13")] + pub ecihdijcled: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gmfpphhlcmp { + #[prost(message, optional, tag = "1")] + pub fikdjoonfbb: ::core::option::Option, + #[prost(bool, tag = "2")] + pub pflajckehfa: bool, + #[prost(message, optional, tag = "5")] + pub gigadmpnjhl: ::core::option::Option, + #[prost(uint32, tag = "6")] + pub plnpbcdlnln: u32, + #[prost(uint32, tag = "8")] + pub bfeondacake: u32, + #[prost(enumeration = "Hgolgnfbdhm", tag = "10")] + pub state: i32, + #[prost(uint64, tag = "11")] + pub gedmdocolfj: u64, + #[prost(message, optional, tag = "12")] + pub mdmplabaiec: ::core::option::Option, + #[prost(uint32, repeated, tag = "13")] + pub tag_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "15")] + pub gaplfmmgbfa: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5517)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jaiaefgnhkl { + #[prost(uint32, tag = "1")] + pub ljfafdhikjd: u32, + #[prost(enumeration = "Paahdfjmicd", tag = "2")] + pub reason: i32, + #[prost(uint32, tag = "3")] + pub pjjaoilbfbn: u32, + #[prost(uint32, tag = "11")] + pub golimnimjkn: u32, + #[prost(uint32, tag = "12")] + pub jdflblogald: u32, + #[prost(bool, tag = "15")] + pub dggckmikbmo: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mhjkjiadifl { + #[prost(uint32, repeated, tag = "3")] + pub pdcgacbhlam: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "6")] + pub ihlceedfind: u32, + #[prost(uint32, tag = "7")] + pub fchfakepinp: u32, + #[prost(enumeration = "Gepcikpiepn", tag = "11")] + pub hnjdddnoook: i32, + #[prost(uint32, repeated, tag = "15")] + pub fpaiojdpdpc: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1659)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Akkjbihdikn { + #[prost(int32, tag = "14")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29315)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ajkdlnfljcf { + #[prost(uint32, tag = "9")] + pub omgchbachci: u32, + #[prost(int32, tag = "11")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fclaiignofd { + #[prost(uint32, tag = "1")] + pub ejogbmnhoph: u32, + #[prost(message, repeated, tag = "11")] + pub egpjhndaamb: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "15")] + pub kniinjkfijc: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20708)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kkjhjddjnho { + #[prost(int32, tag = "4")] + pub retcode: i32, + #[prost(uint32, tag = "10")] + pub mgcmnplnjkl: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21478)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lofpmdhjmdp { + #[prost(uint32, tag = "8")] + pub ealonaadcan: u32, + #[prost(uint32, tag = "15")] + pub khhibkpbkpn: u32, + #[prost(uint64, tag = "4")] + pub kjiklgjaegn: u64, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1051)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lpcckmpnjgi { + #[prost(bool, tag = "8")] + pub bgaoacgaldg: bool, + #[prost(uint32, tag = "10")] + pub plicgiinkfi: u32, + #[prost(uint32, tag = "15")] + pub draft_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ghknjbjhfpl { + #[prost(uint32, tag = "1")] + pub nklajccimii: u32, + #[prost(uint32, tag = "3")] + pub abpaipkldop: u32, + #[prost(uint32, tag = "4")] + pub lekfejhkppe: u32, + #[prost(uint32, tag = "5")] + pub enlkkemcpmh: u32, + #[prost(uint32, tag = "8")] + pub chefconpkll: u32, + #[prost(uint32, tag = "9")] + pub clocegaahjn: u32, + #[prost(uint32, tag = "10")] + pub dbpgbdainil: u32, + #[prost(uint32, tag = "13")] + pub odgiokoodip: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3163)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ffbacdhbcmb { + #[prost(uint32, tag = "4")] + pub prop_type: u32, + #[prost(float, tag = "8")] + pub jjpcpmfdneh: f32, + #[prost(float, tag = "9")] + pub eldoedjdghn: f32, + #[prost(enumeration = "Bbbemdapogh", tag = "12")] + pub reason: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2905)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Efoajnddcof { + #[prost(message, repeated, tag = "3")] + pub acfinbconkb: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Adgfpgnggkk { + #[prost(map = "uint32, uint32", tag = "1")] + pub eifchjhikhi: ::std::collections::HashMap, + #[prost(uint32, tag = "2")] + pub nlhpdkjpdbg: u32, + #[prost(uint32, tag = "5")] + pub eopffipdkgn: u32, + #[prost(uint32, tag = "6")] + pub failealaadn: u32, + #[prost(bool, tag = "11")] + pub knhicjhgbem: bool, + #[prost(uint32, tag = "13")] + pub afjclenhanc: u32, + #[prost(uint32, tag = "14")] + pub lihibgchlhc: u32, + #[prost(bool, tag = "15")] + pub dphdagagbii: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gfohnajkcmm { + #[prost(message, optional, tag = "1")] + pub opamnmmonci: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub dmgilpkaoih: ::core::option::Option, + #[prost(uint32, tag = "7")] + pub entity_id: u32, + #[prost(message, optional, tag = "8")] + pub igmdelmihma: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5410)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mpfkonljomd { + #[prost(message, repeated, tag = "14")] + pub pjaiebboobl: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cadkjpfbbgh { + #[prost(message, optional, tag = "1")] + pub ncbfbhbddbb: ::core::option::Option, + #[prost(bool, tag = "2")] + pub dphdagagbii: bool, + #[prost(message, optional, tag = "3")] + pub oimelfimhdi: ::core::option::Option, + #[prost(uint32, tag = "4")] + pub afjclenhanc: u32, + #[prost(uint32, tag = "5")] + pub ehdllggiofj: u32, + #[prost(bool, tag = "7")] + pub jjljnccjnhg: bool, + #[prost(message, optional, tag = "9")] + pub fldadbghcfo: ::core::option::Option, + #[prost(uint32, tag = "13")] + pub hkappoekong: u32, + #[prost(message, optional, tag = "15")] + pub lobifoedpaj: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3053)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pnaphnbmdam { + #[prost(message, optional, tag = "5")] + pub phbpfonlgfb: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27051)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cbfaompogbh { + #[prost(int32, tag = "12")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29238)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kfcemjloihd { + #[prost(int32, tag = "6")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28555)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mclgicjnfng { + #[prost(int32, tag = "9")] + pub retcode: i32, + #[prost(uint64, tag = "10")] + pub gedmdocolfj: u64, + #[prost(bool, tag = "12")] + pub is_add: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23865)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gkfpbcomcpk { + #[prost(message, repeated, tag = "12")] + pub eikmafpnelm: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "14")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6850)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ijjldlnbngg { + #[prost(map = "uint64, message", tag = "12")] + pub hmemhopnbeb: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8276)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nnbcimmhmjo { + #[prost(uint32, tag = "1")] + pub khhibkpbkpn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4911)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pnppmnolied { + #[prost(uint32, tag = "3")] + pub scene_id: u32, + #[prost(int32, tag = "5")] + pub retcode: i32, + #[prost(message, repeated, tag = "12")] + pub lkjdenefmnb: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9908)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fkjfidblkfm {} +#[derive(proto_gen::CmdID)] +#[cmdid(226)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fllkdomfeka { + #[prost(uint32, tag = "4")] + pub avatar_id: u32, + #[prost(int32, tag = "9")] + pub retcode: i32, + #[prost(uint32, tag = "15")] + pub hmlgdpbcgdm: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(568)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ilcbhkdoeag { + #[prost(uint32, tag = "3")] + pub parent_quest_id: u32, + #[prost(int32, repeated, tag = "6")] + pub jiemdkokcle: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "12")] + pub podhdpcpjgj: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lcpmjpejcec { + #[prost(uint32, tag = "3")] + pub peajinifghm: u32, + #[prost(bool, tag = "11")] + pub lhhbinhjaoe: bool, + #[prost(uint32, tag = "13")] + pub ejnglcjnapn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6563)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kogejbnkkpd { + #[prost(uint32, tag = "3")] + pub khhibkpbkpn: u32, + #[prost(uint32, tag = "4")] + pub group_id: u32, + #[prost(int32, tag = "12")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27691)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mdffjjonahi { + #[prost(uint32, tag = "5")] + pub scene_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27876)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dddfolgeppe { + #[prost(uint32, tag = "2")] + pub oboopjlpdni: u32, + #[prost(bool, tag = "9")] + pub pjhpmjoonnb: bool, + #[prost(int32, tag = "10")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Apjfamgojdb { + #[prost(uint32, tag = "1")] + pub nimjbkkhmgm: u32, + #[prost(uint32, tag = "2")] + pub skill_id: u32, + #[prost(uint32, tag = "6")] + pub efjohfkemjf: u32, + #[prost(bool, tag = "15")] + pub lhhbinhjaoe: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct AvatarTeam { + #[prost(string, tag = "6")] + pub team_name: ::prost::alloc::string::String, + #[prost(uint64, repeated, tag = "15")] + pub avatar_guid_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29167)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hcnbkibkgag { + #[prost(uint32, tag = "3")] + pub entity_id: u32, + #[prost(message, optional, tag = "8")] + pub renderer_changed_info: ::core::option::Option, + #[prost(enumeration = "Igohjibcdfa", tag = "9")] + pub lkidbhiooog: i32, + #[prost(bool, tag = "14")] + pub ocnngoflpio: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29170)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ejdlmieidko { + #[prost(uint32, repeated, tag = "14")] + pub iicooifholc: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4900)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Joejhmanjoh { + #[prost(fixed32, tag = "11")] + pub end_time: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28096)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ocdkknfmagg { + #[prost(uint32, tag = "6")] + pub gghkdjlgfpb: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8317)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct EntityTagChangeNotify { + #[prost(bool, tag = "1")] + pub is_add: bool, + #[prost(uint32, tag = "6")] + pub entity_id: u32, + #[prost(string, tag = "9")] + pub tag: ::prost::alloc::string::String, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27401)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dagijmmkheg { + #[prost(int32, tag = "1")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iolgpkjjcfi { + #[prost(uint32, tag = "1")] + pub mpiiidbdlaf: u32, + #[prost(oneof = "iolgpkjjcfi::Ikciaddgjkg", tags = "2, 3, 4")] + pub ikciaddgjkg: ::core::option::Option, +} +/// Nested message and enum types in `IOLGPKJJCFI`. +pub mod iolgpkjjcfi { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Ikciaddgjkg { + #[prost(int32, tag = "2")] + IntVal(i32), + #[prost(float, tag = "3")] + FloatVal(f32), + #[prost(bool, tag = "4")] + BoolVal(bool), + } +} +#[derive(proto_gen::CmdID)] +#[cmdid(2753)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fanppaaihil { + #[prost(int32, tag = "9")] + pub retcode: i32, + #[prost(uint32, tag = "12")] + pub group_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jopccmbmllm {} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MaterialDeleteInfo { + #[prost(bool, tag = "1")] + pub delete_time_num_map: bool, + #[prost(oneof = "material_delete_info::Likfdabjgag", tags = "2, 3, 4")] + pub likfdabjgag: ::core::option::Option, +} +/// Nested message and enum types in `MaterialDeleteInfo`. +pub mod material_delete_info { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Likfdabjgag { + #[prost(message, tag = "2")] + ConfigDelayWeek(super::Odplefimgeh), + #[prost(message, tag = "3")] + ConfigCountDownTime(super::Pejobopbclc), + #[prost(message, tag = "4")] + DelayWeekConfigDelayWeek(super::Mjpljjplblm), + } +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Odplefimgeh { + #[prost(map = "uint32, uint32", tag = "1")] + pub ccnedchbikn: ::std::collections::HashMap, + #[prost(uint32, tag = "2")] + pub ilbkelakkec: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pejobopbclc { + #[prost(uint32, tag = "1")] + pub nifbcchhdhb: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mjpljjplblm { + #[prost(map = "uint32, uint32", tag = "1")] + pub ccnedchbikn: ::std::collections::HashMap, + #[prost(uint32, tag = "2")] + pub ajhjkmjcchb: u32, + #[prost(uint32, tag = "3")] + pub ilbkelakkec: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25617)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kpjlgaehbph { + #[prost(bool, tag = "4")] + pub cimejkmjgpm: bool, + #[prost(message, optional, tag = "6")] + pub oeapfmfefge: ::core::option::Option, + #[prost(string, tag = "8")] + pub hemdlgommkc: ::prost::alloc::string::String, + #[prost(int32, tag = "12")] + pub retcode: i32, + #[prost(uint32, tag = "14")] + pub jjlpijkgkon: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3266)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dgkinaajjng { + #[prost(uint32, tag = "13")] + pub entity_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Khkgkpcanlc { + #[prost(float, tag = "4")] + pub mjpdbgbpbel: f32, + #[prost(message, optional, tag = "8")] + pub kfedopgomjc: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9878)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ijfecbepidk { + #[prost(uint32, repeated, tag = "5")] + pub hpjadbmcnkb: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "9")] + pub entity_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gmapkefnaec { + #[prost(uint32, tag = "3")] + pub pglajfafgai: u32, + #[prost(uint32, tag = "5")] + pub ilpjbepjdlp: u32, + #[prost(uint32, tag = "8")] + pub nnebhhfhdcc: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20355)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gdmlijgibih { + #[prost(int32, tag = "9")] + pub retcode: i32, + #[prost(message, repeated, tag = "15")] + pub pjemkikefle: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3441)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jkggnabdajj { + #[prost(uint32, tag = "5")] + pub target_uid: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mabgkocapgm { + #[prost(uint32, tag = "1")] + pub jddamhceape: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26940)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ndmcahkagie { + #[prost(message, repeated, tag = "11")] + pub kfapijcgdbc: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25898)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bddchoopicn { + #[prost(uint32, tag = "3")] + pub dhelnnbdpje: u32, + #[prost(int32, tag = "6")] + pub retcode: i32, + #[prost(uint32, tag = "10")] + pub pemfnlkjkdk: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24019)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Njadnnjmigc { + #[prost(uint32, tag = "1")] + pub hmlgdpbcgdm: u32, + #[prost(uint32, tag = "14")] + pub avatar_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ipmkdmocnij { + #[prost(uint32, tag = "3")] + pub gjghlmekehm: u32, + #[prost(uint32, tag = "6")] + pub kjjccecpofh: u32, + #[prost(uint32, tag = "8")] + pub iadeomkimkb: u32, + #[prost(uint32, tag = "12")] + pub gdjklhgohif: u32, + #[prost(bool, tag = "13")] + pub clnjbibjcmg: bool, + #[prost(bool, tag = "15")] + pub jcoojljopeh: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27552)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Haiacjdcleh { + #[prost(int32, tag = "3")] + pub retcode: i32, + #[prost(message, optional, tag = "13")] + pub noflfojlggd: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dooichmegog { + #[prost(enumeration = "Odopboephmm", tag = "1")] + pub abclhaaljpl: i32, + #[prost(uint64, tag = "2")] + pub padclipinad: u64, + #[prost(uint64, tag = "3")] + pub cgammlododp: u64, + #[prost(bool, tag = "4")] + pub emhafoepfmn: bool, + #[prost(uint32, tag = "5")] + pub eiodiehhmnb: u32, + #[prost(uint32, tag = "6")] + pub eenbmjalppd: u32, + #[prost(message, optional, tag = "7")] + pub pos: ::core::option::Option, + #[prost(message, optional, tag = "8")] + pub nbaidhhdpmd: ::core::option::Option, + #[prost(int32, tag = "9")] + pub speed: i32, + #[prost(uint32, tag = "10")] + pub peer_id: u32, + #[prost(uint32, tag = "11")] + pub peblohahpmm: u32, + #[prost(uint32, tag = "12")] + pub jkgafnnlifh: u32, + #[prost(uint32, tag = "13")] + pub njfflkndlke: u32, + #[prost(bool, tag = "14")] + pub cpbdalokjhg: bool, + #[prost(message, optional, tag = "15")] + pub bjklppogeof: ::core::option::Option, + #[prost(uint32, tag = "16")] + pub klmkdbiniif: u32, + #[prost(int32, tag = "17")] + pub kigfpeikeio: i32, + #[prost(uint64, tag = "18")] + pub clkepicnjjd: u64, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dalbhjdanal { + #[prost(uint32, tag = "1")] + pub jgknaglfkia: u32, + #[prost(message, optional, tag = "7")] + pub ability_name: ::core::option::Option, + #[prost(uint32, tag = "9")] + pub okapniodoog: u32, + #[prost(message, optional, tag = "14")] + pub dkjcbgdbkdm: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6842)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hgdcnffcoha { + #[prost(uint32, tag = "8")] + pub nnebhhfhdcc: u32, + #[prost(int32, tag = "11")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5915)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Npoahmifhoe { + #[prost(int32, tag = "3")] + pub retcode: i32, + #[prost(uint64, tag = "13")] + pub guid: u64, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kbniakcnpal { + #[prost(uint32, tag = "4")] + pub oboopjlpdni: u32, + #[prost(bool, tag = "8")] + pub jhfmeficaal: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22052)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ealbmeggogb { + #[prost(uint32, tag = "15")] + pub khhibkpbkpn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26918)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iepkeagldnk { + #[prost(uint32, tag = "15")] + pub fneojppfdhh: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bjdgfbaedoi { + #[prost(uint32, tag = "6")] + pub ecgpnmaliip: u32, + #[prost(uint32, tag = "14")] + pub uid: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pnghljlknfi { + #[prost(uint64, tag = "4")] + pub cebikbgojjn: u64, + #[prost(uint32, tag = "7")] + pub onhojobnapm: u32, + #[prost(uint32, tag = "10")] + pub dpmdgmebgii: u32, + #[prost(uint32, tag = "12")] + pub kmpmkinjclj: u32, + #[prost(uint64, tag = "15")] + pub odaamkmioce: u64, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9832)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oaicdebmhje { + #[prost(uint32, tag = "2")] + pub hcdenojpdff: u32, + #[prost(int32, tag = "4")] + pub retcode: i32, + #[prost(uint32, repeated, tag = "11")] + pub doaejgakckl: ::prost::alloc::vec::Vec, + #[prost(map = "uint64, message", tag = "13")] + pub hmemhopnbeb: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gcalocahegi { + #[prost(message, optional, tag = "2")] + pub fcojefmcgdi: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub pdjmjhbpioi: ::core::option::Option, + #[prost(message, repeated, tag = "4")] + pub oiimmpfkmfc: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "5")] + pub pefkgbhhemc: ::core::option::Option, + #[prost(message, optional, tag = "8")] + pub idjdknamaom: ::core::option::Option, + #[prost(message, optional, tag = "10")] + pub mgnbbofaohg: ::core::option::Option, + #[prost(message, repeated, tag = "12")] + pub khedphiggmj: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "13")] + pub bkicgpcjeee: ::core::option::Option, + #[prost(message, optional, tag = "15")] + pub abpjibdjipa: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23119)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Padlmapjeeg { + #[prost(int32, tag = "1")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8699)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerEnterSceneInfoNotify { + #[prost(message, optional, tag = "2")] + pub team_enter_info: ::core::option::Option, + #[prost(uint32, tag = "3")] + pub cur_avatar_entity_id: u32, + #[prost(message, repeated, tag = "6")] + pub avatar_enter_info: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "13")] + pub enter_scene_token: u32, + #[prost(message, optional, tag = "14")] + pub mp_level_entity_info: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2997)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dlpkekcnmce { + #[prost(uint32, tag = "5")] + pub jlhfgabkeoi: u32, + #[prost(int32, tag = "8")] + pub retcode: i32, + #[prost(oneof = "dlpkekcnmce::Adebpdlaojp", tags = "2, 6")] + pub adebpdlaojp: ::core::option::Option, +} +/// Nested message and enum types in `DLPKEKCNMCE`. +pub mod dlpkekcnmce { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Adebpdlaojp { + #[prost(uint32, tag = "2")] + ChapterId(u32), + #[prost(uint32, tag = "6")] + Level(u32), + } +} +#[derive(proto_gen::CmdID)] +#[cmdid(22901)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dnhpkhiigda { + #[prost(uint32, repeated, tag = "6")] + pub ljoocndbcfl: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5523)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dnlgpljgeie { + #[prost(uint64, tag = "13")] + pub guid: u64, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nfaelnafngn { + #[prost(uint32, tag = "5")] + pub uid: u32, + #[prost(enumeration = "Oijbbocgigb", tag = "14")] + pub state: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7923)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Haemeapboja { + #[prost(enumeration = "Igohjibcdfa", tag = "1")] + pub lkidbhiooog: i32, + #[prost(message, optional, tag = "5")] + pub gfdflkogjgj: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5036)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cclobjecfdf { + #[prost(uint32, tag = "8")] + pub iehlhaogkpj: u32, + #[prost(bool, tag = "4")] + pub bgaoacgaldg: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2122)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ihhmpbichdg { + #[prost(uint32, tag = "1")] + pub lhdahdneppl: u32, + #[prost(message, repeated, tag = "8")] + pub item_list: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "9")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ekiecaieame { + #[prost(uint32, tag = "1")] + pub alnmhbapcgn: u32, + #[prost(bool, tag = "2")] + pub khpojffhdil: bool, + #[prost(bool, tag = "4")] + pub jhfmeficaal: bool, + #[prost(uint32, tag = "5")] + pub oicebegencm: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Calfiedpebn { + #[prost(enumeration = "Ajopcffcfdd", tag = "2")] + pub state: i32, + #[prost(uint32, tag = "3")] + pub dabcmjlkoln: u32, + #[prost(uint32, tag = "4")] + pub scene_id: u32, + #[prost(uint32, tag = "6")] + pub gbcebgkbjdm: u32, + #[prost(message, optional, tag = "10")] + pub pos: ::core::option::Option, + #[prost(message, optional, tag = "15")] + pub rot: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23896)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mehpidfemie { + #[prost(int32, tag = "7")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3792)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fjeofmbajeo { + #[prost(int32, tag = "11")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25198)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Caahakoocma { + #[prost(uint32, tag = "1")] + pub param: u32, + #[prost(uint32, tag = "4")] + pub target_uid: u32, + #[prost(int32, tag = "8")] + pub retcode: i32, + #[prost(message, optional, tag = "9")] + pub cdjoghohclk: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5098)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Beknedmipid { + #[prost(uint64, tag = "1")] + pub avatar_guid: u64, + #[prost(uint32, tag = "15")] + pub inehpogkbmd: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1256)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ackdldjdphp { + #[prost(uint32, tag = "14")] + pub fgedppoccke: u32, + #[prost(uint32, tag = "15")] + pub group_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24972)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mbffgngecag { + #[prost(uint32, tag = "13")] + pub entity_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29172)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ggacgoheiag { + #[prost(bool, tag = "2")] + pub ankcbommojb: bool, + #[prost(bool, tag = "6")] + pub dggckmikbmo: bool, + #[prost(uint32, tag = "9")] + pub jofbeiaclof: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fkfohkhkijn { + #[prost(message, repeated, tag = "12")] + pub cbenkjeocil: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aiigdihbjga { + #[prost(uint32, repeated, tag = "10")] + pub nklnidikhfp: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "13")] + pub count: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25813)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cmcbijdhggp { + #[prost(message, repeated, tag = "2")] + pub doeeiokbidi: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "11")] + pub oehkjpbepkb: u32, + #[prost(int32, tag = "12")] + pub retcode: i32, + #[prost(uint32, tag = "15")] + pub draft_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5482)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fpojmnbchhe { + #[prost(uint32, tag = "3")] + pub pefplnjheli: u32, + #[prost(uint32, tag = "4")] + pub dmnldppgokg: u32, + #[prost(bool, tag = "8")] + pub gedopocdjgj: bool, + #[prost(uint32, tag = "9")] + pub ecgjaibejeo: u32, + #[prost(uint32, tag = "10")] + pub oebibbfhikd: u32, + #[prost(uint32, tag = "12")] + pub pjjaoilbfbn: u32, + #[prost(uint32, tag = "15")] + pub glffdomajdd: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iakmbahlgkm { + #[prost(int32, tag = "1")] + pub x: i32, + #[prost(int32, tag = "2")] + pub y: i32, + #[prost(int32, tag = "3")] + pub z: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ipmkkchicng { + #[prost(uint32, repeated, tag = "8")] + pub hnpbppdijpp: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "13")] + pub kfapijcgdbc: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1369)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jbnfdcccmjf { + #[prost(uint32, tag = "7")] + pub bcgeoglhkan: u32, + #[prost(uint32, tag = "13")] + pub mempkcgnnmf: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Onihlhkmikb { + #[prost(uint32, tag = "1")] + pub aegjhenaakp: u32, + #[prost(uint32, tag = "8")] + pub jcjlcebngld: u32, + #[prost(uint32, tag = "12")] + pub egbmifdjdih: u32, + #[prost(enumeration = "Kdioojinlkg", tag = "15")] + pub hgkoegebhfo: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29176)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Khifoffekho { + #[prost(int32, tag = "1")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hlbkbphlfpl { + #[prost(uint32, tag = "3")] + pub fenjfleghmg: u32, + #[prost(uint32, tag = "7")] + pub iinemmigmmo: u32, + #[prost(uint32, tag = "13")] + pub ejjiafimoli: u32, + #[prost(uint32, tag = "15")] + pub item_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nbckcebghna { + #[prost(uint32, tag = "7")] + pub ffbjampgekm: u32, + #[prost(uint32, tag = "8")] + pub gghkdjlgfpb: u32, + #[prost(uint32, tag = "9")] + pub level: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21579)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Khkokkljceg { + #[prost(string, tag = "13")] + pub pffplppebpp: ::prost::alloc::string::String, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21821)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nndceldjdgk { + #[prost(uint32, tag = "1")] + pub okicoglejec: u32, + #[prost(uint32, repeated, tag = "4")] + pub fpaiojdpdpc: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "9")] + pub fchfakepinp: u32, + #[prost(int32, tag = "12")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7473)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dbnmaphanjf { + #[prost(uint32, tag = "10")] + pub fiknlhojfkl: u32, + #[prost(int32, tag = "11")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4741)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Okjlofieieh { + #[prost(uint32, tag = "6")] + pub alpfbbejimo: u32, + #[prost(bool, tag = "15")] + pub ibdpphjgcpg: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3987)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eebhhefggld { + #[prost(uint32, tag = "10")] + pub olbaioooddk: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3968)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mpppmgmhdgd { + #[prost(uint64, tag = "9")] + pub nnloemnelia: u64, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gbhcoidiijh { + #[prost(uint32, tag = "9")] + pub dekhbeooien: u32, + #[prost(bool, tag = "14")] + pub dggckmikbmo: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2283)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eemmeicjcab { + #[prost(uint32, tag = "2")] + pub goakcbglbmj: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1807)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Glncomnbhbk { + #[prost(uint32, repeated, tag = "1")] + pub himcbbodhcj: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "13")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5389)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Negmhmbgdio { + #[prost(uint32, tag = "10")] + pub entity_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8003)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Celomoaicjc { + #[prost(message, optional, tag = "13")] + pub hboebpmfddo: ::core::option::Option, + #[prost(uint32, tag = "4")] + pub entity_id: u32, + #[prost(uint32, tag = "1")] + pub khhibkpbkpn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28322)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cblgkkomlbp { + #[prost(uint32, tag = "15")] + pub target_uid: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8057)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Behhjoaalkg { + #[prost(int32, tag = "7")] + pub retcode: i32, + #[prost(uint32, tag = "10")] + pub gbcebgkbjdm: u32, + #[prost(uint32, tag = "12")] + pub akmdkfbgdlb: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kghlaagbimb { + #[prost(uint32, repeated, tag = "2")] + pub jejgedbihfm: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "12")] + pub cbenkjeocil: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Acbpnjdpcfe { + #[prost(uint32, tag = "1")] + pub kpampgdjdhe: u32, + #[prost(sfixed64, tag = "2")] + pub mkcfekngpne: i64, + #[prost(uint32, tag = "5")] + pub uid: u32, + #[prost(uint32, tag = "7")] + pub dlmgmpmfojm: u32, + #[prost(uint32, tag = "8")] + pub kill_num: u32, + #[prost(sfixed64, tag = "12")] + pub ccbpcbollkl: i64, + #[prost(sfixed64, tag = "14")] + pub ikgknbdkobd: i64, + #[prost(uint32, tag = "15")] + pub diggffkgodj: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24615)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pbopjfcekfl {} +#[derive(proto_gen::CmdID)] +#[cmdid(2856)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cbaeobnldcl {} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pniedfcookd { + #[prost(uint32, tag = "1")] + pub hkbhninjmln: u32, + #[prost(uint32, repeated, tag = "2")] + pub giicbpigicm: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "3")] + pub cjmmgkpfmof: u32, + #[prost(uint32, tag = "4")] + pub ngjiickjnhg: u32, + #[prost(uint32, tag = "5")] + pub eopffipdkgn: u32, + #[prost(uint32, tag = "6")] + pub kmjpfmceifb: u32, + #[prost(message, repeated, tag = "7")] + pub kmbampphcni: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "8")] + pub end_time: u32, + #[prost(uint32, tag = "9")] + pub djjohokkdbm: u32, + #[prost(uint32, tag = "10")] + pub lpahjgdbepe: u32, + #[prost(uint32, tag = "11")] + pub njccempmhdi: u32, + #[prost(uint32, tag = "12")] + pub lgbnfifcpjf: u32, + #[prost(message, optional, tag = "13")] + pub hpkdnceehfn: ::core::option::Option, + #[prost(uint32, tag = "14")] + pub ibcgffjgcid: u32, + #[prost(uint32, tag = "15")] + pub hdhjdcphfmk: u32, + #[prost(uint32, tag = "76")] + pub mncaaimgcjj: u32, + #[prost(uint32, tag = "282")] + pub afogapgjcoh: u32, + #[prost(uint32, tag = "378")] + pub jlibgefcahd: u32, + #[prost(bool, tag = "952")] + pub ehiaioonfdh: bool, + #[prost(uint32, tag = "1171")] + pub bhnajclpoje: u32, + #[prost(uint32, tag = "1252")] + pub kjagoohcnon: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kckbcnhbnmi { + #[prost(enumeration = "Cfaiijnnlbp", tag = "6")] + pub pihngiilbfk: i32, + #[prost(bytes = "vec", tag = "8")] + pub gifdhcocgpm: ::prost::alloc::vec::Vec, + #[prost(enumeration = "Igohjibcdfa", tag = "12")] + pub lkidbhiooog: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct AnimatorParameterValueInfoPair { + #[prost(int32, tag = "1")] + pub name_id: i32, + #[prost(message, optional, tag = "2")] + pub animator_para: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gfilhaogbdl { + #[prost(uint32, tag = "2")] + pub mempkcgnnmf: u32, + #[prost(bool, tag = "4")] + pub ecihdijcled: bool, + #[prost(uint32, tag = "12")] + pub dmkfeccmcop: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29544)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oeignggjjgp { + #[prost(uint64, tag = "2")] + pub dcompdppdpo: u64, + #[prost(uint32, tag = "5")] + pub jlfheeipddp: u32, + #[prost(int32, tag = "14")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7519)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Homgfpffcgh { + #[prost(uint32, repeated, tag = "8")] + pub mjiofgmcple: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "14")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23433)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iooonmojknn { + #[prost(uint32, tag = "15")] + pub mempkcgnnmf: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aaeoemigkpc { + #[prost(map = "uint32, message", tag = "9")] + pub opembcgjapd: ::std::collections::HashMap, + #[prost(uint32, tag = "13")] + pub end_time: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4384)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nicieccojcn { + #[prost(uint32, tag = "6")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aogfoalepio { + #[prost(enumeration = "Cfpilojcini", tag = "9")] + pub bpelaiajjkj: i32, + #[prost(int32, tag = "15")] + pub retcode: i32, + #[prost(oneof = "aogfoalepio::Neokfhfmgho", tags = "5, 10, 12, 13, 14")] + pub neokfhfmgho: ::core::option::Option, +} +/// Nested message and enum types in `AOGFOALEPIO`. +pub mod aogfoalepio { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Neokfhfmgho { + #[prost(message, tag = "5")] + SyncAction(super::Pejfkjhkfnl), + #[prost(message, tag = "10")] + SyncCreateConnect(super::Dbcnhbgkago), + #[prost(message, tag = "12")] + SyncSnapShot(super::Ffaebglggcc), + #[prost(message, tag = "13")] + SyncFinishGame(super::Hjibijbldjd), + #[prost(message, tag = "14")] + SyncPing(super::Adaboonidnn), + } +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ipbjlhacfkm { + #[prost(uint32, tag = "4")] + pub hgdlfmmidkp: u32, + #[prost(uint32, tag = "5")] + pub geihmkhcije: u32, + #[prost(bool, tag = "6")] + pub ecihdijcled: bool, + #[prost(uint32, tag = "9")] + pub ccpigccdboi: u32, + #[prost(uint32, tag = "13")] + pub dmkfeccmcop: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8893)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jglgilkcpdc { + #[prost(message, repeated, tag = "1")] + pub item_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "2")] + pub ocfbngkjgca: u32, + #[prost(uint32, tag = "7")] + pub dlgpndckbak: u32, + #[prost(string, tag = "10")] + pub bmljclenhmh: ::prost::alloc::string::String, + #[prost(uint32, tag = "15")] + pub ofdgaholebg: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eheldhcfekd { + #[prost(uint32, tag = "1")] + pub dfpnkfekiig: u32, + #[prost(uint32, tag = "3")] + pub deoocbakmcj: u32, + #[prost(bool, tag = "4")] + pub dgcmikfmkhp: bool, + #[prost(bool, tag = "9")] + pub dggckmikbmo: bool, + #[prost(uint32, tag = "12")] + pub kmaehpagkfk: u32, + #[prost(uint32, tag = "13")] + pub pjjaoilbfbn: u32, + #[prost(uint32, tag = "15")] + pub onhojobnapm: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kfkcmmohnof { + #[prost(bool, tag = "7")] + pub mdgjjofokap: bool, + #[prost(uint32, tag = "13")] + pub pjjaoilbfbn: u32, + #[prost(uint32, tag = "15")] + pub ppbamnfheje: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hnjaaipceid { + #[prost(bool, tag = "7")] + pub ecihdijcled: bool, + #[prost(uint32, tag = "10")] + pub mmfkdhalglg: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21242)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fcojmpcffnf { + #[prost(message, optional, tag = "1")] + pub kiolegbhkbk: ::core::option::Option, + #[prost(int32, tag = "4")] + pub retcode: i32, + #[prost(message, repeated, tag = "5")] + pub gabljanjlaf: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "15")] + pub dalbepbfmfb: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lfpfkkmjeon { + #[prost(uint32, repeated, tag = "7")] + pub cpdiflpnpjn: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29835)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oapofljeppa { + #[prost(uint32, tag = "1")] + pub param: u32, + #[prost(int32, tag = "3")] + pub retcode: i32, + #[prost(uint32, tag = "9")] + pub homgpjjmldg: u32, + #[prost(bool, tag = "11")] + pub mcpkkmhkcpd: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Miamfofpfnk { + #[prost(uint32, tag = "3")] + pub alpfbbejimo: u32, + #[prost(uint32, tag = "14")] + pub cjfgadhmeol: u32, + #[prost(message, optional, tag = "15")] + pub tag: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26168)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kdpppioeiag { + #[prost(bool, tag = "1")] + pub iajcjielmbh: bool, + #[prost(message, optional, tag = "6")] + pub lkfpacldkef: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22859)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lnkcpeicgcf { + #[prost(uint32, tag = "3")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23309)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gnnojnimeak { + #[prost(uint32, tag = "11")] + pub onabdgfcpih: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23798)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aclnbialaeo { + #[prost(bool, tag = "1")] + pub dmedoehomkh: bool, + #[prost(uint32, tag = "2")] + pub ifpcihenjnl: u32, + #[prost(uint32, tag = "6")] + pub parent_quest_id: u32, + #[prost(uint32, repeated, tag = "7")] + pub bmhkkgbhigp: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "11")] + pub ghkeojdcmnp: u32, + #[prost(int32, tag = "12")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7079)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fipegmomhjk { + #[prost(uint32, tag = "1")] + pub jklafeigolc: u32, + #[prost(uint32, tag = "9")] + pub scene_id: u32, + #[prost(uint32, tag = "15")] + pub hffggaadpaf: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ngeonoogcik { + #[prost(uint32, tag = "15")] + pub dmnldppgokg: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7721)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ogoodmcoill { + #[prost(uint32, tag = "1")] + pub omgchbachci: u32, + #[prost(uint32, tag = "10")] + pub hekhhhcoplm: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1777)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mennanndjmb { + #[prost(uint32, tag = "7")] + pub omgchbachci: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Phhlaebionp { + #[prost(uint32, tag = "5")] + pub ihaiipfmpld: u32, + #[prost(message, repeated, tag = "15")] + pub dnpebapalek: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8287)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Joooeogjief { + #[prost(uint32, repeated, tag = "11")] + pub bihiklaiolg: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "10")] + pub jefildjebaj: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7815)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mgaeaihdfng { + #[prost(uint32, tag = "4")] + pub khhibkpbkpn: u32, + #[prost(bool, tag = "10")] + pub dkcieiglfei: bool, + #[prost(message, repeated, tag = "13")] + pub gfoibopdlgj: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "14")] + pub pbhmclnfoeh: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Offcconkfoh { + #[prost(message, repeated, tag = "12")] + pub mcdijkphlno: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "15")] + pub aimlaidlfde: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Efebijodbnh { + #[prost(bool, tag = "3")] + pub ofgognbfmfk: bool, + #[prost(message, optional, tag = "5")] + pub dohmdajfmlh: ::core::option::Option, + #[prost(bool, tag = "6")] + pub ajehidcimok: bool, + #[prost(message, repeated, tag = "8")] + pub mcdijkphlno: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "10")] + pub dphdagagbii: bool, + #[prost(message, optional, tag = "14")] + pub didemgclnle: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21923)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lhdllaodafk { + #[prost(int32, tag = "2")] + pub retcode: i32, + #[prost(message, repeated, tag = "12")] + pub bnmfbfkglbe: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(517)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gmnlpakcebd { + #[prost(int32, tag = "11")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28805)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Omabndlhpkd { + #[prost(uint32, tag = "2")] + pub jlmkcinpcgf: u32, + #[prost(uint32, tag = "10")] + pub iidhpkefhpm: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21399)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Odohnidknlh { + #[prost(int32, tag = "2")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26030)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lpbfoioadfd { + #[prost(message, optional, tag = "8")] + pub aphkopalnlj: ::core::option::Option, + #[prost(int32, tag = "9")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(173)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kpbkkcolpjn { + #[prost(uint32, repeated, tag = "2")] + pub elfnbikbejo: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "1")] + pub item_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "15")] + pub leeghdddbei: u32, + #[prost(bool, tag = "10")] + pub ilmdjcegjop: bool, + #[prost(uint32, tag = "6")] + pub kenikecfflm: u32, + #[prost(uint32, tag = "13")] + pub bfjbpphojik: u32, + #[prost(uint32, tag = "12")] + pub knlggciemkn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7226)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Majcdnigclj {} +#[derive(proto_gen::CmdID)] +#[cmdid(20136)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kdihfpldhch { + #[prost(message, optional, tag = "12")] + pub ilnbhpkjkmg: ::core::option::Option, + #[prost(uint32, tag = "1")] + pub ocinfhojcea: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5512)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hlneknaocap { + #[prost(bool, tag = "4")] + pub lejlmjjdedc: bool, + #[prost(uint32, tag = "5")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9196)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ebhgfilpamk {} +#[derive(proto_gen::CmdID)] +#[cmdid(28276)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hongcajkbik { + #[prost(uint32, tag = "15")] + pub ffafbeafihe: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9081)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Chonejdcmda { + #[prost(int32, tag = "10")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(564)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mhkffhjeibc { + #[prost(uint32, tag = "1")] + pub jklafeigolc: u32, + #[prost(int32, tag = "10")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Njndgmejdjb { + #[prost(message, repeated, tag = "6")] + pub pobhlhhdjhe: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "9")] + pub phpfppidjkj: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nadpjahpoho {} +#[derive(proto_gen::CmdID)] +#[cmdid(22485)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gkelgjflkkb { + #[prost(uint32, tag = "12")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Chokefpflec { + #[prost(uint32, tag = "4")] + pub nkeonoiklao: u32, + #[prost(uint32, tag = "8")] + pub jahjojochom: u32, + #[prost(uint32, tag = "9")] + pub gefbnnebkdb: u32, + #[prost(message, optional, tag = "11")] + pub jnhddgmhfol: ::core::option::Option, + #[prost(uint32, repeated, tag = "14")] + pub imbfkdcpoca: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5607)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jaldealdjng { + #[prost(uint32, tag = "1")] + pub omgchbachci: u32, + #[prost(uint32, tag = "14")] + pub end_time: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1618)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dbnbllklali { + #[prost(enumeration = "Mdlnkdebfnj", tag = "3")] + pub okfgenldmnb: i32, + #[prost(uint32, tag = "4")] + pub knfdjggdfhn: u32, + #[prost(bytes = "vec", tag = "5")] + pub idaidcbkcei: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "15")] + pub oboopjlpdni: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pjjneiihkjp { + #[prost(uint32, tag = "7")] + pub hmjhonfmmad: u32, + #[prost(message, repeated, tag = "8")] + pub cejbfleejdg: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(702)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nphhgkejoob {} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cdofhmipged { + #[prost(uint32, tag = "1")] + pub npc_id: u32, + #[prost(uint32, tag = "6")] + pub bpeckikgmno: u32, + #[prost(bool, tag = "11")] + pub eialjbaengj: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27468)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Joidaoklnnb { + #[prost(bool, tag = "1")] + pub dmedoehomkh: bool, + #[prost(int32, tag = "2")] + pub retcode: i32, + #[prost(uint32, tag = "4")] + pub jofbeiaclof: u32, + #[prost(uint32, tag = "7")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29880)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bkoenefmlcl { + #[prost(uint32, repeated, tag = "10")] + pub cbmafaahiab: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "12")] + pub pjjaoilbfbn: u32, + #[prost(uint32, tag = "8")] + pub pefplnjheli: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22461)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mbhadibeihb { + #[prost(uint32, tag = "12")] + pub entity_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(673)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Killoollmfg { + #[prost(int32, tag = "8")] + pub retcode: i32, + #[prost(uint32, tag = "10")] + pub gaplfmmgbfa: u32, + #[prost(bool, tag = "14")] + pub nofkhedpmpp: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3051)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cllflokimcf { + #[prost(uint32, tag = "9")] + pub phmkpnkmooe: u32, + #[prost(uint32, tag = "1")] + pub ghiaogllldi: u32, + #[prost(uint32, tag = "13")] + pub hkeeinbhfhm: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hoellhpeell { + #[prost(uint32, tag = "7")] + pub oboopjlpdni: u32, + #[prost(uint32, repeated, tag = "13")] + pub dpjajimlmnp: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jbganigpijb { + #[prost(uint32, tag = "2")] + pub entity_id: u32, + #[prost(message, optional, tag = "6")] + pub iaknhjgcpgl: ::core::option::Option, + #[prost(float, tag = "7")] + pub micclpioagi: f32, + #[prost(float, tag = "9")] + pub bdpfdbpekcd: f32, + #[prost(float, tag = "14")] + pub speed: f32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22578)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jgajlnehdmh { + #[prost(uint32, tag = "7")] + pub kdclmhbcfnh: u32, + #[prost(uint32, tag = "11")] + pub ohkidhnabib: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bphaiglkhil { + #[prost(bool, tag = "2")] + pub plppjnmmjce: bool, + #[prost(uint32, tag = "4")] + pub uid: u32, + #[prost(map = "uint32, uint32", tag = "5")] + pub bnofpmifhdl: ::std::collections::HashMap, + #[prost(message, optional, tag = "11")] + pub blfkojlccoo: ::core::option::Option, + #[prost(string, tag = "13")] + pub ocmpadiifcd: ::prost::alloc::string::String, + #[prost(string, tag = "14")] + pub bkdilgijpeg: ::prost::alloc::string::String, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27026)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Biklppaclfa { + #[prost(int32, tag = "7")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ciojhmljhbp { + #[prost(uint32, tag = "2")] + pub fjhhikoihka: u32, + #[prost(uint32, tag = "4")] + pub pahehojdkpf: u32, + #[prost(enumeration = "Paahdfjmicd", tag = "5")] + pub reason: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MotionInfo { + #[prost(message, optional, tag = "1")] + pub pos: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub rot: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub speed: ::core::option::Option, + #[prost(enumeration = "Haefglpepln", tag = "4")] + pub state: i32, + #[prost(message, repeated, tag = "5")] + pub params: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "6")] + pub ref_pos: ::core::option::Option, + #[prost(uint32, tag = "7")] + pub ref_id: u32, + #[prost(uint32, tag = "8")] + pub scene_time: u32, + #[prost(uint64, tag = "9")] + pub interval_velocity: u64, + #[prost(uint32, tag = "10")] + pub bimcajgddoi: u32, + #[prost(uint32, tag = "11")] + pub hjcdicmbdke: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oakhmefengd { + #[prost(message, repeated, tag = "3")] + pub pkkonkbpjia: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "8")] + pub jhfmeficaal: bool, + #[prost(uint32, tag = "10")] + pub dekhbeooien: u32, + #[prost(bool, tag = "13")] + pub ecihdijcled: bool, + #[prost(uint32, tag = "14")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1585)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Emhbfelhplk { + #[prost(uint32, repeated, tag = "1")] + pub ngaignaolkc: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "2")] + pub dogjlobeepc: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "3")] + pub hdkdgijfmpc: u32, + #[prost(uint32, tag = "4")] + pub scene_id: u32, + #[prost(uint32, repeated, tag = "5")] + pub ofgoaefjhic: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "6")] + pub retcode: i32, + #[prost(uint32, repeated, tag = "7")] + pub okmbhkdejce: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "9")] + pub cckejklgchc: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "10")] + pub felmbeacblb: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "11")] + pub ogloleoeagd: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "12")] + pub is_new_player: bool, + #[prost(uint32, repeated, tag = "13")] + pub idlmibckfdk: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "15")] + pub beocpmcphjh: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4784)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ndddejobjcb { + #[prost(int32, tag = "13")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22005)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ejofkjiohnk { + #[prost(int32, tag = "14")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3866)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kafhmaloehk { + #[prost(message, optional, tag = "2")] + pub dejoimafmck: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ldbhfdpfpfd { + #[prost(bool, tag = "2")] + pub dhbpdlkmiee: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2745)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mcbkmjekdeg { + #[prost(int32, tag = "7")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27618)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ijndeocicdc { + #[prost(message, optional, tag = "3")] + pub lognndhodkh: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21200)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hknfcfkifgo { + #[prost(uint32, repeated, tag = "2")] + pub fjcmplgbcek: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29192)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ooiaidkpbob { + #[prost(uint32, repeated, tag = "5")] + pub neojjndlfff: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "6")] + pub ihioobihhia: u32, + #[prost(bool, tag = "7")] + pub kjdlhnfgfcn: bool, + #[prost(int32, repeated, tag = "10")] + pub cdgfhbkoogn: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "14")] + pub jmcngnikjhb: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20699)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pclcgnoplep { + #[prost(message, repeated, tag = "2")] + pub lpiegoapccc: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4722)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Djndjbnogdn { + #[prost(uint32, tag = "6")] + pub bcgeoglhkan: u32, + #[prost(uint32, tag = "8")] + pub mempkcgnnmf: u32, + #[prost(int32, tag = "9")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oohjpmjpakb { + #[prost(uint32, tag = "4")] + pub kpampgdjdhe: u32, + #[prost(uint32, repeated, tag = "7")] + pub jolfibijfhd: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "11")] + pub gnjdnihkbpi: u32, + #[prost(message, repeated, tag = "15")] + pub acchmpajoga: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22915)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mmdfoielapi { + #[prost(int32, tag = "5")] + pub retcode: i32, + #[prost(uint32, tag = "9")] + pub jinjlbemjnc: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25025)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerStoreNotify { + #[prost(uint32, tag = "1")] + pub weight_limit: u32, + #[prost(enumeration = "StoreType", tag = "4")] + pub store_type: i32, + #[prost(message, repeated, tag = "10")] + pub item_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bohjmepeiec { + #[prost(uint32, tag = "3")] + pub kpakelnffhk: u32, + #[prost(uint32, tag = "4")] + pub lgbnfifcpjf: u32, + #[prost(uint32, tag = "5")] + pub end_time: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2638)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pmafcmcpilp { + #[prost(int32, tag = "1")] + pub retcode: i32, + #[prost(uint32, tag = "4")] + pub gaplfmmgbfa: u32, + #[prost(uint32, tag = "10")] + pub kfpegnaadlo: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5449)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Djgnpangaok { + #[prost(enumeration = "Hibhhjenmpp", tag = "2")] + pub pipmddflkmo: i32, + #[prost(uint32, tag = "4")] + pub pjjaoilbfbn: u32, + #[prost(int32, tag = "14")] + pub retcode: i32, + #[prost(uint32, tag = "15")] + pub onabdgfcpih: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9212)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gfkphjbafpm { + #[prost(message, optional, tag = "12")] + pub fohckoimpdk: ::core::option::Option, + #[prost(int32, tag = "15")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fncpefaclep {} +#[derive(proto_gen::CmdID)] +#[cmdid(23688)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nnfmdkbdgpd { + #[prost(uint32, repeated, tag = "2")] + pub njhgoaehndm: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "4")] + pub dfpnkfekiig: u32, + #[prost(uint32, tag = "8")] + pub pkkkijalpnm: u32, + #[prost(int32, tag = "15")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20062)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ogpnafhiohe { + #[prost(int32, tag = "6")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20135)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bfinakbjabg { + #[prost(enumeration = "Oeaoccjeope", tag = "8")] + pub ddiaamkbfda: i32, + #[prost(enumeration = "Mkphmapfemh", tag = "12")] + pub reason: i32, + #[prost(uint32, tag = "15")] + pub target_uid: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3208)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Efeaanllbia { + #[prost(uint32, tag = "1")] + pub reason: u32, + #[prost(enumeration = "Meoebdaimci", tag = "2")] + pub phaajccbbcd: i32, + #[prost(uint32, repeated, tag = "6")] + pub naialecdmjp: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "12")] + pub gekkbbagfap: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "13")] + pub efcpclijjda: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24827)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ijlgigfepmb { + #[prost(int32, tag = "1")] + pub retcode: i32, + #[prost(uint32, tag = "2")] + pub eipjpbekfgh: u32, + #[prost(uint32, tag = "9")] + pub folhddgiigl: u32, + #[prost(uint32, tag = "14")] + pub target_uid: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Icobapgcjel { + #[prost(message, optional, tag = "2")] + pub pos: ::core::option::Option, + #[prost(uint32, tag = "10")] + pub gadget_id: u32, + #[prost(uint32, tag = "12")] + pub group_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6541)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hmhedjleeol { + #[prost(message, repeated, tag = "1")] + pub ohmgddcbbod: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "11")] + pub ejlcmhihmfk: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28509)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iobahclaoke { + #[prost(uint32, repeated, tag = "3")] + pub hoepcmhjbhe: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24794)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Inemahkgpbd {} +#[derive(proto_gen::CmdID)] +#[cmdid(24851)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pfcpdbikpkc { + #[prost(uint32, tag = "4")] + pub skill_id: u32, + #[prost(uint32, tag = "3")] + pub nnebhhfhdcc: u32, + #[prost(uint32, tag = "8")] + pub mempkcgnnmf: u32, + #[prost(uint32, tag = "2")] + pub bahemifdhhc: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9988)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mnnoippnpcg { + #[prost(uint32, tag = "1")] + pub gghkdjlgfpb: u32, + #[prost(int32, tag = "11")] + pub retcode: i32, + #[prost(uint32, tag = "15")] + pub ffhembokbef: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20055)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gjelipnjojj { + #[prost(int32, tag = "8")] + pub retcode: i32, + #[prost(uint32, tag = "14")] + pub goakcbglbmj: u32, + #[prost(uint32, repeated, tag = "15")] + pub fnaoacpmmkd: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26562)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nmddpmnefoh { + #[prost(uint32, tag = "8")] + pub target_uid: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dojeonalhcg { + #[prost(uint32, repeated, tag = "2")] + pub gpncclkpmmg: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "4")] + pub mcdijkphlno: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "14")] + pub lfgjkeafnpb: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kjiklbipjij { + #[prost(uint64, tag = "4")] + pub cgammlododp: u64, + #[prost(uint64, tag = "14")] + pub padclipinad: u64, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5243)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aaeggopgkfk { + #[prost(uint32, tag = "2")] + pub jcjlcebngld: u32, + #[prost(uint32, tag = "3")] + pub egbmifdjdih: u32, + #[prost(uint32, tag = "12")] + pub omgchbachci: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21650)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oihplaekinm { + #[prost(message, repeated, tag = "1")] + pub kfapijcgdbc: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "8")] + pub retcode: i32, + #[prost(uint32, tag = "11")] + pub iijkccimjgj: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24509)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eomlbcnnede { + #[prost(uint32, tag = "7")] + pub mempkcgnnmf: u32, + #[prost(int32, tag = "10")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8087)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hpggnplfdkk { + #[prost(uint32, tag = "8")] + pub acnagipbchp: u32, + #[prost(uint32, tag = "6")] + pub uid: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pfchofgmiak { + #[prost(uint32, tag = "2")] + pub geihmkhcije: u32, + #[prost(uint32, tag = "4")] + pub fmjigfmbjpj: u32, + #[prost(bool, tag = "9")] + pub eialjbaengj: bool, + #[prost(uint32, tag = "14")] + pub kenaelefool: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Igdjaolokdi { + #[prost(uint32, tag = "6")] + pub fbbbjnhiplf: u32, + #[prost(uint32, tag = "14")] + pub indikfknkab: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29388)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cckimjaepab { + #[prost(bool, tag = "4")] + pub omncikffgbo: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20022)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nnamcfegnko {} +#[derive(proto_gen::CmdID)] +#[cmdid(4632)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nbidcmbnppj { + #[prost(int32, tag = "10")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Elfmdemljcb { + #[prost(uint32, tag = "5")] + pub ocnjnmhllhi: u32, + #[prost(uint32, tag = "6")] + pub count: u32, + #[prost(uint32, tag = "7")] + pub iknfnnfkagf: u32, + #[prost(bool, tag = "9")] + pub ehipeccdlab: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20347)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ogflkkmolli { + #[prost(message, repeated, tag = "6")] + pub pjemkikefle: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1577)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bneipnilmei { + #[prost(message, repeated, tag = "8")] + pub blnhhgnflhg: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ddaedimehoj { + #[prost(uint32, repeated, tag = "2")] + pub kehdbaphjig: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7355)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jmdaallaiip { + #[prost(int32, tag = "6")] + pub retcode: i32, + #[prost(message, optional, tag = "9")] + pub injbcibakhf: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22672)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mieibdgjiji {} +#[derive(proto_gen::CmdID)] +#[cmdid(26642)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bhpjfgpdnel { + #[prost(uint32, tag = "12")] + pub target_uid: u32, + #[prost(int32, tag = "14")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23625)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mkclifnalee { + #[prost(uint32, tag = "2")] + pub acockpeknao: u32, + #[prost(message, optional, tag = "14")] + pub hmpfkhepfch: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cocnecpfgje { + #[prost(message, repeated, tag = "15")] + pub apjeplhbndg: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27665)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hcfafdkakgb { + #[prost(uint32, tag = "2")] + pub npc_id: u32, + #[prost(uint32, tag = "7")] + pub entity_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20095)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ofdanjnmhek { + #[prost(string, tag = "4")] + pub version: ::prost::alloc::string::String, + #[prost(map = "uint32, uint32", tag = "1")] + pub aaeodlneabp: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1763)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Efaaeeclaom { + #[prost(int32, tag = "7")] + pub retcode: i32, + #[prost(uint32, tag = "10")] + pub target_uid: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9678)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lalmmippaom { + #[prost(message, repeated, tag = "2")] + pub pphhahhbhgg: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bmhabdgpfik { + #[prost(uint32, tag = "7")] + pub uid: u32, + #[prost(uint32, tag = "10")] + pub entity_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ocoflmhcbfk { + #[prost(uint32, tag = "3")] + pub mempkcgnnmf: u32, + #[prost(bool, tag = "7")] + pub ecihdijcled: bool, + #[prost(message, repeated, tag = "10")] + pub cbenkjeocil: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kekbdfokbjb { + #[prost(message, repeated, tag = "5")] + pub fgmnpgmfhei: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "13")] + pub ncnkmdbafeh: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6171)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fllbmpegfjm { + #[prost(message, repeated, tag = "3")] + pub cbdjnkepeaj: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "10")] + pub retcode: i32, + #[prost(int32, repeated, tag = "13")] + pub dncfmfnglfa: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24906)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Momiolncaed { + #[prost(uint64, repeated, tag = "6")] + pub avatar_team_guid_list: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "7")] + pub retcode: i32, + #[prost(uint64, tag = "11")] + pub cur_avatar_guid: u64, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7885)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Filfpchgohh { + #[prost(message, repeated, tag = "5")] + pub fkhaojblflj: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "15")] + pub cdeenljnoda: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8639)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Odbocoenabl { + #[prost(message, optional, tag = "12")] + pub mcgfnjlcedm: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ipggpfgobea { + #[prost(message, repeated, tag = "7")] + pub caokdaknjep: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "11")] + pub room_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(391)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bcelinjhpaf { + #[prost(message, optional, tag = "13")] + pub motion_info: ::core::option::Option, + #[prost(uint32, tag = "4")] + pub fggmoakinfd: u32, + #[prost(uint32, tag = "9")] + pub scene_time: u32, + #[prost(uint32, tag = "8")] + pub entity_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MpLevelEntityInfo { + #[prost(message, optional, tag = "3")] + pub ability_info: ::core::option::Option, + #[prost(uint32, tag = "11")] + pub entity_id: u32, + #[prost(uint32, tag = "15")] + pub authority_peer_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4835)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iijacmgjlaj { + #[prost(int32, tag = "2")] + pub retcode: i32, + #[prost(uint32, tag = "3")] + pub entity_id: u32, + #[prost(uint32, tag = "5")] + pub fggmoakinfd: u32, + #[prost(uint32, tag = "14")] + pub scene_time: u32, + #[prost(message, optional, tag = "15")] + pub neicmenmflj: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7424)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ogolaijffno { + #[prost(int32, tag = "6")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7093)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Llpmodbkgjd { + #[prost(uint32, repeated, tag = "4")] + pub hijphgbgjkn: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "5")] + pub eebpihlbkmf: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2778)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bfljdngfphl { + #[prost(int32, tag = "1")] + pub retcode: i32, + #[prost(message, repeated, tag = "7")] + pub nohabamidad: ::prost::alloc::vec::Vec, + #[prost(enumeration = "Himmemhogfb", tag = "8")] + pub mfmlakbiaed: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5577)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oambfchennc { + #[prost(int32, tag = "11")] + pub retcode: i32, + #[prost(uint32, tag = "14")] + pub khhibkpbkpn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6162)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ofdgmalnjec {} +#[derive(proto_gen::CmdID)] +#[cmdid(24953)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Obpfpndagdf { + #[prost(bool, tag = "6")] + pub napmcbkmnaa: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7006)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fdhldcfbknj { + #[prost(uint64, repeated, tag = "2")] + pub avatar_guid_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1140)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Phlokmchdpn {} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Efmbfpecejn { + #[prost(string, tag = "1")] + pub mmdpdoococo: ::prost::alloc::string::String, + #[prost(string, tag = "4")] + pub nick_name: ::prost::alloc::string::String, + #[prost(message, optional, tag = "7")] + pub blfkojlccoo: ::core::option::Option, + #[prost(string, tag = "12")] + pub kamjijolfkj: ::prost::alloc::string::String, + #[prost(uint32, tag = "14")] + pub fbpgimlmdnj: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nfohfckpemo { + #[prost(uint32, tag = "12")] + pub dmnldppgokg: u32, + #[prost(uint32, tag = "14")] + pub pjjaoilbfbn: u32, + #[prost(uint32, tag = "15")] + pub kpampgdjdhe: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oajcfeajhjh { + #[prost(uint32, tag = "10")] + pub config_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Adaboonidnn { + #[prost(uint64, tag = "9")] + pub padclipinad: u64, + #[prost(uint64, tag = "14")] + pub cgammlododp: u64, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Poighgbcnmn { + #[prost(uint32, repeated, tag = "5")] + pub fikgdofabee: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "11")] + pub uid: u32, + #[prost(uint32, tag = "15")] + pub hpclljgigld: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Npcmlkndene { + #[prost(bool, tag = "6")] + pub mmadnoebmlh: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26706)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lmfokhkekbc { + #[prost(uint32, tag = "1")] + pub hjkbfibnkdb: u32, + #[prost(uint32, tag = "2")] + pub hkdcibpofoc: u32, + #[prost(uint32, tag = "3")] + pub fnppfkkpaca: u32, + #[prost(bool, tag = "4")] + pub naamimdommn: bool, + #[prost(uint32, tag = "5")] + pub cfeclkmehme: u32, + #[prost(uint32, tag = "9")] + pub dnpbbeeifaj: u32, + #[prost(uint32, tag = "13")] + pub mnjaednjcnc: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Adphnfgaakn { + #[prost(bytes = "vec", repeated, tag = "12")] + pub jledgoffpmb: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec>, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22123)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nhopkphogjd {} +#[derive(proto_gen::CmdID)] +#[cmdid(939)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ngmfeckakeg { + #[prost(enumeration = "Ihpmjgjmpgb", tag = "2")] + pub gencjjggikg: i32, + #[prost(uint32, tag = "10")] + pub lekfejhkppe: u32, + #[prost(uint32, tag = "14")] + pub pchidddalpp: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7612)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cgagboljpij { + #[prost(message, repeated, tag = "1")] + pub ioabbbeiohb: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "3")] + pub lnhimfgkhgi: ::core::option::Option, + #[prost(bool, tag = "4")] + pub hnnfdpfpban: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kemlinfeecm { + #[prost(uint32, repeated, tag = "1")] + pub koddemmpdfi: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7020)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jggjooajaep { + #[prost(uint32, tag = "15")] + pub khhibkpbkpn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7367)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kjialffbgmg { + #[prost(map = "uint32, uint32", tag = "14")] + pub lojncdjgmpf: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29075)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mkpelmbdgge { + #[prost(uint32, tag = "8")] + pub epjoaallggd: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dbihmgplghk { + #[prost(message, optional, tag = "15")] + pub abpjibdjipa: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3848)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jpagadppiec { + #[prost(uint32, tag = "10")] + pub khhibkpbkpn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5980)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bdakeonepmh { + #[prost(map = "uint32, uint32", tag = "3")] + pub bnofpmifhdl: ::std::collections::HashMap, + #[prost(uint32, tag = "8")] + pub khhibkpbkpn: u32, + #[prost(int32, tag = "14")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dpahklcpmjm { + #[prost(uint32, repeated, tag = "1")] + pub chkbakfhajf: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7256)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gjbknkccojp { + #[prost(uint32, repeated, tag = "12")] + pub himcbbodhcj: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26270)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Chifnkcgdcm { + #[prost(message, optional, tag = "13")] + pub lmlmlhmcmej: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fifjnbbadkj { + #[prost(uint32, tag = "1")] + pub afjclenhanc: u32, + #[prost(bool, tag = "3")] + pub dphdagagbii: bool, + #[prost(uint32, repeated, tag = "9")] + pub ljoocndbcfl: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "10")] + pub pjjdlepnnib: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "12")] + pub hfefpgknheh: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "14")] + pub oplajnckefn: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27145)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pblhkdkklcc { + #[prost(bool, tag = "4")] + pub bgaoacgaldg: bool, + #[prost(uint32, tag = "12")] + pub draft_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Knikgbnljke { + #[prost(message, optional, tag = "2")] + pub depeokcjkmf: ::core::option::Option, + #[prost(uint32, tag = "7")] + pub ref_id: u32, + #[prost(message, optional, tag = "8")] + pub ref_pos: ::core::option::Option, + #[prost(message, optional, tag = "12")] + pub iaknhjgcpgl: ::core::option::Option, + #[prost(uint32, tag = "13")] + pub hjcdicmbdke: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9668)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fjhmmbngaml {} +#[derive(proto_gen::CmdID)] +#[cmdid(27900)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ldaempfahig { + #[prost(int32, tag = "9")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bplamhfkapa { + #[prost(message, optional, tag = "1")] + pub pos: ::core::option::Option, + #[prost(uint32, tag = "2")] + pub gadget_id: u32, + #[prost(message, optional, tag = "4")] + pub rot: ::core::option::Option, + #[prost(uint32, tag = "5")] + pub lmjnokajeki: u32, + #[prost(uint32, repeated, tag = "6")] + pub dnijppkbcbd: ::prost::alloc::vec::Vec, + #[prost(float, tag = "8")] + pub megkadcaaaj: f32, + #[prost(float, tag = "9")] + pub fipkpjpkjbn: f32, + #[prost(uint32, tag = "14")] + pub entity_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28223)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bgjkbolgglm { + #[prost(message, repeated, tag = "14")] + pub item_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "4")] + pub kenikecfflm: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21145)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Akfocpcfnil {} +#[derive(proto_gen::CmdID)] +#[cmdid(24405)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bcolljbmlej { + #[prost(map = "uint32, uint32", tag = "8")] + pub echkmcdfjgj: ::std::collections::HashMap, + #[prost(uint32, repeated, tag = "10")] + pub ombfpmhjeae: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "11")] + pub ooachnljdcj: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25788)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fdpbicnkdbn { + #[prost(string, tag = "1")] + pub level: ::prost::alloc::string::String, + #[prost(int32, tag = "4")] + pub phaajccbbcd: i32, + #[prost(string, tag = "5")] + pub msg: ::prost::alloc::string::String, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8717)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bigceoclhfi { + #[prost(uint32, tag = "13")] + pub nhkapceomoe: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Onoheioddkc { + #[prost(uint32, tag = "4")] + pub bjjgmliaklb: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25666)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gbobjgmjknl { + #[prost(message, repeated, tag = "10")] + pub gdnmlpmkcoj: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21939)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fllmoamiion { + #[prost(int32, tag = "13")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ibcjphkpjoi { + #[prost(oneof = "ibcjphkpjoi::Cbndomcaffj", tags = "5, 6, 7")] + pub cbndomcaffj: ::core::option::Option, +} +/// Nested message and enum types in `IBCJPHKPJOI`. +pub mod ibcjphkpjoi { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Cbndomcaffj { + #[prost(message, tag = "5")] + RefreshSeed(super::Kfighhjghim), + #[prost(message, tag = "6")] + CatchSeed(super::Gdbbehjcpik), + #[prost(message, tag = "7")] + AddSignal(super::Icedmckopmg), + } +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Icedmckopmg {} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kfighhjghim { + #[prost(message, repeated, tag = "2")] + pub lnmjkklpcfh: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gdbbehjcpik { + #[prost(uint32, tag = "14")] + pub entity_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oekohgokjim { + #[prost(uint32, tag = "1")] + pub icmgfgejcjk: u32, + #[prost(enumeration = "Aedfenmknkc", tag = "5")] + pub pfenlkjpddb: i32, + #[prost(uint32, tag = "6")] + pub diaolbekahm: u32, + #[prost(bool, tag = "7")] + pub lhnfiiejbem: bool, + #[prost(message, repeated, tag = "12")] + pub oaakbkbonjk: ::prost::alloc::vec::Vec, + #[prost(uint64, tag = "13")] + pub gedmdocolfj: u64, + #[prost(bool, tag = "14")] + pub gblhfaeonkm: bool, + #[prost(bool, tag = "15")] + pub folikaaikie: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kpeldpaakoc { + #[prost(uint32, tag = "2")] + pub bknafebffjj: u32, + #[prost(bool, tag = "7")] + pub dphdagagbii: bool, + #[prost(message, repeated, tag = "8")] + pub dnhpgflajep: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8851)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ehcaldfmikk { + #[prost(int32, tag = "11")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ahnhfdinjef { + #[prost(message, repeated, tag = "2")] + pub mfcjljpcmhn: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "5")] + pub ioeeclpapan: bool, + #[prost(uint32, tag = "15")] + pub config_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mjgfkcilloo { + #[prost(float, tag = "1")] + pub pdkifkkmhcn: f32, + #[prost(float, tag = "2")] + pub fmbfachhibm: f32, + #[prost(float, tag = "10")] + pub bejkkemdfph: f32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29439)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kmcclkepjec { + #[prost(uint32, tag = "4")] + pub end_time: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29030)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lckegoiihli {} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ResVersionConfig { + #[prost(uint32, tag = "1")] + pub version: u32, + #[prost(bool, tag = "2")] + pub relogin: bool, + #[prost(string, tag = "3")] + pub md5: ::prost::alloc::string::String, + #[prost(string, tag = "4")] + pub release_total_size: ::prost::alloc::string::String, + #[prost(string, tag = "5")] + pub version_suffix: ::prost::alloc::string::String, + #[prost(string, tag = "6")] + pub branch: ::prost::alloc::string::String, + #[prost(string, tag = "7")] + pub next_script_version: ::prost::alloc::string::String, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oanfhdoobff { + #[prost(uint32, repeated, tag = "1")] + pub inggcfjgfkp: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "4")] + pub lnepemdgbfn: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "5")] + pub nlfhbjiaemc: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8350)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eopehhojhgi { + #[prost(bool, tag = "15")] + pub lkcaeopcfoc: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7830)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ceflfnknebe { + #[prost(uint32, tag = "10")] + pub jdbonkeoala: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ffljlnmflfn { + #[prost(bool, tag = "3")] + pub ecihdijcled: bool, + #[prost(uint32, tag = "12")] + pub dmkfeccmcop: u32, + #[prost(uint32, tag = "13")] + pub mempkcgnnmf: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27076)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hohfnehgdal { + #[prost(bool, tag = "3")] + pub hmonknfcagb: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6144)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Egjdcbhkpnk {} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hakjcbncnfp { + #[prost(bool, tag = "14")] + pub ecihdijcled: bool, + #[prost(uint32, tag = "15")] + pub hdmfabplnob: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20410)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lhdgjdlnecl { + #[prost(enumeration = "Niemjjcedcf", tag = "8")] + pub aiaajcalbmi: i32, + #[prost(uint32, tag = "10")] + pub ljbanimoejp: u32, + #[prost(uint32, tag = "12")] + pub bjmihkphifa: u32, + #[prost(enumeration = "Niemjjcedcf", tag = "14")] + pub nhkdmbnieho: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26605)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pmhkncoegpi { + #[prost(int32, tag = "3")] + pub retcode: i32, + #[prost(uint32, tag = "6")] + pub target_uid: u32, + #[prost(enumeration = "Mfnchjapidh", tag = "12")] + pub ipccodlhaop: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(727)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Baedmppdmop { + #[prost(message, repeated, tag = "3")] + pub dcclihipjbi: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "10")] + pub retcode: i32, + #[prost(message, repeated, tag = "12")] + pub gfpibaaljjp: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "13")] + pub lbclghbmdaf: u32, + #[prost(uint32, tag = "14")] + pub plaipmojmeo: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6446)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gciofnehekk { + #[prost(uint32, tag = "2")] + pub fibapajefma: u32, + #[prost(uint32, tag = "3")] + pub pmneeoeolkc: u32, + #[prost(bool, tag = "4")] + pub lpedobbpape: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Llbnkeldfcg { + #[prost(uint32, tag = "6")] + pub gnjcidhobia: u32, + #[prost(enumeration = "Dickjkioiop", tag = "11")] + pub r#type: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1628)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pgafhbljdkk { + #[prost(string, tag = "5")] + pub jlcddojgkkg: ::prost::alloc::string::String, + #[prost(uint32, tag = "14")] + pub mpgmoflceof: u32, + #[prost(uint32, tag = "10")] + pub cijpmgmcjba: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22153)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iemkdbkmbak { + #[prost(uint32, tag = "11")] + pub mempkcgnnmf: u32, + #[prost(int32, tag = "15")] + pub retcode: i32, + #[prost(oneof = "iemkdbkmbak::Gcbckcbnpmn", tags = "5")] + pub gcbckcbnpmn: ::core::option::Option, +} +/// Nested message and enum types in `IEMKDBKMBAK`. +pub mod iemkdbkmbak { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Gcbckcbnpmn { + #[prost(message, tag = "5")] + SettleInfo(super::Npankifllmm), + } +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Glihgjhnbgf { + #[prost(message, optional, tag = "3")] + pub dbnmjhdkfci: ::core::option::Option, + #[prost(uint32, tag = "11")] + pub pjjaoilbfbn: u32, + #[prost(message, optional, tag = "14")] + pub cchnaplhidl: ::core::option::Option, + #[prost(uint32, tag = "15")] + pub dmkfeccmcop: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23800)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nikhofchpnn { + #[prost(uint32, repeated, tag = "10")] + pub mikgjhpding: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lcbgdohindd { + #[prost(bool, tag = "10")] + pub ecihdijcled: bool, + #[prost(uint32, tag = "11")] + pub ibcgffjgcid: u32, + #[prost(uint32, tag = "13")] + pub level: u32, + #[prost(uint32, tag = "14")] + pub jefildjebaj: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9059)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Niicbihmpdi { + #[prost(int32, tag = "3")] + pub retcode: i32, + #[prost(uint32, tag = "12")] + pub entity_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pafdoomkdoc { + #[prost(uint32, tag = "2")] + pub ecnkgkfhfdf: u32, + #[prost(uint32, tag = "3")] + pub pjjaoilbfbn: u32, + #[prost(uint32, tag = "7")] + pub olfbamdhbil: u32, + #[prost(bool, tag = "8")] + pub dggckmikbmo: bool, + #[prost(uint32, tag = "11")] + pub hbedecbnhoa: u32, + #[prost(uint32, tag = "12")] + pub glhmmnjigfg: u32, + #[prost(uint32, tag = "13")] + pub mojdcgignno: u32, + #[prost(uint32, tag = "14")] + pub cidhmchnneh: u32, + #[prost(uint32, tag = "15")] + pub jofbeiaclof: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25831)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jkhdhlemjcj { + #[prost(string, tag = "7")] + pub pbigganlbdh: ::prost::alloc::string::String, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28047)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lfnkiohejmo { + #[prost(enumeration = "Meeeclkccmd", tag = "4")] + pub kfmglfjdodo: i32, + #[prost(uint32, tag = "15")] + pub entity_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21687)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fonachbffei { + #[prost(uint32, tag = "10")] + pub jfcefgehkpg: u32, + #[prost(uint32, tag = "14")] + pub entity_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nppllpealik { + #[prost(bool, tag = "1")] + pub dggckmikbmo: bool, + #[prost(uint32, tag = "5")] + pub apafipofloj: u32, + #[prost(uint32, tag = "6")] + pub nkeonoiklao: u32, + #[prost(bool, tag = "11")] + pub pohfobdllbc: bool, + #[prost(bool, tag = "14")] + pub najpjbcjgja: bool, + #[prost(uint64, tag = "15")] + pub hodolkcoplg: u64, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Doiomilbplh { + #[prost(uint32, tag = "6")] + pub hgfhjcfgijm: u32, + #[prost(uint32, tag = "14")] + pub ehejdjoeind: u32, + #[prost(message, optional, tag = "15")] + pub kdemcbkggek: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5651)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Glghijhhcck { + #[prost(int32, tag = "8")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Deaflobjjeh { + #[prost(uint32, tag = "3")] + pub kaioccbnppa: u32, + #[prost(bool, tag = "6")] + pub ecihdijcled: bool, + #[prost(bool, tag = "9")] + pub jhfmeficaal: bool, + #[prost(uint32, tag = "10")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ljddpgjaajl { + #[prost(message, repeated, tag = "1")] + pub nfkjldjcodp: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8701)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jegbmgekmlf { + #[prost(bool, tag = "6")] + pub jookmiedbie: bool, + #[prost(message, optional, tag = "7")] + pub kppncnicjne: ::core::option::Option, + #[prost(uint32, tag = "8")] + pub bhfdigmgmgi: u32, + #[prost(uint32, tag = "9")] + pub bbfplmbggjp: u32, + #[prost(bool, tag = "11")] + pub hlajmgapkij: bool, + #[prost(message, optional, tag = "13")] + pub dejoimafmck: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4762)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pkhlbmdgdid { + #[prost(enumeration = "Lokpoceadpe", tag = "10")] + pub reason: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6101)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lionjkbckie { + #[prost(message, repeated, tag = "3")] + pub aepbmmidoja: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "5")] + pub jjfpfmpjema: i32, + #[prost(enumeration = "Nlkamgeknni", tag = "8")] + pub bgpjniihanj: i32, + #[prost(int64, repeated, tag = "9")] + pub okicoglejec: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "12")] + pub retcode: i32, + #[prost(int32, repeated, tag = "14")] + pub level: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ecokadilgce { + #[prost(bool, tag = "2")] + pub gimehppjnbc: bool, + #[prost(uint32, tag = "8")] + pub njgdgcffkhg: u32, + #[prost(message, optional, tag = "9")] + pub mkeiflhafjh: ::core::option::Option, + #[prost(uint32, tag = "11")] + pub delbliaafda: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22815)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pjoaigaalpg { + #[prost(bool, tag = "5")] + pub ekjmdindggg: bool, + #[prost(int32, tag = "12")] + pub retcode: i32, + #[prost(message, optional, tag = "13")] + pub bhjhagccpib: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hifbncobddk { + #[prost(bool, tag = "2")] + pub lbmialpeoba: bool, + #[prost(uint32, tag = "3")] + pub cjcjonhpiio: u32, + #[prost(uint32, tag = "8")] + pub pglajfafgai: u32, + #[prost(uint32, tag = "12")] + pub ilpjbepjdlp: u32, + #[prost(uint32, tag = "13")] + pub mpffbecchdh: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5173)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ejlfaihhjoo { + #[prost(uint32, tag = "5")] + pub chefconpkll: u32, + #[prost(uint32, tag = "7")] + pub nklajccimii: u32, + #[prost(uint32, tag = "9")] + pub abpaipkldop: u32, + #[prost(bool, tag = "10")] + pub dmedoehomkh: bool, + #[prost(bool, tag = "11")] + pub agfjleieocg: bool, + #[prost(uint32, tag = "12")] + pub enlkkemcpmh: u32, + #[prost(uint32, tag = "13")] + pub odgiokoodip: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28764)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kmkldfjonjp { + #[prost(int32, tag = "2")] + pub retcode: i32, + #[prost(bool, tag = "9")] + pub pdfiiffmbeg: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3319)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nmadkcejmhe { + #[prost(uint32, tag = "8")] + pub gefbnnebkdb: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6060)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ijaokgfoajk { + #[prost(int32, tag = "6")] + pub gaplfmmgbfa: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1841)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kmgkihempof { + #[prost(uint32, repeated, tag = "10")] + pub bknikidmahi: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "14")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fihmmdbbbkd { + #[prost(uint32, tag = "4")] + pub monster_id: u32, + #[prost(uint32, repeated, tag = "6")] + pub affix_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "7")] + pub level: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kmjedjldeab { + #[prost(uint32, tag = "9")] + pub gfppmnlpoek: u32, + #[prost(uint32, tag = "10")] + pub item_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fkopdhdhacn { + #[prost(bool, tag = "1")] + pub llhnlhfibhk: bool, + #[prost(uint32, tag = "3")] + pub iknfnnfkagf: u32, + #[prost(uint32, tag = "5")] + pub count: u32, + #[prost(uint32, tag = "6")] + pub exp: u32, + #[prost(uint32, tag = "10")] + pub odegodlnalf: u32, + #[prost(bool, tag = "12")] + pub nokebcooncg: bool, + #[prost(uint32, tag = "13")] + pub dbolcfdlklj: u32, + #[prost(bool, tag = "14")] + pub hihjhgaliae: bool, + #[prost(uint32, tag = "15")] + pub ckoccfdgcol: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eoflknjolbc { + #[prost(uint32, tag = "1")] + pub uid: u32, + #[prost(message, repeated, tag = "5")] + pub bfbomboinpj: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "6")] + pub djcfmfedncg: u32, + #[prost(string, tag = "10")] + pub kamjijolfkj: ::prost::alloc::string::String, + #[prost(string, tag = "12")] + pub bkdilgijpeg: ::prost::alloc::string::String, + #[prost(message, optional, tag = "15")] + pub blfkojlccoo: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8666)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Manddegfcno { + #[prost(uint32, tag = "2")] + pub entity_id: u32, + #[prost(message, optional, tag = "4")] + pub igmdelmihma: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7501)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nibcjbhcnge { + #[prost(uint32, tag = "6")] + pub khhibkpbkpn: u32, + #[prost(uint32, tag = "7")] + pub kmkimdbfjka: u32, + #[prost(uint32, tag = "11")] + pub mkempaagnba: u32, + #[prost(message, repeated, tag = "14")] + pub item_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1920)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ebgnpmpeoaf { + #[prost(message, optional, tag = "10")] + pub rot: ::core::option::Option, + #[prost(message, optional, tag = "11")] + pub pos: ::core::option::Option, + #[prost(enumeration = "Ceocjhphedc", tag = "7")] + pub reason: i32, + #[prost(uint32, tag = "4")] + pub scene_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Agajgjafdaa { + #[prost(uint32, tag = "1")] + pub kaioccbnppa: u32, + #[prost(uint32, tag = "2")] + pub jbllllojnlp: u32, + #[prost(uint64, tag = "3")] + pub guid: u64, + #[prost(uint32, tag = "4")] + pub owner_entity_id: u32, + #[prost(uint32, tag = "5")] + pub jddamhceape: u32, + #[prost(bool, tag = "6")] + pub ahjafnnpchg: bool, + #[prost(bool, tag = "7")] + pub ahpaefcodfk: bool, + #[prost(uint32, repeated, tag = "8")] + pub eahfiofcond: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "9")] + pub cdoeckccgdp: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kaokjipofol { + #[prost(uint32, repeated, tag = "1")] + pub jfhonlmcjdd: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "7")] + pub lpecfldoodf: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "15")] + pub skill_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lfiedpgoeme { + #[prost(message, repeated, tag = "1")] + pub hdgfjoeaafh: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "3")] + pub dphdagagbii: bool, + #[prost(uint32, tag = "4")] + pub ldkgglbbjge: u32, + #[prost(message, repeated, tag = "8")] + pub gefbfhaddbd: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "13")] + pub pphplchinjo: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jdjjpjgfgbo { + #[prost(bool, tag = "7")] + pub ecihdijcled: bool, + #[prost(uint32, tag = "13")] + pub pjjaoilbfbn: u32, + #[prost(uint32, tag = "14")] + pub mempkcgnnmf: u32, + #[prost(bool, tag = "15")] + pub eialjbaengj: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9512)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mpkajlcojhh { + #[prost(message, repeated, tag = "1")] + pub bcogkegagnp: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "4")] + pub kbnhkamgpji: bool, + #[prost(uint32, tag = "12")] + pub entity_id: u32, + #[prost(uint32, tag = "13")] + pub jofbeiaclof: u32, + #[prost(uint32, tag = "14")] + pub dekhbeooien: u32, + #[prost(uint32, tag = "15")] + pub aaopmgielok: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hciajfnhjaa { + #[prost(uint32, tag = "1")] + pub jefildjebaj: u32, + #[prost(uint32, repeated, tag = "5")] + pub fkgbkfahefk: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "8")] + pub level: u32, + #[prost(uint32, tag = "11")] + pub neijigcohad: u32, + #[prost(uint32, tag = "12")] + pub eopffipdkgn: u32, + #[prost(uint32, tag = "13")] + pub ibcgffjgcid: u32, + #[prost(uint32, tag = "15")] + pub exp: u32, + #[prost(message, optional, tag = "42")] + pub jhoankbnpla: ::core::option::Option, + #[prost(message, optional, tag = "232")] + pub oglnpbnceco: ::core::option::Option, + #[prost(message, optional, tag = "1442")] + pub aiagdpedgki: ::core::option::Option, + #[prost(message, optional, tag = "1675")] + pub omdchnkniko: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fcokgcmnlmo { + #[prost(map = "uint32, message", tag = "10")] + pub hapgckcdbph: ::std::collections::HashMap, + #[prost(uint32, tag = "12")] + pub igmibmmcgdj: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21862)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gbcccgfpfig { + #[prost(uint32, tag = "8")] + pub indikfknkab: u32, + #[prost(uint32, tag = "9")] + pub bboffphmobk: u32, + #[prost(int32, tag = "12")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5549)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fnmjmmlbojc { + #[prost(uint32, tag = "3")] + pub item_id: u32, + #[prost(uint32, tag = "13")] + pub indikfknkab: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jhbipkmoccg { + #[prost(message, repeated, tag = "1")] + pub gpmdiaecogh: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "3")] + pub dphdagagbii: bool, + #[prost(message, repeated, tag = "8")] + pub oplajnckefn: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "10")] + pub afjclenhanc: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hdddcfdogfj { + #[prost(bool, tag = "1")] + pub mkipokecnoo: bool, + #[prost(bool, tag = "8")] + pub jhelgijbjfm: bool, + #[prost(uint32, tag = "13")] + pub uid: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2917)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bphbhdlanep {} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Djfflefdbmd { + #[prost(uint32, tag = "3")] + pub dnhdepnkigi: u32, + #[prost(uint32, tag = "7")] + pub pgkooedkeii: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fkaldlcaalp { + #[prost(uint32, tag = "6")] + pub pjjaoilbfbn: u32, + #[prost(bool, tag = "13")] + pub ecihdijcled: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28623)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gokolehikam { + #[prost(uint32, tag = "2")] + pub ohkidhnabib: u32, + #[prost(uint32, tag = "3")] + pub khcdhfjgkad: u32, + #[prost(message, optional, tag = "4")] + pub klcejlckheo: ::core::option::Option, + #[prost(enumeration = "Oeaoccjeope", tag = "6")] + pub ddiaamkbfda: i32, + #[prost(uint32, tag = "7")] + pub host_uid: u32, + #[prost(uint32, tag = "11")] + pub gaplfmmgbfa: u32, + #[prost(message, optional, tag = "15")] + pub odpgkhlmpdc: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3103)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jnnhdmhppcn { + #[prost(uint64, tag = "5")] + pub avatar_guid: u64, + #[prost(uint32, tag = "15")] + pub cafefeabnec: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Alehndhnknf { + #[prost(message, repeated, tag = "1")] + pub pidcdmbpnap: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "2")] + pub lgbnfifcpjf: u32, + #[prost(uint32, tag = "4")] + pub khhibkpbkpn: u32, + #[prost(uint32, tag = "6")] + pub kppabonkdcm: u32, + #[prost(uint32, tag = "7")] + pub imchhikagkf: u32, + #[prost(uint32, repeated, tag = "8")] + pub jnkilghkhhj: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "10")] + pub config_id: u32, + #[prost(bool, tag = "11")] + pub adngemfpdjp: bool, + #[prost(uint32, tag = "12")] + pub end_time: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jdknacipafo { + #[prost(uint32, tag = "8")] + pub ndchhjemlbh: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9266)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerDataNotify { + #[prost(string, tag = "4")] + pub nick_name: ::prost::alloc::string::String, + #[prost(uint32, tag = "5")] + pub region_id: u32, + #[prost(map = "uint32, message", tag = "7")] + pub prop_map: ::std::collections::HashMap, + #[prost(uint64, tag = "9")] + pub server_time: u64, + #[prost(bool, tag = "10")] + pub is_first_login_today: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21972)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cdccophdppi { + #[prost(uint64, repeated, tag = "12")] + pub equip_guid_list: ::prost::alloc::vec::Vec, + #[prost(uint64, tag = "14")] + pub avatar_guid: u64, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Epaldpdcnab { + #[prost(bool, tag = "3")] + pub jhfmeficaal: bool, + #[prost(uint32, tag = "9")] + pub agloejebcdf: u32, + #[prost(uint32, tag = "11")] + pub mempkcgnnmf: u32, + #[prost(bool, tag = "15")] + pub ecihdijcled: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6483)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Agneenfcpae { + #[prost(message, optional, tag = "2")] + pub monster_route: ::core::option::Option, + #[prost(uint32, tag = "15")] + pub entity_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6111)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dodonpngplj { + #[prost(uint32, tag = "11")] + pub cddphgddccn: u32, + #[prost(uint32, tag = "2")] + pub dkeobfmafpk: u32, + #[prost(uint32, tag = "15")] + pub scene_id: u32, + #[prost(uint32, tag = "5")] + pub version: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2121)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mmjoechfkhn { + #[prost(uint32, tag = "1")] + pub npc_id: u32, + #[prost(uint32, tag = "8")] + pub parent_quest_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hakndhljddh { + #[prost(uint32, repeated, tag = "3")] + pub jolfibijfhd: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "5")] + pub ecihdijcled: bool, + #[prost(message, repeated, tag = "8")] + pub dgakhnhmple: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "10")] + pub dmkfeccmcop: u32, + #[prost(uint32, tag = "14")] + pub gnjdnihkbpi: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25843)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Klcadoliflh { + #[prost(uint32, tag = "2")] + pub kkladmflaoe: u32, + #[prost(uint32, tag = "3")] + pub pdlmkflekdl: u32, + #[prost(uint32, tag = "4")] + pub fjhhikoihka: u32, + #[prost(map = "uint32, message", tag = "5")] + pub bmahnicehjb: ::std::collections::HashMap, + #[prost(uint32, repeated, tag = "7")] + pub kkmmlpkbgdb: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "9")] + pub eddjnbfbdhn: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "10")] + pub gaplfmmgbfa: u32, + #[prost(map = "uint32, message", tag = "11")] + pub fkempcfeeoi: ::std::collections::HashMap, + #[prost(bool, tag = "12")] + pub dmedoehomkh: bool, + #[prost(uint32, tag = "14")] + pub mhhcoedmpdp: u32, + #[prost( + oneof = "klcadoliflh::Detail", + tags = "93, 143, 245, 388, 418, 422, 508, 672, 836, 885, 1014, 1102, 1141, 1151, 1161, 1187, 1294, 1382, 1393, 1428, 1436, 1455, 1489, 1578, 1581, 1583, 1632, 1661, 1777, 1847, 1950, 1991, 2020, 2024, 2031" + )] + pub detail: ::core::option::Option, +} +/// Nested message and enum types in `KLCADOLIFLH`. +pub mod klcadoliflh { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Detail { + #[prost(message, tag = "93")] + AcrobaticsBattleSettleInfo(super::Pelihnfbhii), + #[prost(message, tag = "143")] + InstableSpraySettleInfo(super::Bckkdmmkdbe), + #[prost(message, tag = "245")] + AutoTimeStopSettleInfo(super::Amgohioicdj), + #[prost(message, tag = "388")] + RoguelikeDungeonSettleInfo(super::Npankifllmm), + #[prost(message, tag = "418")] + MistTrialSettleInfo(super::Fccefpnfmbh), + #[prost(message, tag = "422")] + FungusFighterV3SettleInfo(super::Pafdoomkdoc), + #[prost(message, tag = "508")] + CrystalLinkSettleInfo(super::Eheldhcfekd), + #[prost(message, tag = "672")] + InspirationSpurtDungeonSettleInfo(super::Nclampegpkj), + #[prost(message, tag = "836")] + ChannellerSlabLoopDungeonResultInfo(super::Cbidamifmhj), + #[prost(message, tag = "885")] + TrialAvatarFirstPassDungeonNotify(super::Jaoomhpmaga), + #[prost(message, tag = "1014")] + RoleCombatSettleInfo(super::Bpkpoiknjki), + #[prost(message, tag = "1102")] + TowerLevelEndNotify(super::Ncomllokmnk), + #[prost(message, tag = "1141")] + FilmfestBattleSettleInfo(super::Hpblfcnddah), + #[prost(message, tag = "1151")] + GainBuffSettleInfo(super::Jbimmjpoeba), + #[prost(message, tag = "1161")] + BulletHellSettleInfo(super::Kehhnndneoo), + #[prost(message, tag = "1187")] + FungusFighterV2SettleInfo(super::Kmpeeohkimj), + #[prost(message, tag = "1294")] + SummerTimeV2DungeonSettleInfo(super::Bapabnfmoic), + #[prost(message, tag = "1382")] + BladeDanceSettleInfo(super::Bojfcgdlfgl), + #[prost(message, tag = "1393")] + WindFieldDungeonSettleInfo(super::Ppkagealonm), + #[prost(message, tag = "1428")] + EffigyChallengeV5SettleInfo(super::Blneklpbjjd), + #[prost(message, tag = "1436")] + TeamChainSettleInfo(super::Ihdioemfbco), + #[prost(message, tag = "1455")] + LostSamachurlSneakSettleInfo(super::Mcieobogomj), + #[prost(message, tag = "1489")] + StaminaFightSettleInfo(super::Pdhbohjedbj), + #[prost(message, tag = "1578")] + EffigyChallengeV2SettleInfo(super::Ipmkdmocnij), + #[prost(message, tag = "1581")] + PacmanSettleInfo(super::Hjnoajhjkoj), + #[prost(message, tag = "1583")] + BomberDodocoSettleInfo(super::Jookfddliem), + #[prost(message, tag = "1632")] + MultiCharacterDungeonSettleInfo(super::Cbdbnlccdmc), + #[prost(message, tag = "1661")] + FilmfestSniperSettleInfo(super::Ngamjokkjpb), + #[prost(message, tag = "1777")] + EffigyChallengeDungeonResultInfo(super::Oeohncnkhip), + #[prost(message, tag = "1847")] + GoalChallengeSettleInfo(super::Bgcjfmnoonb), + #[prost(message, tag = "1950")] + QuickTimeCombatSettleInfo(super::Eihakhjejpl), + #[prost(message, tag = "1991")] + RechargeDiskSettleInfo(super::Njhegccdbbc), + #[prost(message, tag = "2020")] + SlimeCannonSettleInfo(super::Pbodmijnhpg), + #[prost(message, tag = "2024")] + CharMasterSettleInfo(super::Fjhbjodapmi), + #[prost(message, tag = "2031")] + FairyTalesCombatSettleInfo(super::Paophedmofk), + } +} +#[derive(proto_gen::CmdID)] +#[cmdid(25830)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Egpjikmgfdf { + #[prost(uint32, repeated, tag = "3")] + pub glaplkfandj: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25683)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bokpaogmlho { + #[prost(map = "uint32, uint32", tag = "3")] + pub eenekibhcei: ::std::collections::HashMap, + #[prost(message, repeated, tag = "6")] + pub ebjfflnfffg: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "8")] + pub pbaakoninkm: u32, + #[prost(uint32, tag = "9")] + pub fccfdjejbif: u32, + #[prost(map = "uint32, uint32", tag = "14")] + pub lffnfcpcljd: ::std::collections::HashMap, + #[prost(message, optional, tag = "15")] + pub lnfdbmfeafg: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Einfgacgbhh { + #[prost(uint32, tag = "1")] + pub nojpnjbecid: u32, + #[prost(uint32, tag = "2")] + pub count: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lhndpkdbehp { + #[prost(uint32, tag = "3")] + pub end_time: u32, + #[prost(map = "uint32, uint32", tag = "10")] + pub nemhjgcaneh: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Edaifeebmfk { + #[prost(bool, tag = "2")] + pub eialjbaengj: bool, + #[prost(uint32, tag = "3")] + pub config_id: u32, + #[prost(map = "uint32, uint32", tag = "4")] + pub hiiimfnoofi: ::std::collections::HashMap, + #[prost(uint32, tag = "9")] + pub group_id: u32, + #[prost(uint32, tag = "10")] + pub eoapdcljcee: u32, + #[prost(uint32, tag = "14")] + pub lgcopnjbcnf: u32, + #[prost(bool, tag = "15")] + pub lemonpimbhk: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1166)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Blejhaakklf { + #[prost(uint32, tag = "6")] + pub dofjfikhlbl: u32, + #[prost(bool, tag = "7")] + pub ankcbommojb: bool, + #[prost(bool, tag = "10")] + pub dggckmikbmo: bool, + #[prost(uint32, tag = "12")] + pub pjjaoilbfbn: u32, + #[prost(uint32, tag = "15")] + pub kmamahcapee: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hopjhcldoka { + #[prost(uint32, tag = "6")] + pub khhibkpbkpn: u32, + #[prost(uint32, tag = "12")] + pub eepfjadodpa: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21487)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Omcklnfdjad { + #[prost(message, optional, tag = "9")] + pub pos: ::core::option::Option, + #[prost(message, optional, tag = "15")] + pub rot: ::core::option::Option, + #[prost(uint32, tag = "2")] + pub jinjlbemjnc: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29366)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Apkplmbopfd { + #[prost(int32, tag = "12")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6235)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jeakjjjdokd { + #[prost(uint32, tag = "3")] + pub mifaoghmdlj: u32, + #[prost(message, repeated, tag = "5")] + pub bjpmjkcjiem: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "7")] + pub pjjaoilbfbn: u32, + #[prost(message, repeated, tag = "9")] + pub kgimmencgmj: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "10")] + pub dfpnkfekiig: u32, + #[prost(bool, tag = "15")] + pub kplnmnbogjo: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3742)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct EnterScenePeerNotify { + #[prost(uint32, tag = "2")] + pub enter_scene_token: u32, + #[prost(uint32, tag = "3")] + pub host_peer_id: u32, + #[prost(uint32, tag = "7")] + pub peer_id: u32, + #[prost(uint32, tag = "15")] + pub dest_scene_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25889)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mfhpmcpaenk { + #[prost(uint32, tag = "14")] + pub uid: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1630)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dgnmhndfjnb { + #[prost(message, repeated, tag = "12")] + pub bnlkkidlbme: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "13")] + pub retcode: i32, + #[prost(uint32, tag = "15")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hheccplejnd { + #[prost(message, repeated, tag = "2")] + pub cbenkjeocil: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22150)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mpoigoeknfn { + #[prost(uint32, tag = "12")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bmjiokcbmai { + #[prost(message, optional, tag = "4")] + pub flbknbnnpgg: ::core::option::Option, + #[prost(message, optional, tag = "5")] + pub nocpccndhch: ::core::option::Option, + #[prost(message, optional, tag = "11")] + pub emiaehlihcb: ::core::option::Option, + #[prost(message, optional, tag = "12")] + pub omfkffjaodo: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Egcpbnfokad { + #[prost(uint32, tag = "11")] + pub entity_id: u32, + #[prost(bool, tag = "12")] + pub gnbpjchmcja: bool, + #[prost(bool, tag = "15")] + pub mggkekdeheo: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24469)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jbddpalmimd { + #[prost(uint32, tag = "10")] + pub eddfmjmpnjp: u32, + #[prost(uint32, tag = "14")] + pub ccpigccdboi: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hiljdmkkpcn { + #[prost(uint32, tag = "3")] + pub pjjaoilbfbn: u32, + #[prost(uint32, repeated, tag = "13")] + pub phkpfjajfkj: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28292)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gnacaimdobp { + #[prost(int32, tag = "13")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nggkfpemapd { + #[prost(uint32, tag = "1")] + pub lmjnokajeki: u32, + #[prost(uint32, tag = "2")] + pub pafojlhcaeh: u32, + #[prost(enumeration = "Gomepmglpfo", tag = "4")] + pub fbbbjnhiplf: i32, + #[prost(message, optional, tag = "6")] + pub ancgmohdnhc: ::core::option::Option, + #[prost(uint32, tag = "8")] + pub fbgjlogekgn: u32, + #[prost(uint32, tag = "9")] + pub omgchbachci: u32, + #[prost(uint32, tag = "11")] + pub end_time: u32, + #[prost(uint32, tag = "14")] + pub ojoapinglno: u32, + #[prost(message, repeated, tag = "15")] + pub oiiaeanbakl: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "538")] + pub ndmfjigpijg: ::core::option::Option, + #[prost( + oneof = "nggkfpemapd::Gcbckcbnpmn", + tags = "3, 5, 7, 10, 12, 13, 21, 33, 35, 83, 87, 105, 190, 247, 256, 257, 340, 370, 377, 413, 438, 476, 485, 535, 617, 654, 656, 664, 701, 755, 757, 762, 937, 995, 996, 1052, 1085, 1139, 1154, 1160, 1174, 1312, 1329, 1335, 1336, 1492, 1668, 1732, 1735, 1763, 1772, 1776, 1857, 1890, 1894, 1902, 1928" + )] + pub gcbckcbnpmn: ::core::option::Option, +} +/// Nested message and enum types in `NGGKFPEMAPD`. +pub mod nggkfpemapd { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Gcbckcbnpmn { + #[prost(message, tag = "3")] + FallInfo(super::Aaeoemigkpc), + #[prost(message, tag = "5")] + HideAndSeekInfo(super::Lndmeehgmjn), + #[prost(message, tag = "7")] + BrokenFloorInfo(super::Lhndpkdbehp), + #[prost(message, tag = "10")] + FlowerInfo(super::Pcgcnlcjmfd), + #[prost(message, tag = "12")] + BalloonInfo(super::Fpgnfkfifae), + #[prost(message, tag = "13")] + BulletInfo(super::Dadokgjpmid), + #[prost(message, tag = "21")] + IslandPartySailInfo(super::Ifbejfokpcc), + #[prost(message, tag = "33")] + HideAndSeekV4Info(super::Lhcbnafmnkf), + #[prost(message, tag = "35")] + TargetShootingInfo(super::Fclaiignofd), + #[prost(message, tag = "83")] + InstableSprayInfo(super::Bkaekoakool), + #[prost(message, tag = "87")] + HomeSeekFurnitureInfo(super::Pdbcekidaki), + #[prost(message, tag = "105")] + CharAmusementInfo(super::Mikcomiefal), + #[prost(message, tag = "190")] + SalvageEscortInfo(super::Dcieocipddc), + #[prost(message, tag = "247")] + FungusFighterTrainingInfo(super::Jcihiegpeai), + #[prost(message, tag = "256")] + BoxMatchInfo(super::Mmhgimhnkdf), + #[prost(message, tag = "257")] + QuickTimeCombatInfo(super::Egjjdihliko), + #[prost(message, tag = "340")] + AnimalViewInfo(super::Kmcibogjcbb), + #[prost(message, tag = "370")] + TreasureSeelieInfo(super::Lodcihbpnom), + #[prost(message, tag = "377")] + SandwormInfo(super::Doopeadjbgj), + #[prost(message, tag = "413")] + RemusArenaInfo(super::Fgedmkglgio), + #[prost(message, tag = "438")] + CrystalLinkInfo(super::Omcgmpijjkl), + #[prost(message, tag = "476")] + IrodoriMasterInfo(super::Njejjdcjlik), + #[prost(message, tag = "485")] + AkaFesRhythmInfo(super::Cdaadhnagcj), + #[prost(message, tag = "535")] + TreasureHuntV4Info(super::Dhlbkbinian), + #[prost(message, tag = "617")] + EffigyChallengeInfo(super::Dabjaadfkod), + #[prost(message, tag = "654")] + CoinCollectInfo(super::Abegkkekjmi), + #[prost(message, tag = "656")] + MuqadasPotionInfo(super::Dfikeaenpha), + #[prost(message, tag = "664")] + IslandPartyDownHillInfo(super::Onihlhkmikb), + #[prost(message, tag = "701")] + HandballInfo(super::Cdffjficdhk), + #[prost(message, tag = "755")] + InspirationSpurtInfo(super::Pnghljlknfi), + #[prost(message, tag = "757")] + TeamChainInfo(super::Omhacoggfpl), + #[prost(message, tag = "762")] + FlightGearInfo(super::Kooplhiemeo), + #[prost(message, tag = "937")] + SlimeCannonInfo(super::Kiffddcgdbd), + #[prost(message, tag = "995")] + PhotoInfo(super::Eaejoocjffl), + #[prost(message, tag = "996")] + FungusFighterV3Info(super::Ipgcfedkill), + #[prost(message, tag = "1052")] + FungusFighterCaptureInfo(super::Cpknppfipnd), + #[prost(message, tag = "1085")] + BuoyantCombatInfo(super::Aoachoghmcm), + #[prost(message, tag = "1139")] + IslandPartyRaftInfo(super::Bajhgoimcce), + #[prost(message, tag = "1154")] + FungusFighterV2Info(super::Cbliolnalik), + #[prost(message, tag = "1160")] + JourneyDiceInfo(super::Abhpgdeogag), + #[prost(message, tag = "1174")] + SummerTimeV2BoatInfo(super::Kplkocfhdjo), + #[prost(message, tag = "1312")] + SorushTrialPhotoMatchInfo(super::Nfggicfddfj), + #[prost(message, tag = "1329")] + AutoTimeStopInfo(super::Ildjcdpgjlc), + #[prost(message, tag = "1335")] + BounceConjuringInfo(super::Hohjmannnmg), + #[prost(message, tag = "1336")] + WindFieldInfo(super::Ghknjbjhfpl), + #[prost(message, tag = "1492")] + BoatMultiInfo(super::Jdmffbambgh), + #[prost(message, tag = "1668")] + VintageHuntingInfo(super::Dkkanfffpkd), + #[prost(message, tag = "1732")] + AkaFesArchaeologyInfo(super::Lhohohmibel), + #[prost(message, tag = "1735")] + PacmanInfo(super::Pggpfnpdpln), + #[prost(message, tag = "1763")] + LuminanceStoneChallengeInfo(super::Fjogdboiccg), + #[prost(message, tag = "1772")] + SumoInfo(super::Mieamhfknkj), + #[prost(message, tag = "1776")] + HomeBalloonInfo(super::Eafjlampfhi), + #[prost(message, tag = "1857")] + FilmfestSniperInfo(super::Innefldgbap), + #[prost(message, tag = "1890")] + FilmfestBattleInfo(super::Nfohfckpemo), + #[prost(message, tag = "1894")] + SorushTrialHitmanInfo(super::Podpbjoalmc), + #[prost(message, tag = "1902")] + SalvagePreventInfo(super::Eegmnmgojjo), + #[prost(message, tag = "1928")] + DuelHeartInfo(super::Iphepklgfhh), + } +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dplgllnkfgd { + #[prost(uint32, tag = "1")] + pub kbjnlbkmedp: u32, + #[prost(message, optional, tag = "9")] + pub gmolliebbfe: ::core::option::Option, + #[prost(message, optional, tag = "12")] + pub kpbecglgibm: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1835)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Flgddbbkcgc {} +#[derive(proto_gen::CmdID)] +#[cmdid(2483)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oeeiloeebkp { + #[prost(uint32, tag = "2")] + pub pkhoolbkcoc: u32, + #[prost(uint32, repeated, tag = "14")] + pub hljohdkcbjm: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9037)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eafomhgedck { + #[prost(uint32, tag = "1")] + pub omgchbachci: u32, + #[prost(map = "uint32, message", tag = "7")] + pub kpdefilcncl: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fmfhmpklnbd { + #[prost(bool, tag = "6")] + pub kineadbikjb: bool, + #[prost(uint32, tag = "11")] + pub ondfeaoddnf: u32, + #[prost(uint32, tag = "14")] + pub chcgfdlnjob: u32, + #[prost(bool, tag = "15")] + pub neieikilook: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Epnhgpbmogc { + #[prost(uint32, tag = "1")] + pub lhdahdneppl: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hgmeonglckm { + #[prost(uint32, tag = "1")] + pub dfpnkfekiig: u32, + #[prost(uint32, tag = "6")] + pub khhibkpbkpn: u32, + #[prost(uint32, tag = "12")] + pub bmjceijjkcb: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20143)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Geahomhdcaj { + #[prost(float, tag = "1")] + pub heghiolionf: f32, + #[prost(uint32, tag = "3")] + pub logfieefjah: u32, + #[prost(map = "uint32, message", tag = "4")] + pub diaeefgfpoc: ::std::collections::HashMap, + #[prost(bool, tag = "5")] + pub aekdpkkpagj: bool, + #[prost(uint32, tag = "7")] + pub phkcfckcpfb: u32, + #[prost(uint32, tag = "8")] + pub jgihcibojpn: u32, + #[prost(uint64, repeated, tag = "9")] + pub nmbemjimjob: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "10")] + pub hmcpcnggnno: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "11")] + pub mempkcgnnmf: u32, + #[prost(uint32, tag = "12")] + pub llkemfigkeo: u32, + #[prost(uint32, tag = "13")] + pub gaplfmmgbfa: u32, + #[prost(uint64, repeated, tag = "14")] + pub hhbnnbdgfim: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "15")] + pub fojbpljlmcd: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "950")] + pub donadappdog: u32, + #[prost(uint32, tag = "1426")] + pub jhdoodjoeed: u32, + #[prost(bool, tag = "1980")] + pub fdgoboihcbp: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26304)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ccdpabnmpeb { + #[prost(uint32, tag = "4")] + pub parent_quest_id: u32, + #[prost(message, repeated, tag = "10")] + pub ahhodeacdal: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25376)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ahjgojobaik { + #[prost(int32, tag = "10")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9558)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bdobhcmkhlp { + #[prost(uint32, tag = "12")] + pub bmbbdjpdjnd: u32, + #[prost(uint32, tag = "7")] + pub target_uid: u32, + #[prost(uint32, tag = "2")] + pub mhoccahhmge: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29802)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aplmkgiaijn { + #[prost(uint32, repeated, tag = "14")] + pub jnkilghkhhj: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5759)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mpicbfmmgik { + #[prost(uint32, tag = "2")] + pub pjjaoilbfbn: u32, + #[prost(uint32, tag = "7")] + pub config_id: u32, + #[prost(enumeration = "Hbcjgnlbden", tag = "11")] + pub mcdfojkmidb: i32, + #[prost(uint32, repeated, tag = "12")] + pub naialecdmjp: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "13")] + pub gekkbbagfap: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "15")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27824)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Daaipbodnki { + #[prost(uint32, tag = "4")] + pub ehlcahjfoei: u32, + #[prost(uint32, tag = "8")] + pub game_time: u32, + #[prost(uint32, tag = "15")] + pub uid: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7544)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ikheboohahm { + #[prost(uint32, repeated, tag = "12")] + pub ifgfgpikklj: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "10")] + pub mgedagigibk: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bmldpnmhmhi { + #[prost(bool, tag = "3")] + pub mdgjjofokap: bool, + #[prost(bool, tag = "7")] + pub eialjbaengj: bool, + #[prost(uint32, tag = "10")] + pub pjjaoilbfbn: u32, + #[prost(uint32, tag = "15")] + pub ppbamnfheje: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25491)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Anafmpahapn { + #[prost(bool, tag = "1")] + pub bliakncjplh: bool, + #[prost(uint32, repeated, tag = "15")] + pub fjbeecochda: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kmlhdjibdfk { + #[prost(uint32, tag = "3")] + pub ecbddjlppmk: u32, + #[prost(float, tag = "7")] + pub hfhkmeopfbi: f32, + #[prost(float, tag = "10")] + pub dadjpjbelmo: f32, + #[prost(float, tag = "13")] + pub hdjalidkdpn: f32, + #[prost(float, tag = "14")] + pub cclcogclhko: f32, + #[prost(uint32, tag = "15")] + pub kihhjkcggcc: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fagiafejoje { + #[prost(uint32, tag = "2")] + pub fjmabklfmej: u32, + #[prost(uint32, tag = "4")] + pub phodjhkgcjd: u32, + #[prost(bool, tag = "5")] + pub is_add: bool, + #[prost(oneof = "fagiafejoje::Detail", tags = "1611, 1729, 1809, 1981")] + pub detail: ::core::option::Option, +} +/// Nested message and enum types in `FAGIAFEJOJE`. +pub mod fagiafejoje { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Detail { + #[prost(message, tag = "1611")] + AvatarResult(super::Ohjdhpdpkng), + #[prost(message, tag = "1729")] + CardResult(super::Jecnlammpfi), + #[prost(message, tag = "1809")] + CoinResult(super::Lknialgdpbj), + #[prost(message, tag = "1981")] + AvatarAvailableCountResult(super::Lpanilcfgob), + } +} +#[derive(proto_gen::CmdID)] +#[cmdid(28375)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dgbldppcpmb { + #[prost(int32, tag = "4")] + pub retcode: i32, + #[prost(enumeration = "Himmemhogfb", tag = "5")] + pub mfmlakbiaed: i32, + #[prost(enumeration = "Jjhggdcjhji", tag = "12")] + pub mgcabaeicco: i32, + #[prost(uint64, tag = "13")] + pub dcompdppdpo: u64, + #[prost(oneof = "dgbldppcpmb::Koghknfabpa", tags = "2")] + pub koghknfabpa: ::core::option::Option, + #[prost(oneof = "dgbldppcpmb::Gcmkmeijkhj", tags = "922")] + pub gcmkmeijkhj: ::core::option::Option, +} +/// Nested message and enum types in `DGBLDPPCPMB`. +pub mod dgbldppcpmb { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Koghknfabpa { + #[prost(message, tag = "2")] + MusicRecord(super::Mhfikahpbmm), + } + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Gcmkmeijkhj { + #[prost(message, tag = "922")] + MusicBriefInfo(super::Pcdlglmdhai), + } +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gmhlcfmhpbg { + #[prost(uint32, repeated, tag = "4")] + pub lpecfldoodf: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "11")] + pub lmedilegobp: u32, + #[prost(uint32, tag = "12")] + pub phpfppidjkj: u32, + #[prost(uint32, repeated, tag = "14")] + pub jfhonlmcjdd: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1301)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hoechlapbdd { + #[prost(uint32, tag = "7")] + pub khhibkpbkpn: u32, + #[prost(uint32, tag = "3")] + pub onabdgfcpih: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28917)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Daonibjfejf {} +#[derive(proto_gen::CmdID)] +#[cmdid(5359)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iedadgpekhb { + #[prost(uint32, repeated, tag = "3")] + pub clpdklnbcme: ::prost::alloc::vec::Vec, + #[prost(enumeration = "Elkbkgfhaol", tag = "1")] + pub jalbjdenpkj: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2894)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ekopoecaegc { + #[prost(bool, tag = "14")] + pub dmedoehomkh: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23027)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kmgabgnaanl { + #[prost(uint32, repeated, tag = "8")] + pub mkelecopffb: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "15")] + pub honmjbadohm: bool, + #[prost(bool, tag = "7")] + pub npccimcpaai: bool, + #[prost(uint32, tag = "6")] + pub dfpnkfekiig: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26188)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eojgpecncdf { + #[prost(uint32, repeated, tag = "3")] + pub acjpdgmfgnl: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "5")] + pub cidoflodloe: u32, + #[prost(float, repeated, tag = "9")] + pub gbaglgmgjhj: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "14")] + pub r#type: i32, + #[prost(string, repeated, tag = "15")] + pub peagfmgmeah: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4720)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mpjfcikolib { + #[prost(int32, tag = "3")] + pub retcode: i32, + #[prost(uint32, tag = "9")] + pub pdlmkflekdl: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nbhmaicjjpo { + #[prost(enumeration = "Bheiacalnaf", tag = "1")] + pub state: i32, + #[prost(uint32, tag = "2")] + pub cbokjobkcjo: u32, + #[prost(message, repeated, tag = "4")] + pub dkcgnjnlmom: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "5")] + pub fhgnbdadpbl: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "6")] + pub oboopjlpdni: u32, + #[prost(uint32, repeated, tag = "8")] + pub pjnjlnpdpkg: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "9")] + pub gdhgpcfblbc: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "12")] + pub jofebpfeijl: u32, + #[prost(map = "uint32, uint32", tag = "13")] + pub ifdieidjpoh: ::std::collections::HashMap, + #[prost(uint32, repeated, tag = "14")] + pub fdhmflaaeog: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "15")] + pub ainlmkbchfg: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23204)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ljlajdhfieh { + #[prost(uint32, tag = "9")] + pub onabdgfcpih: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21541)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dcggnfiokil { + #[prost(uint32, tag = "1")] + pub parent_quest_id: u32, + #[prost(uint64, tag = "5")] + pub jjdeofcjkjm: u64, + #[prost(int32, tag = "9")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ipgcfedkill { + #[prost(uint32, tag = "1")] + pub cidhmchnneh: u32, + #[prost(message, repeated, tag = "2")] + pub bhedcanjoed: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "3")] + pub glhmmnjigfg: u32, + #[prost(uint64, tag = "4")] + pub fjpdffcpjik: u64, + #[prost(uint32, tag = "8")] + pub mojdcgignno: u32, + #[prost(uint32, tag = "11")] + pub hbedecbnhoa: u32, + #[prost(uint32, tag = "12")] + pub ecnkgkfhfdf: u32, + #[prost(string, tag = "13")] + pub lgnfafmphkd: ::prost::alloc::string::String, + #[prost(float, tag = "14")] + pub ledgjdcjimk: f32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Limeljbmapl { + #[prost(uint32, tag = "10")] + pub dmlcigbdpii: u32, + #[prost(bool, tag = "11")] + pub okiggnfhlgg: bool, + #[prost(uint64, tag = "13")] + pub npdklmfoofd: u64, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bnphcmpcmnl { + #[prost(message, optional, tag = "7")] + pub rot: ::core::option::Option, + #[prost(message, optional, tag = "8")] + pub pos: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5229)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kadmdnimakm { + #[prost(uint32, tag = "15")] + pub pjjaoilbfbn: u32, + #[prost(uint32, tag = "7")] + pub pnallkjlnlc: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26546)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pddgagmojac {} +#[derive(proto_gen::CmdID)] +#[cmdid(28033)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bblpobkneka {} +#[derive(proto_gen::CmdID)] +#[cmdid(29989)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Djhafbpnpee { + #[prost(string, tag = "6")] + pub epfpbkmomca: ::prost::alloc::string::String, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24925)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kdafogcnoea { + #[prost(uint32, tag = "1")] + pub hajbdmhdgig: u32, + #[prost(uint32, tag = "9")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21253)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Niggcfmfkpn { + #[prost(string, tag = "8")] + pub dppibjfomoc: ::prost::alloc::string::String, + #[prost(uint32, tag = "4")] + pub jchhllebmja: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27713)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jlmgdbldmgl { + #[prost(uint32, tag = "2")] + pub entity_id: u32, + #[prost(int32, tag = "9")] + pub retcode: i32, + #[prost(uint32, tag = "12")] + pub jchjpafcofh: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3545)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fofdpmohgee { + #[prost(message, repeated, tag = "2")] + pub miccoobjini: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "3")] + pub bbhfjfebgap: ::core::option::Option, + #[prost(int32, tag = "7")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29815)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oichhkcllga { + #[prost(uint32, tag = "6")] + pub dest_scene_id: u32, + #[prost(message, optional, tag = "7")] + pub hfadabifeog: ::core::option::Option, + #[prost(int32, tag = "13")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Djjpkpbcjci { + #[prost(uint32, tag = "6")] + pub guid: u32, + #[prost(message, repeated, tag = "9")] + pub gfnfjenpgmj: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Olcndpkgbef { + #[prost(bool, tag = "1")] + pub ecihdijcled: bool, + #[prost(uint32, repeated, tag = "3")] + pub peebehmccbb: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "11")] + pub degakeklgem: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gjigmgechep { + #[prost(enumeration = "Hmocjieppll", tag = "1")] + pub abclhaaljpl: i32, + #[prost(uint64, tag = "2")] + pub padclipinad: u64, + #[prost(uint64, tag = "3")] + pub cgammlododp: u64, + #[prost(bool, tag = "4")] + pub emhafoepfmn: bool, + #[prost(message, optional, tag = "5")] + pub pos: ::core::option::Option, + #[prost(uint32, tag = "6")] + pub peer_id: u32, + #[prost(uint64, tag = "7")] + pub clkepicnjjd: u64, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8274)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Immgphliepp { + #[prost(uint32, repeated, tag = "10")] + pub fnaoacpmmkd: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "13")] + pub fdflphcbgef: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3775)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lcoccdncfpn { + #[prost(uint32, tag = "1")] + pub ckoccfdgcol: u32, + #[prost(bool, tag = "5")] + pub dggckmikbmo: bool, + #[prost(message, optional, tag = "10")] + pub bepfmdkmfic: ::core::option::Option, + #[prost(uint32, tag = "11")] + pub omgchbachci: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20641)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fkclfegjfkc { + #[prost(int32, tag = "1")] + pub retcode: i32, + #[prost(uint32, repeated, tag = "15")] + pub avatar_id: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7339)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aldbcbcdbki { + #[prost(int32, tag = "3")] + pub retcode: i32, + #[prost(uint32, tag = "4")] + pub omgchbachci: u32, + #[prost(uint32, tag = "15")] + pub cnkddkikglg: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4123)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hajpnelhlba { + #[prost(int32, tag = "1")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5719)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fekepmpcjkc { + #[prost(uint32, tag = "2")] + pub gejgkajfdcd: u32, + #[prost(uint32, tag = "8")] + pub dlebdhokopp: u32, + #[prost(message, optional, tag = "12")] + pub kkaccpnohcg: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Apdkaklmeig { + #[prost(uint32, repeated, tag = "4")] + pub ghncicaimjg: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "9")] + pub hhppponmcmj: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Liijodfaabf { + #[prost(uint32, tag = "3")] + pub knccndeefmn: u32, + #[prost(uint32, repeated, tag = "6")] + pub fdjpppfghne: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(380)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Poeddpgnpgo { + #[prost(uint32, repeated, tag = "6")] + pub jbgeapjbnjo: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27481)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ceppginnkmn { + #[prost(int32, tag = "2")] + pub retcode: i32, + #[prost(map = "uint64, uint32", tag = "8")] + pub lnmhakapili: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5099)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lninjipjeob {} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jnkcdiomjme { + #[prost(message, repeated, tag = "10")] + pub eloilboekpk: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jookfddliem { + #[prost(uint32, tag = "8")] + pub game_time: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22960)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fieheggjpmg { + #[prost(int32, tag = "9")] + pub retcode: i32, + #[prost(uint32, tag = "15")] + pub omgchbachci: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26404)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dbgbnckpcnm {} +#[derive(proto_gen::CmdID)] +#[cmdid(1686)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kljnnncfblh { + #[prost(string, tag = "1")] + pub lldpnociddf: ::prost::alloc::string::String, + #[prost(uint32, tag = "2")] + pub kjlbepdnldm: u32, + #[prost(enumeration = "PlayerDieType", tag = "3")] + pub jdfbfdifmmj: i32, + #[prost(uint32, tag = "4")] + pub life_state: u32, + #[prost(message, repeated, tag = "5")] + pub server_buff_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "7")] + pub plhjikjloak: u32, + #[prost(uint64, tag = "11")] + pub avatar_guid: u64, + #[prost(string, repeated, tag = "14")] + pub epgobhiedoi: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20652)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pkmnfhdincb { + #[prost(uint32, tag = "15")] + pub gldnnfocdem: u32, + #[prost(uint32, tag = "7")] + pub avatar_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5859)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lfglgcjlmbe { + #[prost(message, optional, tag = "9")] + pub ejlcmhihmfk: ::core::option::Option, + #[prost(bool, tag = "10")] + pub honmjbadohm: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26121)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Facifolpjjc { + #[prost(uint32, tag = "7")] + pub gaplfmmgbfa: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28046)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Njohaigicch { + #[prost(uint64, repeated, tag = "6")] + pub edabeidcffo: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "5")] + pub config_id: u32, + #[prost(uint32, tag = "11")] + pub pmmcjppheke: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20868)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dbebgagngeg { + #[prost(uint64, repeated, tag = "7")] + pub avatar_guid_list: ::prost::alloc::vec::Vec, + #[prost(uint64, tag = "5")] + pub cur_avatar_guid: u64, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4851)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Amphpphmamm { + #[prost(uint32, repeated, tag = "10")] + pub jfkeinkjiia: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24648)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oaedmoebeof { + #[prost(int32, tag = "9")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7322)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Innkieghhch { + #[prost(uint32, tag = "2")] + pub pjjaoilbfbn: u32, + #[prost(bool, tag = "7")] + pub ankcbommojb: bool, + #[prost(bool, tag = "14")] + pub knooopkppec: bool, + #[prost(uint32, tag = "15")] + pub jofbeiaclof: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5623)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kkkfgmfbebi { + #[prost(uint32, tag = "7")] + pub pjjaoilbfbn: u32, + #[prost(uint32, tag = "8")] + pub aaolkibhbfn: u32, + #[prost(uint32, tag = "10")] + pub fenjhmlgkie: u32, + #[prost(bool, tag = "11")] + pub dggckmikbmo: bool, + #[prost(uint32, tag = "12")] + pub pnallkjlnlc: u32, + #[prost(uint32, tag = "13")] + pub lnbbmiahhnd: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Amcomlpiebn { + #[prost(map = "uint32, uint32", tag = "3")] + pub hfldohccdlo: ::std::collections::HashMap, + #[prost(bool, tag = "11")] + pub jedignaellh: bool, + #[prost(uint32, tag = "13")] + pub obfcjpojmom: u32, + #[prost(message, repeated, tag = "15")] + pub dahkfdaacll: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22356)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gjiniklcgpb { + #[prost(message, repeated, tag = "2")] + pub kfapijcgdbc: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "14")] + pub dmnldppgokg: u32, + #[prost(uint32, tag = "1")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1952)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hmaondhffhh { + #[prost(message, repeated, tag = "7")] + pub cadonpdcdbg: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "8")] + pub eefmhkemfej: bool, + #[prost(int32, tag = "9")] + pub retcode: i32, + #[prost(uint32, repeated, tag = "10")] + pub ghnmdakolkf: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1786)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Afackfjmohk { + #[prost(uint32, tag = "10")] + pub avatar_id: u32, + #[prost(int32, tag = "11")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(363)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jaikmbmmklp { + #[prost(message, optional, tag = "5")] + pub laicdpfdimh: ::core::option::Option, + #[prost(uint32, tag = "15")] + pub feccpddaagm: u32, + #[prost(uint32, tag = "3")] + pub mccbeklmcfn: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fjmjcddodmh { + #[prost(bool, tag = "1")] + pub gafmflgblcf: bool, + #[prost(uint32, tag = "2")] + pub ojoapinglno: u32, + #[prost(string, tag = "3")] + pub version: ::prost::alloc::string::String, + #[prost(uint32, tag = "4")] + pub oommiflemob: u32, + #[prost(message, optional, tag = "5")] + pub cjdionfgocb: ::core::option::Option, + #[prost(message, optional, tag = "6")] + pub ilpjmahlgdk: ::core::option::Option, + #[prost(bool, tag = "7")] + pub phfkpmbcijo: bool, + #[prost(uint32, tag = "8")] + pub ndjacelknee: u32, + #[prost(uint32, tag = "9")] + pub hkeeinbhfhm: u32, + #[prost(bool, tag = "10")] + pub cefglehdbeh: bool, + #[prost(enumeration = "Aagpkjdpblk", repeated, tag = "11")] + pub ckolihhmkdh: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "12")] + pub hgaaipejflh: u32, + #[prost(uint32, repeated, tag = "13")] + pub ooboklehccd: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "14")] + pub ijffkcgiaoj: u32, + #[prost(uint32, tag = "15")] + pub gnakoniijho: u32, + #[prost(message, optional, tag = "576")] + pub dpebbflaadc: ::core::option::Option, + #[prost(message, optional, tag = "617")] + pub lnigejebjan: ::core::option::Option, + #[prost(uint32, repeated, tag = "1239")] + pub nmeemocpfme: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jdljjhhncie { + #[prost(bool, tag = "1")] + pub hbcmlfpmelb: bool, + #[prost(bool, tag = "2")] + pub lamkamgahil: bool, + #[prost(uint32, tag = "9")] + pub ldfagghamln: u32, + #[prost(uint32, tag = "10")] + pub gilcdealjoo: u32, + #[prost(bool, tag = "15")] + pub ikpiilofdbc: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hknjfhlpkba { + #[prost(bool, tag = "3")] + pub eialjbaengj: bool, + #[prost(bool, tag = "9")] + pub ecihdijcled: bool, + #[prost(uint32, tag = "14")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Okidfhklfha { + #[prost(message, optional, tag = "5")] + pub ibjhbimbaim: ::core::option::Option, + #[prost(int32, tag = "11")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hgccpkjgfmk { + #[prost(message, optional, tag = "5")] + pub pos: ::core::option::Option, + #[prost(message, optional, tag = "12")] + pub rot: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ghdaigogfil { + #[prost(uint32, tag = "1")] + pub item_id: u32, + #[prost(oneof = "ghdaigogfil::Detail", tags = "2, 3")] + pub detail: ::core::option::Option, +} +/// Nested message and enum types in `GHDAIGOGFIL`. +pub mod ghdaigogfil { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Detail { + #[prost(message, tag = "2")] + Reliquary(super::Reliquary), + #[prost(message, tag = "3")] + Weapon(super::Weapon), + } +} +#[derive(proto_gen::CmdID)] +#[cmdid(21121)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jkoffpmnpod { + #[prost(uint32, repeated, tag = "14")] + pub tag_list: ::prost::alloc::vec::Vec, + #[prost(uint64, tag = "5")] + pub gedmdocolfj: u64, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jgdlhlghiib { + #[prost(message, repeated, tag = "8")] + pub hegnigachmi: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "11")] + pub apnlofpnahn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26085)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jokcclihddc { + #[prost(bool, tag = "3")] + pub lkcaeopcfoc: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5973)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pbcbmmohlof { + #[prost(int32, tag = "3")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28159)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jocppafpfjo { + #[prost(int32, tag = "15")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hdeajgdjfen { + #[prost(bool, tag = "1")] + pub cgjoghablff: bool, + #[prost(float, tag = "2")] + pub nkcjicgiodo: f32, + #[prost(float, tag = "3")] + pub jolhmmdldhg: f32, + #[prost(bool, tag = "4")] + pub dcmiecgogpb: bool, + #[prost(float, tag = "6")] + pub speed: f32, + #[prost(int32, tag = "7")] + pub pdlkmpbkane: i32, + #[prost(float, tag = "8")] + pub oknknaaojgn: f32, + #[prost(uint32, tag = "10")] + pub entity_id: u32, + #[prost(float, tag = "11")] + pub gbaccbjjijc: f32, + #[prost(float, tag = "12")] + pub fckcbcmkkde: f32, + #[prost(string, tag = "13")] + pub fjgjagcecjg: ::prost::alloc::string::String, + #[prost(message, optional, tag = "14")] + pub iaknhjgcpgl: ::core::option::Option, + #[prost(uint32, repeated, tag = "15")] + pub lncigfcjcaa: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Phjjchbpkmp { + #[prost(uint32, tag = "2")] + pub oboopjlpdni: u32, + #[prost(uint64, tag = "8")] + pub jikngogcaik: u64, + #[prost(bool, tag = "11")] + pub dmedoehomkh: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Glbbfgllhak { + #[prost(uint32, tag = "10")] + pub lgooidciaag: u32, + #[prost(uint32, tag = "11")] + pub phpfppidjkj: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24774)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Plkmdblpfpd { + #[prost(uint32, tag = "3")] + pub mibogmnagmf: u32, + #[prost(message, repeated, tag = "5")] + pub pknajgcbnfi: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "7")] + pub laadegdmnli: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "8")] + pub bdempbhmflo: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "9")] + pub giejpalljba: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "13")] + pub bpiedpefgfj: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "15")] + pub fbpgimlmdnj: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5904)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kdfbmmpnomp { + #[prost(message, optional, tag = "4")] + pub plbdagkfmbi: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9425)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nbimilnjpcf { + #[prost(uint32, tag = "13")] + pub omgchbachci: u32, + #[prost(uint32, tag = "7")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8141)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Odpchnmajmn { + #[prost(enumeration = "Ialdlppfide", tag = "6")] + pub epcbaobgodi: i32, + #[prost(int32, tag = "10")] + pub retcode: i32, + #[prost(message, optional, tag = "13")] + pub iljgpojfhdo: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7149)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mgbodcljbjf { + #[prost(bool, tag = "11")] + pub pdfiiffmbeg: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pplocjopfic { + #[prost(uint32, tag = "3")] + pub kodeiacdodk: u32, + #[prost(uint32, tag = "5")] + pub oicebegencm: u32, + #[prost(uint32, tag = "8")] + pub pjjaoilbfbn: u32, + #[prost(bool, tag = "15")] + pub ecihdijcled: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29344)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fjckeaefaag { + #[prost(int32, tag = "3")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(285)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eofmppihhah { + #[prost(bool, tag = "10")] + pub ghjmcffdfdd: bool, + #[prost(enumeration = "Mbmckhfkokf", tag = "14")] + pub akaecgkdaek: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25192)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cnkchpamall { + #[prost(int32, tag = "8")] + pub retcode: i32, + #[prost(float, tag = "11")] + pub dikklmdpman: f32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bgildeakcle { + #[prost(uint32, tag = "1")] + pub dmkfeccmcop: u32, + #[prost(bool, tag = "7")] + pub ecihdijcled: bool, + #[prost(message, repeated, tag = "8")] + pub kjjdfphkfeb: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "9")] + pub peajinifghm: u32, + #[prost(uint32, tag = "11")] + pub mempkcgnnmf: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24249)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mpklilcbmgj { + #[prost(int32, tag = "7")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3045)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Npncpfjdbfl {} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hcciopjepfd { + #[prost(uint32, tag = "3")] + pub eeeokadehdg: u32, + #[prost(uint32, tag = "4")] + pub kfaedplfjkl: u32, + #[prost(uint32, tag = "12")] + pub jgihcibojpn: u32, + #[prost(uint32, tag = "13")] + pub bfpnccabcio: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct AbilityEmbryo { + #[prost(uint32, tag = "1")] + pub ability_id: u32, + #[prost(fixed32, tag = "2")] + pub ability_name_hash: u32, + #[prost(fixed32, tag = "3")] + pub ability_override_name_hash: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22364)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kfgiaaeipbo { + #[prost(int32, tag = "9")] + pub retcode: i32, + #[prost(uint32, tag = "11")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Goolnofhkpc { + #[prost(uint32, tag = "4")] + pub eopffipdkgn: u32, + #[prost(message, repeated, tag = "5")] + pub olpbbgienff: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "6")] + pub eialjbaengj: bool, + #[prost(bool, tag = "8")] + pub lbmialpeoba: bool, + #[prost(bool, repeated, tag = "11")] + pub haaknmoamib: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "12")] + pub pjgilfddobn: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "13")] + pub kpampgdjdhe: u32, + #[prost(uint32, tag = "15")] + pub hkeeinbhfhm: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29248)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pllplbkifin {} +#[derive(proto_gen::CmdID)] +#[cmdid(7412)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hhodfbdlkam { + #[prost(uint32, tag = "2")] + pub kafapfjllgp: u32, + #[prost(uint32, tag = "5")] + pub cenhkjdffda: u32, + #[prost(uint32, repeated, tag = "7")] + pub kcecodplble: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "8")] + pub ohmgddcbbod: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "10")] + pub aeiioogdpgj: u32, + #[prost(message, optional, tag = "11")] + pub fodjcjdbfii: ::core::option::Option, + #[prost(enumeration = "Hkkcdiccimi", tag = "12")] + pub nkiolhkgjco: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25492)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Acohljeplnk { + #[prost(uint32, tag = "10")] + pub gdmfjbaejdd: u32, + #[prost(bool, tag = "13")] + pub ijpincjjmgi: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dghffpkkclo { + #[prost(enumeration = "Jailcnefodi", tag = "2")] + pub avatar_type: i32, + #[prost(uint32, tag = "7")] + pub fjhhikoihka: u32, + #[prost(uint64, tag = "15")] + pub avatar_guid: u64, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28746)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Djnnalcnmkp { + #[prost(uint32, tag = "3")] + pub hkfgfkojigm: u32, + #[prost(uint32, tag = "8")] + pub bkiinnhbfdm: u32, + #[prost(uint32, tag = "12")] + pub khmcijmiopj: u32, + #[prost(map = "uint32, uint32", tag = "13")] + pub blolpfcbdin: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kbllgefkocb { + #[prost(uint32, repeated, tag = "4")] + pub jfhonlmcjdd: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "12")] + pub phpfppidjkj: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8550)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gcadppfpigp { + #[prost(string, repeated, tag = "3")] + pub mjifbdojhmk: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, + #[prost(int32, tag = "15")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6971)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ejldkjhcgbp { + #[prost(uint32, tag = "4")] + pub lbklfcdfpdm: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pkpkmnoghlf { + #[prost(message, optional, tag = "3")] + pub mhfdgagiepa: ::core::option::Option, + #[prost(uint32, tag = "13")] + pub count: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23622)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jhiomicmaad { + #[prost(int32, tag = "12")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24158)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kpfoidhenpj { + #[prost(uint32, repeated, tag = "8")] + pub gfomhmmlged: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6277)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kmokgjllplo { + #[prost(int32, tag = "13")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4302)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jiamlbjfaji { + #[prost(enumeration = "StoreType", tag = "4")] + pub store_type: i32, + #[prost(int32, tag = "11")] + pub retcode: i32, + #[prost(uint64, tag = "13")] + pub guid: u64, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29175)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ngalodmccel { + #[prost(uint32, tag = "5")] + pub eahfokifjoj: u32, + #[prost(int32, tag = "9")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1461)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bpjmmmofpcl { + #[prost(int32, tag = "4")] + pub retcode: i32, + #[prost(enumeration = "Noipnepdipn", tag = "5")] + pub epcbaobgodi: i32, + #[prost(map = "uint32, uint32", tag = "7")] + pub japbdkkhpjh: ::std::collections::HashMap, + #[prost(message, optional, tag = "14")] + pub jilfekjaimc: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28500)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ephfnmhiepl { + #[prost(int32, tag = "13")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26753)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ajjjljmjmjd { + #[prost(uint32, tag = "3")] + pub param: u32, + #[prost(uint32, tag = "4")] + pub gaplfmmgbfa: u32, + #[prost(uint32, tag = "5")] + pub ohkidhnabib: u32, + #[prost(int32, tag = "7")] + pub retcode: i32, + #[prost(uint32, tag = "8")] + pub mbkaongpdcn: u32, + #[prost(enumeration = "Oeaoccjeope", tag = "9")] + pub ddiaamkbfda: i32, + #[prost(uint32, tag = "13")] + pub cenhkjdffda: u32, + #[prost(message, repeated, tag = "544")] + pub mjdllgjhadg: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26438)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Becchmcndoj {} +#[derive(proto_gen::CmdID)] +#[cmdid(22194)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cjciibmahpa { + #[prost(uint32, tag = "11")] + pub lhdahdneppl: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Phpfnobfnlj { + #[prost(uint32, tag = "7")] + pub uid: u32, + #[prost(uint32, repeated, tag = "8")] + pub fikgdofabee: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5768)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gkdjkiibobb { + #[prost(uint32, tag = "8")] + pub khhibkpbkpn: u32, + #[prost(int32, tag = "12")] + pub retcode: i32, + #[prost(message, repeated, tag = "13")] + pub fphoohiffnn: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23302)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lkcfcnbhcii { + #[prost(uint32, tag = "3")] + pub r#type: u32, + #[prost(int32, repeated, tag = "8")] + pub omcpnmpngho: ::prost::alloc::vec::Vec, + #[prost(string, tag = "9")] + pub dmecjjebdnd: ::prost::alloc::string::String, + #[prost(float, repeated, tag = "14")] + pub cadcgdbnimj: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26291)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nbapdlmbpge { + #[prost(uint32, tag = "9")] + pub mempkcgnnmf: u32, + #[prost(uint32, repeated, tag = "13")] + pub odobmmfaacg: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3703)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kmkkdehcigk { + #[prost(message, optional, tag = "4")] + pub ejlcmhihmfk: ::core::option::Option, + #[prost(uint32, tag = "14")] + pub pbkeaocbpmn: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kgighckllkl { + #[prost(uint32, tag = "2")] + pub hojjlblkohj: u32, + #[prost(message, optional, tag = "6")] + pub pos: ::core::option::Option, + #[prost(uint32, tag = "12")] + pub dmkfeccmcop: u32, + #[prost(bool, tag = "13")] + pub ecihdijcled: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dcieocipddc { + #[prost(uint32, tag = "9")] + pub dejllnghekl: u32, + #[prost(uint32, tag = "10")] + pub ohenhnjjken: u32, + #[prost(uint32, tag = "12")] + pub leefldbdabm: u32, + #[prost(uint32, tag = "14")] + pub cbfmilloboo: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bkdejjifbhm { + #[prost(uint32, tag = "6")] + pub echfghanmpb: u32, + #[prost(uint32, tag = "9")] + pub joijhcopeng: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ghiencfnmmi { + #[prost(message, repeated, tag = "2")] + pub blkjababpod: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "13")] + pub cbenkjeocil: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "15")] + pub jejgedbihfm: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iimghhmefmk { + #[prost(uint32, tag = "8")] + pub alpfbbejimo: u32, + #[prost(uint32, tag = "10")] + pub ioihaodnikf: u32, + #[prost(bool, tag = "12")] + pub ocaccjodddo: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oofgopfmkco { + #[prost(message, repeated, tag = "6")] + pub bcogkegagnp: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jnflplcimpp { + #[prost(uint32, tag = "1")] + pub gldnnfocdem: u32, + #[prost(bool, tag = "11")] + pub nahnhoifgfi: bool, + #[prost(uint32, tag = "13")] + pub okicoglejec: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25374)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hncgdlmedao { + #[prost(int32, tag = "4")] + pub retcode: i32, + #[prost(message, repeated, tag = "10")] + pub eepdncmhpme: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jdlgfillegg { + #[prost(message, repeated, tag = "3")] + pub cadonpdcdbg: ::prost::alloc::vec::Vec, + #[prost(enumeration = "Edgimhghgpa", tag = "5")] + pub reason: i32, + #[prost(message, optional, tag = "7")] + pub ajcmdfmgije: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2312)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oiiadoellbh { + #[prost(int32, tag = "4")] + pub retcode: i32, + #[prost(message, repeated, tag = "14")] + pub kbokcomoacf: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9691)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Idcegfnncbn { + #[prost(int32, tag = "8")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22347)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nnbgohbbmgo {} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cbliolnalik { + #[prost(uint64, tag = "2")] + pub fjpdffcpjik: u64, + #[prost(float, tag = "3")] + pub ledgjdcjimk: f32, + #[prost(uint32, tag = "5")] + pub ehgijgcnhkl: u32, + #[prost(string, tag = "7")] + pub lgnfafmphkd: ::prost::alloc::string::String, + #[prost(uint32, tag = "9")] + pub dhidkflckbf: u32, + #[prost(message, repeated, tag = "11")] + pub bhedcanjoed: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Magijmigili { + #[prost(uint32, tag = "10")] + pub dmlcigbdpii: u32, + #[prost(bool, tag = "11")] + pub okiggnfhlgg: bool, + #[prost(uint64, tag = "13")] + pub npdklmfoofd: u64, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dcgllonkjdg { + #[prost(uint32, tag = "12")] + pub phpfppidjkj: u32, + #[prost(uint32, repeated, tag = "14")] + pub ogjodgflein: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9342)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iaagfbpnbaj { + #[prost(map = "uint32, uint32", tag = "3")] + pub summon_tag_map: ::std::collections::HashMap, + #[prost(uint32, tag = "14")] + pub poncdmkadoa: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25984)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jnolhdfbkdk { + #[prost(uint32, tag = "3")] + pub lgooidciaag: u32, + #[prost(uint32, tag = "12")] + pub icjfcaklnfg: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8052)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cadjjjefokp { + #[prost(message, repeated, tag = "2")] + pub bfbomboinpj: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "9")] + pub pbekglboplc: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21438)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Acgphcfjgpn { + #[prost(uint32, tag = "13")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Afpbdghdjdn { + #[prost(enumeration = "Pmobconjbef", tag = "5")] + pub bloaoapllgf: i32, + #[prost(uint32, tag = "7")] + pub jlhfgabkeoi: u32, + #[prost(oneof = "afpbdghdjdn::Adebpdlaojp", tags = "6, 13, 15")] + pub adebpdlaojp: ::core::option::Option, +} +/// Nested message and enum types in `AFPBDGHDJDN`. +pub mod afpbdghdjdn { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Adebpdlaojp { + #[prost(uint32, tag = "6")] + Level(u32), + #[prost(message, tag = "13")] + QuestParam(super::Pkbadbmidhj), + #[prost(uint32, tag = "15")] + ChapterId(u32), + } +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pkbadbmidhj { + #[prost(uint32, tag = "12")] + pub kenikecfflm: u32, + #[prost(uint32, tag = "14")] + pub ccpigccdboi: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(592)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kgiebfhgopc { + #[prost(int32, tag = "1")] + pub retcode: i32, + #[prost(map = "uint32, uint32", tag = "6")] + pub opldpagaapd: ::std::collections::HashMap, + #[prost(uint32, repeated, tag = "10")] + pub pdoinbmblgl: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24752)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ongdgmgejel { + #[prost(uint32, tag = "10")] + pub item_id: u32, + #[prost(uint32, tag = "15")] + pub fenjfleghmg: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iblagbcigbo { + #[prost(uint32, tag = "12")] + pub omecgiplfnm: u32, + #[prost(uint32, tag = "13")] + pub ancnilafdoj: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22294)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eijjlgoodfe { + #[prost(message, repeated, tag = "1")] + pub bcdecbeoklf: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Meeonahjnje { + #[prost(uint32, repeated, tag = "7")] + pub pmjdbpnlkkg: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "10")] + pub lbmlpbefaek: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "15")] + pub mempkcgnnmf: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dpnkdnamanj { + #[prost(message, optional, tag = "11")] + pub bepfmdkmfic: ::core::option::Option, + #[prost(bool, tag = "14")] + pub dggckmikbmo: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4098)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kcgpcljijdo { + #[prost(float, tag = "3")] + pub pdkifkkmhcn: f32, + #[prost(float, tag = "5")] + pub jndhedcnibo: f32, + #[prost(uint32, tag = "7")] + pub aljnjkpmopb: u32, + #[prost(float, tag = "15")] + pub anhmobffknh: f32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(792)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nkbmfcggjmf { + #[prost(uint32, tag = "3")] + pub jinjlbemjnc: u32, + #[prost(message, optional, tag = "14")] + pub fknojfjgdlm: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jbdkeilfjoo { + #[prost(bool, tag = "1")] + pub hfccmpaeiem: bool, + #[prost(uint32, repeated, tag = "4")] + pub hbgkefoepch: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "11")] + pub faejlbkoilg: bool, + #[prost(message, repeated, tag = "15")] + pub pjemkikefle: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21306)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ngfcbnondfi { + #[prost(uint32, tag = "2")] + pub jofbeiaclof: u32, + #[prost(bool, tag = "3")] + pub ankcbommojb: bool, + #[prost(uint32, tag = "9")] + pub igmnbbkeneh: u32, + #[prost(message, repeated, tag = "11")] + pub filhggiljln: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "13")] + pub dggckmikbmo: bool, + #[prost(uint32, tag = "14")] + pub dekhbeooien: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3504)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ifpciccabpk { + #[prost(message, repeated, tag = "11")] + pub hgfkhnelmbe: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(952)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fmeodelpphi { + #[prost(int32, tag = "1")] + pub retcode: i32, + #[prost(uint64, tag = "3")] + pub guid: u64, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7577)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lgpfccdegld {} +#[derive(proto_gen::CmdID)] +#[cmdid(21622)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gpijlngaead { + #[prost(message, optional, tag = "8")] + pub pos: ::core::option::Option, + #[prost(message, optional, tag = "5")] + pub rot: ::core::option::Option, + #[prost(uint32, tag = "10")] + pub hdkfflfejgg: u32, + #[prost(uint32, tag = "6")] + pub degmghpfhjb: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(871)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pdfalpkmnda { + #[prost(uint32, tag = "15")] + pub lpnkmdeakpc: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mboemihobge { + #[prost(uint32, tag = "4")] + pub bfkekimhaek: u32, + #[prost(uint32, tag = "7")] + pub hfjbndpdlbe: u32, + #[prost(uint32, tag = "9")] + pub ibnkhhbmaeh: u32, + #[prost(uint32, tag = "10")] + pub mabjljihkmi: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25200)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Clppijjnpca { + #[prost(uint32, tag = "10")] + pub lbjaacebmkj: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26209)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Opjfobkpfhj { + #[prost(uint32, tag = "1")] + pub gcmlkbebpoh: u32, + #[prost(uint32, tag = "2")] + pub omgchbachci: u32, + #[prost(uint32, tag = "3")] + pub pjjaoilbfbn: u32, + #[prost(enumeration = "Paahdfjmicd", tag = "7")] + pub reason: i32, + #[prost(uint32, tag = "8")] + pub eigpjjfkdhb: u32, + #[prost(bool, tag = "9")] + pub dggckmikbmo: bool, + #[prost(uint32, tag = "10")] + pub bihammoadbg: u32, + #[prost(bool, tag = "11")] + pub dmedoehomkh: bool, + #[prost(uint32, tag = "12")] + pub dekhbeooien: u32, + #[prost(uint32, tag = "13")] + pub leijpnjklim: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7027)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Glgnchckhkc { + #[prost(bool, tag = "8")] + pub bgaoacgaldg: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22439)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pacmlaldbhg { + #[prost(message, repeated, tag = "7")] + pub phlobocnnog: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "13")] + pub group_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20847)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eoleenaakgl { + #[prost(message, optional, tag = "13")] + pub ikpaapimbhh: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23051)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kmldbbdiddn { + #[prost(int32, tag = "2")] + pub retcode: i32, + #[prost(uint32, tag = "3")] + pub dfpnkfekiig: u32, + #[prost(uint32, tag = "8")] + pub lcodbnghipi: u32, + #[prost(uint32, repeated, tag = "14")] + pub nijajagmlgp: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23278)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ahjgcmbjgmb { + #[prost(uint32, tag = "3")] + pub khhibkpbkpn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8001)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Odcneilbjmd { + #[prost(int32, tag = "14")] + pub retcode: i32, + #[prost(uint32, repeated, tag = "15")] + pub cnfodgeooef: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25257)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hfdpphkhacl { + #[prost(int32, tag = "12")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4299)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mnnkhkmdien { + #[prost(enumeration = "Mfnchjapidh", tag = "7")] + pub ipccodlhaop: i32, + #[prost(uint32, tag = "14")] + pub target_uid: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20381)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nikjbkdfcdl { + #[prost(int32, tag = "3")] + pub retcode: i32, + #[prost(message, repeated, tag = "5")] + pub ioaoaeaijee: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "6")] + pub blfahklapic: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8338)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oooojaiacpd { + #[prost(int32, tag = "1")] + pub retcode: i32, + #[prost(uint32, tag = "3")] + pub cjcjonhpiio: u32, + #[prost(uint32, tag = "13")] + pub onabdgfcpih: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kbmignfimkf { + #[prost(uint32, tag = "1")] + pub opgonhkecog: u32, + #[prost(bool, tag = "3")] + pub dhedkiegmel: bool, + #[prost(uint32, repeated, tag = "4")] + pub ndfojhfpble: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "5")] + pub mbkcpjggmef: u32, + #[prost(uint32, tag = "8")] + pub feipgdcpkne: u32, + #[prost(uint32, tag = "10")] + pub pkhodhipjbb: u32, + #[prost(enumeration = "Npgmacjfbek", tag = "11")] + pub dpdjgigleld: i32, + #[prost(uint32, repeated, tag = "13")] + pub ldcoaaonbpg: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "14")] + pub phnboloecei: u32, + #[prost(uint32, tag = "15")] + pub ikidaaimffe: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27206)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jijahbhjidk { + #[prost(uint32, tag = "5")] + pub chddofmlblm: u32, + #[prost(uint32, tag = "10")] + pub akmdkfbgdlb: u32, + #[prost(uint32, tag = "9")] + pub gbcebgkbjdm: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9476)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Epbhpmkkefc { + #[prost(uint32, tag = "3")] + pub gaplfmmgbfa: u32, + #[prost(uint32, tag = "9")] + pub ddiaamkbfda: u32, + #[prost(uint32, repeated, tag = "10")] + pub mjehndanfnk: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "12")] + pub avatar_list: ::prost::alloc::vec::Vec, + #[prost(map = "uint32, enumeration(Jaiddkdbmem)", tag = "15")] + pub aoolchbokmf: ::std::collections::HashMap, + #[prost(oneof = "epbhpmkkefc::Detail", tags = "1159")] + pub detail: ::core::option::Option, +} +/// Nested message and enum types in `EPBHPMKKEFC`. +pub mod epbhpmkkefc { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Detail { + #[prost(message, tag = "1159")] + UgcTeamInfo(super::Cdghdalggal), + } +} +#[derive(proto_gen::CmdID)] +#[cmdid(20899)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Olfpdhcblpm { + #[prost(uint32, tag = "8")] + pub hhlmkniagam: u32, + #[prost(uint32, tag = "13")] + pub draft_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7845)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ebkeajcjkjn { + #[prost(uint32, repeated, tag = "1")] + pub jkoihmchhha: ::prost::alloc::vec::Vec, + #[prost(enumeration = "Hhaafihndjo", tag = "5")] + pub reason: i32, + #[prost(int32, tag = "7")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oigdioegllg { + #[prost(uint32, repeated, tag = "1")] + pub jaodpkilohd: ::prost::alloc::vec::Vec, + #[prost(map = "uint32, uint32", tag = "2")] + pub igidhgkoodo: ::std::collections::HashMap, + #[prost(uint32, repeated, tag = "3")] + pub obaklgmmoeo: ::prost::alloc::vec::Vec, + #[prost(map = "uint32, uint32", tag = "4")] + pub lelgngjojai: ::std::collections::HashMap, + #[prost(uint32, repeated, tag = "5")] + pub aoeckdlecij: ::prost::alloc::vec::Vec, + #[prost(map = "uint32, uint32", tag = "6")] + pub acaajjbncdm: ::std::collections::HashMap, + #[prost(uint32, repeated, tag = "7")] + pub lhegfhkbmkf: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "8")] + pub hiihfcbjldi: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "9")] + pub hcpkdcnkpgd: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iinnlammnka { + #[prost(uint32, tag = "9")] + pub hibbejpbeic: u32, + #[prost(uint32, repeated, tag = "12")] + pub fgfnghjgoli: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21962)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jdmjijailfp { + #[prost(uint32, repeated, tag = "2")] + pub cnfodgeooef: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "4")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lhcbnafmnkf { + #[prost(message, repeated, tag = "3")] + pub igfalkcjmmk: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "8")] + pub hhiacciikga: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "9")] + pub bghndipkjhp: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "15")] + pub aennncnaadl: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4920)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iobffalbagc { + #[prost(uint32, tag = "6")] + pub omgchbachci: u32, + #[prost(uint32, tag = "9")] + pub admokadnfhh: u32, + #[prost(uint32, tag = "10")] + pub kpampgdjdhe: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8196)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jbjiefeibbi { + #[prost(uint32, tag = "10")] + pub target_uid: u32, + #[prost(uint32, tag = "15")] + pub oplllahddkm: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7024)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ghlaelnkamb {} +#[derive(proto_gen::CmdID)] +#[cmdid(9910)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lecinadjmcg { + #[prost(uint32, tag = "10")] + pub dpahhjhngbk: u32, + #[prost(uint32, tag = "8")] + pub khhibkpbkpn: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Poalehlccii { + #[prost(uint32, repeated, tag = "2")] + pub odobmmfaacg: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "7")] + pub kfapijcgdbc: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7883)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dojglfmiadf { + #[prost(uint32, tag = "12")] + pub gghkdjlgfpb: u32, + #[prost(uint32, tag = "7")] + pub pcaobbjlffm: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Akcmpcbaobp { + #[prost(bool, tag = "6")] + pub dggckmikbmo: bool, + #[prost(uint32, tag = "14")] + pub aibcihlfelp: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kfjhkfecdpd { + #[prost(enumeration = "Idgmphbjnim", tag = "8")] + pub r#type: i32, + #[prost(uint32, repeated, tag = "11")] + pub hogfdpaofom: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25987)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Phphaapnhaj { + #[prost(enumeration = "Nmjpfhhjdan", tag = "5")] + pub reason: i32, + #[prost(enumeration = "Oeaoccjeope", tag = "8")] + pub ddiaamkbfda: i32, + #[prost(uint32, tag = "10")] + pub host_uid: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7780)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Adamamefedj { + #[prost(message, repeated, tag = "9")] + pub dlkgdlnileh: ::prost::alloc::vec::Vec, + #[prost(uint64, repeated, tag = "10")] + pub kkagfcfmhmm: ::prost::alloc::vec::Vec, + #[prost(uint64, tag = "2")] + pub opbnfdpdjgd: u64, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25474)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mgjekabbipl { + #[prost(uint32, tag = "14")] + pub target_uid: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bdffjgfbchc { + #[prost(uint32, tag = "3")] + pub defdabebomg: u32, + #[prost(uint32, tag = "7")] + pub labbcnefelc: u32, + #[prost(bool, tag = "9")] + pub ndgdkdmnbfl: bool, + #[prost(uint32, tag = "11")] + pub bjkfmlhfgdl: u32, + #[prost(bool, tag = "14")] + pub fcfapkanclj: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22250)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Meffemhfdpl { + #[prost(uint32, tag = "2")] + pub scene_id: u32, + #[prost(uint32, tag = "11")] + pub group_id: u32, + #[prost(uint32, tag = "8")] + pub njodgocgphe: u32, + #[prost(uint32, tag = "15")] + pub monster_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7728)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ljcdlobgbac { + #[prost(message, repeated, tag = "7")] + pub info_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24984)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hmanooodpha { + #[prost(int32, tag = "3")] + pub retcode: i32, + #[prost(uint64, tag = "8")] + pub dcompdppdpo: u64, + #[prost(enumeration = "Himmemhogfb", tag = "15")] + pub mfmlakbiaed: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3664)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Olnmfinhbdj { + #[prost(bool, tag = "14")] + pub ifchjfjgmcp: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20246)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dgeicdhmcnn {} +#[derive(proto_gen::CmdID)] +#[cmdid(29339)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lddccchelka { + #[prost(uint32, repeated, tag = "9")] + pub ahpcnjnnlnh: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "12")] + pub cbmafaahiab: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "7")] + pub mbfllhnligd: bool, + #[prost(uint32, tag = "13")] + pub dmnldppgokg: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dgdmhkhppml { + #[prost(uint32, tag = "3")] + pub kbjnlbkmedp: u32, + #[prost(message, optional, tag = "4")] + pub rot: ::core::option::Option, + #[prost(uint32, tag = "7")] + pub guid: u32, + #[prost(message, optional, tag = "9")] + pub pos: ::core::option::Option, + #[prost(message, repeated, tag = "15")] + pub iecgngfmoip: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29477)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ecbooeekmoj { + #[prost(message, optional, tag = "8")] + pub jenfdhkcmml: ::core::option::Option, + #[prost(int32, tag = "14")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6078)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ifciohcdpmp {} +#[derive(proto_gen::CmdID)] +#[cmdid(3214)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lcjgpgomnac { + #[prost(uint32, tag = "8")] + pub omgchbachci: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mhifoaaocfe { + #[prost(message, repeated, tag = "4")] + pub phackcplpmb: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "8")] + pub ndijmckhgkf: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "9")] + pub fhcgkpipcic: u32, + #[prost(uint32, tag = "10")] + pub nmaajigndjg: u32, + #[prost(uint32, repeated, tag = "11")] + pub mfdecaohegd: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "12")] + pub peamjnejkej: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "13")] + pub gaplfmmgbfa: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ncalfcgaenn { + #[prost(uint32, tag = "5")] + pub fjhhikoihka: u32, + #[prost(message, optional, tag = "7")] + pub mhfdgagiepa: ::core::option::Option, + #[prost(uint32, tag = "9")] + pub ncnkmdbafeh: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ndeidbfaicp { + #[prost(uint32, repeated, tag = "1")] + pub affix_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "2")] + pub monster_id: u32, + #[prost(uint32, tag = "8")] + pub level: u32, + #[prost(uint32, tag = "11")] + pub ekifphkfodo: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Acljciofcip { + #[prost(enumeration = "Hkkcdiccimi", tag = "1")] + pub nkiolhkgjco: i32, + #[prost(message, repeated, tag = "2")] + pub lbdghbheoeh: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "5")] + pub platform_type: u32, + #[prost(uint32, tag = "10")] + pub kafapfjllgp: u32, + #[prost(uint32, tag = "12")] + pub iedmnkbmkpa: u32, + #[prost(uint32, tag = "15")] + pub bdieoilmeca: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3067)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ojjoghclajo { + #[prost(message, repeated, tag = "15")] + pub mfakdobmfim: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dagenklmdhh { + #[prost(message, repeated, tag = "9")] + pub mcdijkphlno: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27167)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gbgegpihlnh { + #[prost(int32, tag = "2")] + pub retcode: i32, + #[prost(uint32, tag = "13")] + pub icgjhkgcfep: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iddikhfdhog { + #[prost(uint32, tag = "4")] + pub pgknjbimiej: u32, + #[prost(uint32, tag = "13")] + pub dekhbeooien: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9533)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Incgadpkeij { + #[prost(uint32, repeated, tag = "11")] + pub oigllhajnfg: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28726)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jicbnifnbme { + #[prost(int32, tag = "8")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9358)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cknfogkbemo { + #[prost(message, repeated, tag = "10")] + pub ainmbfoihlh: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27195)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nakkmlhcbpo { + #[prost(uint32, repeated, tag = "2")] + pub ebolklfdbgj: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "11")] + pub abogbbaekcb: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22382)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lagmeakajfd { + #[prost(uint64, tag = "7")] + pub knijefgolnp: u64, + #[prost(bool, tag = "6")] + pub is_locked: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6094)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mkgkldihfgj {} +#[derive(proto_gen::CmdID)] +#[cmdid(24314)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bndpfjihaaa { + #[prost(uint32, tag = "1")] + pub dbjcinldfad: u32, + #[prost(uint32, tag = "3")] + pub mgbfffgpldj: u32, + #[prost(uint32, tag = "8")] + pub cjnphclicaa: u32, + #[prost(uint32, tag = "9")] + pub kcommkmhlfi: u32, + #[prost(uint32, tag = "10")] + pub jdcocjamhke: u32, + #[prost(message, optional, tag = "11")] + pub pos: ::core::option::Option, + #[prost(uint32, tag = "12")] + pub lgokjkggbia: u32, + #[prost(uint32, tag = "14")] + pub dljnaacfmld: u32, + #[prost(int32, tag = "15")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21354)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nijomgfmlkl { + #[prost(message, optional, tag = "2")] + pub odemmdjobca: ::core::option::Option, + #[prost(map = "uint32, uint32", tag = "3")] + pub jmchogfdmjn: ::std::collections::HashMap, + #[prost(int32, tag = "5")] + pub retcode: i32, + #[prost(uint32, tag = "8")] + pub pheddgpdkep: u32, + #[prost(message, optional, tag = "9")] + pub gcifdlpgbad: ::core::option::Option, + #[prost(enumeration = "Jiidngfkheb", tag = "15")] + pub bpelaiajjkj: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24666)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jkhhklkghfk {} +#[derive(proto_gen::CmdID)] +#[cmdid(23871)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jajojnekfhb { + #[prost(int32, tag = "15")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9677)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ghpipcimdpf { + #[prost(int32, tag = "3")] + pub retcode: i32, + #[prost(uint32, tag = "4")] + pub jinjlbemjnc: u32, + #[prost(enumeration = "WidgetSlotTag", repeated, tag = "12")] + pub tag_list: ::prost::alloc::vec::Vec, + #[prost(enumeration = "Gfilbkbgmaf", tag = "15")] + pub laicdpfdimh: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ppkagealonm { + #[prost(uint32, repeated, tag = "1")] + pub bgjphdillal: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "11")] + pub nlmijmcgkif: ::prost::alloc::vec::Vec, + #[prost(enumeration = "Aanmpmbpkcl", tag = "15")] + pub bjfbgmllhbp: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22513)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Khnnkfbofoi { + #[prost(uint32, repeated, tag = "1")] + pub cepohpdepbl: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "8")] + pub faclcdohbgd: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mdlbnbjbkkl { + #[prost(bool, tag = "5")] + pub jhfmeficaal: bool, + #[prost(uint32, tag = "7")] + pub ijffkcgiaoj: u32, + #[prost(uint32, tag = "10")] + pub dmnldppgokg: u32, + #[prost(uint32, tag = "14")] + pub foongfclffl: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28344)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Haopdbmgbkg { + #[prost(message, repeated, tag = "2")] + pub ndgcdhfdbnj: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5686)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kdfbiigeaoc { + #[prost(uint32, tag = "5")] + pub gddgjebpebi: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27473)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Emgdmblmppm { + #[prost(enumeration = "Edodpnmmkli", tag = "1")] + pub okjdomaeibc: i32, + #[prost(int32, tag = "5")] + pub retcode: i32, + #[prost(message, repeated, tag = "6")] + pub miccoobjini: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "10")] + pub neidbaohpfn: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fhffijgnffa { + #[prost(map = "uint32, uint32", tag = "2")] + pub mhbcjdifpad: ::std::collections::HashMap, + #[prost(uint32, tag = "4")] + pub inapobfhkkh: u32, + #[prost(uint32, tag = "8")] + pub iiacggogmlp: u32, + #[prost(uint32, tag = "13")] + pub benloojpekh: u32, + #[prost(uint32, tag = "15")] + pub djkhfndphjg: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28952)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Boebopjnjof { + #[prost(int32, tag = "1")] + pub retcode: i32, + #[prost(uint64, tag = "8")] + pub avatar_guid: u64, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27267)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gbdlcnpncoc { + #[prost(uint32, tag = "4")] + pub count: u32, + #[prost(uint32, tag = "2")] + pub ehjhfencklj: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lmbakaglimk { + #[prost(uint32, tag = "8")] + pub eiafophkkkc: u32, + #[prost(uint32, tag = "9")] + pub ogfjbjjgehd: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(274)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lopiknhjbje { + #[prost(uint32, tag = "5")] + pub uid: u32, + #[prost(uint32, repeated, tag = "7")] + pub napgdlclmef: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4271)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ieoomjpoill { + #[prost(bool, tag = "5")] + pub nlpphgndbif: bool, + #[prost(bool, tag = "7")] + pub iodkiepdkin: bool, + #[prost(bool, tag = "13")] + pub lhpbagallan: bool, + #[prost(bool, tag = "14")] + pub ihflckjfmck: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dkcmnddnnph { + #[prost(uint32, tag = "1")] + pub kenikecfflm: u32, + #[prost(uint32, tag = "14")] + pub lbclghbmdaf: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cimganhoehb { + #[prost(uint32, tag = "5")] + pub level: u32, + #[prost(uint32, tag = "7")] + pub gghkdjlgfpb: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22572)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bejijijibmi { + #[prost(int32, tag = "10")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ipafhbiodfk { + #[prost(message, repeated, tag = "3")] + pub eojfococbcj: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "4")] + pub skill_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4341)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bbolknpdofp { + #[prost(int32, tag = "9")] + pub retcode: i32, + #[prost(uint32, tag = "11")] + pub entity_id: u32, + #[prost(uint32, tag = "13")] + pub kfmglfjdodo: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hikjhbdfmpa { + #[prost(message, repeated, tag = "1")] + pub ngfannnbmac: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "2")] + pub flphmnihgcb: u32, + #[prost(message, repeated, tag = "3")] + pub hcdnagjhpcl: ::prost::alloc::vec::Vec, + #[prost(uint64, tag = "4")] + pub nekaiffbaib: u64, + #[prost(uint32, tag = "5")] + pub kfiineejnpn: u32, + #[prost(uint32, tag = "6")] + pub pbkeaocbpmn: u32, + #[prost(message, repeated, tag = "7")] + pub fpimhfklmef: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "8")] + pub mfcjljpcmhn: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "9")] + pub bkcndgojplh: u32, + #[prost(uint32, tag = "10")] + pub pohdlhljkda: u32, + #[prost(enumeration = "Gcjhlblippj", tag = "11")] + pub fbbbjnhiplf: i32, + #[prost(uint64, tag = "12")] + pub ndfchldidpf: u64, + #[prost(uint64, tag = "13")] + pub gcfeodolgme: u64, + #[prost(uint32, tag = "14")] + pub apnadonhilj: u32, + #[prost(uint32, tag = "15")] + pub nhakdoloeka: u32, + #[prost(uint32, repeated, tag = "1557")] + pub kfckenaknof: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "1567")] + pub gnkoimijngo: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23167)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Efbeoabbcbk { + #[prost(uint32, tag = "3")] + pub hdkdgijfmpc: u32, + #[prost(uint32, tag = "1")] + pub scene_id: u32, + #[prost(bool, tag = "5")] + pub is_new_player: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4894)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gbmpihhlaoi { + #[prost(int32, tag = "3")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cmjhcajfgdd { + #[prost(bool, repeated, tag = "3")] + pub cgldgeeodmk: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "10")] + pub ldedoinniok: ::prost::alloc::vec::Vec, + #[prost(map = "uint32, uint32", tag = "11")] + pub cdcllfncfcn: ::std::collections::HashMap, + #[prost(enumeration = "Aohjddpeicb", tag = "12")] + pub r#type: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2866)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bdgjdpghbdf { + #[prost(message, optional, tag = "14")] + pub lbkgjpilkej: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29707)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Heinmcdhogi { + #[prost(uint32, tag = "4")] + pub khhibkpbkpn: u32, + #[prost(int32, tag = "9")] + pub retcode: i32, + #[prost(message, repeated, tag = "14")] + pub bhbnnfmjclp: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21639)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ianbacifkim { + #[prost(message, repeated, tag = "13")] + pub onjngilgogc: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ebckdjafddp { + #[prost(uint32, repeated, tag = "5")] + pub fikgdofabee: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5455)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ijikapdfocg { + #[prost(uint32, tag = "1")] + pub omhnnigkcci: u32, + #[prost(uint32, tag = "2")] + pub lmdoeppjnhj: u32, + #[prost(enumeration = "Paahdfjmicd", tag = "5")] + pub reason: i32, + #[prost(bool, tag = "7")] + pub lfkjggfaecb: bool, + #[prost(uint32, tag = "8")] + pub kmaehpagkfk: u32, + #[prost(uint32, tag = "10")] + pub iheicjnbkki: u32, + #[prost(uint32, tag = "13")] + pub nmaajigndjg: u32, + #[prost(bool, tag = "15")] + pub dggckmikbmo: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7213)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cckeaakbhjn { + #[prost(uint32, repeated, tag = "6")] + pub aicooagmjkh: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "13")] + pub dfolabackmd: u32, + #[prost(uint32, tag = "14")] + pub avatar_entity_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kicfmfojcmp { + #[prost(uint32, tag = "5")] + pub gaplfmmgbfa: u32, + #[prost(bool, tag = "7")] + pub ecihdijcled: bool, + #[prost(uint32, tag = "12")] + pub gpaeljhnaek: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4416)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gccbgilglhp { + #[prost(int32, tag = "4")] + pub retcode: i32, + #[prost(uint32, repeated, tag = "6")] + pub pfijhcdcgkd: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "8")] + pub nicodpphlgi: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "12")] + pub eefehcnlebf: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "14")] + pub fhdnmihoabj: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8789)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bidhmaabamc { + #[prost(message, repeated, tag = "1")] + pub blgidaniope: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(358)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hdhikemkimf { + #[prost(uint32, tag = "12")] + pub gknplcafbmb: u32, + #[prost(message, repeated, tag = "15")] + pub icmfogfjjpb: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pdlagfflpkg { + #[prost(uint32, tag = "11")] + pub jefildjebaj: u32, + #[prost(bool, tag = "13")] + pub eialjbaengj: bool, + #[prost(uint32, tag = "14")] + pub ibadlnmjbii: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bljdichhjkn { + #[prost(message, optional, tag = "8")] + pub gchajjajhng: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23890)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Idimdhiiipb { + #[prost(uint32, tag = "14")] + pub jklafeigolc: u32, + #[prost(uint32, tag = "3")] + pub scene_id: u32, + #[prost(uint32, tag = "1")] + pub hffggaadpaf: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Depoiklileb { + #[prost(bool, tag = "13")] + pub ecihdijcled: bool, + #[prost(uint32, tag = "14")] + pub oboopjlpdni: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fjmajbmhhji { + #[prost(uint32, repeated, tag = "2")] + pub dadpcejnpkm: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "5")] + pub bmmlkelmane: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "8")] + pub ibifpkefiij: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "11")] + pub fbpgimlmdnj: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kcagnbmdjmh { + #[prost(message, repeated, tag = "2")] + pub lklifpnkclf: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "4")] + pub pdaloaafimn: bool, + #[prost(uint32, tag = "12")] + pub egenanpedhd: u32, + #[prost(uint32, tag = "13")] + pub ijffkcgiaoj: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23279)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pghfmpkojjc { + #[prost(uint32, tag = "13")] + pub ekcfckdjein: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4934)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fnndlaekijp { + #[prost(uint32, repeated, tag = "8")] + pub njhgoaehndm: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "10")] + pub lbclghbmdaf: u32, + #[prost(uint32, tag = "4")] + pub nnebhhfhdcc: u32, + #[prost(uint32, tag = "1")] + pub dfpnkfekiig: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24764)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ddideffabep { + #[prost(int32, tag = "14")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27799)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bbfiplaneam { + #[prost(uint32, tag = "4")] + pub joijhcopeng: u32, + #[prost(uint32, tag = "5")] + pub lgooidciaag: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3425)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Amaalnhcaie { + #[prost(message, repeated, tag = "11")] + pub ficoijfmelc: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Abealcjglhd { + #[prost(map = "uint32, uint32", tag = "4")] + pub bpkkdfmlemp: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29961)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Meigkcdabin { + #[prost(uint32, repeated, tag = "9")] + pub njechpkpnge: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24693)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Onnlbjbamal { + #[prost(uint32, tag = "15")] + pub lbclghbmdaf: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ihbafcndhdl { + #[prost(uint32, tag = "2")] + pub ccpigccdboi: u32, + #[prost(uint32, tag = "5")] + pub dmkfeccmcop: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1296)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dkkgolggelo { + #[prost(int32, tag = "14")] + pub retcode: i32, + #[prost(enumeration = "Himmemhogfb", tag = "15")] + pub mfmlakbiaed: i32, + #[prost(oneof = "dkkgolggelo::Gcbckcbnpmn", tags = "10")] + pub gcbckcbnpmn: ::core::option::Option, +} +/// Nested message and enum types in `DKKGOLGGELO`. +pub mod dkkgolggelo { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Gcbckcbnpmn { + #[prost(message, tag = "10")] + MusicInfo(super::Ghlgjfdiakn), + } +} +#[derive(proto_gen::CmdID)] +#[cmdid(2497)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mgnngbnnfei { + #[prost(uint32, tag = "1")] + pub mmlclpfabmi: u32, + #[prost(uint32, tag = "2")] + pub item_id: u32, + #[prost(bool, tag = "5")] + pub ablnifdmaol: bool, + #[prost(message, repeated, tag = "6")] + pub iffngnbbibb: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "7")] + pub pphabneimoc: u32, + #[prost(uint32, tag = "9")] + pub avatar_id: u32, + #[prost(uint32, tag = "10")] + pub reason: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4318)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nnakhfcflnn { + #[prost(uint32, tag = "2")] + pub entity_id: u32, + #[prost(enumeration = "Igohjibcdfa", tag = "8")] + pub lkidbhiooog: i32, + #[prost(uint32, tag = "12")] + pub nclenbioagh: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20266)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Edhfanjdhgm { + #[prost(map = "uint32, uint32", tag = "3")] + pub bnofpmifhdl: ::std::collections::HashMap, + #[prost(uint32, tag = "6")] + pub khhibkpbkpn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4760)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Imnfanempnf { + #[prost(uint32, tag = "14")] + pub gpdogmpijfc: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2572)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jiojpapjiio { + #[prost(uint32, repeated, tag = "1")] + pub dnijppkbcbd: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Imhfmhclnee { + #[prost(fixed32, tag = "3")] + pub lgbnfifcpjf: u32, + #[prost(uint32, tag = "4")] + pub gldnnfocdem: u32, + #[prost(uint32, tag = "5")] + pub enokcehnakf: u32, + #[prost(uint32, tag = "11")] + pub okicoglejec: u32, + #[prost(fixed32, tag = "13")] + pub bfbmkfceebb: u32, + #[prost(uint32, tag = "14")] + pub avatar_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5401)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ldcmokcfmjc { + #[prost(enumeration = "Cdkllhkmokd", tag = "8")] + pub reason: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gfhbbbnofab { + #[prost(uint32, tag = "1")] + pub cnimhcggfhe: u32, + #[prost(uint32, tag = "3")] + pub agienjjkpbe: u32, + #[prost(uint32, tag = "4")] + pub ghiaogllldi: u32, + #[prost(bool, tag = "5")] + pub fanihelojam: bool, + #[prost(uint32, tag = "6")] + pub gghkdjlgfpb: u32, + #[prost(message, optional, tag = "7")] + pub pos: ::core::option::Option, + #[prost(uint32, tag = "8")] + pub ombmigpcoaa: u32, + #[prost(uint32, tag = "9")] + pub scene_id: u32, + #[prost(uint32, tag = "10")] + pub hogpdlghglm: u32, + #[prost(uint32, tag = "13")] + pub bjjjdldclll: u32, + #[prost(uint32, tag = "15")] + pub state: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Onopndgnfha { + #[prost(enumeration = "Alllninaoga", tag = "1")] + pub jbpcmhkelpf: i32, + #[prost(uint32, tag = "3")] + pub djckchaclme: u32, + #[prost(uint32, tag = "7")] + pub ghiaogllldi: u32, + #[prost(uint32, tag = "15")] + pub level: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6225)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hodkbiakjoa { + #[prost(uint32, tag = "6")] + pub gaplfmmgbfa: u32, + #[prost(uint32, tag = "8")] + pub kfpegnaadlo: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bchkoigejlg { + #[prost(uint32, tag = "4")] + pub player_uid: u32, + #[prost(uint32, tag = "13")] + pub avatar_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nmhihcgphip { + #[prost(message, optional, tag = "13")] + pub mhfdgagiepa: ::core::option::Option, + #[prost(bool, tag = "14")] + pub mcpkkmhkcpd: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(648)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oiijlpegjen { + #[prost(uint32, repeated, tag = "12")] + pub igjljchbimf: ::prost::alloc::vec::Vec, + #[prost(enumeration = "Edegmklfifi", tag = "1")] + pub r#type: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26781)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Akbkikdeglf { + #[prost(uint32, tag = "2")] + pub fbmoclbcbgm: u32, + #[prost(uint64, tag = "11")] + pub amiilbjpola: u64, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jbkfggknlab { + #[prost(uint32, tag = "6")] + pub mcbpfmmcbfm: u32, + #[prost(int32, tag = "7")] + pub param: i32, + #[prost(uint32, tag = "8")] + pub djcfmfedncg: u32, + #[prost(message, optional, tag = "9")] + pub blfkojlccoo: ::core::option::Option, + #[prost(uint32, tag = "10")] + pub uid: u32, + #[prost(string, tag = "11")] + pub kamjijolfkj: ::prost::alloc::string::String, + #[prost(string, tag = "12")] + pub nick_name: ::prost::alloc::string::String, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3355)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mmdhjgkpbjc { + #[prost(uint32, tag = "13")] + pub khhibkpbkpn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7287)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dineogpgmbp {} +#[derive(proto_gen::CmdID)] +#[cmdid(24968)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nepbbpjpodl {} +#[derive(proto_gen::CmdID)] +#[cmdid(3348)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ddhbbdplebf { + #[prost(uint32, tag = "10")] + pub kimohpkkhhn: u32, + #[prost(uint32, tag = "14")] + pub mblmihejnif: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6477)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Keagpmfjicl {} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cnjgeafmjbo { + #[prost(bool, tag = "1")] + pub hpjpckiilaj: bool, + #[prost(uint32, tag = "5")] + pub fbpgimlmdnj: u32, + #[prost(uint32, tag = "14")] + pub phpfppidjkj: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pflephaekaj { + #[prost(message, repeated, tag = "8")] + pub kbokcomoacf: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "10")] + pub hhhcfhhnbbn: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5413)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hgbekjjgkje { + #[prost(message, optional, tag = "1")] + pub oaiiomnbidi: ::core::option::Option, + #[prost(int32, tag = "11")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21866)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Decflhfhglf { + #[prost(int32, tag = "2")] + pub retcode: i32, + #[prost(uint32, tag = "3")] + pub entity_id: u32, + #[prost(uint32, tag = "13")] + pub gfmmfbjpjmp: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20667)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aknfcempkml { + #[prost(uint32, repeated, tag = "1")] + pub bfbomboinpj: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "5")] + pub konbknmhgdc: bool, + #[prost(int32, tag = "8")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20675)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ocmkahmddmc { + #[prost(message, optional, tag = "2")] + pub rot: ::core::option::Option, + #[prost(int32, tag = "7")] + pub retcode: i32, + #[prost(bool, tag = "13")] + pub ngofdmbiilf: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21396)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cnnbjhmgifj { + #[prost(uint32, repeated, tag = "4")] + pub oijfpglhnnn: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "5")] + pub item_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "8")] + pub onabdgfcpih: u32, + #[prost(int32, tag = "13")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4856)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dklhojpaggg { + #[prost(uint32, repeated, tag = "1")] + pub pikpodegkck: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "14")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1384)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ganahailpfk { + #[prost(message, repeated, tag = "3")] + pub mglnmbndpba: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7342)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ofgimfahpmb { + #[prost(uint32, tag = "4")] + pub target_uid: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7833)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Npejkanienk { + #[prost(int32, tag = "2")] + pub retcode: i32, + #[prost(uint32, tag = "12")] + pub omgchbachci: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7520)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fcfeopebgcd { + #[prost(uint64, tag = "1")] + pub avatar_guid: u64, + #[prost(uint32, tag = "6")] + pub jgihcibojpn: u32, + #[prost(int32, tag = "7")] + pub retcode: i32, + #[prost(uint32, tag = "10")] + pub nfjohaldgdn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23222)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hfefokjmhng { + #[prost(message, repeated, tag = "4")] + pub ioaoaeaijee: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "6")] + pub adnlnoplejo: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "7")] + pub retcode: i32, + #[prost(enumeration = "Mckmnakkakb", tag = "10")] + pub pmbkcleohna: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6734)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Penbogccddi { + #[prost(int32, tag = "7")] + pub retcode: i32, + #[prost(uint32, tag = "13")] + pub pelmfdngnfp: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hnnbhjjdnck { + #[prost(message, repeated, tag = "7")] + pub cbenkjeocil: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3176)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lhoohdkbjmf { + #[prost(int32, tag = "10")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eimbjjjghdl {} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hilncfdlgmi { + #[prost(uint32, repeated, tag = "1")] + pub ejdddkbgkki: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "6")] + pub uid: u32, + #[prost(uint32, repeated, tag = "13")] + pub alklnmljnfh: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(139)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ofhhmabfpnc { + #[prost(uint32, tag = "4")] + pub jmldgkcbcbo: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29304)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pkmmdcdncli { + #[prost(uint64, tag = "1")] + pub avatar_guid: u64, + #[prost(uint32, repeated, tag = "8")] + pub lobogppeppf: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "10")] + pub entity_id: u32, + #[prost(uint32, tag = "15")] + pub skill_depot_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cfkjedgpnae { + #[prost(enumeration = "Hibhhjenmpp", tag = "11")] + pub pipmddflkmo: i32, + #[prost(uint32, tag = "13")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5447)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bpgopdlkgcb { + #[prost(message, repeated, tag = "9")] + pub ohpejhebpag: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "10")] + pub scene_id: u32, + #[prost(message, repeated, tag = "15")] + pub ogfghbokjml: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2265)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ccjbccckfnd { + #[prost(message, repeated, tag = "14")] + pub pbpakbcpjkj: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "5")] + pub pebgmemnknf: u32, + #[prost(uint32, tag = "15")] + pub group_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25596)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cinlhmkeflm {} +#[derive(proto_gen::CmdID)] +#[cmdid(24121)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Klgbmbnfink { + #[prost(int32, tag = "10")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20817)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pnjejkhilno { + #[prost(bool, tag = "4")] + pub is_locked: bool, + #[prost(uint32, tag = "5")] + pub dalmffloamd: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3230)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ghnpnghelnb { + #[prost(uint32, repeated, tag = "13")] + pub iohpbdgjacm: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iohmnploigc { + #[prost(uint32, tag = "1")] + pub bneponhaomg: u32, + #[prost(uint32, tag = "2")] + pub fffkclcemin: u32, + #[prost(uint32, tag = "3")] + pub ilnhapnfaob: u32, + #[prost(uint32, tag = "4")] + pub kfpegnaadlo: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25268)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bpecdgkhnbc { + #[prost(uint32, repeated, tag = "15")] + pub fdjpppfghne: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3610)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dnhjolmcflm { + #[prost(uint64, repeated, tag = "4")] + pub avatar_guid_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "3")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9885)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jkjnbnhjiok { + #[prost(int32, tag = "11")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21519)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mjpikplhldo { + #[prost(uint32, tag = "13")] + pub mbkaongpdcn: u32, + #[prost(int32, tag = "15")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jfbjeiphadm { + #[prost(uint32, tag = "2")] + pub dekhbeooien: u32, + #[prost(uint32, tag = "7")] + pub hgljfadloeb: u32, + #[prost(uint32, tag = "8")] + pub pimkfeicmek: u32, + #[prost(uint32, tag = "15")] + pub endimmnlaad: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4349)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dlhbojfplle { + #[prost(uint32, tag = "3")] + pub dfpnkfekiig: u32, + #[prost(int32, tag = "6")] + pub retcode: i32, + #[prost(uint32, tag = "13")] + pub khhibkpbkpn: u32, + #[prost(uint32, tag = "14")] + pub gbcebgkbjdm: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21857)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Magldagobkn { + #[prost(uint64, tag = "3")] + pub opcknlijchd: u64, + #[prost(bool, tag = "7")] + pub napmcbkmnaa: bool, + #[prost(uint64, tag = "10")] + pub server_time: u64, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ogaiociiaob { + #[prost(uint32, tag = "1")] + pub djnnphnekeo: u32, + #[prost(uint32, repeated, tag = "6")] + pub dohpolgjgbp: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "8")] + pub pbkeaocbpmn: u32, + #[prost(message, optional, tag = "10")] + pub jnhddgmhfol: ::core::option::Option, + #[prost(uint32, tag = "11")] + pub gefbnnebkdb: u32, + #[prost(map = "uint32, message", tag = "12")] + pub dnmgddgagfd: ::std::collections::HashMap, + #[prost(uint32, tag = "13")] + pub ghdnhigkokm: u32, + #[prost(message, repeated, tag = "14")] + pub fhpgbcfaake: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "15")] + pub bkcndgojplh: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21674)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fgemhafcppi { + #[prost(bool, tag = "1")] + pub bnnbnppfbgf: bool, + #[prost(enumeration = "Igohjibcdfa", tag = "3")] + pub lkidbhiooog: i32, + #[prost(bool, tag = "4")] + pub akokclcpkei: bool, + #[prost(uint32, tag = "5")] + pub entity_id: u32, + #[prost(bool, tag = "7")] + pub flnemnnkmeb: bool, + #[prost(bool, tag = "8")] + pub dmimbndeijo: bool, + #[prost(bool, tag = "9")] + pub ieommiknnie: bool, + #[prost(message, optional, tag = "10")] + pub pfpfhkgaifj: ::core::option::Option, + #[prost(bool, tag = "11")] + pub kkebecbgpln: bool, + #[prost(bool, tag = "12")] + pub ekmgpoimail: bool, + #[prost(bool, tag = "13")] + pub fijoolaangj: bool, + #[prost(bool, tag = "14")] + pub ddpoajhdnai: bool, + #[prost(bool, tag = "15")] + pub nnblllgbgkg: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29557)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jfhpkbidmif { + #[prost(int32, tag = "3")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20475)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ehgoeokfbhe { + #[prost(int32, tag = "5")] + pub retcode: i32, + #[prost(uint32, tag = "11")] + pub mempkcgnnmf: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9254)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lgchelfmahi { + #[prost(uint32, tag = "7")] + pub admokadnfhh: u32, + #[prost(uint32, tag = "8")] + pub kpampgdjdhe: u32, + #[prost(uint32, tag = "9")] + pub omgchbachci: u32, + #[prost(uint32, tag = "11")] + pub bcggiogbock: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(645)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mneldmonhpa { + #[prost(int32, tag = "7")] + pub retcode: i32, + #[prost(uint32, tag = "12")] + pub omgchbachci: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lpkfhnjibna { + #[prost(uint32, tag = "5")] + pub pjjaoilbfbn: u32, + #[prost(bool, tag = "9")] + pub ecihdijcled: bool, + #[prost(bool, tag = "12")] + pub jhfmeficaal: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23977)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pgllkfbcgdi { + #[prost(int32, tag = "15")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(339)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ppgikabmiak { + #[prost(uint32, tag = "14")] + pub ihgidghgknh: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20371)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mghjikhhoif { + #[prost(uint32, repeated, tag = "3")] + pub fjcmplgbcek: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "5")] + pub exp: u32, + #[prost(uint32, tag = "6")] + pub level: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hhgaghfmefm {} +#[derive(proto_gen::CmdID)] +#[cmdid(9116)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dimfodcldnf { + #[prost(uint32, tag = "3")] + pub fpedhedekpe: u32, + #[prost(oneof = "dimfodcldnf::Detail", tags = "2, 9")] + pub detail: ::core::option::Option, +} +/// Nested message and enum types in `DIMFODCLDNF`. +pub mod dimfodcldnf { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Detail { + #[prost(message, tag = "2")] + BossSettleInfo(super::Nophpgmjakd), + #[prost(message, tag = "9")] + GallerySettleInfo(super::Oigfgeaeheo), + } +} +#[derive(proto_gen::CmdID)] +#[cmdid(21577)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ppekogdcdel { + #[prost(message, optional, tag = "6")] + pub region_info: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5312)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fmkddcigohm { + #[prost(int32, tag = "6")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nfocbldnlbh { + #[prost(uint32, tag = "1")] + pub elbmpbelclp: u32, + #[prost(uint32, tag = "5")] + pub ojoapinglno: u32, + #[prost(enumeration = "Ejpagmfnmfe", tag = "7")] + pub state: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jfnnoafcocm { + #[prost(int32, tag = "1")] + pub pgamdledebd: i32, + #[prost(uint32, tag = "2")] + pub peblohahpmm: u32, + #[prost(message, optional, tag = "3")] + pub akdaalhkanl: ::core::option::Option, + #[prost(bool, tag = "4")] + pub lmmjddpjaje: bool, + #[prost(uint32, tag = "5")] + pub haiekdpaelj: u32, + #[prost(message, optional, tag = "6")] + pub pbnghdindjf: ::core::option::Option, + #[prost(float, tag = "8")] + pub mjpdbgbpbel: f32, + #[prost(string, tag = "9")] + pub abolmfhmgme: ::prost::alloc::string::String, + #[prost(message, optional, tag = "10")] + pub iempfdmhpad: ::core::option::Option, + #[prost(uint32, tag = "12")] + pub iicfmjejobo: u32, + #[prost(message, optional, tag = "13")] + pub pjfmabjidlh: ::core::option::Option, + #[prost(uint32, tag = "14")] + pub jmofpjddibi: u32, + #[prost(uint32, tag = "15")] + pub baabhehfaph: u32, + #[prost(float, tag = "27")] + pub gjhekljlhep: f32, + #[prost(uint32, tag = "78")] + pub ebleigglhlg: u32, + #[prost(bool, tag = "137")] + pub knpeolbnofl: bool, + #[prost(uint32, tag = "416")] + pub mflndgpejoe: u32, + #[prost(uint32, tag = "523")] + pub mpbebakodgf: u32, + #[prost(uint32, tag = "549")] + pub nmpedjopmmb: u32, + #[prost(uint32, tag = "616")] + pub ifminibilfh: u32, + #[prost(uint32, tag = "896")] + pub poafaplmpeb: u32, + #[prost(uint32, tag = "1056")] + pub elifilcnkfd: u32, + #[prost(uint32, tag = "1211")] + pub flpfbafhgnn: u32, + #[prost(float, tag = "1268")] + pub amigjoomjja: f32, + #[prost(uint32, tag = "1414")] + pub ekjhpchcmlf: u32, + #[prost(bool, tag = "1525")] + pub ojjlalfdgda: bool, + #[prost(float, tag = "1627")] + pub kkippcfedhn: f32, + #[prost(uint32, tag = "1639")] + pub gmnjedpknde: u32, + #[prost(uint32, tag = "1785")] + pub jkgembobalf: u32, + #[prost(float, tag = "1826")] + pub jlelgcfkeed: f32, + #[prost(bool, tag = "1827")] + pub ibecfppfdbb: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Majmlmbgamm { + #[prost(bool, tag = "10")] + pub jhfmeficaal: bool, + #[prost(uint32, tag = "11")] + pub oicebegencm: u32, + #[prost(uint32, tag = "12")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25602)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hblhbpikopj { + #[prost(message, optional, tag = "12")] + pub gkkbdhmoppi: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24534)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kgaejdgfhmj { + #[prost(int32, tag = "1")] + pub entity_type: i32, + #[prost(uint32, tag = "7")] + pub ljmcoejjone: u32, + #[prost(uint32, tag = "8")] + pub eajokebphdf: u32, + #[prost(int32, tag = "9")] + pub mkgdphcimkl: i32, + #[prost(int32, tag = "10")] + pub koanngpcjbn: i32, + #[prost(uint32, tag = "11")] + pub jmofpjddibi: u32, + #[prost(float, tag = "15")] + pub ffnkcilcafp: f32, + #[prost(oneof = "kgaejdgfhmj::Efchliigooo", tags = "4, 6")] + pub efchliigooo: ::core::option::Option, +} +/// Nested message and enum types in `KGAEJDGFHMJ`. +pub mod kgaejdgfhmj { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Efchliigooo { + #[prost(message, tag = "4")] + ShapeSphere(super::Cnchgnjihbk), + #[prost(message, tag = "6")] + ShapeBox(super::Hjbfmohjilh), + } +} +#[derive(proto_gen::CmdID)] +#[cmdid(24278)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hlfpmckpffe { + #[prost(int32, tag = "14")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Agdnjbggkmj { + #[prost(message, optional, tag = "2")] + pub jblkodbdcak: ::core::option::Option, + #[prost(fixed32, tag = "7")] + pub bfgldolahfn: u32, + #[prost(fixed32, tag = "8")] + pub icglipkglgc: u32, + #[prost(fixed32, tag = "9")] + pub ppfffekjegf: u32, + #[prost(message, optional, tag = "12")] + pub bbgjmoomdio: ::core::option::Option, + #[prost(uint32, tag = "14")] + pub uid: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(348)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Calogajgmne { + #[prost(int32, tag = "6")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ddcjcbhhnmi { + #[prost(uint32, tag = "1")] + pub avatar_id: u32, + #[prost(bool, tag = "2")] + pub dohhenfngpe: bool, + #[prost(uint32, tag = "3")] + pub costume_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Blinlhafmno { + #[prost(uint32, repeated, tag = "2")] + pub bcnhehgkmoj: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "10")] + pub apnlofpnahn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6936)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Icogkhllldl { + #[prost(message, repeated, tag = "5")] + pub jmimcjggpko: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "8")] + pub ejmkloobedm: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25420)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lfkcfoiddmh { + #[prost(message, repeated, tag = "10")] + pub fmkihllebgh: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "6")] + pub podhdpcpjgj: u32, + #[prost(uint32, tag = "8")] + pub kenikecfflm: u32, + #[prost(uint32, tag = "7")] + pub parent_quest_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29931)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oaiclompgjl { + #[prost(int32, tag = "11")] + pub retcode: i32, + #[prost(string, tag = "12")] + pub nick_name: ::prost::alloc::string::String, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21156)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bkoakmckald { + #[prost(uint32, tag = "2")] + pub pcaobbjlffm: u32, + #[prost(uint32, tag = "14")] + pub necgmakacdi: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ddogijcmgki { + #[prost(uint32, tag = "6")] + pub jddamhceape: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6344)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Doghhgakgpo {} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kpldgcnnfjm { + #[prost(map = "uint32, message", tag = "3")] + pub ejeppajkaob: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6360)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Chemobnippk { + #[prost(message, repeated, tag = "4")] + pub mhfddmdclck: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6204)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pinhbllpijn { + #[prost(uint32, tag = "4")] + pub pjjaoilbfbn: u32, + #[prost(uint32, tag = "14")] + pub hklkmbmgake: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24812)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Moaffphkldk { + #[prost(message, repeated, tag = "4")] + pub kgogfpoddlj: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "14")] + pub mempkcgnnmf: u32, + #[prost(uint32, tag = "8")] + pub dmnldppgokg: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6489)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kmbgjkmjnld { + #[prost(int32, tag = "13")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bcghopfdcob { + #[prost(uint32, tag = "5")] + pub jhmgbekgggd: u32, + #[prost(uint32, tag = "6")] + pub ncapfabbikm: u32, + #[prost(int32, tag = "7")] + pub cngfclpcjgc: i32, + #[prost(uint32, tag = "13")] + pub hfbfdcfompd: u32, + #[prost(uint32, tag = "14")] + pub bcggiogbock: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8768)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Khelakfaoho { + #[prost(uint32, tag = "14")] + pub onabdgfcpih: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25298)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Leabklkkmcg { + #[prost(uint32, tag = "10")] + pub gjjlcejilbl: u32, + #[prost(uint32, tag = "12")] + pub kiljafcjkam: u32, + #[prost(message, repeated, tag = "14")] + pub daljclgkpho: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ocebldoobca { + #[prost(uint32, tag = "11")] + pub skill_id: u32, + #[prost(uint32, tag = "13")] + pub phpfppidjkj: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7733)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aicajlbooho { + #[prost(message, repeated, tag = "6")] + pub kfapijcgdbc: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ojkafcepehl { + #[prost(uint32, tag = "2")] + pub fnppfkkpaca: u32, + #[prost(uint32, tag = "3")] + pub dmogolglgfl: u32, + #[prost(uint32, tag = "10")] + pub goeabhjfkko: u32, + #[prost(uint32, tag = "11")] + pub ckpfipmmjan: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26186)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eekmgkfhkhp { + #[prost(uint32, tag = "3")] + pub entity_id: u32, + #[prost(uint32, tag = "8")] + pub hdkfflfejgg: u32, + #[prost(int32, tag = "10")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Heokefpjikf { + #[prost(float, tag = "7")] + pub dkkgfphnknb: f32, + #[prost(float, tag = "13")] + pub fncogclpgnc: f32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28330)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ajfoknoamng { + #[prost(uint32, tag = "7")] + pub kfaghbdnfca: u32, + #[prost(int32, tag = "10")] + pub retcode: i32, + #[prost(uint32, tag = "12")] + pub mcjiecacmld: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4072)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eapfnehncfe { + #[prost(uint32, tag = "5")] + pub onhojobnapm: u32, + #[prost(bool, tag = "10")] + pub dmedoehomkh: bool, + #[prost(uint32, tag = "12")] + pub dmnldppgokg: u32, + #[prost(uint32, tag = "13")] + pub dekhbeooien: u32, + #[prost(bool, tag = "14")] + pub dggckmikbmo: bool, + #[prost(uint32, tag = "15")] + pub dpmdgmebgii: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25851)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jbbnjcnblka { + #[prost(map = "uint64, message", tag = "4")] + pub hmemhopnbeb: ::std::collections::HashMap, + #[prost(int32, tag = "8")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fgjdcedjkfk { + #[prost(message, repeated, tag = "5")] + pub pkeabncgdbk: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "6")] + pub pjjaoilbfbn: u32, + #[prost(uint32, tag = "11")] + pub cenhkjdffda: u32, + #[prost(bool, tag = "15")] + pub poiggnkedah: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Agngbcgnmbm { + #[prost(uint32, tag = "3")] + pub eepgbfljalk: u32, + #[prost(string, tag = "7")] + pub key: ::prost::alloc::string::String, + #[prost(uint32, repeated, tag = "8")] + pub gmldnleodoh: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "11")] + pub geihmkhcije: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6924)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cagljhgpjlm { + #[prost(uint32, repeated, tag = "13")] + pub ahpcnjnnlnh: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27365)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ihpcklffcce { + #[prost(uint32, tag = "6")] + pub bmmnpflapdi: u32, + #[prost(map = "uint32, string", tag = "9")] + pub kepmcgofdnf: ::std::collections::HashMap, + #[prost(uint32, tag = "11")] + pub nhgniieaogi: u32, + #[prost(uint32, tag = "12")] + pub pojclnbpibe: u32, + #[prost(float, tag = "13")] + pub gakneppgpga: f32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6182)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jfnkepinbpp { + #[prost(message, optional, tag = "1")] + pub bojcnnpkmkj: ::core::option::Option, + #[prost(message, optional, tag = "5")] + pub ccnnjmkemlc: ::core::option::Option, + #[prost(int32, tag = "15")] + pub uid: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20314)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Icimckafonb { + #[prost(uint32, tag = "1")] + pub hokgbenlelh: u32, + #[prost(uint32, tag = "4")] + pub lfahankkbid: u32, + #[prost(uint32, tag = "8")] + pub djbdfnpflem: u32, + #[prost(uint32, tag = "9")] + pub pjjaoilbfbn: u32, + #[prost(bool, tag = "10")] + pub dggckmikbmo: bool, + #[prost(bool, tag = "11")] + pub dmedoehomkh: bool, + #[prost(uint32, tag = "12")] + pub dekhbeooien: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Plmkebglbbg { + #[prost(uint32, tag = "2")] + pub ocinfhojcea: u32, + #[prost(bool, tag = "14")] + pub ffijkdepkdf: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24376)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fckklplpbna { + #[prost(uint32, tag = "15")] + pub oboopjlpdni: u32, + #[prost(uint32, tag = "10")] + pub pkolnjpbbgk: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27224)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ehegogkfnln { + #[prost(message, optional, tag = "13")] + pub lognndhodkh: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8720)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pfdmfpfealk { + #[prost(uint32, repeated, tag = "4")] + pub bknikidmahi: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3840)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lbnmhepbein { + #[prost(uint64, repeated, tag = "6")] + pub gnjpjdfmogi: ::prost::alloc::vec::Vec, + #[prost(uint64, tag = "8")] + pub cur_avatar_guid: u64, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1139)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nnaagllahee {} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cglhbkmlhjg { + #[prost(message, optional, tag = "2")] + pub rot: ::core::option::Option, + #[prost(uint32, tag = "7")] + pub guid: u32, + #[prost(message, optional, tag = "10")] + pub pos: ::core::option::Option, + #[prost(uint32, tag = "14")] + pub block_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ohmjncbaoec { + #[prost(message, repeated, tag = "13")] + pub cbenkjeocil: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22126)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nnmoomlmgki {} +#[derive(proto_gen::CmdID)] +#[cmdid(8902)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ecnoifaaeog { + #[prost(uint32, tag = "4")] + pub egmbajdjcop: u32, + #[prost(map = "uint32, uint32", tag = "8")] + pub ebbbbknhpmc: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dmmbpakoijo { + #[prost(message, optional, tag = "3")] + pub gmolliebbfe: ::core::option::Option, + #[prost(message, optional, tag = "9")] + pub kpbecglgibm: ::core::option::Option, + #[prost(uint32, tag = "10")] + pub version: u32, + #[prost(uint32, tag = "12")] + pub guid: u32, + #[prost(uint32, tag = "13")] + pub kbjnlbkmedp: u32, + #[prost(int32, tag = "14")] + pub ajgcdbflhga: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2720)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fijbbgebdel { + #[prost(int32, tag = "1")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24973)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Odjjjedpede { + #[prost(message, optional, tag = "10")] + pub eocepkicpca: ::core::option::Option, + #[prost(int32, tag = "13")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1683)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Plnkmopnalo { + #[prost(uint32, tag = "7")] + pub dekhbeooien: u32, + #[prost(bool, tag = "8")] + pub dggckmikbmo: bool, + #[prost(uint32, tag = "12")] + pub pjjaoilbfbn: u32, + #[prost(bool, tag = "14")] + pub jhfmeficaal: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7695)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hdlonnadpid {} +#[derive(proto_gen::CmdID)] +#[cmdid(8494)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aahogjgmiki { + #[prost(uint32, tag = "14")] + pub nhgniieaogi: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24611)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Emjhbhipddc { + #[prost(int32, repeated, tag = "8")] + pub cdgfhbkoogn: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "9")] + pub ffbojfojagd: u32, + #[prost(uint32, tag = "15")] + pub jddamhceape: u32, + #[prost(uint32, tag = "3")] + pub kjlbepdnldm: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mdfpbilhblg { + #[prost(bool, tag = "1")] + pub ecihdijcled: bool, + #[prost(bool, tag = "3")] + pub iknbinfmiid: bool, + #[prost(bool, tag = "4")] + pub piockldlcjd: bool, + #[prost(uint32, tag = "8")] + pub kaioccbnppa: u32, + #[prost(uint32, tag = "15")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dadkpnjfdjd { + #[prost(uint32, tag = "2")] + pub hbejcpcpbem: u32, + #[prost(bool, tag = "3")] + pub kbonaolgehh: bool, + #[prost(uint32, repeated, tag = "5")] + pub hebkfoiplkj: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "6")] + pub lpigkmcbdak: bool, + #[prost(uint32, tag = "8")] + pub badoiojgdbb: u32, + #[prost(bool, tag = "11")] + pub jndoignkdph: bool, + #[prost(uint32, repeated, tag = "15")] + pub nmljkelpefm: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bfekijmijak { + #[prost(uint32, tag = "7")] + pub bjmihkphifa: u32, + #[prost(map = "uint32, enumeration(Niemjjcedcf)", tag = "8")] + pub mpghamhcbfm: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8249)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jncmilmlckb { + #[prost(message, repeated, tag = "3")] + pub ohmgddcbbod: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "4")] + pub ejlcmhihmfk: ::core::option::Option, + #[prost(uint32, tag = "10")] + pub pbkeaocbpmn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20700)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pjainigeife { + #[prost(int32, tag = "1")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4614)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ebfjbpjbcbo { + #[prost(message, optional, tag = "7")] + pub eillomoaknp: ::core::option::Option, + #[prost(uint32, tag = "9")] + pub entity_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4877)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ljheiibomnf { + #[prost(bool, tag = "10")] + pub pdfiiffmbeg: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Chjiblcebnf { + #[prost(uint32, tag = "3")] + pub mihmgcojgob: u32, + #[prost(uint32, repeated, tag = "9")] + pub gcbeeinchka: ::prost::alloc::vec::Vec, + #[prost(enumeration = "Eegmnipnkmj", tag = "10")] + pub reason: i32, + #[prost(uint32, tag = "15")] + pub fbpgimlmdnj: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Llcocpjpbld { + #[prost(uint32, tag = "1")] + pub kmpmkinjclj: u32, + #[prost(message, optional, tag = "3")] + pub pos: ::core::option::Option, + #[prost(uint32, tag = "4")] + pub group_id: u32, + #[prost(uint32, tag = "11")] + pub ghiaogllldi: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cfaaadfkmip { + #[prost(uint32, tag = "1")] + pub eakbmdhmflc: u32, + #[prost(uint32, tag = "2")] + pub lkhkmkmkmjc: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29696)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lndoedncpga { + #[prost(uint32, tag = "14")] + pub mdonemkpmbk: u32, + #[prost(uint32, tag = "4")] + pub jamdpllpknp: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24810)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ffhhlaeejfl {} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ekjcifddnkb { + #[prost(uint32, tag = "1")] + pub glpndnicndg: u32, + #[prost(uint32, tag = "2")] + pub ejbdmeimafl: u32, + #[prost(uint32, tag = "3")] + pub afbfinjceld: u32, + #[prost(uint32, tag = "4")] + pub deccicldlbn: u32, + #[prost(uint32, tag = "5")] + pub bpgdimfkdff: u32, + #[prost(uint64, tag = "6")] + pub npemhmjjcmo: u64, + #[prost(uint32, tag = "11")] + pub eajokebphdf: u32, + #[prost(uint32, tag = "12")] + pub cfoabiaakhm: u32, + #[prost(uint32, tag = "13")] + pub faecjoekaep: u32, + #[prost(uint64, tag = "21")] + pub fdmohdlmkcl: u64, + #[prost(uint32, tag = "22")] + pub cikgdofkfbf: u32, + #[prost(map = "uint32, uint32", tag = "23")] + pub jljifelieme: ::std::collections::HashMap, + #[prost(uint32, tag = "24")] + pub kdcbkcbjmgj: u32, + #[prost(uint32, tag = "31")] + pub cmmaipencnh: u32, + #[prost(uint32, tag = "32")] + pub plakcbngmfk: u32, + #[prost(map = "uint32, uint32", tag = "33")] + pub kjiejhdiiek: ::std::collections::HashMap, + #[prost(bool, tag = "34")] + pub ojdeogobmna: bool, + #[prost(uint32, tag = "35")] + pub falgfipnopc: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3720)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nffimejlman { + #[prost(uint32, tag = "4")] + pub lgooidciaag: u32, + #[prost(int32, tag = "11")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4032)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nkpceokkebm { + #[prost(bool, tag = "6")] + pub ebodhkbbfod: bool, + #[prost(uint32, tag = "5")] + pub avatar_entity_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21143)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Geiocehoofb { + #[prost(uint32, repeated, tag = "8")] + pub fbmmejdfpnj: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(462)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hepclikmbbd { + #[prost(int32, tag = "8")] + pub retcode: i32, + #[prost(int32, tag = "14")] + pub ghiaogllldi: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20256)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lmhalompbmm { + #[prost(int32, tag = "14")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6083)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dgjmclhbglk { + #[prost(map = "uint32, uint32", tag = "8")] + pub ggclooaiaje: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26423)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hlakihaeeoa { + #[prost(bool, tag = "5")] + pub jiglgehaajk: bool, + #[prost(uint64, tag = "8")] + pub dcompdppdpo: u64, + #[prost(uint32, tag = "9")] + pub jlfheeipddp: u32, + #[prost(int32, tag = "11")] + pub retcode: i32, + #[prost(bool, tag = "13")] + pub dggckmikbmo: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23719)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ejmjheiidda { + #[prost(uint32, repeated, tag = "10")] + pub njhgoaehndm: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "6")] + pub pkkkijalpnm: u32, + #[prost(uint32, tag = "1")] + pub dfpnkfekiig: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fniefglbkci { + #[prost(bool, tag = "2")] + pub giejbigoehh: bool, + #[prost(bool, tag = "3")] + pub kdofakiddih: bool, + #[prost(bool, tag = "4")] + pub coejbjmbadc: bool, + #[prost(bool, tag = "5")] + pub mdgjjofokap: bool, + #[prost(uint32, tag = "6")] + pub ghmmpahjclf: u32, + #[prost(message, repeated, tag = "7")] + pub ollknofbacf: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "8")] + pub kogcoakphdj: u32, + #[prost(uint32, tag = "9")] + pub plcdimkgfde: u32, + #[prost(message, optional, tag = "11")] + pub ljhhfmckmga: ::core::option::Option, + #[prost(uint32, tag = "12")] + pub dpcpblcmlmk: u32, + #[prost(uint32, tag = "14")] + pub cgejmghjjno: u32, + #[prost(uint32, tag = "15")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jgghlhaaohe { + #[prost(map = "uint32, uint32", tag = "3")] + pub eifchjhikhi: ::std::collections::HashMap, + #[prost(string, tag = "6")] + pub pbigganlbdh: ::prost::alloc::string::String, + #[prost(uint32, tag = "7")] + pub uid: u32, + #[prost(string, tag = "8")] + pub ocmpadiifcd: ::prost::alloc::string::String, + #[prost(uint32, tag = "9")] + pub avatar_id: u32, + #[prost(message, optional, tag = "11")] + pub blfkojlccoo: ::core::option::Option, + #[prost(string, tag = "15")] + pub bkdilgijpeg: ::prost::alloc::string::String, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Neoailiedgg { + #[prost(uint32, tag = "2")] + pub region_id: u32, + #[prost(message, repeated, tag = "4")] + pub kieanioopce: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "7")] + pub cllidipnocd: bool, + #[prost(uint32, tag = "13")] + pub fncogclpgnc: u32, + #[prost(message, optional, tag = "14")] + pub hhfchandoga: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2291)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hppdbopbhco { + #[prost(message, optional, tag = "1")] + pub bmammckamlj: ::core::option::Option, + #[prost(bool, tag = "2")] + pub ilbnmpnffdh: bool, + #[prost(bool, tag = "3")] + pub dlkipoglmho: bool, + #[prost(bool, tag = "4")] + pub ncceeedebcm: bool, + #[prost(bool, tag = "5")] + pub djfpoapinem: bool, + #[prost(message, optional, tag = "6")] + pub mddabonfbej: ::core::option::Option, + #[prost(bool, tag = "7")] + pub caabgjknplc: bool, + #[prost(bool, tag = "8")] + pub nklapgmmimj: bool, + #[prost(string, repeated, tag = "9")] + pub diiiihmdpnc: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, + #[prost(float, tag = "10")] + pub kdlekkmnjhe: f32, + #[prost(float, tag = "11")] + pub fimemeelgpk: f32, + #[prost(float, tag = "12")] + pub ambiahhfkig: f32, + #[prost(float, tag = "13")] + pub pdkifkkmhcn: f32, + #[prost(enumeration = "Jhhnlpaamin", tag = "14")] + pub ljapflfemdd: i32, + #[prost(bool, tag = "15")] + pub ancmjinjbel: bool, + #[prost(uint32, tag = "298")] + pub jmckedphmge: u32, + #[prost(bool, tag = "387")] + pub dcgcmalhbfn: bool, + #[prost(uint32, tag = "412")] + pub entity_id: u32, + #[prost(uint32, tag = "836")] + pub ofdgjjnopmi: u32, + #[prost(float, tag = "1321")] + pub kkkmbmmhijf: f32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23348)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Adeomocpebl { + #[prost(enumeration = "Gghihdpmjgm", tag = "14")] + pub reason: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mjddpcanfbl { + #[prost(int32, tag = "4")] + pub retcode: i32, + #[prost(string, tag = "6")] + pub eibkpabdggb: ::prost::alloc::string::String, + #[prost(uint32, tag = "7")] + pub pdpnhmehbic: u32, + #[prost(uint32, tag = "11")] + pub nipaakapgag: u32, + #[prost(uint32, tag = "13")] + pub kigfpeikeio: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MathQuaternion { + #[prost(float, tag = "1")] + pub x: f32, + #[prost(float, tag = "2")] + pub y: f32, + #[prost(float, tag = "3")] + pub z: f32, + #[prost(float, tag = "4")] + pub w: f32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5000)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Incodnhnpda { + #[prost(message, repeated, tag = "7")] + pub knppopefoof: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "8")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ihaggdpkdnf { + #[prost(uint32, tag = "2")] + pub emdjlfdjoec: u32, + #[prost(uint32, tag = "5")] + pub nlilbpnjoni: u32, + #[prost(uint32, tag = "8")] + pub pfffhfijkng: u32, + #[prost(fixed32, tag = "11")] + pub eopffipdkgn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27512)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nomecokldgg { + #[prost(uint32, tag = "3")] + pub jefildjebaj: u32, + #[prost(uint32, tag = "4")] + pub gghkdjlgfpb: u32, + #[prost(uint32, tag = "5")] + pub ibadlnmjbii: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26465)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jejpjnhiagl { + #[prost(int32, tag = "2")] + pub retcode: i32, + #[prost(uint32, tag = "11")] + pub njekbpkeloh: u32, + #[prost(message, repeated, tag = "14")] + pub npnodhmpkbk: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29472)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aoahabfgfce { + #[prost(int32, tag = "1")] + pub retcode: i32, + #[prost(uint32, tag = "14")] + pub entity_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27690)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ikdmlapnjcf {} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gbeclhjioil { + #[prost(string, tag = "2")] + pub kamjijolfkj: ::prost::alloc::string::String, + #[prost(message, optional, tag = "8")] + pub blfkojlccoo: ::core::option::Option, + #[prost(string, tag = "9")] + pub nick_name: ::prost::alloc::string::String, + #[prost(string, tag = "11")] + pub mmdpdoococo: ::prost::alloc::string::String, + #[prost(uint32, tag = "15")] + pub uid: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(411)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Glcbcfeooao { + #[prost(message, optional, tag = "15")] + pub binidelegag: ::core::option::Option, + #[prost(uint32, tag = "12")] + pub gblenhcpkcp: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24583)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mkehjhbaocl { + #[prost(uint32, tag = "1")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6843)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Keghmabldkh { + #[prost(message, optional, tag = "13")] + pub inoanpfnjbb: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29298)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cpgmmnadpoc { + #[prost(bool, tag = "8")] + pub ndpekjaiihe: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dphbpgechmj { + #[prost(uint32, tag = "1")] + pub entity_id: u32, + #[prost(message, optional, tag = "8")] + pub iaknhjgcpgl: ::core::option::Option, + #[prost(message, optional, tag = "11")] + pub cchohinjkhg: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hbdpodgepki { + #[prost(uint32, tag = "12")] + pub kilijgplmnp: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21255)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ppibdnnhbgh { + #[prost(message, optional, tag = "4")] + pub najbgfmoeoj: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29640)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hcjmojmjoek { + #[prost(uint32, repeated, tag = "13")] + pub mjiofgmcple: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jpplmpieife { + #[prost(uint32, tag = "7")] + pub djblekfbkmd: u32, + #[prost(bool, tag = "8")] + pub jhfmeficaal: bool, + #[prost(uint32, tag = "10")] + pub pjjaoilbfbn: u32, + #[prost(bool, tag = "14")] + pub ecihdijcled: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3624)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iaaemibedbm { + #[prost(bool, tag = "1")] + pub dggckmikbmo: bool, + #[prost(uint32, tag = "6")] + pub nhbdoadldec: u32, + #[prost(int32, tag = "12")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5862)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fgjedghagdh { + #[prost(uint32, tag = "1")] + pub epjoaallggd: u32, + #[prost(int32, tag = "7")] + pub retcode: i32, + #[prost(uint32, tag = "15")] + pub onabdgfcpih: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(954)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ndackjndpjd { + #[prost(uint32, tag = "13")] + pub anim_hash: u32, + #[prost(uint64, tag = "12")] + pub avatar_guid: u64, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oaoajfodacb { + #[prost(bool, tag = "10")] + pub ecihdijcled: bool, + #[prost(uint32, tag = "13")] + pub mempkcgnnmf: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22083)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Baiifegkfja { + #[prost(bool, tag = "1")] + pub bepnjolipfg: bool, + #[prost(uint32, repeated, tag = "3")] + pub hpckdgemldn: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "8")] + pub retcode: i32, + #[prost(bool, tag = "15")] + pub bbfhpffigai: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct FishtankFishInfo { + #[prost(float, tag = "1")] + pub fish_distance_from_water: f32, + #[prost(float, tag = "2")] + pub fish_scale: f32, + #[prost(float, tag = "3")] + pub initial_rotation_y: f32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21196)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gpphdcpbehl {} +#[derive(proto_gen::CmdID)] +#[cmdid(7314)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Odjjbngkpjk { + #[prost(int32, tag = "6")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9877)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bomdiilgdml { + #[prost(int32, tag = "3")] + pub retcode: i32, + #[prost(uint32, tag = "5")] + pub lgooidciaag: u32, + #[prost(uint32, tag = "8")] + pub group_id: u32, + #[prost(uint32, tag = "14")] + pub bknplfikkfg: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21245)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fclfenogmde { + #[prost(uint32, tag = "5")] + pub target_uid: u32, + #[prost(int32, tag = "8")] + pub retcode: i32, + #[prost(bool, tag = "14")] + pub midfpdcbphk: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ggjololofad { + #[prost(uint32, tag = "2")] + pub mhjbphkjphp: u32, + #[prost(uint64, repeated, tag = "14")] + pub avatar_guid_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4705)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ibfmdkndcdn { + #[prost(int32, tag = "4")] + pub retcode: i32, + #[prost(int32, tag = "11")] + pub omgchbachci: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3556)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jdaneakdhnd { + #[prost(message, repeated, tag = "3")] + pub fllomagfgbh: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8709)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SceneDataNotify { + #[prost(message, optional, tag = "9")] + pub galjcimkfch: ::core::option::Option, + #[prost(string, repeated, tag = "11")] + pub level_config_name_list: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, + #[prost(uint32, repeated, tag = "12")] + pub scene_tag_id_list: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "13")] + pub dfndkdafejo: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28209)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jhhlfnncgpc { + #[prost(uint32, tag = "1")] + pub entity_id: u32, + #[prost(message, optional, tag = "6")] + pub position: ::core::option::Option, + #[prost(uint32, tag = "10")] + pub monster_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(320)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hmagfclhfge { + #[prost(message, optional, tag = "3")] + pub dpebbflaadc: ::core::option::Option, + #[prost(uint32, repeated, tag = "5")] + pub kialdhgblgc: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "10")] + pub acjckmpbejk: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "11")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24893)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SceneEntityAppearNotify { + #[prost(message, repeated, tag = "1")] + pub entity_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "7")] + pub param: u32, + #[prost(enumeration = "VisionType", tag = "8")] + pub appear_type: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9931)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gainabolnjd { + #[prost(uint32, repeated, tag = "8")] + pub bpefdnblofg: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "9")] + pub pdgnedcpoch: u32, + #[prost(map = "uint32, message", tag = "10")] + pub oegmmdljkdm: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29878)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dblpnfnpibk { + #[prost(uint32, tag = "4")] + pub gcmlkbebpoh: u32, + #[prost(uint32, tag = "5")] + pub bihammoadbg: u32, + #[prost(uint32, tag = "7")] + pub leijpnjklim: u32, + #[prost(uint32, tag = "10")] + pub omgchbachci: u32, + #[prost(uint32, tag = "11")] + pub dekhbeooien: u32, + #[prost(bool, tag = "12")] + pub dmedoehomkh: bool, + #[prost(uint32, tag = "13")] + pub pjjaoilbfbn: u32, + #[prost(bool, tag = "14")] + pub dggckmikbmo: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21908)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hngcpeaaklk { + #[prost(uint32, tag = "4")] + pub uid: u32, + #[prost(bool, tag = "13")] + pub eippeiilmdp: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9911)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eegkgodcija { + #[prost(uint32, tag = "8")] + pub pcaobbjlffm: u32, + #[prost(int32, tag = "12")] + pub retcode: i32, + #[prost(uint32, tag = "14")] + pub gghkdjlgfpb: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25690)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pcojkibckeg { + #[prost(bool, tag = "5")] + pub acibpcamlle: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26038)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dhaihlmdbbj { + #[prost(uint32, tag = "11")] + pub flphmnihgcb: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9151)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct EnterSceneDoneReq { + #[prost(uint32, tag = "4")] + pub enter_scene_token: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22505)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fihdghcpngj { + #[prost(uint32, tag = "4")] + pub flkpgmlnfgf: u32, + #[prost(uint32, tag = "7")] + pub hpbphgoeaka: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23722)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dlfcicenhll { + #[prost(uint32, repeated, tag = "2")] + pub buff_id_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gkokomhdegi { + #[prost(message, repeated, tag = "2")] + pub agkmajaamno: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "6")] + pub mjgahnipeic: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "10")] + pub dffanaoclpn: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "12")] + pub pkealpohpem: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "15")] + pub ohcomhhkigm: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9246)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ajgdjbkjbnf { + #[prost(int32, tag = "8")] + pub retcode: i32, + #[prost(uint32, tag = "11")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25133)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Edophifkiph { + #[prost(int32, tag = "11")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28526)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bcdhoonepmd { + #[prost(uint32, tag = "7")] + pub njekbpkeloh: u32, + #[prost(int32, tag = "15")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1359)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pakichgojef { + #[prost(string, tag = "7")] + pub ocmpadiifcd: ::prost::alloc::string::String, + #[prost(uint32, tag = "14")] + pub uid: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(367)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mpccglahhfn { + #[prost(uint32, tag = "1")] + pub beiidlebafi: u32, + #[prost(bool, tag = "3")] + pub fijhoanipbe: bool, + #[prost(message, optional, tag = "7")] + pub position: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Onmanahneng { + #[prost(bool, tag = "1")] + pub gboboljpagm: bool, + #[prost(uint32, tag = "4")] + pub group_id: u32, + #[prost(uint32, tag = "6")] + pub ojoapinglno: u32, + #[prost(uint32, tag = "7")] + pub gpaeljhnaek: u32, + #[prost(uint32, repeated, tag = "11")] + pub oijfpglhnnn: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21657)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kmgbekmpkmp { + #[prost(bool, tag = "1")] + pub dggckmikbmo: bool, + #[prost(uint32, tag = "2")] + pub pjjaoilbfbn: u32, + #[prost(uint32, tag = "9")] + pub dekhbeooien: u32, + #[prost(bool, tag = "10")] + pub ankcbommojb: bool, + #[prost(bool, tag = "11")] + pub hknghljdeog: bool, + #[prost(uint32, tag = "15")] + pub jofbeiaclof: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6246)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Okilhfaombi { + #[prost(message, repeated, tag = "8")] + pub djhnhpipfba: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "11")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24387)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mhimjhagcfk { + #[prost(bool, tag = "3")] + pub bgaoacgaldg: bool, + #[prost(int32, tag = "5")] + pub retcode: i32, + #[prost(uint32, tag = "13")] + pub draft_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3587)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Djecdjnnchk { + #[prost(int32, tag = "1")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dfikeaenpha { + #[prost(uint32, tag = "1")] + pub dekhbeooien: u32, + #[prost(uint32, tag = "6")] + pub jdhlmigkddg: u32, + #[prost(uint32, tag = "7")] + pub copmggogfcp: u32, + #[prost(uint32, tag = "12")] + pub jeaploaicbc: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mnjalkmmejo { + #[prost(message, repeated, tag = "12")] + pub cbenkjeocil: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29471)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hnekepejejl { + #[prost(uint32, tag = "3")] + pub dmnldppgokg: u32, + #[prost(uint32, tag = "4")] + pub gaplfmmgbfa: u32, + #[prost(message, repeated, tag = "5")] + pub ceihipahgnh: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "6")] + pub ghdjjmikfpi: u32, + #[prost(uint32, repeated, tag = "7")] + pub affckjcegjh: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "10")] + pub mempkcgnnmf: u32, + #[prost(uint32, tag = "12")] + pub bkbhnemjdli: u32, + #[prost(uint32, tag = "13")] + pub egbmifdjdih: u32, + #[prost(uint32, tag = "14")] + pub fhcgkpipcic: u32, + #[prost(uint32, repeated, tag = "15")] + pub bfchfgccbfk: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20320)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Achbockfice { + #[prost(int32, tag = "2")] + pub retcode: i32, + #[prost(uint32, tag = "10")] + pub lhdahdneppl: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3920)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Icgifjnkhke { + #[prost(message, repeated, tag = "3")] + pub cgefifaffnb: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9626)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bigpmknfjji { + #[prost(int32, tag = "3")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jmjaokhpcpm { + #[prost(bool, tag = "4")] + pub ecihdijcled: bool, + #[prost(uint32, tag = "10")] + pub djmaimmmmfa: u32, + #[prost(uint32, tag = "14")] + pub dmkfeccmcop: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pckcbpbobpc { + #[prost(message, optional, tag = "11")] + pub chjafhgefco: ::core::option::Option, + #[prost(message, optional, tag = "14")] + pub hihmhhibane: ::core::option::Option, + #[prost(message, optional, tag = "4")] + pub bfbgmhgbpmc: ::core::option::Option, + #[prost(message, optional, tag = "5")] + pub lceamigchgo: ::core::option::Option, + #[prost(message, optional, tag = "15")] + pub nbhoddcfikb: ::core::option::Option, + #[prost(message, optional, tag = "10")] + pub nijenjcciam: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7340)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nfpfggainal { + #[prost(message, optional, tag = "7")] + pub motion_info: ::core::option::Option, + #[prost(uint32, tag = "1")] + pub room_id: u32, + #[prost(uint32, tag = "13")] + pub entity_id: u32, + #[prost(uint32, tag = "12")] + pub parent_quest_id: u32, + #[prost(uint32, tag = "4")] + pub scene_time: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4570)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mcfmdmhfbck { + #[prost(uint32, tag = "2")] + pub pkkkijalpnm: u32, + #[prost(int32, tag = "3")] + pub retcode: i32, + #[prost(uint32, repeated, tag = "5")] + pub njhgoaehndm: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "13")] + pub dfpnkfekiig: u32, + #[prost(uint32, tag = "14")] + pub lbclghbmdaf: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25934)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iihhmmijpap { + #[prost(uint32, tag = "1")] + pub ghiaogllldi: u32, + #[prost(int32, tag = "5")] + pub retcode: i32, + #[prost(uint32, tag = "12")] + pub level: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22013)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ibfakjccfck { + #[prost(message, optional, tag = "1")] + pub niedeghkbnn: ::core::option::Option, + #[prost(int32, tag = "8")] + pub retcode: i32, + #[prost(uint32, tag = "15")] + pub iknfnnfkagf: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(237)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lpaamecjgpb { + #[prost(int32, tag = "13")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25884)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dgkabljdmia { + #[prost(uint32, tag = "14")] + pub entity_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct AvatarSkillInfo { + #[prost(uint32, tag = "1")] + pub pass_cd_time: u32, + #[prost(uint32, repeated, tag = "2")] + pub full_cd_time_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "3")] + pub max_charge_count: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jhdmenmcjjo { + #[prost(map = "uint32, message", tag = "1")] + pub bpefgkfihch: ::std::collections::HashMap, + #[prost(uint32, tag = "8")] + pub ahaldomjphd: u32, + #[prost(uint32, tag = "10")] + pub mempkcgnnmf: u32, + #[prost(uint32, tag = "11")] + pub dmkfeccmcop: u32, + #[prost(bool, tag = "12")] + pub ecihdijcled: bool, + #[prost(bool, tag = "14")] + pub jhfmeficaal: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ncgmjbgcfoi { + #[prost(uint32, tag = "3")] + pub skill_id: u32, + #[prost(uint32, repeated, tag = "5")] + pub lpecfldoodf: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "15")] + pub jfhonlmcjdd: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22276)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fgjfgnkclmj { + #[prost(int32, tag = "9")] + pub retcode: i32, + #[prost(uint32, tag = "13")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23346)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pplnckanocd { + #[prost(uint32, tag = "2")] + pub omgchbachci: u32, + #[prost(int32, tag = "15")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20542)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Olbdkdmfhlb {} +#[derive(proto_gen::CmdID)] +#[cmdid(9110)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ofpchgifpgk { + #[prost(message, optional, tag = "3")] + pub pos: ::core::option::Option, + #[prost(uint32, tag = "14")] + pub item_id: u32, + #[prost(uint32, tag = "12")] + pub gfppmnlpoek: u32, + #[prost(int32, tag = "9")] + pub param: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mbjpngpamod { + #[prost(bool, tag = "2")] + pub hblihlkjeda: bool, + #[prost(uint32, tag = "12")] + pub avatar_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Plpjfamifdf { + #[prost(enumeration = "Pehcgoekbdg", tag = "3")] + pub kgflnpgdaak: i32, + #[prost(uint32, tag = "14")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Blneklpbjjd { + #[prost(uint32, tag = "1")] + pub dfpnkfekiig: u32, + #[prost(uint32, tag = "2")] + pub jbikhbedcok: u32, + #[prost(bool, tag = "7")] + pub dggckmikbmo: bool, + #[prost(uint32, tag = "11")] + pub jofbeiaclof: u32, + #[prost(uint32, repeated, tag = "12")] + pub mkelecopffb: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "14")] + pub egjckkihmmm: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ockfdndlgjg { + #[prost(uint32, tag = "6")] + pub kmhidaefflc: u32, + #[prost(map = "uint32, message", tag = "9")] + pub gffgjmadacl: ::std::collections::HashMap, + #[prost(bool, tag = "10")] + pub ebgkbpbkogl: bool, + #[prost(uint32, tag = "11")] + pub mcmbofifbcp: u32, + #[prost(uint32, repeated, tag = "13")] + pub dmanoklbkka: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1154)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aammdcahcme { + #[prost(uint32, tag = "10")] + pub khhibkpbkpn: u32, + #[prost(uint32, tag = "8")] + pub position: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mieamhfknkj { + #[prost(uint32, tag = "1")] + pub dekhbeooien: u32, + #[prost(uint32, tag = "13")] + pub deoocbakmcj: u32, + #[prost(uint32, tag = "14")] + pub onhojobnapm: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Celajgpdpbn { + #[prost(bool, tag = "5")] + pub ecihdijcled: bool, + #[prost(uint32, tag = "6")] + pub dmkfeccmcop: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eolabdoeppi { + #[prost(uint32, tag = "2")] + pub hmjbphppjdb: u32, + #[prost(uint32, tag = "7")] + pub gpejlgheomg: u32, + #[prost(uint32, tag = "9")] + pub oommiflemob: u32, + #[prost(message, repeated, tag = "13")] + pub fhiegnjdbmo: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21144)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lfhgiaihfdp {} +#[derive(proto_gen::CmdID)] +#[cmdid(7235)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerLogoutReq { + #[prost(enumeration = "PlayerLogoutReason", tag = "3")] + pub reason: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6021)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Akgbnkknjho { + #[prost(uint32, tag = "13")] + pub dmnldppgokg: u32, + #[prost(uint32, tag = "14")] + pub mempkcgnnmf: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26788)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fichmdmfoop { + #[prost(message, optional, tag = "7")] + pub ipchjpnocap: ::core::option::Option, + #[prost(int32, tag = "11")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(47)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hlfnkcoilfh { + #[prost(uint32, tag = "1")] + pub hkappoekong: u32, + #[prost(uint32, tag = "5")] + pub ehdllggiofj: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Obakidajlgn { + #[prost(uint32, tag = "10")] + pub iknfnnfkagf: u32, + #[prost(uint32, tag = "12")] + pub count: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8882)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Agfbooefoap { + #[prost(uint32, tag = "1")] + pub cenhkjdffda: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24560)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fodfjinljng { + #[prost(uint32, tag = "9")] + pub omfhidhnppn: u32, + #[prost(string, repeated, tag = "15")] + pub bmdianlkilh: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2324)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kbfcpiekoeg { + #[prost(message, repeated, tag = "2")] + pub bcmoggadkbb: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "7")] + pub uid: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27508)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Phlkpdgakna { + #[prost(string, tag = "7")] + pub kadfmamhgbg: ::prost::alloc::string::String, + #[prost(uint32, tag = "3")] + pub item_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fijpblkmagf { + #[prost(uint32, tag = "6")] + pub pjjaoilbfbn: u32, + #[prost(message, repeated, tag = "13")] + pub gobchdjolnb: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3640)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lcdhkflcnbd { + #[prost(uint32, tag = "9")] + pub gldnnfocdem: u32, + #[prost(bool, tag = "8")] + pub nahnhoifgfi: bool, + #[prost(uint32, tag = "13")] + pub okicoglejec: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jjkolafefej { + #[prost(map = "uint32, message", tag = "1")] + pub nedlniljfnp: ::std::collections::HashMap, + #[prost(map = "uint32, uint32", tag = "2")] + pub lnjpacjjphg: ::std::collections::HashMap, + #[prost(uint32, repeated, tag = "4")] + pub lckafmfopfb: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20372)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kjfkbbhcchj { + #[prost(map = "uint32, message", tag = "5")] + pub onnlnefnfgj: ::std::collections::HashMap, + #[prost(uint32, tag = "10")] + pub gpdogmpijfc: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Donlajnfjeb { + #[prost(uint32, repeated, tag = "1")] + pub kcikkoenijf: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct BlockInfo { + #[prost(uint32, tag = "1")] + pub block_id: u32, + #[prost(uint32, tag = "2")] + pub gfkfjjoadmh: u32, + #[prost(bytes = "vec", tag = "3")] + pub nehmemlkipp: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "4")] + pub glafbcffaeg: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bhpflopgfkl { + #[prost(bool, tag = "2")] + pub hjlpileemeb: bool, + #[prost(map = "uint32, bool", tag = "8")] + pub pcfcgpijabg: ::std::collections::HashMap, + #[prost(uint32, tag = "9")] + pub ogkgkjikchc: u32, + #[prost(bool, tag = "12")] + pub is_active: bool, + #[prost(uint32, tag = "13")] + pub config_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kdjhbmggifd { + #[prost(message, repeated, tag = "5")] + pub jgkfkegbebk: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "10")] + pub mpbnnonjgjp: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25037)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Biaeieefhca { + #[prost(bool, tag = "11")] + pub ghnkompjkci: bool, + #[prost(bool, tag = "7")] + pub ddeejmjomcl: bool, + #[prost(uint32, tag = "15")] + pub target_uid: u32, + #[prost(uint32, tag = "9")] + pub ckfjcekkppc: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25625)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cemjjnlonpc { + #[prost(int32, tag = "3")] + pub retcode: i32, + #[prost(bool, tag = "4")] + pub dmedoehomkh: bool, + #[prost(bool, tag = "5")] + pub dggckmikbmo: bool, + #[prost(uint32, tag = "10")] + pub dekhbeooien: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SceneMonsterInfo { + #[prost(uint32, tag = "1")] + pub monster_id: u32, + #[prost(uint32, tag = "2")] + pub group_id: u32, + #[prost(uint32, tag = "3")] + pub config_id: u32, + #[prost(message, repeated, tag = "4")] + pub weapon_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "5")] + pub authority_peer_id: u32, + #[prost(uint32, repeated, tag = "6")] + pub affix_list: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "7")] + pub is_elite: bool, + #[prost(uint32, tag = "8")] + pub owner_entity_id: u32, + #[prost(uint32, tag = "9")] + pub summoned_tag: u32, + #[prost(map = "uint32, uint32", tag = "10")] + pub summon_tag_map: ::std::collections::HashMap, + #[prost(uint32, tag = "11")] + pub pose_id: u32, + #[prost(enumeration = "MonsterBornType", tag = "12")] + pub born_type: i32, + #[prost(uint32, tag = "13")] + pub block_id: u32, + #[prost(uint32, tag = "14")] + pub mark_flag: u32, + #[prost(uint32, tag = "15")] + pub title_id: u32, + #[prost(uint32, tag = "16")] + pub special_name_id: u32, + #[prost(uint32, tag = "17")] + pub attack_target_id: u32, + #[prost(message, optional, tag = "18")] + pub monster_route: ::core::option::Option, + #[prost(uint32, tag = "19")] + pub ai_config_id: u32, + #[prost(uint32, tag = "20")] + pub level_route_id: u32, + #[prost(uint32, tag = "21")] + pub init_pose_id: u32, + #[prost(bool, tag = "22")] + pub is_light: bool, + #[prost(uint32, tag = "23")] + pub kill_num: u32, + #[prost(oneof = "scene_monster_info::Content", tags = "50, 51")] + pub content: ::core::option::Option, +} +/// Nested message and enum types in `SceneMonsterInfo`. +pub mod scene_monster_info { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Content { + #[prost(message, tag = "50")] + FishInfo(super::SceneFishInfo), + #[prost(message, tag = "51")] + FishtankFishInfo(super::FishtankFishInfo), + } +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Loaaeeopjad { + #[prost(uint32, repeated, tag = "1")] + pub edmgkchacbe: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "2")] + pub knhicjhgbem: bool, + #[prost(uint32, tag = "4")] + pub jgnofmbffki: u32, + #[prost(message, repeated, tag = "6")] + pub hbjkkpgophn: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "7")] + pub kpampgdjdhe: u32, + #[prost(uint32, tag = "9")] + pub ionghioedfh: u32, + #[prost(message, repeated, tag = "10")] + pub iammmogkdaf: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "12")] + pub iegbmlhpngc: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4541)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Odgcllloadb { + #[prost(uint32, tag = "5")] + pub oboopjlpdni: u32, + #[prost(int32, tag = "12")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25020)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fncfjnpkcpk { + #[prost(message, optional, tag = "4")] + pub egikhjdaich: ::core::option::Option, + #[prost(uint32, tag = "12")] + pub ooflahmeleo: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(628)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kcnpggiondn { + #[prost(int32, tag = "3")] + pub retcode: i32, + #[prost(uint32, repeated, tag = "4")] + pub heegimpkfpl: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "8")] + pub onabdgfcpih: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24216)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Modfgnlnign { + #[prost(int32, tag = "13")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ldbdpbpgcle { + #[prost(uint32, repeated, tag = "11")] + pub pokklpfhbel: ::prost::alloc::vec::Vec, + #[prost(oneof = "ldbdpbpgcle::Detail", tags = "9, 13")] + pub detail: ::core::option::Option, +} +/// Nested message and enum types in `LDBDPBPGCLE`. +pub mod ldbdpbpgcle { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Detail { + #[prost(message, tag = "9")] + ExamInfo(super::Kmecifnikhf), + #[prost(message, tag = "13")] + OrderInfo(super::Locachpgjph), + } +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aajmgcojonb { + #[prost(bool, tag = "3")] + pub lidahldjleo: bool, + #[prost(uint32, tag = "4")] + pub fcmiklceaka: u32, + #[prost(uint32, tag = "6")] + pub ipehbeiknpc: u32, + #[prost(uint32, tag = "7")] + pub level: u32, + #[prost(uint64, tag = "9")] + pub exp: u64, + #[prost(message, optional, tag = "10")] + pub ajacdldnmap: ::core::option::Option, + #[prost(uint32, tag = "11")] + pub cdiijcgnbof: u32, + #[prost(uint32, tag = "12")] + pub dkidfaejncg: u32, + #[prost(string, tag = "13")] + pub odckfmkoomd: ::prost::alloc::string::String, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8351)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cldblcecbob { + #[prost(uint32, repeated, tag = "7")] + pub jkoihmchhha: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "10")] + pub parent_quest_id: u32, + #[prost(int32, tag = "14")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3252)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oiibpnmfcjn { + #[prost(message, repeated, tag = "9")] + pub kfapijcgdbc: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iojlknpeodb { + #[prost(message, repeated, tag = "1")] + pub papbbilcpmb: ::prost::alloc::vec::Vec, + #[prost(fixed32, tag = "2")] + pub eopffipdkgn: u32, + #[prost(bool, tag = "3")] + pub knhicjhgbem: bool, + #[prost(uint32, tag = "7")] + pub lihibgchlhc: u32, + #[prost(uint32, tag = "8")] + pub mlkmkmjnkmh: u32, + #[prost(uint32, tag = "9")] + pub failealaadn: u32, + #[prost(bool, tag = "11")] + pub fjnebbedmce: bool, + #[prost(fixed32, tag = "14")] + pub afjclenhanc: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6168)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Llhadjdfogm { + #[prost(int32, tag = "1")] + pub jjfpfmpjema: i32, + #[prost(message, repeated, tag = "2")] + pub mnkljbkcehn: ::prost::alloc::vec::Vec, + #[prost(enumeration = "Cfpdoelblnj", tag = "3")] + pub bgpjniihanj: i32, + #[prost(message, repeated, tag = "5")] + pub ammmjpghkfp: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "7")] + pub nngihmcjhca: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "11")] + pub retcode: i32, + #[prost(message, repeated, tag = "12")] + pub cegdcnhgojd: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21814)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Decpfgmfpdj { + #[prost(uint32, tag = "13")] + pub onabdgfcpih: u32, + #[prost(uint32, tag = "2")] + pub config_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hdfhfpacfkm { + #[prost(uint32, tag = "2")] + pub dfibjggahkp: u32, + #[prost(uint32, tag = "4")] + pub cdajkiidfnj: u32, + #[prost(uint64, tag = "5")] + pub eihbodhiofk: u64, + #[prost(message, optional, tag = "8")] + pub pos: ::core::option::Option, + #[prost(uint32, tag = "13")] + pub hfniaddglng: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lbkgiigkola { + #[prost(bool, tag = "1")] + pub nfcjaimikkk: bool, + #[prost(uint32, tag = "2")] + pub end_time: u32, + #[prost(uint32, tag = "3")] + pub lgbnfifcpjf: u32, + #[prost(enumeration = "Alllninaoga", tag = "4")] + pub jbpcmhkelpf: i32, + #[prost(uint32, tag = "5")] + pub level: u32, + #[prost(uint32, tag = "6")] + pub ibolgmhgpoo: u32, + #[prost(message, optional, tag = "7")] + pub mlijpcohilm: ::core::option::Option, + #[prost(message, repeated, tag = "8")] + pub nimimlfeopo: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "9")] + pub kfhndijeijo: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "10")] + pub khhibkpbkpn: u32, + #[prost(bool, tag = "11")] + pub holkbikhoba: bool, + #[prost(message, optional, tag = "12")] + pub mjllkgpgmad: ::core::option::Option, + #[prost(uint32, tag = "13")] + pub akfhoihgdjb: u32, + #[prost(bool, tag = "14")] + pub loppmeonneg: bool, + #[prost(uint32, tag = "15")] + pub hbndjapmlpl: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5503)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gkibojcknin { + #[prost(uint32, tag = "4")] + pub omgchbachci: u32, + #[prost(uint32, tag = "5")] + pub mempkcgnnmf: u32, + #[prost(message, optional, tag = "6")] + pub bepfmdkmfic: ::core::option::Option, + #[prost(bool, tag = "8")] + pub dggckmikbmo: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27891)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hmjkobnjmod { + #[prost(bool, tag = "1")] + pub hndkicjjanm: bool, + #[prost(message, repeated, tag = "5")] + pub jbhaijfnnck: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "7")] + pub alpfbbejimo: u32, + #[prost(bool, tag = "11")] + pub lkeceiinjdi: bool, + #[prost(bool, tag = "14")] + pub holkbikhoba: bool, + #[prost(message, optional, tag = "15")] + pub ildcoabbdog: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9273)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ihfdbfnlbjh { + #[prost(uint32, tag = "2")] + pub gacfbgfdool: u32, + #[prost(int32, tag = "7")] + pub retcode: i32, + #[prost(uint32, tag = "14")] + pub dagnblkkjli: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Anickellbdg { + #[prost(uint32, tag = "5")] + pub kenikecfflm: u32, + #[prost(message, repeated, tag = "11")] + pub mlalkjbnnpg: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dgnmaciebhf { + #[prost(uint32, tag = "9")] + pub peajinifghm: u32, + #[prost(uint32, tag = "10")] + pub kafapfjllgp: u32, + #[prost(uint32, tag = "13")] + pub pjjaoilbfbn: u32, + #[prost(uint32, repeated, tag = "15")] + pub affix_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27066)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mliklghkilg { + #[prost(uint32, tag = "5")] + pub ndehkhcalmf: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21103)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mebajhgchnk { + #[prost(bool, tag = "3")] + pub pfokfhlokej: bool, + #[prost(map = "uint32, message", tag = "13")] + pub bgafdioigib: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23610)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bollipfopkc { + #[prost(message, optional, tag = "15")] + pub dejoimafmck: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5977)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dnanoahgaej { + #[prost(uint32, tag = "1")] + pub pjjaoilbfbn: u32, + #[prost(int32, tag = "7")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9652)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fmafcdmhbfc { + #[prost(int32, tag = "3")] + pub retcode: i32, + #[prost(message, repeated, tag = "11")] + pub jledgoffpmb: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21556)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oiilbideidh { + #[prost(int32, tag = "1")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26927)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ekgakkgbneh { + #[prost(message, optional, tag = "11")] + pub dnoejhjejio: ::core::option::Option, + #[prost(uint32, tag = "10")] + pub skill_id: u32, + #[prost(uint64, tag = "2")] + pub dghpdllbeld: u64, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Llecnebccfi { + #[prost(message, repeated, tag = "3")] + pub dfaifggpipd: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "7")] + pub mfcjljpcmhn: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "9")] + pub cgmcfjmfkke: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "11")] + pub aodlocnmiip: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "12")] + pub hgickbdjeao: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "13")] + pub lpahgnjlohd: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5655)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mfliffemlpc { + #[prost(uint32, repeated, tag = "4")] + pub himcbbodhcj: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "13")] + pub item_list: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "14")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5552)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fdgojdcldah { + #[prost(uint32, repeated, tag = "10")] + pub tag_list: ::prost::alloc::vec::Vec, + #[prost(uint64, tag = "2")] + pub guid: u64, + #[prost(bool, tag = "3")] + pub dhaomgmmdpd: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29427)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mjbdjdlkfgd { + #[prost(message, optional, tag = "15")] + pub kglilblfnmf: ::core::option::Option, + #[prost(uint32, tag = "13")] + pub gbcebgkbjdm: u32, + #[prost(uint32, tag = "3")] + pub gljdigmiilk: u32, + #[prost(uint32, tag = "11")] + pub plkfhdakpln: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5665)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hhegnlneppb {} +#[derive(proto_gen::CmdID)] +#[cmdid(329)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mnbjklfknhm { + #[prost(uint32, tag = "14")] + pub monster_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ecgonilibpf { + #[prost(uint64, tag = "2")] + pub cgammlododp: u64, + #[prost(bool, tag = "3")] + pub anbjcgmpmbe: bool, + #[prost(bool, tag = "7")] + pub kbnhkamgpji: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Inelaggdijf { + #[prost(uint32, tag = "1")] + pub lgooidciaag: u32, + #[prost(uint32, tag = "12")] + pub bgiibmphocb: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fpbjmflpooi { + #[prost(int32, tag = "2")] + pub retcode: i32, + #[prost(uint32, tag = "5")] + pub entity_id: u32, + #[prost(message, optional, tag = "7")] + pub neicmenmflj: ::core::option::Option, + #[prost(uint32, tag = "12")] + pub fggmoakinfd: u32, + #[prost(uint32, tag = "13")] + pub scene_time: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7894)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dfdcikihmol { + #[prost(uint32, tag = "2")] + pub badoiojgdbb: u32, + #[prost(int32, tag = "13")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1294)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ejlhdeokmkn { + #[prost(map = "uint64, message", tag = "7")] + pub doohpieceeb: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jibkfgbfdno { + #[prost(uint32, tag = "3")] + pub mempkcgnnmf: u32, + #[prost(bool, tag = "8")] + pub dhikpcepeop: bool, + #[prost(message, repeated, tag = "15")] + pub cbenkjeocil: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ojonhgceepo { + #[prost(uint32, tag = "1")] + pub jkoaghdgjje: u32, + #[prost(uint32, tag = "2")] + pub bikmjihingn: u32, + #[prost(uint32, tag = "4")] + pub kfmjcmpkpmn: u32, + #[prost(uint32, tag = "5")] + pub bmjceijjkcb: u32, + #[prost(uint32, repeated, tag = "6")] + pub nkaichlodle: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "7")] + pub dfpnkfekiig: u32, + #[prost(uint32, tag = "8")] + pub hnijmehbebp: u32, + #[prost(uint32, tag = "9")] + pub cfeclkmehme: u32, + #[prost(uint32, tag = "10")] + pub kakbollmhfn: u32, + #[prost(bool, tag = "11")] + pub mibjmkdnlfh: bool, + #[prost(message, optional, tag = "12")] + pub oecjcimbpfi: ::core::option::Option, + #[prost(uint32, tag = "13")] + pub iljobblppii: u32, + #[prost(uint32, repeated, tag = "14")] + pub akpinalmgcb: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "15")] + pub cjmhjhijmjn: u32, + #[prost(message, repeated, tag = "217")] + pub hfpjndimkbo: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "228")] + pub nhjinfcahkb: u32, + #[prost(uint32, tag = "250")] + pub nhdknnglefe: u32, + #[prost(message, repeated, tag = "357")] + pub igbieeloipj: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "533")] + pub aakfeekgljd: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "583")] + pub ajonibdflom: bool, + #[prost(uint32, tag = "776")] + pub pjgfapekfbc: u32, + #[prost(uint32, tag = "832")] + pub blnjfgpohoc: u32, + #[prost(uint32, tag = "930")] + pub ddojbapnipd: u32, + #[prost(uint32, tag = "1027")] + pub nehcplbfmlh: u32, + #[prost(uint32, tag = "1820")] + pub hkdcibpofoc: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20750)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Chmhjilfelf { + #[prost(int32, tag = "12")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5749)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gcigebdopid { + #[prost(bool, tag = "4")] + pub agfjleieocg: bool, + #[prost(message, optional, tag = "5")] + pub oodfjakhihd: ::core::option::Option, + #[prost(int32, tag = "7")] + pub retcode: i32, + #[prost(uint32, tag = "10")] + pub ihgidghgknh: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26614)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetPlayerTokenReq { + #[prost(string, tag = "12")] + pub bpfimekjane: ::prost::alloc::string::String, + #[prost(string, tag = "6")] + pub account_uid: ::prost::alloc::string::String, + #[prost(string, tag = "1")] + pub kamjijolfkj: ::prost::alloc::string::String, + #[prost(string, tag = "15")] + pub account_token: ::prost::alloc::string::String, + #[prost(string, tag = "219")] + pub client_rand_key: ::prost::alloc::string::String, + #[prost(string, tag = "14")] + pub cemenpadopp: ::prost::alloc::string::String, + #[prost(string, tag = "7")] + pub country_code: ::prost::alloc::string::String, + #[prost(string, tag = "310")] + pub adfhnbpgagm: ::prost::alloc::string::String, + #[prost(string, tag = "3")] + pub mmdpdoococo: ::prost::alloc::string::String, + #[prost(string, tag = "9")] + pub bdgfmeiehod: ::prost::alloc::string::String, + #[prost(string, tag = "1385")] + pub hcjgllhfcma: ::prost::alloc::string::String, + #[prost(string, tag = "762")] + pub jlcddojgkkg: ::prost::alloc::string::String, + #[prost(string, tag = "102")] + pub jcimgdhmmln: ::prost::alloc::string::String, + #[prost(bool, tag = "8")] + pub is_guest: bool, + #[prost(uint32, tag = "11")] + pub uid: u32, + #[prost(uint32, tag = "943")] + pub mpgmoflceof: u32, + #[prost(uint32, tag = "243")] + pub key_id: u32, + #[prost(uint32, tag = "2")] + pub ocinfhojcea: u32, + #[prost(uint32, tag = "786")] + pub jdhckkagbnl: u32, + #[prost(uint32, tag = "10")] + pub platform_type: u32, + #[prost(uint32, tag = "1163")] + pub kodkefgjhap: u32, + #[prost(uint32, tag = "1473")] + pub cijpmgmcjba: u32, + #[prost(uint32, tag = "4")] + pub kekhakapmin: u32, + #[prost(uint32, tag = "5")] + pub ikkklhicpmf: u32, + #[prost(uint32, tag = "13")] + pub account_type: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7133)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Magmocebngc { + #[prost(message, optional, tag = "2")] + pub ejcpddpfdbf: ::core::option::Option, + #[prost(uint32, tag = "9")] + pub omgchbachci: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5373)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iejifpldbbm {} +#[derive(proto_gen::CmdID)] +#[cmdid(3132)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mhocfpkgako { + #[prost(uint32, tag = "5")] + pub lhdahdneppl: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28865)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jmfgnjjcppc {} +#[derive(proto_gen::CmdID)] +#[cmdid(4410)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jiikepenoen { + #[prost(uint32, repeated, tag = "14")] + pub ejdddkbgkki: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25046)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ljapeoanoho { + #[prost(uint32, tag = "12")] + pub pjgfapekfbc: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hfinfkpkahj { + #[prost(uint32, tag = "8")] + pub onabdgfcpih: u32, + #[prost(uint32, tag = "10")] + pub end_time: u32, + #[prost(uint32, tag = "11")] + pub lgbnfifcpjf: u32, + #[prost(bool, tag = "13")] + pub ecihdijcled: bool, + #[prost(uint32, tag = "15")] + pub khhibkpbkpn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27377)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fpapcgpchne { + #[prost(bool, tag = "3")] + pub ijnjemgejnm: bool, + #[prost(int32, tag = "6")] + pub retcode: i32, + #[prost(message, optional, tag = "14")] + pub nbhoddcfikb: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(601)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ekgkhifhkcn { + #[prost(int32, tag = "7")] + pub retcode: i32, + #[prost(bool, tag = "15")] + pub is_locked: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23604)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kmelommoaie { + #[prost(message, repeated, tag = "8")] + pub hflkijmlbdb: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "12")] + pub avatar_id: u32, + #[prost(uint32, tag = "14")] + pub reason: u32, + #[prost(bool, tag = "7")] + pub kchmokpjdii: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aobbhmampgc { + #[prost(uint32, repeated, tag = "3")] + pub dlkekcdojbj: ::prost::alloc::vec::Vec, + #[prost(enumeration = "Fcfbaddhheo", tag = "7")] + pub occlnkdddne: i32, + #[prost(uint32, repeated, tag = "8")] + pub dfgpkikllgc: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "15")] + pub ljidcoknnpn: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cdcpgkipnba { + #[prost(uint32, tag = "4")] + pub fbpgimlmdnj: u32, + #[prost(uint32, tag = "6")] + pub phpfppidjkj: u32, + #[prost(uint32, tag = "12")] + pub skill_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2835)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dkdpblnomme { + #[prost(message, repeated, tag = "2")] + pub glnhgpnppip: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "5")] + pub cbenkjeocil: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "11")] + pub ldjnbbieffe: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8161)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mlnohfgmiak { + #[prost(uint32, tag = "7")] + pub entity_id: u32, + #[prost(string, tag = "13")] + pub reason: ::prost::alloc::string::String, + #[prost(message, optional, tag = "14")] + pub jnonmkdanhl: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7782)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hbnphflaanj { + #[prost(string, tag = "2")] + pub name: ::prost::alloc::string::String, + #[prost(uint32, repeated, tag = "15")] + pub hoepcmhjbhe: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "3")] + pub bfbomboinpj: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "10")] + pub cdmjgifefmd: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28907)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bpamijfabeo { + #[prost(message, optional, tag = "8")] + pub position: ::core::option::Option, + #[prost(uint64, tag = "9")] + pub kfnbcklkeib: u64, + #[prost(int32, tag = "7")] + pub pbhchamjkhb: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20313)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hmbeikpaemf { + #[prost(message, repeated, tag = "8")] + pub fojbpljlmcd: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3728)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eimiajkogfc { + #[prost(uint32, tag = "2")] + pub anhigelnhkp: u32, + #[prost(int32, tag = "7")] + pub retcode: i32, + #[prost(uint32, tag = "8")] + pub aiihckimnnn: u32, + #[prost(uint32, tag = "9")] + pub hghmffpaboo: u32, + #[prost(uint32, tag = "11")] + pub flbfcpekoje: u32, + #[prost(uint32, tag = "14")] + pub kpidllgnojf: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Poldbbpahpc { + #[prost(uint32, tag = "1")] + pub group_id: u32, + #[prost(uint32, tag = "2")] + pub guid: u32, + #[prost(uint32, tag = "3")] + pub nnmkbeamika: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29945)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ekfgjdhjphb { + #[prost(message, repeated, tag = "4")] + pub faclcdohbgd: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "6")] + pub ljmfgajfian: bool, + #[prost(int32, tag = "11")] + pub retcode: i32, + #[prost(bool, tag = "15")] + pub moeodinmjkn: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28591)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oiedkafmdie { + #[prost(uint32, tag = "3")] + pub pjjaoilbfbn: u32, + #[prost(uint32, repeated, tag = "10")] + pub eaodllegcae: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "15")] + pub cmeedhjedin: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hjbfmohjilh { + #[prost(message, optional, tag = "1")] + pub ccnnjmkemlc: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub mjedpbplhha: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub onlppgllmbl: ::core::option::Option, + #[prost(message, optional, tag = "4")] + pub eccejbipllc: ::core::option::Option, + #[prost(message, optional, tag = "5")] + pub bokhjookahc: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(330)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gfjkeinkeaf { + #[prost(message, repeated, tag = "14")] + pub hindfpnfkfb: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8733)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oijhmbnkoik { + #[prost(int32, tag = "8")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24201)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lephhbjabed { + #[prost(int32, tag = "7")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ppdadgbphfj { + #[prost(message, optional, tag = "1")] + pub odepmbdnilm: ::core::option::Option, + #[prost(bool, tag = "3")] + pub cpknlalfoac: bool, + #[prost(uint32, tag = "4")] + pub khhibkpbkpn: u32, + #[prost(uint32, repeated, tag = "5")] + pub hoepcmhjbhe: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "6")] + pub flagfkmidgc: u32, + #[prost(uint32, tag = "7")] + pub mfbbimepadm: u32, + #[prost(uint32, tag = "11")] + pub lmdkhnjijhp: u32, + #[prost(uint32, tag = "12")] + pub dbnnknaegfk: u32, + #[prost(uint32, tag = "14")] + pub bbhoionihmj: u32, + #[prost(uint32, tag = "15")] + pub eepfjadodpa: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jecnlammpfi { + #[prost(message, repeated, tag = "4")] + pub hjllldfoihm: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26107)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ajlpdfieofb { + #[prost(uint32, tag = "4")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24790)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jbohdfoicfh { + #[prost(uint32, repeated, tag = "7")] + pub jfmhidpanll: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26146)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fmknllbfaog {} +#[derive(proto_gen::CmdID)] +#[cmdid(21248)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pgeganoebjl {} +#[derive(proto_gen::CmdID)] +#[cmdid(27500)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eiagnpoelij { + #[prost(int32, tag = "1")] + pub retcode: i32, + #[prost(message, repeated, tag = "8")] + pub cbkniagnafb: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25803)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ilhdapeliod { + #[prost(uint32, tag = "1")] + pub kihigcbbali: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21965)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Idndkcacbme { + #[prost(bool, tag = "4")] + pub ekeikdijabm: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23786)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dikpleagdje { + #[prost(bool, tag = "2")] + pub lkeceiinjdi: bool, + #[prost(message, optional, tag = "5")] + pub ildcoabbdog: ::core::option::Option, + #[prost(uint32, tag = "6")] + pub alpfbbejimo: u32, + #[prost(bool, tag = "8")] + pub holkbikhoba: bool, + #[prost(bool, tag = "15")] + pub hndkicjjanm: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26640)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iphnlkeomkf { + #[prost(uint32, tag = "5")] + pub ghiaogllldi: u32, + #[prost(int32, tag = "8")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4065)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dgobfpbgjkp { + #[prost(uint32, tag = "1")] + pub costume_id: u32, + #[prost(uint32, tag = "2")] + pub avatar_id: u32, + #[prost(uint32, tag = "11")] + pub uid: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24360)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mnnjpambagb { + #[prost(message, repeated, tag = "8")] + pub hcdnphnkbhb: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25475)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hcdkphlojgg { + #[prost(uint32, tag = "10")] + pub acbelmeikip: u32, + #[prost(message, repeated, tag = "11")] + pub pgbjioocoba: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1570)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eammeacfnfm { + #[prost(message, repeated, tag = "2")] + pub dndlhajhkho: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "10")] + pub mflcgkbieoo: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "8")] + pub cddhfdeeghg: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(845)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dhoikmnofmh { + #[prost(int32, tag = "1")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4469)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eocebijhedb { + #[prost(bool, tag = "6")] + pub lejlmjjdedc: bool, + #[prost(uint32, tag = "1")] + pub gaplfmmgbfa: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gfafldlcpdl { + #[prost(enumeration = "Cfedgdkjhmo", tag = "3")] + pub hfpboeeopbf: i32, + #[prost(uint32, tag = "12")] + pub knkbgnilfmb: u32, + #[prost(enumeration = "Aiogioppmha", tag = "14")] + pub hlbeakchibp: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bpibibmgoll { + #[prost(uint32, tag = "2")] + pub pjjaoilbfbn: u32, + #[prost(uint32, tag = "4")] + pub gnegaogjlbd: u32, + #[prost(uint32, tag = "10")] + pub dblfncpdanb: u32, + #[prost(message, repeated, tag = "11")] + pub kfapijcgdbc: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "12")] + pub mempkcgnnmf: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hjonjccaekj { + #[prost(uint64, tag = "1")] + pub guid: u64, + #[prost(uint32, tag = "11")] + pub trial_avatar_id: u32, + #[prost(uint32, tag = "12")] + pub godiceblbfl: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4515)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lboalhpegbf { + #[prost(uint32, repeated, tag = "4")] + pub cmeedhjedin: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "7")] + pub eaodllegcae: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "14")] + pub pjjaoilbfbn: u32, + #[prost(uint32, tag = "12")] + pub ljejebelkmj: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Adjlggoaaoi { + #[prost(uint32, tag = "7")] + pub pjjaoilbfbn: u32, + #[prost(uint32, tag = "11")] + pub cijhbcaoepi: u32, + #[prost(message, repeated, tag = "12")] + pub obgpcopgake: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "14")] + pub fbbbjnhiplf: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27878)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lfniijljnop {} +#[derive(proto_gen::CmdID)] +#[cmdid(28489)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gdimafnmehm { + #[prost(uint32, tag = "10")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28393)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mbpfikhbchd { + #[prost(uint32, tag = "5")] + pub scene_id: u32, + #[prost(message, optional, tag = "9")] + pub clfhggefdpm: ::core::option::Option, + #[prost(uint32, tag = "10")] + pub fchfakepinp: u32, + #[prost(int32, tag = "13")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kblngodlpbk { + #[prost(uint32, tag = "5")] + pub end_time: u32, + #[prost(uint32, tag = "6")] + pub uid: u32, + #[prost(uint32, tag = "9")] + pub entity_id: u32, + #[prost(uint32, tag = "12")] + pub ojoapinglno: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9994)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Npgdgcdjike { + #[prost(bool, tag = "2")] + pub hjfopbhakde: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4947)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aakglcoaocg { + #[prost(uint32, tag = "1")] + pub mpgfgndjlkc: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22002)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nabfcahkhpf {} +#[derive(proto_gen::CmdID)] +#[cmdid(6248)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Epffdafpkpj {} +#[derive(proto_gen::CmdID)] +#[cmdid(25890)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dapobaahobf { + #[prost(message, repeated, tag = "8")] + pub lbmlpbefaek: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3994)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mocfnnnkmha { + #[prost(string, tag = "6")] + pub hemdlgommkc: ::prost::alloc::string::String, + #[prost(bool, tag = "11")] + pub cimejkmjgpm: bool, + #[prost(uint32, tag = "7")] + pub jjlpijkgkon: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21889)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Koikekngkod { + #[prost(uint32, repeated, tag = "10")] + pub fjaihbldgio: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23744)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SceneInitFinishReq { + #[prost(uint32, tag = "6")] + pub enter_scene_token: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bbhcdjobhmj { + #[prost(enumeration = "Hgagmbjdhfg", tag = "4")] + pub fpedhedekpe: i32, + #[prost(uint32, tag = "8")] + pub pjjaoilbfbn: u32, + #[prost(message, repeated, tag = "9")] + pub hdnmiejjdbg: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28417)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lbjmbhbbehp { + #[prost(message, optional, tag = "4")] + pub dcdncmknlif: ::core::option::Option, + #[prost(bool, tag = "7")] + pub ojmkfkclhdj: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20346)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mjaepapfmbb { + #[prost(uint32, tag = "1")] + pub jefildjebaj: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kcgckiadjbp { + #[prost(message, repeated, tag = "14")] + pub cbenkjeocil: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22017)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Joajijhhfjf {} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kdblnhihjep { + #[prost(uint32, repeated, tag = "4")] + pub ipjiilbekpk: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "6")] + pub emepfngonei: bool, + #[prost(uint32, tag = "9")] + pub mempkcgnnmf: u32, + #[prost(uint32, tag = "11")] + pub dmnldppgokg: u32, + #[prost(uint32, tag = "15")] + pub fhcgkpipcic: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6352)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mmnlfnadkbj { + #[prost(int32, tag = "6")] + pub retcode: i32, + #[prost(uint32, tag = "8")] + pub cdmjgifefmd: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mdocbmjpdik { + #[prost(uint32, tag = "13")] + pub ojoapinglno: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22955)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mkadimjmfoa { + #[prost(int32, tag = "2")] + pub retcode: i32, + #[prost(message, repeated, tag = "14")] + pub hijhpoccaoc: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oolbipgmpjb { + #[prost(message, optional, tag = "1")] + pub mdmplabaiec: ::core::option::Option, + #[prost(bool, tag = "2")] + pub nkchbiafpom: bool, + #[prost(uint32, tag = "3")] + pub peajinifghm: u32, + #[prost(uint32, tag = "4")] + pub helabgmbigb: u32, + #[prost(string, tag = "5")] + pub ebbpboejjpp: ::prost::alloc::string::String, + #[prost(bool, tag = "6")] + pub pflajckehfa: bool, + #[prost(uint32, tag = "7")] + pub bkpmhmldihk: u32, + #[prost(uint32, tag = "8")] + pub ndameclaedh: u32, + #[prost(uint32, tag = "9")] + pub ojhglmdjcmk: u32, + #[prost(uint32, tag = "10")] + pub pkmjlhlcelo: u32, + #[prost(bool, tag = "11")] + pub dhaomgmmdpd: bool, + #[prost(bool, tag = "12")] + pub gblhfaeonkm: bool, + #[prost(uint32, tag = "13")] + pub ngddiacfmik: u32, + #[prost(uint32, tag = "14")] + pub oppfabknmmb: u32, + #[prost(uint64, tag = "15")] + pub dcompdppdpo: u64, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Akmdglodieo { + #[prost(uint32, repeated, tag = "6")] + pub lihiijooiee: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "9")] + pub lpjldcjkcei: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1569)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lobfhjlodaf { + #[prost(enumeration = "Jmeollkiong", tag = "2")] + pub reason: i32, + #[prost(enumeration = "Hkkcdiccimi", tag = "3")] + pub nkiolhkgjco: i32, + #[prost(uint32, repeated, tag = "5")] + pub phkpfjajfkj: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "7")] + pub pefbfdpildo: ::core::option::Option, + #[prost(bool, tag = "8")] + pub kbnhkamgpji: bool, + #[prost(message, repeated, tag = "11")] + pub niomengdmaj: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "12")] + pub phnjpmeeibj: u32, + #[prost(uint32, tag = "13")] + pub kafapfjllgp: u32, + #[prost(uint32, repeated, tag = "14")] + pub abjmkdogamk: ::prost::alloc::vec::Vec, + #[prost(oneof = "lobfhjlodaf::Detail", tags = "611, 1629, 1939")] + pub detail: ::core::option::Option, +} +/// Nested message and enum types in `LOBFHJLODAF`. +pub mod lobfhjlodaf { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Detail { + #[prost(message, tag = "611")] + PveInfiniteActivitySettle(super::Kajamipdijn), + #[prost(message, tag = "1629")] + ArenaSettle(super::Aphokepjage), + #[prost(message, tag = "1939")] + PveActivitySettle(super::Adadbonbign), + } +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mogbjopdgnk { + #[prost(uint32, tag = "5")] + pub jofbeiaclof: u32, + #[prost(message, repeated, tag = "6")] + pub lcchefgnagb: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "11")] + pub ncnkmdbafeh: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5667)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lpinhphdlpj { + #[prost(int32, tag = "4")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9673)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Facnncdagfo { + #[prost(uint64, tag = "3")] + pub guid: u64, + #[prost(uint32, tag = "12")] + pub room_id: u32, + #[prost(int32, tag = "15")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6090)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ojnpgebbcoi { + #[prost(message, repeated, tag = "8")] + pub bbdmlllndmp: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "9")] + pub eiikolgecfp: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4085)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nhakioekmcp { + #[prost(int32, tag = "6")] + pub retcode: i32, + #[prost(uint32, tag = "9")] + pub ljdmbidhpji: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1613)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pflbiamiild { + #[prost(uint32, tag = "9")] + pub mjeflbpjbkm: u32, + #[prost(uint32, tag = "6")] + pub njmjbknnoib: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4941)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Einjddjinpg { + #[prost(uint32, tag = "2")] + pub pjjaoilbfbn: u32, + #[prost(uint32, tag = "1")] + pub ijffkcgiaoj: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kenglgeofhk { + #[prost(bool, tag = "4")] + pub khpojffhdil: bool, + #[prost(uint32, tag = "7")] + pub mempkcgnnmf: u32, + #[prost(message, optional, tag = "13")] + pub hojjlblkohj: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gnpfobpeglc { + #[prost(message, optional, tag = "7")] + pub mknjodnekeh: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1157)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nkneklpgbop { + #[prost(int32, tag = "2")] + pub retcode: i32, + #[prost(uint32, tag = "8")] + pub entity_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20303)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lkfnaefkbgg { + #[prost(uint32, tag = "14")] + pub target_uid: u32, + #[prost(oneof = "lkfnaefkbgg::Content", tags = "6, 3")] + pub content: ::core::option::Option, +} +/// Nested message and enum types in `LKFNAEFKBGG`. +pub mod lkfnaefkbgg { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Content { + #[prost(uint32, tag = "6")] + Icon(u32), + #[prost(string, tag = "3")] + Text(::prost::alloc::string::String), + } +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bedgmdcoeen { + #[prost(uint32, tag = "4")] + pub ijagllbjkda: u32, + #[prost(message, repeated, tag = "6")] + pub ibjpfjkfbjo: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "13")] + pub okkapkjihjb: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27858)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ijphdpfeemn { + #[prost(uint32, tag = "3")] + pub geihmkhcije: u32, + #[prost(uint32, tag = "9")] + pub entity_id: u32, + #[prost(uint32, tag = "11")] + pub aaopmgielok: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(669)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ddpjlcopfik { + #[prost(message, optional, tag = "7")] + pub agllfjbkmjk: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3548)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lkldddiafef { + #[prost(uint32, tag = "11")] + pub lgcopnjbcnf: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28350)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hlacboajlop { + #[prost(int32, tag = "8")] + pub retcode: i32, + #[prost(uint32, tag = "9")] + pub jodpdbpgoab: u32, + #[prost(uint32, repeated, tag = "12")] + pub jdcapblplna: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nmgbbmonffe { + #[prost(bool, tag = "7")] + pub dohhenfngpe: bool, + #[prost(uint64, tag = "14")] + pub avatar_id: u64, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27786)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dddbnpmjpeb { + #[prost(int32, tag = "7")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nomemjpfkno { + #[prost(message, repeated, tag = "2")] + pub bocnaepjlfl: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "4")] + pub mdjllpffooa: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "7")] + pub phpfppidjkj: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gjmdmpembnh { + #[prost(message, repeated, tag = "1")] + pub cbenkjeocil: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ehhnkoloaek { + #[prost(message, repeated, tag = "9")] + pub jajnjhddloj: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ghelcmbakjc { + #[prost(uint32, tag = "11")] + pub authority_peer_id: u32, + #[prost(uint32, tag = "12")] + pub entity_id: u32, + #[prost(message, optional, tag = "15")] + pub entity_authority_info: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29356)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dmjnlhceddn { + #[prost(message, optional, tag = "12")] + pub nlkgmjnajhg: ::core::option::Option, + #[prost(int32, tag = "14")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8542)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Elniegkmgcn { + #[prost(message, repeated, tag = "14")] + pub ijjibglkpjl: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "2")] + pub kkonlphiahe: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub odkihaijllg: ::core::option::Option, + #[prost(uint32, tag = "12")] + pub entity_id: u32, + #[prost(uint32, tag = "4")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6584)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jlebonbjlob { + #[prost(uint32, tag = "7")] + pub ccpigccdboi: u32, + #[prost(string, tag = "14")] + pub fmohhdblohm: ::prost::alloc::string::String, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2568)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pggohhbnfco { + #[prost(int32, tag = "5")] + pub retcode: i32, + #[prost(uint32, repeated, tag = "9")] + pub ipkkbailkdi: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "14")] + pub lfadnibldkc: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pnkgndgbdmd { + #[prost(uint32, repeated, tag = "3")] + pub hoepcmhjbhe: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "5")] + pub gigkdjinolg: u32, + #[prost(uint32, repeated, tag = "8")] + pub bfbomboinpj: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5640)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dfjopcmffhh { + #[prost(bool, tag = "2")] + pub ankcbommojb: bool, + #[prost(uint32, tag = "3")] + pub ijffkcgiaoj: u32, + #[prost(bool, tag = "5")] + pub dggckmikbmo: bool, + #[prost(uint32, tag = "6")] + pub omgchbachci: u32, + #[prost(uint32, tag = "7")] + pub alnmhbapcgn: u32, + #[prost(uint32, tag = "9")] + pub mempkcgnnmf: u32, + #[prost(bool, tag = "13")] + pub jdcgciohgbh: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7711)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Foimicajimb { + #[prost(int32, tag = "1")] + pub retcode: i32, + #[prost(uint64, tag = "14")] + pub guid: u64, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Idjeofdjkgi { + #[prost(message, repeated, tag = "2")] + pub pgonbleeaed: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25178)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jgooajphaaf { + #[prost(int32, tag = "7")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20322)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aimoimpijhg { + #[prost(uint32, repeated, tag = "9")] + pub jnfpmeijenp: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "12")] + pub idibjdpoemd: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "7")] + pub pjjaoilbfbn: u32, + #[prost(bool, tag = "10")] + pub bdgphdbflkm: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dgnanakijel { + #[prost(int32, tag = "1")] + pub efahlpdcfan: i32, + #[prost(string, tag = "2")] + pub lldpnociddf: ::prost::alloc::string::String, + #[prost(string, repeated, tag = "4")] + pub epgobhiedoi: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, + #[prost(message, optional, tag = "5")] + pub ability_name: ::core::option::Option, + #[prost(uint32, tag = "6")] + pub mpbebakodgf: u32, + #[prost(uint32, tag = "8")] + pub okapniodoog: u32, + #[prost(int32, tag = "13")] + pub cknolejbjem: i32, + #[prost(int32, tag = "15")] + pub nnhddjfmjfh: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(430)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aopmiahlgla { + #[prost(uint32, tag = "2")] + pub dmnldppgokg: u32, + #[prost(uint32, tag = "4")] + pub pjjaoilbfbn: u32, + #[prost(bool, tag = "5")] + pub amblldmipfp: bool, + #[prost(message, repeated, tag = "6")] + pub oliebeklpim: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "7")] + pub pefplnjheli: u32, + #[prost(uint32, repeated, tag = "8")] + pub bomddcpikbe: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27536)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aidbfacjedi { + #[prost(message, repeated, tag = "3")] + pub hopcjoddjop: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iipdddacagk { + #[prost(string, tag = "6")] + pub fdcpcibglmj: ::prost::alloc::string::String, + #[prost(uint32, repeated, tag = "7")] + pub bdeombceoea: ::prost::alloc::vec::Vec, + #[prost(enumeration = "Cegmlmcfcpm", repeated, tag = "11")] + pub bppepdepjdk: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hcnemggbdia { + #[prost(bool, tag = "1")] + pub hjfopbhakde: bool, + #[prost(uint32, tag = "5")] + pub avatar_id: u32, + #[prost(uint32, repeated, tag = "11")] + pub cnfodgeooef: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "13")] + pub costume_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27731)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iabdncdfimm { + #[prost(string, repeated, tag = "3")] + pub mjifbdojhmk: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6319)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nmdblfonhpa { + #[prost(bool, tag = "1")] + pub hppmegldgkf: bool, + #[prost(uint32, tag = "2")] + pub opdkgkmdllb: u32, + #[prost(uint32, tag = "4")] + pub khfffbadlcl: u32, + #[prost(uint32, tag = "5")] + pub kenikecfflm: u32, + #[prost(uint32, repeated, tag = "10")] + pub affix_list: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "15")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9072)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fflafdlfpod { + #[prost(uint32, repeated, tag = "8")] + pub himcbbodhcj: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "3")] + pub jejkgopbfnm: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21550)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bhadkhldjib { + #[prost(uint32, tag = "2")] + pub fheebhppgoa: u32, + #[prost(uint32, tag = "13")] + pub config_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23761)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Acdidgpahih { + #[prost(uint32, tag = "5")] + pub room_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25511)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cefmkoginog { + #[prost(uint32, tag = "8")] + pub ccpigccdboi: u32, + #[prost(int32, tag = "9")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Chmlpcnmidj { + #[prost(uint32, tag = "2")] + pub fcdlgpdhlka: u32, + #[prost(uint32, tag = "3")] + pub cmgfmdlfcfk: u32, + #[prost(uint32, tag = "5")] + pub lgbnfifcpjf: u32, + #[prost(bool, tag = "7")] + pub cfhjbflhanh: bool, + #[prost(uint32, tag = "8")] + pub affklogicmo: u32, + #[prost(uint32, tag = "11")] + pub nnebhhfhdcc: u32, + #[prost(uint32, tag = "15")] + pub diidchbeaba: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lmfdjmdndca { + #[prost(map = "string, string", tag = "9")] + pub bfgbkaeafoh: ::std::collections::HashMap< + ::prost::alloc::string::String, + ::prost::alloc::string::String, + >, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27523)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mpnfdljnkkg {} +#[derive(proto_gen::CmdID)] +#[cmdid(20895)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dmpjmmcjnla { + #[prost(uint32, repeated, tag = "11")] + pub buff_id_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5571)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bikccpfgmpm { + #[prost(uint32, repeated, tag = "3")] + pub gbmoedfdlfi: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "6")] + pub gfbphhajajm: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "11")] + pub ldedoinniok: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "13")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28867)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Njfipabihgc { + #[prost(int32, tag = "1")] + pub retcode: i32, + #[prost(bool, tag = "12")] + pub bgaoacgaldg: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23107)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eamfcnlfnod { + #[prost(uint32, tag = "6")] + pub fish_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20843)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Icpanoooeho { + #[prost(uint32, tag = "1")] + pub draft_id: u32, + #[prost(uint32, tag = "11")] + pub dnklodmjija: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1001)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hbpjbmlegli { + #[prost(message, repeated, tag = "10")] + pub mfefigmnoah: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24200)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jciaongnhnl { + #[prost(uint64, repeated, tag = "2")] + pub ibplbjjjlpe: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28079)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ohgdjobnkhe { + #[prost(uint32, repeated, tag = "1")] + pub nnfbhpjcono: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "1381")] + pub cfkplnkhfkn: ::prost::alloc::vec::Vec, + #[prost(uint64, tag = "6")] + pub dcompdppdpo: u64, + #[prost(bool, tag = "4")] + pub jfjdimpcnnf: bool, + #[prost(bool, tag = "1004")] + pub hkjpcjflnfj: bool, + #[prost(bool, tag = "648")] + pub oedcpfgakam: bool, + #[prost(uint32, tag = "9")] + pub pcklffnfnge: u32, + #[prost(uint32, tag = "1059")] + pub jpeglebnigl: u32, + #[prost(uint32, tag = "13")] + pub clcabcnlgfm: u32, + #[prost(uint32, tag = "12")] + pub cjbckcobhff: u32, + #[prost(uint32, tag = "1724")] + pub gikjkdblfad: u32, + #[prost(uint32, tag = "3")] + pub bhpgplpcnpl: u32, + #[prost(uint32, tag = "5")] + pub jlfheeipddp: u32, + #[prost(float, tag = "247")] + pub speed: f32, + #[prost(uint32, tag = "8")] + pub dekhbeooien: u32, + #[prost(uint32, tag = "514")] + pub jjkibhbpppo: u32, + #[prost(uint32, tag = "10")] + pub ejnglcjnapn: u32, + #[prost(uint32, tag = "14")] + pub aboagokkiea: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1944)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lmoahpmijjf { + #[prost(uint32, repeated, tag = "8")] + pub enbgjlpnppj: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4165)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Icdaahmbbge {} +#[derive(proto_gen::CmdID)] +#[cmdid(26337)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gaknhgjecin { + #[prost(uint32, tag = "1")] + pub entity_id: u32, + #[prost(map = "uint32, float", tag = "15")] + pub fight_prop_map: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hbpbpkmalcb { + #[prost(uint32, tag = "1")] + pub lgkdhflmnmj: u32, + #[prost(bool, tag = "5")] + pub ngdokajiafh: bool, + #[prost(bool, tag = "6")] + pub mdjjmemcpam: bool, + #[prost(message, optional, tag = "7")] + pub abpjibdjipa: ::core::option::Option, + #[prost(uint32, repeated, tag = "14")] + pub gkebbeegjhm: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "15")] + pub olfpblplgio: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cbdbnlccdmc { + #[prost(uint32, tag = "2")] + pub dmnldppgokg: u32, + #[prost(bool, tag = "7")] + pub dggckmikbmo: bool, + #[prost(uint32, tag = "8")] + pub mempkcgnnmf: u32, + #[prost(message, repeated, tag = "10")] + pub kgogfpoddlj: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "14")] + pub pjjaoilbfbn: u32, + #[prost(uint32, repeated, tag = "15")] + pub lcjiceeekbi: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24662)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hoeobchgaae { + #[prost(uint32, tag = "3")] + pub jdhfhcfeonf: u32, + #[prost(uint32, tag = "8")] + pub uid: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Inagocajomd { + #[prost(uint32, tag = "4")] + pub mempkcgnnmf: u32, + #[prost(uint32, tag = "7")] + pub ljfafdhikjd: u32, + #[prost(uint32, tag = "8")] + pub pjjaoilbfbn: u32, + #[prost(uint32, tag = "12")] + pub ljejebelkmj: u32, + #[prost(uint32, tag = "13")] + pub kdplcbjgbaf: u32, + #[prost(uint32, tag = "14")] + pub kmaehpagkfk: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28603)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Khdffgojejg { + #[prost(uint32, tag = "4")] + pub pfffhfijkng: u32, + #[prost(int32, tag = "5")] + pub retcode: i32, + #[prost(uint32, tag = "8")] + pub emdjlfdjoec: u32, + #[prost(uint32, tag = "11")] + pub pgkgbojoofn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7754)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Phiifgmflma { + #[prost(uint32, repeated, tag = "1")] + pub dkmpnaghblm: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "5")] + pub khhibkpbkpn: u32, + #[prost(int32, tag = "11")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20608)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mhciiddpgnm {} +#[derive(proto_gen::CmdID)] +#[cmdid(21308)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Glflabhecng { + #[prost(uint32, tag = "9")] + pub pos: u32, + #[prost(uint32, tag = "3")] + pub entity_id: u32, + #[prost(enumeration = "Ckijcdmelnh", tag = "10")] + pub oaahhnmhafh: i32, + #[prost(bool, tag = "14")] + pub eilhbjjepok: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7702)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Blebjakfekm { + #[prost(uint32, tag = "7")] + pub gaplfmmgbfa: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22445)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gcbjicekmkg { + #[prost(map = "uint32, message", tag = "12")] + pub ahmpnghjhml: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Benlibocjlp { + #[prost(message, repeated, tag = "13")] + pub override_map: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28504)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eecbjmdaodd { + #[prost(bool, tag = "10")] + pub ebhfibehjge: bool, + #[prost(uint32, tag = "8")] + pub jchhllebmja: u32, + #[prost(uint32, tag = "13")] + pub cmdnkflfhia: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Himfnhifboj { + #[prost(bool, tag = "1")] + pub lbmialpeoba: bool, + #[prost(bool, tag = "2")] + pub cepnbgjomfo: bool, + #[prost(uint32, tag = "4")] + pub hcfiiaiaknk: u32, + #[prost(message, optional, tag = "5")] + pub mmhjheibcjl: ::core::option::Option, + #[prost(uint32, tag = "6")] + pub mempkcgnnmf: u32, + #[prost(bool, tag = "7")] + pub ecihdijcled: bool, + #[prost(message, repeated, tag = "8")] + pub fojbpljlmcd: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "9")] + pub gnbmdepneie: u32, + #[prost(bool, tag = "10")] + pub hjeilabenak: bool, + #[prost(uint32, tag = "11")] + pub pckeoicnagm: u32, + #[prost(bool, tag = "12")] + pub bdghlbocdni: bool, + #[prost(uint32, tag = "13")] + pub jgihcibojpn: u32, + #[prost(uint32, tag = "14")] + pub dofffapagpo: u32, + #[prost(uint32, tag = "1656")] + pub ddgpijchcgp: u32, + #[prost(uint32, tag = "1990")] + pub donadappdog: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Blkghgclobb { + #[prost(uint32, tag = "6")] + pub igjhlojeeei: u32, + #[prost(uint32, tag = "9")] + pub khmdgkajflc: u32, + #[prost(message, repeated, tag = "14")] + pub mfnbpfpdnck: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28503)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dgfondglifk { + #[prost(uint32, tag = "1")] + pub omgchbachci: u32, + #[prost(uint32, tag = "4")] + pub lmjnokajeki: u32, + #[prost(uint32, tag = "6")] + pub pafojlhcaeh: u32, + #[prost(uint32, tag = "10")] + pub end_time: u32, + #[prost(uint32, tag = "11")] + pub ojoapinglno: u32, + #[prost(oneof = "dgfondglifk::Detail", tags = "2, 15")] + pub detail: ::core::option::Option, +} +/// Nested message and enum types in `DGFONDGLIFK`. +pub mod dgfondglifk { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Detail { + #[prost(message, tag = "2")] + FlowerStartParam(super::Bhallidcfhl), + #[prost(message, tag = "15")] + ElectroherculesStartParam(super::Ngeonoogcik), + } +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fehclekfaek { + #[prost(uint32, tag = "13")] + pub avatar_id: u32, + #[prost(bool, tag = "15")] + pub hblihlkjeda: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(512)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mppaadnhepp { + #[prost(uint64, repeated, tag = "4")] + pub fikgdofabee: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kkhglcjocek { + #[prost(message, repeated, tag = "1")] + pub bdobhhhjkma: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "9")] + pub entity_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3835)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pfaeneakbkd { + #[prost(uint32, tag = "11")] + pub entity_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21420)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bekiaaomied { + #[prost(uint32, repeated, tag = "1")] + pub clpdklnbcme: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "10")] + pub kglilblfnmf: ::core::option::Option, + #[prost(uint32, tag = "11")] + pub gbcebgkbjdm: u32, + #[prost(uint32, tag = "8")] + pub jofbeiaclof: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ajnedpnipil { + #[prost(uint32, tag = "2")] + pub kbjnlbkmedp: u32, + #[prost(uint32, tag = "10")] + pub lhfafneindc: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3197)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lheadcpnnmm { + #[prost(int32, tag = "4")] + pub retcode: i32, + #[prost(uint32, tag = "15")] + pub mempkcgnnmf: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2958)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cfbnppnoifk { + #[prost(int32, tag = "4")] + pub retcode: i32, + #[prost(message, optional, tag = "11")] + pub glilgfhhhhm: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28729)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ilioejaljmb { + #[prost(uint32, repeated, tag = "10")] + pub lgpnfigndgh: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27144)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kaoojeecpjg { + #[prost(uint64, repeated, tag = "8")] + pub avatar_team_guid_list: ::prost::alloc::vec::Vec, + #[prost(uint64, tag = "4")] + pub cur_avatar_guid: u64, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23915)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dmmnnnlgclp { + #[prost(message, repeated, tag = "5")] + pub ohpejhebpag: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "6")] + pub nehohohdilc: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8066)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jepijfemfaj {} +#[derive(proto_gen::CmdID)] +#[cmdid(23904)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aoefegefmjk { + #[prost(int32, tag = "11")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28690)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Blkonoefkgi { + #[prost(uint32, tag = "8")] + pub mmldgpbiecc: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26019)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jadkoepkbdd { + #[prost(uint32, repeated, tag = "1")] + pub oepccikngci: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "14")] + pub kiijhamjkjb: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kaokjonbmio { + #[prost(uint32, tag = "1")] + pub jalbjdenpkj: u32, + #[prost(bool, tag = "2")] + pub hkgkclkjdop: bool, + #[prost(uint32, tag = "3")] + pub meiehepfaga: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ecfcipldpad { + #[prost(uint32, repeated, tag = "2")] + pub pjdfiglakdi: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "10")] + pub amhhcbfflpl: u32, + #[prost(uint32, tag = "15")] + pub jlannimpjoi: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22209)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Afaenfdjagc { + #[prost(bool, tag = "4")] + pub ebhfibehjge: bool, + #[prost(uint32, tag = "7")] + pub jchhllebmja: u32, + #[prost(uint32, tag = "8")] + pub cmdnkflfhia: u32, + #[prost(int32, tag = "11")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ggcffdkleen { + #[prost(oneof = "ggcffdkleen::Adebpdlaojp", tags = "5, 9, 12")] + pub adebpdlaojp: ::core::option::Option, +} +/// Nested message and enum types in `GGCFFDKLEEN`. +pub mod ggcffdkleen { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Adebpdlaojp { + #[prost(string, tag = "5")] + StrParam(::prost::alloc::string::String), + #[prost(float, tag = "9")] + FltParam(f32), + #[prost(uint32, tag = "12")] + IntParam(u32), + } +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mplfhjhmdpi { + #[prost(uint32, tag = "5")] + pub pjjaoilbfbn: u32, + #[prost(uint32, repeated, tag = "9")] + pub bomddcpikbe: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25784)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Anbnakfdlha { + #[prost(uint32, tag = "5")] + pub entity_id: u32, + #[prost(message, optional, tag = "12")] + pub platform: ::core::option::Option, + #[prost(uint32, tag = "15")] + pub scene_time: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4006)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mklepodleoh { + #[prost(int32, tag = "1")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27287)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fkkmimfaplp { + #[prost(message, repeated, tag = "6")] + pub fhpbcgolndf: ::prost::alloc::vec::Vec, + #[prost(enumeration = "Igohjibcdfa", tag = "15")] + pub lkidbhiooog: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2820)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Opagbknphgg { + #[prost(uint32, tag = "11")] + pub cnkddkikglg: u32, + #[prost(uint32, tag = "12")] + pub omgchbachci: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25620)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gppjnehjpch { + #[prost(map = "uint32, uint32", tag = "3")] + pub dojojeplhap: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9051)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ChangeAvatarReq { + #[prost(message, optional, tag = "3")] + pub move_pos: ::core::option::Option, + #[prost(uint32, tag = "8")] + pub skill_id: u32, + #[prost(bool, tag = "15")] + pub is_move: bool, + #[prost(bool, tag = "10")] + pub implcnklfed: bool, + #[prost(uint64, tag = "5")] + pub guid: u64, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21213)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Adljmjpfncp { + #[prost(int32, tag = "10")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9076)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Klliofbogcb { + #[prost(int32, tag = "4")] + pub retcode: i32, + #[prost(bool, tag = "8")] + pub bgaoacgaldg: bool, + #[prost(uint32, tag = "11")] + pub draft_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Chfcchffocp { + #[prost(uint32, tag = "8")] + pub mempkcgnnmf: u32, + #[prost(uint32, tag = "11")] + pub pjjaoilbfbn: u32, + #[prost(bool, tag = "13")] + pub jhfmeficaal: bool, + #[prost(bool, tag = "15")] + pub ecihdijcled: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21522)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aeiknpbladl { + #[prost(message, repeated, tag = "2")] + pub ppochleddgp: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23960)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dmcogblameb { + #[prost(int32, tag = "2")] + pub retcode: i32, + #[prost(uint32, repeated, tag = "3")] + pub eajeeccmnjl: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "4")] + pub bebmoibgnhk: ::prost::alloc::vec::Vec, + #[prost(map = "uint32, uint32", tag = "5")] + pub ckjmplpbdbp: ::std::collections::HashMap, + #[prost(uint32, tag = "6")] + pub pdbokjdbkoh: u32, + #[prost(uint32, repeated, tag = "8")] + pub gncpmgacbpp: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "10")] + pub ockonjamkpp: u32, + #[prost(uint32, tag = "13")] + pub jlcgaiihaco: u32, + #[prost(uint32, tag = "14")] + pub ppdmicpgedo: u32, + #[prost(uint32, tag = "15")] + pub kkfhbldeaba: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5010)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nglmnmhfbpf { + #[prost(uint32, tag = "15")] + pub ffhembokbef: u32, + #[prost(uint32, tag = "4")] + pub gghkdjlgfpb: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nbhejlloglb { + #[prost(uint32, tag = "1")] + pub dllimpbljef: u32, + #[prost(uint32, tag = "5")] + pub degicaellff: u32, + #[prost(uint32, tag = "6")] + pub njkeohkhhfe: u32, + #[prost(message, optional, tag = "13")] + pub blfkojlccoo: ::core::option::Option, + #[prost(uint32, tag = "15")] + pub uid: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22697)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nginlgihckg { + #[prost(message, optional, tag = "3")] + pub gejdoahbape: ::core::option::Option, + #[prost(uint32, tag = "5")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4233)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eofaggiceck { + #[prost(uint32, tag = "12")] + pub khhibkpbkpn: u32, + #[prost(int32, tag = "13")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ibhkcdhmckc { + #[prost(uint32, tag = "4")] + pub uid: u32, + #[prost(uint32, tag = "8")] + pub ebobohkpcog: u32, + #[prost(uint32, tag = "9")] + pub elffnlpjfgd: u32, + #[prost(uint32, tag = "11")] + pub ohbolpmahpc: u32, + #[prost(uint32, tag = "13")] + pub ldhlfnfblim: u32, + #[prost(message, repeated, tag = "14")] + pub mbfcfgopeog: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "15")] + pub jahjojochom: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mmfabckmaof { + #[prost(message, repeated, tag = "2")] + pub innkipjcjah: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "3")] + pub bknafebffjj: u32, + #[prost(bool, tag = "5")] + pub fcaeaonkgga: bool, + #[prost(uint32, tag = "6")] + pub jigfbecbojb: u32, + #[prost(message, repeated, tag = "8")] + pub iklojogephk: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "9")] + pub igjhlojeeei: u32, + #[prost(uint32, tag = "13")] + pub khmdgkajflc: u32, + #[prost(uint32, tag = "14")] + pub fecmlpmpopc: u32, + #[prost(uint32, tag = "15")] + pub jndhlpndocc: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20429)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mlgfggeiknl { + #[prost(enumeration = "Himmemhogfb", tag = "1")] + pub mfmlakbiaed: i32, + #[prost(bool, tag = "9")] + pub fojakdnohaf: bool, + #[prost(uint64, tag = "3")] + pub dcompdppdpo: u64, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cdihlklffch { + #[prost(uint32, tag = "4")] + pub ejnglcjnapn: u32, + #[prost(uint32, tag = "6")] + pub peajinifghm: u32, + #[prost(bool, tag = "13")] + pub lhhbinhjaoe: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22684)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mmjkcaplcpk { + #[prost(uint32, tag = "4")] + pub fkhohkelkoe: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Labjlhgmneb { + #[prost(bool, tag = "1")] + pub kfpmghhdndo: bool, + #[prost(uint32, tag = "4")] + pub dmkfeccmcop: u32, + #[prost(uint32, tag = "6")] + pub mgcmnplnjkl: u32, + #[prost(message, optional, tag = "7")] + pub ccnnjmkemlc: ::core::option::Option, + #[prost(uint32, repeated, tag = "9")] + pub oeifpldonkf: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "13")] + pub ecihdijcled: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25746)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mknehillinb { + #[prost(bool, tag = "13")] + pub bdgphdbflkm: bool, + #[prost(uint32, tag = "14")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Khgampkleeg { + #[prost(uint32, tag = "1")] + pub gpaeljhnaek: u32, + #[prost(bool, tag = "12")] + pub obbgbmeploj: bool, + #[prost(uint32, tag = "15")] + pub nnebhhfhdcc: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25397)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Alnjblldele { + #[prost(uint32, tag = "2")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Finkbpcdeif { + #[prost(uint32, tag = "3")] + pub pjjaoilbfbn: u32, + #[prost(bool, tag = "4")] + pub ecihdijcled: bool, + #[prost(bool, tag = "10")] + pub jhfmeficaal: bool, + #[prost(uint32, tag = "15")] + pub dekhbeooien: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mfebbibgnid { + #[prost(message, optional, tag = "6")] + pub blfkojlccoo: ::core::option::Option, + #[prost(uint32, tag = "8")] + pub uid: u32, + #[prost(string, tag = "9")] + pub kamjijolfkj: ::prost::alloc::string::String, + #[prost(string, tag = "10")] + pub bkdilgijpeg: ::prost::alloc::string::String, + #[prost(message, repeated, tag = "11")] + pub bfbomboinpj: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3632)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dbjpfjobokl { + #[prost(uint32, tag = "5")] + pub hoipfdomipj: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27941)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hmhonoafemc {} +#[derive(proto_gen::CmdID)] +#[cmdid(20)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fcgkhnebapp { + #[prost(int32, tag = "4")] + pub retcode: i32, + #[prost(message, repeated, tag = "5")] + pub item_list: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "9")] + pub hljohdkcbjm: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9899)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ieldmniphof { + #[prost(int32, tag = "2")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gnjfmminnon { + #[prost(uint32, tag = "9")] + pub ilpfcpokhpm: u32, + #[prost(bool, tag = "10")] + pub hppmegldgkf: bool, + #[prost(uint32, repeated, tag = "12")] + pub jiphaoflhch: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "13")] + pub count: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dopeeelonna { + #[prost(uint32, tag = "1")] + pub mbdcfmkejfp: u32, + #[prost(bool, tag = "2")] + pub ecihdijcled: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nkohnkiembl { + #[prost(uint32, tag = "4")] + pub uid: u32, + #[prost(enumeration = "Jjpmgejnaao", tag = "5")] + pub reason: i32, + #[prost(int32, tag = "8")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Weapon { + #[prost(uint32, tag = "1")] + pub level: u32, + #[prost(uint32, tag = "2")] + pub exp: u32, + #[prost(uint32, tag = "3")] + pub promote_level: u32, + #[prost(map = "uint32, uint32", tag = "4")] + pub affix_map: ::std::collections::HashMap, + #[prost(bool, tag = "5")] + pub hhlnnpoildl: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gkngbdbkkhe { + #[prost(uint32, tag = "1")] + pub ojoapinglno: u32, + #[prost(bool, tag = "3")] + pub napmcbkmnaa: bool, + #[prost(int32, tag = "11")] + pub koinnjpenfl: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28272)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bjobijmbifj { + #[prost(int32, tag = "5")] + pub retcode: i32, + #[prost(string, tag = "11")] + pub kadfmamhgbg: ::prost::alloc::string::String, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20170)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Foooenbloko { + #[prost(bool, tag = "1")] + pub dggckmikbmo: bool, + #[prost(map = "uint32, message", tag = "6")] + pub onnlnefnfgj: ::std::collections::HashMap, + #[prost(uint32, tag = "10")] + pub nnaalgjoaio: u32, + #[prost(uint32, tag = "12")] + pub ccpigccdboi: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hgpfakapmmb { + #[prost(uint32, tag = "1")] + pub emfehcplbhe: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct AvatarRenameInfo { + #[prost(string, tag = "1")] + pub hemdlgommkc: ::prost::alloc::string::String, + #[prost(uint32, tag = "9")] + pub avatar_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2154)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Agiefpaljee { + #[prost(uint32, tag = "2")] + pub jcejajfndhm: u32, + #[prost(message, repeated, tag = "8")] + pub pbebcpgdlco: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "15")] + pub gehpjhapohj: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6778)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hcimlhafamm { + #[prost(int32, tag = "2")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jhljldkmhcj { + #[prost(message, repeated, tag = "7")] + pub avatar_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2082)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gbbinonpngg { + #[prost(uint32, tag = "2")] + pub omgchbachci: u32, + #[prost(uint32, tag = "10")] + pub fbgjlogekgn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26021)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pceidkemmno { + #[prost(message, repeated, tag = "8")] + pub hnpcfdlpono: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27742)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jjkncmnlchm { + #[prost(int32, tag = "2")] + pub retcode: i32, + #[prost(uint32, tag = "5")] + pub jchhllebmja: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8497)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ebiigfojgen { + #[prost(uint32, repeated, tag = "6")] + pub skill_id: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5644)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cpcnpkcbdai { + #[prost(message, optional, tag = "2")] + pub kkonlphiahe: ::core::option::Option, + #[prost(uint32, tag = "6")] + pub gbcebgkbjdm: u32, + #[prost(uint32, tag = "15")] + pub pbhhlnmhfjf: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hjhkknpinbg { + #[prost(uint32, tag = "2")] + pub ccpigccdboi: u32, + #[prost(uint32, tag = "3")] + pub dmkfeccmcop: u32, + #[prost(uint32, tag = "13")] + pub gpaeljhnaek: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9760)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hbfcphmligl { + #[prost(uint32, tag = "8")] + pub target_uid: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Djblifkflpo { + #[prost(uint32, tag = "1")] + pub dekgjkaicja: u32, + #[prost(uint32, tag = "4")] + pub kbianhciije: u32, + #[prost(uint32, tag = "7")] + pub anfnkobfmie: u32, + #[prost(uint32, tag = "8")] + pub aecnolhaill: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28895)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jnphcnfgedb { + #[prost(message, repeated, tag = "2")] + pub nhmokfmcfee: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "5")] + pub neijigcohad: u32, + #[prost(uint32, tag = "11")] + pub mmfkdhalglg: u32, + #[prost(uint32, tag = "12")] + pub gghkdjlgfpb: u32, + #[prost(uint32, tag = "14")] + pub eopffipdkgn: u32, + #[prost(int32, tag = "15")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1898)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fbfgbikidib { + #[prost(uint32, repeated, tag = "6")] + pub hcfciioklkb: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "8")] + pub flkpgmlnfgf: u32, + #[prost(uint32, tag = "11")] + pub hpbphgoeaka: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1495)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ackhnbmmhan { + #[prost(message, repeated, tag = "9")] + pub nmioeeppfgj: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3196)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dkbcombnbik { + #[prost(bool, tag = "14")] + pub akdgmpmndfc: bool, + #[prost(uint64, tag = "1")] + pub gedmdocolfj: u64, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Molmlgeokil { + #[prost(message, repeated, tag = "13")] + pub mcdijkphlno: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fccefpnfmbh { + #[prost(map = "uint32, uint32", tag = "15")] + pub aiipdkefhba: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28777)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jkgnmegieoi { + #[prost(int32, tag = "9")] + pub retcode: i32, + #[prost(message, optional, tag = "10")] + pub nfifnaleppi: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Npkgomckaci { + #[prost(message, repeated, tag = "4")] + pub mcdijkphlno: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22980)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pabbjjjheka { + #[prost(int32, tag = "11")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28016)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kfpmnfjaglo { + #[prost(int32, tag = "8")] + pub retcode: i32, + #[prost(uint32, tag = "12")] + pub acohjbclcjd: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aknanpnejlp { + #[prost(int32, repeated, tag = "1")] + pub abkebabahpk: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "2")] + pub pjiaolagoai: i32, + #[prost(enumeration = "Igbmhjdnidc", repeated, tag = "5")] + pub lkaogkmdaam: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fmkkailppji { + #[prost(map = "uint32, message", tag = "7")] + pub kjjdncgamff: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8575)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cbkpcllmcjm { + #[prost(int32, tag = "4")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24233)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gdllnecmnob { + #[prost(message, repeated, tag = "12")] + pub dmkgnhlomka: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cemhchhjokl { + #[prost(message, repeated, tag = "6")] + pub kfapijcgdbc: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25396)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Egimgelhhko { + #[prost(uint32, tag = "3")] + pub jjpcpmfdneh: u32, + #[prost(uint32, tag = "6")] + pub blmplkibihp: u32, + #[prost(uint32, tag = "11")] + pub pifadjgjcmn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26727)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cahphfkdcli {} +#[derive(proto_gen::CmdID)] +#[cmdid(1000)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hdjllfnaiae { + #[prost(uint32, tag = "6")] + pub level: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23578)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eahaeeoemek { + #[prost(int32, tag = "3")] + pub retcode: i32, + #[prost(uint32, tag = "13")] + pub khhibkpbkpn: u32, + #[prost(message, optional, tag = "14")] + pub nfbbohidhil: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22478)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hlamopalfig { + #[prost(int32, tag = "8")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6546)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hjngnegpdje { + #[prost(uint32, tag = "8")] + pub avatar_id: u32, + #[prost(int32, tag = "14")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21448)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jnibecjhged { + #[prost(int32, tag = "3")] + pub retcode: i32, + #[prost(message, optional, tag = "4")] + pub nkldeolfebp: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6604)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ifemkgalemm { + #[prost(uint32, tag = "3")] + pub inehpogkbmd: u32, + #[prost(uint64, tag = "7")] + pub avatar_guid: u64, + #[prost(int32, tag = "9")] + pub retcode: i32, + #[prost(uint32, tag = "14")] + pub ghiaogllldi: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9890)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kbplmfmcddg { + #[prost(uint32, repeated, tag = "14")] + pub olpbbgienff: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2347)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fcngiokbjmi { + #[prost(int32, tag = "7")] + pub retcode: i32, + #[prost(string, tag = "11")] + pub version: ::prost::alloc::string::String, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23956)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gdfdkcadbfk { + #[prost(message, repeated, tag = "14")] + pub djhnhpipfba: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24094)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Afdlgajfghc { + #[prost(int32, tag = "5")] + pub retcode: i32, + #[prost(uint32, tag = "6")] + pub ocmhgmlnhjd: u32, + #[prost(uint32, tag = "11")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(245)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aepjnehpjhp { + #[prost(uint32, tag = "2")] + pub ndbmlahhnjn: u32, + #[prost(uint32, tag = "4")] + pub ehggbfhklmg: u32, + #[prost(uint64, tag = "8")] + pub opbnfdpdjgd: u64, + #[prost(int32, tag = "12")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bkcpfciemae { + #[prost(float, tag = "1")] + pub cdjmjlahfgk: f32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29320)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cipngcdihdj { + #[prost(uint32, tag = "7")] + pub omgchbachci: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Npjbbeknfbp { + #[prost(map = "uint32, uint32", tag = "7")] + pub nineiahajpk: ::std::collections::HashMap, + #[prost(uint32, tag = "11")] + pub ohkidhnabib: u32, + #[prost(uint32, tag = "12")] + pub comefdoonhd: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24828)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gefdfpokokg {} +#[derive(proto_gen::CmdID)] +#[cmdid(23843)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ljnfldhhmnf { + #[prost(bool, tag = "7")] + pub innefhgkaim: bool, + #[prost(int32, tag = "8")] + pub retcode: i32, + #[prost(bool, tag = "12")] + pub ajlcedmppie: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22926)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ofmmgkhdepe { + #[prost(uint32, tag = "10")] + pub ohkidhnabib: u32, + #[prost(int32, tag = "15")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25560)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nnbjfgbppdb { + #[prost(message, optional, tag = "2")] + pub kkonlphiahe: ::core::option::Option, + #[prost(uint32, tag = "10")] + pub entity_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25756)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fmpffpfeagk { + #[prost(bool, tag = "1")] + pub nofkhedpmpp: bool, + #[prost(bool, tag = "6")] + pub lkcaeopcfoc: bool, + #[prost(int32, tag = "10")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Imgbdnmdgpd { + #[prost(uint32, tag = "1")] + pub gpdogmpijfc: u32, + #[prost(uint32, tag = "9")] + pub dmkfeccmcop: u32, + #[prost(bool, tag = "13")] + pub ecihdijcled: bool, + #[prost(oneof = "imgbdnmdgpd::Detail", tags = "5, 6, 7")] + pub detail: ::core::option::Option, +} +/// Nested message and enum types in `IMGBDNMDGPD`. +pub mod imgbdnmdgpd { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Detail { + #[prost(message, tag = "5")] + MusicInfo(super::Ahnhpbhfapn), + #[prost(message, tag = "6")] + FallInfo(super::Akoiabnkomp), + #[prost(message, tag = "7")] + BalloonInfo(super::Pgildafjiho), + } +} +#[derive(proto_gen::CmdID)] +#[cmdid(25422)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lihpblfblmb { + #[prost(uint32, tag = "15")] + pub mempkcgnnmf: u32, + #[prost(uint32, tag = "2")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26957)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pakcjclmnmg { + #[prost(int32, tag = "6")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27241)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kalkahlnljb { + #[prost(uint32, tag = "1")] + pub hghmffpaboo: u32, + #[prost(message, repeated, tag = "2")] + pub gfjficfildi: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "3")] + pub aiihckimnnn: u32, + #[prost(uint32, tag = "4")] + pub flbfcpekoje: u32, + #[prost(uint32, tag = "5")] + pub hpepelcajbj: u32, + #[prost(uint32, tag = "6")] + pub fckcnhkoabi: u32, + #[prost(int32, tag = "7")] + pub retcode: i32, + #[prost(uint32, tag = "8")] + pub keaaloaehcm: u32, + #[prost(uint32, tag = "9")] + pub kijjbikfdkn: u32, + #[prost(uint32, tag = "10")] + pub khdgppfkkoi: u32, + #[prost(uint32, tag = "11")] + pub clkpaggjmac: u32, + #[prost(uint32, tag = "12")] + pub kgldfijajie: u32, + #[prost(uint32, tag = "13")] + pub ahbcofjamcp: u32, + #[prost(uint32, tag = "14")] + pub kpidllgnojf: u32, + #[prost(uint32, tag = "15")] + pub anhigelnhkp: u32, + #[prost(bool, tag = "390")] + pub jdaefkhfkka: bool, + #[prost(uint32, tag = "611")] + pub afbcgipiakc: u32, + #[prost(bool, tag = "684")] + pub dbnkdmfdcng: bool, + #[prost(uint32, tag = "851")] + pub ncffdckbeli: u32, + #[prost(bool, tag = "1270")] + pub hnlmmobiobe: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7150)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Impgcbmljio { + #[prost(int32, tag = "1")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bhmkllpggan { + #[prost(uint64, tag = "3")] + pub avatar_guid: u64, + #[prost(bool, tag = "8")] + pub dohhenfngpe: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ikemojjiook { + #[prost(message, optional, tag = "1")] + pub iaknhjgcpgl: ::core::option::Option, + #[prost(uint32, tag = "7")] + pub entity_id: u32, + #[prost(int32, repeated, tag = "10")] + pub lncigfcjcaa: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oigfgeaeheo { + #[prost(map = "uint32, int32", tag = "1")] + pub hfenjdappbm: ::std::collections::HashMap, + #[prost(uint32, tag = "3")] + pub lhlgjeonmdl: u32, + #[prost(uint32, tag = "5")] + pub poalempcfof: u32, + #[prost(uint32, tag = "10")] + pub lanbakkbbgh: u32, + #[prost(bool, tag = "11")] + pub dmedoehomkh: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8366)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Diifgcmiemo { + #[prost(int32, tag = "1")] + pub retcode: i32, + #[prost(uint64, repeated, tag = "7")] + pub ibphcajngei: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "9")] + pub oiphhklaibf: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Efenjagbgmf { + #[prost(uint32, tag = "2")] + pub djblekfbkmd: u32, + #[prost(uint32, tag = "4")] + pub pfegabjgamf: u32, + #[prost(bool, tag = "7")] + pub eialjbaengj: bool, + #[prost(bool, tag = "10")] + pub ecihdijcled: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9426)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nbdekdelfpp { + #[prost(uint32, tag = "1")] + pub omnkhjbmgkl: u32, + #[prost(uint64, tag = "3")] + pub avatar_guid: u64, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25205)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Libmfiidela { + #[prost(int32, tag = "13")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5853)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Andbffmefck { + #[prost(uint32, tag = "1")] + pub entity_id: u32, + #[prost(message, optional, tag = "6")] + pub pfpfhkgaifj: ::core::option::Option, + #[prost(enumeration = "Igohjibcdfa", tag = "9")] + pub lkidbhiooog: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20383)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Clpplcengdm { + #[prost(bool, tag = "1")] + pub ogppjhabdee: bool, + #[prost(message, repeated, tag = "3")] + pub mfapnmchemg: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "8")] + pub kenikecfflm: u32, + #[prost(uint32, tag = "10")] + pub reason: u32, + #[prost(bool, tag = "11")] + pub bjjebhbfhob: bool, + #[prost(message, repeated, tag = "12")] + pub item_list: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "13")] + pub igcobpmnife: bool, + #[prost(message, optional, tag = "14")] + pub position: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23477)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cdfgkakjjon { + #[prost(int32, tag = "6")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25408)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fjmpgdnnmna { + #[prost(uint32, tag = "13")] + pub ljdmbidhpji: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2429)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Agmoeioeikn { + #[prost(uint32, tag = "12")] + pub mempkcgnnmf: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hfojehjafic { + #[prost(message, optional, tag = "8")] + pub rot: ::core::option::Option, + #[prost(message, optional, tag = "13")] + pub pos: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27292)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lkanfjnekae { + #[prost(message, optional, tag = "15")] + pub mhfdgagiepa: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26770)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kcfblagkdhe { + #[prost(uint32, tag = "9")] + pub keclbcogahi: u32, + #[prost(uint32, tag = "3")] + pub gbcebgkbjdm: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4726)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Amnnndhbcng { + #[prost(message, repeated, tag = "4")] + pub ncohdkjjpkf: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7560)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hmkojnlmelh {} +#[derive(proto_gen::CmdID)] +#[cmdid(9269)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Emnhneloaol { + #[prost(int32, tag = "4")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22607)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lnidadkafli { + #[prost(uint32, tag = "2")] + pub bhkedlmdgpm: u32, + #[prost(uint32, tag = "9")] + pub omgchbachci: u32, + #[prost(bool, tag = "14")] + pub dmedoehomkh: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28296)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jlhlhcmpcbk { + #[prost(int32, tag = "9")] + pub retcode: i32, + #[prost(uint32, tag = "12")] + pub name_id: u32, + #[prost(uint32, tag = "15")] + pub dmlcigbdpii: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mbbadjdnlkf { + #[prost(message, optional, tag = "10")] + pub ncmmbchombo: ::core::option::Option, + #[prost(bool, tag = "15")] + pub giacdaphfao: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2304)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ipoofoblbmc {} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aifbbpogcdc { + #[prost(int32, tag = "1")] + pub gnjcidhobia: i32, + #[prost(enumeration = "Pcfijjmkglb", tag = "12")] + pub r#type: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Omijfbdkonf { + #[prost(uint32, tag = "6")] + pub ijffkcgiaoj: u32, + #[prost(uint32, tag = "8")] + pub param: u32, + #[prost(uint32, tag = "9")] + pub ndehkhcalmf: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4825)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eiofiehhkib { + #[prost(bool, tag = "13")] + pub fdcnbclcdfk: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8670)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nnfnfndecck { + #[prost(message, optional, tag = "5")] + pub mhkfilfibke: ::core::option::Option, + #[prost(int32, tag = "9")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8207)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mckciiacbpk { + #[prost(uint32, tag = "5")] + pub khhibkpbkpn: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ldhbdignhcl { + #[prost(uint32, repeated, tag = "1")] + pub ilcgedomomo: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6481)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hnkpennokld { + #[prost(bool, tag = "6")] + pub dggckmikbmo: bool, + #[prost(bool, tag = "9")] + pub jiglgehaajk: bool, + #[prost(uint64, tag = "11")] + pub dcompdppdpo: u64, + #[prost(uint32, tag = "14")] + pub jlfheeipddp: u32, + #[prost(int32, tag = "15")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4172)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aofgckpldei { + #[prost(int32, tag = "10")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Poklpbjoigi { + #[prost(uint32, tag = "4")] + pub costume_id: u32, + #[prost(uint32, tag = "9")] + pub avatar_id: u32, + #[prost(uint64, tag = "14")] + pub guid: u64, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24213)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ggobdmggbma { + #[prost(int32, tag = "1")] + pub retcode: i32, + #[prost(uint32, tag = "5")] + pub lgcopnjbcnf: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7864)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oiighoiglgh { + #[prost(int32, tag = "1")] + pub retcode: i32, + #[prost(uint32, tag = "6")] + pub ljjbkffffmc: u32, + #[prost(uint32, tag = "9")] + pub goakcbglbmj: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dhpnfbffoef { + #[prost(message, repeated, tag = "15")] + pub cbenkjeocil: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5189)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dcladdpbgcb { + #[prost(map = "uint32, uint32", tag = "11")] + pub fmhodgopcgj: ::std::collections::HashMap, + #[prost(uint32, tag = "14")] + pub khhibkpbkpn: u32, + #[prost(uint32, tag = "15")] + pub onabdgfcpih: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Amifccdhbcp { + #[prost(uint32, repeated, tag = "2")] + pub mbdfkfepnga: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "3")] + pub bkmijhdkgfc: u32, + #[prost(bool, tag = "4")] + pub ecihdijcled: bool, + #[prost(uint32, tag = "5")] + pub pjjaoilbfbn: u32, + #[prost(bool, tag = "11")] + pub jhfmeficaal: bool, + #[prost(uint32, tag = "14")] + pub gpaeljhnaek: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4763)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Caajcjdafap { + #[prost(uint32, tag = "7")] + pub bcglgcjjifh: u32, + #[prost(uint32, tag = "2")] + pub onabdgfcpih: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Obbcmgomkci { + #[prost(bool, tag = "1")] + pub fnhbajobeid: bool, + #[prost(uint32, tag = "2")] + pub dpcjjlmldnm: u32, + #[prost(uint32, tag = "7")] + pub pfbhahgjgfh: u32, + #[prost(message, repeated, tag = "8")] + pub leglpgmhnak: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "11")] + pub ldehfnnmjjj: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "12")] + pub version: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1010)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lnephnkgbia { + #[prost(uint32, tag = "6")] + pub costume_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Phlflgngojj { + #[prost(message, repeated, tag = "4")] + pub gocbhmdladb: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22865)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mecbdcoaffl { + #[prost(bool, tag = "2")] + pub jpinaohpbbk: bool, + #[prost(uint32, tag = "6")] + pub ikobfndgfmi: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26059)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hcfdkbdlnhj { + #[prost(uint32, tag = "13")] + pub lgooidciaag: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22746)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Anmfljpikag { + #[prost(message, optional, tag = "11")] + pub bimmhjbdpej: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26810)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bdhhojppghk { + #[prost(int32, tag = "4")] + pub retcode: i32, + #[prost(message, optional, tag = "13")] + pub fnbpgfaglkf: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25015)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cfmchmlhbje { + #[prost(message, repeated, tag = "4")] + pub apndffijkdm: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "13")] + pub mhfddmdclck: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bhgjfjlcbgi { + #[prost(message, optional, tag = "4")] + pub mhfdgagiepa: ::core::option::Option, + #[prost(uint32, tag = "5")] + pub cnbbmpejehb: u32, + #[prost(float, tag = "6")] + pub mjpdbgbpbel: f32, + #[prost(uint32, tag = "7")] + pub dekhbeooien: u32, + #[prost(uint32, tag = "9")] + pub naccggjjefl: u32, + #[prost(uint32, tag = "10")] + pub bmccedcpbnf: u32, + #[prost(uint32, tag = "11")] + pub fgdafkpblmh: u32, + #[prost(message, repeated, tag = "12")] + pub bfbomboinpj: ::prost::alloc::vec::Vec, + #[prost(map = "uint32, uint32", tag = "15")] + pub kbckkpnlbjc: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1957)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pakhelpikll { + #[prost(uint32, tag = "1")] + pub ghiaogllldi: u32, + #[prost(int32, tag = "4")] + pub retcode: i32, + #[prost(uint32, tag = "8")] + pub position: u32, + #[prost(uint32, tag = "13")] + pub khhibkpbkpn: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aichhobnijk { + #[prost(oneof = "aichhobnijk::Neolbfjnjna", tags = "1, 2")] + pub neolbfjnjna: ::core::option::Option, +} +/// Nested message and enum types in `AICHHOBNIJK`. +pub mod aichhobnijk { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Neolbfjnjna { + #[prost(string, tag = "1")] + Str(::prost::alloc::string::String), + #[prost(uint32, tag = "2")] + Hash(u32), + } +} +#[derive(proto_gen::CmdID)] +#[cmdid(9584)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mmebhplionk { + #[prost(int32, tag = "11")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ibommpckklg { + #[prost(uint32, tag = "1")] + pub gbamhbbfpkn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5748)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Knngjfdcfnd { + #[prost(uint64, tag = "5")] + pub mleambigbfc: u64, + #[prost(string, tag = "11")] + pub candmcipijg: ::prost::alloc::string::String, + #[prost(string, tag = "14")] + pub pcapihekaoo: ::prost::alloc::string::String, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3734)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct AvatarTeamAllDataNotify { + #[prost(uint32, repeated, tag = "1")] + pub backup_avatar_team_order_list: ::prost::alloc::vec::Vec, + #[prost(uint64, repeated, tag = "5")] + pub temp_avatar_guid_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "12")] + pub cur_avatar_team_id: u32, + #[prost(map = "uint32, message", tag = "15")] + pub avatar_team_map: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27698)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lllbnhdlbaj { + #[prost(uint32, tag = "8")] + pub mhjeokngcdf: u32, + #[prost(int32, tag = "12")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(323)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hlfbeahfpnp { + #[prost(uint32, tag = "14")] + pub target_uid: u32, + #[prost(bool, tag = "12")] + pub dmnhppkfbni: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6751)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dogmnhldfkj { + #[prost(uint32, tag = "4")] + pub scene_id: u32, + #[prost(message, repeated, tag = "11")] + pub olamgiolbcg: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dddiagdhdho { + #[prost(uint32, tag = "1")] + pub cbdgfeomfig: u32, + #[prost(uint32, tag = "3")] + pub njmeoanobdd: u32, + #[prost(uint32, tag = "5")] + pub ehejdjoeind: u32, + #[prost(uint32, tag = "6")] + pub dfdajmdfked: u32, + #[prost(message, repeated, tag = "9")] + pub mncimgkbckh: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "12")] + pub skill_id: u32, + #[prost(uint32, tag = "15")] + pub eclpjkhfdne: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20047)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lkaphadcgce { + #[prost(enumeration = "Himmemhogfb", tag = "2")] + pub mfmlakbiaed: i32, + #[prost(uint64, tag = "10")] + pub dcompdppdpo: u64, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hmphknocgpj { + #[prost(uint32, tag = "1")] + pub pglajfafgai: u32, + #[prost(uint32, tag = "8")] + pub ihlnecmiifp: u32, + #[prost(uint32, tag = "9")] + pub ilpjbepjdlp: u32, + #[prost(enumeration = "Jgjlfaeigaj", tag = "10")] + pub jegelnbdkbk: i32, + #[prost(uint32, tag = "11")] + pub hkeeinbhfhm: u32, + #[prost(uint32, tag = "14")] + pub pfaiipmaneo: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Knplimembkj { + #[prost(message, repeated, tag = "3")] + pub dhajoibfjjn: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "8")] + pub nhjlohhkhff: ::core::option::Option, + #[prost(bool, tag = "12")] + pub hijkjkmnpek: bool, + #[prost(bool, tag = "13")] + pub ijfkopojcdg: bool, + #[prost(message, repeated, tag = "14")] + pub hfclbkfpoje: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(240)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aapenfejjdj { + #[prost(uint32, tag = "8")] + pub ilieopgmdgo: u32, + #[prost(uint32, tag = "14")] + pub cjcjonhpiio: u32, + #[prost(uint32, tag = "10")] + pub fbbbjnhiplf: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(50)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Onepffeabid { + #[prost(uint32, tag = "8")] + pub config_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27059)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gikenponhbh { + #[prost(uint32, tag = "8")] + pub cjmhjhijmjn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1684)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gjoafpoapid { + #[prost(message, repeated, tag = "3")] + pub jhgochfckej: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "5")] + pub ocfienlfjck: u32, + #[prost(uint32, tag = "7")] + pub emmffkcnboi: u32, + #[prost(uint32, tag = "10")] + pub bndbacffgkm: u32, + #[prost(uint32, tag = "15")] + pub kleoleibpkd: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5131)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gcngloddjln { + #[prost(message, repeated, tag = "6")] + pub ehcoglilggh: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3984)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Elfdjceafjh { + #[prost(uint32, tag = "1")] + pub cjfgadhmeol: u32, + #[prost(int32, tag = "2")] + pub retcode: i32, + #[prost(uint32, tag = "10")] + pub item_id: u32, + #[prost(uint64, tag = "13")] + pub guid: u64, + #[prost(uint64, tag = "15")] + pub bochklkfmik: u64, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kkkcegboegg { + #[prost(bool, tag = "9")] + pub eilhbjjepok: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ljbdgcbkfnd { + #[prost(uint32, repeated, tag = "5")] + pub ogjodgflein: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "7")] + pub phpfppidjkj: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Vector { + #[prost(float, tag = "1")] + pub x: f32, + #[prost(float, tag = "2")] + pub y: f32, + #[prost(float, tag = "3")] + pub z: f32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26592)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aabfajclkjd { + #[prost(uint32, tag = "6")] + pub pjjaoilbfbn: u32, + #[prost(int32, tag = "8")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jodebjoioah { + #[prost(map = "uint32, uint32", tag = "1")] + pub ljcknoihdhe: ::std::collections::HashMap, + #[prost(float, tag = "3")] + pub dmiliadhjbf: f32, + #[prost(uint32, tag = "4")] + pub attack_target_id: u32, + #[prost(float, tag = "5")] + pub iilmlliioia: f32, + #[prost(uint32, tag = "6")] + pub gljpognfgfn: u32, + #[prost(uint32, tag = "7")] + pub entity_id: u32, + #[prost(uint32, tag = "9")] + pub flhcocnhmlf: u32, + #[prost(float, tag = "10")] + pub hlpklppdbik: f32, + #[prost(uint32, tag = "11")] + pub apeodmifelc: u32, + #[prost(float, tag = "12")] + pub loneolkjmed: f32, + #[prost(message, repeated, tag = "13")] + pub baiafmcleii: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "15")] + pub kjpeljbgigh: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26024)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oalpeggkbil { + #[prost(uint32, tag = "1")] + pub mempkcgnnmf: u32, + #[prost(int32, tag = "3")] + pub retcode: i32, + #[prost(message, repeated, tag = "4")] + pub dfdkbiadlnm: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "6")] + pub mngmfjcfmbc: u32, + #[prost(uint32, tag = "8")] + pub onabdgfcpih: u32, + #[prost(uint32, tag = "15")] + pub dikiefcchpa: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6200)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pklpgfhjmne { + #[prost(message, optional, tag = "11")] + pub elbfhelkamj: ::core::option::Option, + #[prost(int32, tag = "4")] + pub jjfpfmpjema: i32, + #[prost(uint32, tag = "10")] + pub scene_id: u32, + #[prost(bool, tag = "3")] + pub pngmclgdcpc: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8175)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nbccmbbkdid {} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pbodmijnhpg { + #[prost(bool, tag = "2")] + pub dggckmikbmo: bool, + #[prost(uint32, tag = "3")] + pub fjhhikoihka: u32, + #[prost(uint32, tag = "4")] + pub ndmfhdbejap: u32, + #[prost(uint32, tag = "5")] + pub kill_num: u32, + #[prost(uint32, tag = "7")] + pub diggffkgodj: u32, + #[prost(uint32, tag = "9")] + pub dekhbeooien: u32, + #[prost(uint32, tag = "11")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Loaakakfeej { + #[prost(message, repeated, tag = "6")] + pub bfbomboinpj: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "7")] + pub mhfdgagiepa: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25933)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eppfleheman { + #[prost(uint32, tag = "3")] + pub onnbpofecdg: u32, + #[prost(uint32, tag = "8")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29379)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bjifndjniml { + #[prost(uint32, tag = "7")] + pub omnkhjbmgkl: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7002)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Canfjjogcnk { + #[prost(uint32, tag = "5")] + pub gghkdjlgfpb: u32, + #[prost(int32, tag = "9")] + pub retcode: i32, + #[prost(message, optional, tag = "15")] + pub dejoimafmck: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21585)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Globkkfkmhh { + #[prost(message, optional, tag = "14")] + pub neoilleiibo: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4446)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aolgdlcdidg {} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Noccejmpobm { + #[prost(bool, tag = "3")] + pub ecihdijcled: bool, + #[prost(uint32, tag = "5")] + pub dmnldppgokg: u32, + #[prost(uint32, tag = "10")] + pub jofbeiaclof: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9926)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cckdghoeaea {} +#[derive(proto_gen::CmdID)] +#[cmdid(27073)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Polfjliapbg { + #[prost(message, repeated, tag = "9")] + pub oijegkghpah: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kplkocfhdjo { + #[prost(uint32, tag = "5")] + pub epcpnhjnkbn: u32, + #[prost(uint32, tag = "8")] + pub peagfmgmeah: u32, + #[prost(uint32, tag = "10")] + pub gbaglgmgjhj: u32, + #[prost(uint32, tag = "14")] + pub acjpdgmfgnl: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22146)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iopgicdlhpc { + #[prost(uint32, repeated, tag = "3")] + pub gooonmahlnl: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "6")] + pub scene_id: u32, + #[prost(uint32, repeated, tag = "7")] + pub ofgoaefjhic: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "9")] + pub okmbhkdejce: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "15")] + pub idlmibckfdk: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1320)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Efngpnmmppi { + #[prost(uint32, repeated, tag = "13")] + pub iicooifholc: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Knbcehedice { + #[prost(message, optional, tag = "3")] + pub bepfmdkmfic: ::core::option::Option, + #[prost(bool, tag = "8")] + pub dggckmikbmo: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ffdnpjkbnco { + #[prost(message, repeated, tag = "2")] + pub data_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ahnmcdonjhe { + #[prost(message, repeated, tag = "9")] + pub dnpebapalek: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21798)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cnkfalhnggh { + #[prost(enumeration = "Himmemhogfb", tag = "3")] + pub mfmlakbiaed: i32, + #[prost(int32, tag = "6")] + pub retcode: i32, + #[prost(message, repeated, tag = "11")] + pub cdgfhbkoogn: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5445)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ipidakklino { + #[prost(uint32, repeated, tag = "6")] + pub mjiofgmcple: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29368)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fiegilbclna {} +#[derive(proto_gen::CmdID)] +#[cmdid(20967)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Loajepfpccg { + #[prost(uint32, tag = "12")] + pub anhigelnhkp: u32, + #[prost(uint32, tag = "9")] + pub kpidllgnojf: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3522)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ipcbpoapokf {} +#[derive(proto_gen::CmdID)] +#[cmdid(20438)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Laohhghppoo { + #[prost(uint32, tag = "6")] + pub jdhfhcfeonf: u32, + #[prost(uint32, tag = "7")] + pub uid: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(562)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jnmiidbopif { + #[prost(uint32, tag = "1")] + pub kobppjfjnpa: u32, + #[prost(uint32, tag = "5")] + pub bbailakngkc: u32, + #[prost(uint32, tag = "6")] + pub logmaglmogh: u32, + #[prost(uint32, tag = "7")] + pub jmjgdpddgbh: u32, + #[prost(uint32, tag = "12")] + pub cmpnlmkikap: u32, + #[prost(uint32, tag = "14")] + pub pdhfglfjdcc: u32, + #[prost(uint32, tag = "15")] + pub edmpdpocojo: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fnnnagjlfof { + #[prost( + oneof = "fnnnagjlfof::Oefomcabjbm", + tags = "1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 34, 49, 177, 182, 254, 332, 411, 449, 565, 595, 737, 950, 1103, 1244, 1255, 1407, 1504, 1606, 1742, 1909, 1921, 1968, 1976, 2000" + )] + pub oefomcabjbm: ::core::option::Option, +} +/// Nested message and enum types in `FNNNAGJLFOF`. +pub mod fnnnagjlfof { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Oefomcabjbm { + #[prost(message, tag = "1")] + PhaseChange(super::Flgbaggebcm), + #[prost(message, tag = "2")] + DiceReroll(super::Jccfiojlogg), + #[prost(message, tag = "3")] + Pass(super::Dmogjbhlbnb), + #[prost(message, tag = "5")] + SelectOnStage(super::Holeliegkci), + #[prost(message, tag = "6")] + SkillResult(super::Mehpdegadgm), + #[prost(message, tag = "7")] + UseSkill(super::Dbkcmecjhbj), + #[prost(message, tag = "8")] + AddCards(super::Gmpnndokoga), + #[prost(message, tag = "9")] + TokenChange(super::Pjbdlogghfm), + #[prost(message, tag = "10")] + RemoveCards(super::Ppcogllllbo), + #[prost(message, tag = "11")] + AddDice(super::Kdfgedgeamn), + #[prost(message, tag = "12")] + DiceRoll(super::Olbjnpgiiaf), + #[prost(message, tag = "13")] + CharDie(super::Kgipcpjckoc), + #[prost(message, tag = "14")] + MoveCard(super::Onelpglkohj), + #[prost(message, tag = "15")] + CostDice(super::Ekiahognhgg), + #[prost(message, tag = "34")] + NewCard(super::Lbihdalpknd), + #[prost(message, tag = "49")] + ModifyAdd(super::Jjhmjknbelh), + #[prost(message, tag = "177")] + WaitingListChange(super::Fmhchkndpof), + #[prost(message, tag = "182")] + UpdateController(super::Ehhnkoloaek), + #[prost(message, tag = "254")] + TransferCardToOpponent(super::Fcfhkhjfiap), + #[prost(message, tag = "332")] + OpTimer(super::Dnfiacdomng), + #[prost(message, tag = "411")] + CardHenshin(super::Lcbhgpljlno), + #[prost(message, tag = "449")] + GameOver(super::Ademkipfknf), + #[prost(message, tag = "565")] + UseSkillEnd(super::Niabidedmfl), + #[prost(message, tag = "595")] + CardUpdate(super::Mlkkibocgco), + #[prost(message, tag = "737")] + DuelDataChange(super::Fpkhmchidin), + #[prost(message, tag = "950")] + CostRevise(super::Mannmaoahkb), + #[prost(message, tag = "1103")] + ReactionBegin(super::Ocebldoobca), + #[prost(message, tag = "1244")] + NoDamageSkillResult(super::Dddiagdhdho), + #[prost(message, tag = "1255")] + SelectOnStageByEffect(super::Cdcpgkipnba), + #[prost(message, tag = "1407")] + SkillLimitsChange(super::Elapnkhihbj), + #[prost(message, tag = "1504")] + PveIntentionInfo(super::Hpgkmhknhdk), + #[prost(message, tag = "1606")] + ModifyRemove(super::Chjiblcebnf), + #[prost(message, tag = "1742")] + ZoneShuffle(super::Cjfoabaehad), + #[prost(message, tag = "1909")] + PhaseContinue(super::Jopccmbmllm), + #[prost(message, tag = "1921")] + ReactionEnd(super::Gidjakbjkgj), + #[prost(message, tag = "1968")] + UseLegend(super::Cnjgeafmjbo), + #[prost(message, tag = "1976")] + PveIntentionChange(super::Mlaiepdekjh), + #[prost(message, tag = "2000")] + ClientPerform(super::Bianhbhdlpc), + } +} +#[derive(proto_gen::CmdID)] +#[cmdid(743)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aaffhmomcnf { + #[prost(message, optional, tag = "3")] + pub pfogokingmb: ::core::option::Option, + #[prost(uint32, tag = "10")] + pub parent_quest_id: u32, + #[prost(bool, tag = "15")] + pub djoafmpojah: bool, + #[prost(uint32, tag = "2")] + pub kenikecfflm: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Geeakchdili { + #[prost(uint32, tag = "5")] + pub entity_id: u32, + #[prost(message, optional, tag = "7")] + pub glekhbclijf: ::core::option::Option, + #[prost(uint32, tag = "10")] + pub kgedpgankpc: u32, + #[prost(int32, tag = "11")] + pub bedacoieima: i32, + #[prost(uint32, tag = "14")] + pub jflklbdfbhj: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27036)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Abhilcojjll { + #[prost(int32, tag = "1")] + pub retcode: i32, + #[prost(string, tag = "12")] + pub epfpbkmomca: ::prost::alloc::string::String, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dhegfoiaapl { + #[prost(uint32, tag = "1")] + pub afjclenhanc: u32, + #[prost(bool, tag = "5")] + pub dphdagagbii: bool, + #[prost(map = "uint32, message", tag = "7")] + pub kjjdncgamff: ::std::collections::HashMap, + #[prost(message, optional, tag = "8")] + pub fhklekfemla: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26343)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nabflandmij { + #[prost(message, optional, tag = "10")] + pub dejoimafmck: ::core::option::Option, + #[prost(uint32, tag = "7")] + pub gghkdjlgfpb: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9164)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ilnfifneidh { + #[prost(uint32, tag = "7")] + pub entity_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Goipiabagcg { + #[prost(uint32, tag = "1")] + pub cmnkkdbhijg: u32, + #[prost(uint32, tag = "2")] + pub mkpaiddgmej: u32, + #[prost(uint32, repeated, tag = "7")] + pub kciilfebdgl: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "9")] + pub ibppbojmppn: u32, + #[prost(uint32, tag = "10")] + pub jpmnompmnei: u32, + #[prost(uint32, tag = "11")] + pub pgedcpgdigf: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23612)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hdhpeihfdgl { + #[prost(message, optional, tag = "7")] + pub ciflegckjei: ::core::option::Option, + #[prost(message, optional, tag = "14")] + pub fnbpgfaglkf: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24647)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ngicelojdbd { + #[prost(uint32, tag = "9")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22655)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Inkdhpcodpl { + #[prost(message, optional, tag = "12")] + pub nkkdocdejfg: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4442)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jenpngmieck { + #[prost(message, optional, tag = "9")] + pub gohpifbeioi: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9972)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mgffmdlbmmo { + #[prost(uint32, tag = "5")] + pub hmojpllgmkh: u32, + #[prost(message, repeated, tag = "8")] + pub efbplhdhlpb: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24186)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hkbljjjojoi { + #[prost(uint32, tag = "15")] + pub mhjeokngcdf: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kkmbkmajoji { + #[prost(bool, tag = "4")] + pub okfmbjjcdno: bool, + #[prost(uint32, tag = "7")] + pub player_uid: u32, + #[prost(uint32, tag = "9")] + pub ocmhgmlnhjd: u32, + #[prost(string, tag = "13")] + pub ppcokjjocoi: ::prost::alloc::string::String, + #[prost(message, repeated, tag = "15")] + pub kfapijcgdbc: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gmpnndokoga { + #[prost(uint32, repeated, tag = "3")] + pub gcbeeinchka: ::prost::alloc::vec::Vec, + #[prost(enumeration = "Ihacnpjbldi", tag = "5")] + pub fiiaknpdpnj: i32, + #[prost(uint32, tag = "6")] + pub pos: u32, + #[prost(enumeration = "Eegmnipnkmj", tag = "11")] + pub reason: i32, + #[prost(uint32, tag = "12")] + pub fbpgimlmdnj: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25658)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gdolhgngoal { + #[prost(uint64, tag = "3")] + pub avatar_guid: u64, + #[prost(uint32, tag = "5")] + pub kcinbomoigl: u32, + #[prost(int32, tag = "8")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Flpojomkojk { + #[prost(bool, tag = "10")] + pub jhfmeficaal: bool, + #[prost(uint32, tag = "11")] + pub pjjaoilbfbn: u32, + #[prost(bool, tag = "12")] + pub ecihdijcled: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jcnohcdngbj { + #[prost(uint32, tag = "2")] + pub dekhbeooien: u32, + #[prost(uint32, tag = "3")] + pub bhkedlmdgpm: u32, + #[prost(message, optional, tag = "12")] + pub mhfdgagiepa: ::core::option::Option, + #[prost(uint32, tag = "14")] + pub ncnkmdbafeh: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29482)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Obhgflhapmb { + #[prost(int32, tag = "11")] + pub retcode: i32, + #[prost(uint32, tag = "12")] + pub pjjaoilbfbn: u32, + #[prost(bool, tag = "13")] + pub emlilmhjhog: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hgmmdegfemk { + #[prost(enumeration = "AvatarExpeditionState", tag = "1")] + pub state: i32, + #[prost(uint32, tag = "2")] + pub cccgnognokn: u32, + #[prost(uint32, tag = "3")] + pub ngjdfgchcak: u32, + #[prost(uint32, tag = "4")] + pub ojoapinglno: u32, + #[prost(float, tag = "5")] + pub enbleodhoae: f32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bmghkidpooh { + #[prost(uint32, tag = "1")] + pub uid: u32, + #[prost(string, tag = "2")] + pub bkdilgijpeg: ::prost::alloc::string::String, + #[prost(uint32, tag = "3")] + pub level: u32, + #[prost(uint32, tag = "4")] + pub avatar_id: u32, + #[prost(string, tag = "5")] + pub pbigganlbdh: ::prost::alloc::string::String, + #[prost(message, optional, tag = "6")] + pub jcimgdhmmln: ::core::option::Option, + #[prost(uint32, tag = "7")] + pub obfcjpojmom: u32, + #[prost(uint32, repeated, tag = "8")] + pub iafiakhnogk: ::prost::alloc::vec::Vec, + #[prost(enumeration = "Aplkolhcome", tag = "9")] + pub oikmlefopaf: i32, + #[prost(uint32, tag = "10")] + pub param: u32, + #[prost(bool, tag = "11")] + pub pljkolbmkhd: bool, + #[prost(bool, tag = "12")] + pub ndbmjekkcgp: bool, + #[prost(string, tag = "13")] + pub kamjijolfkj: ::prost::alloc::string::String, + #[prost(uint32, tag = "14")] + pub pkicaibdchd: u32, + #[prost(bool, tag = "15")] + pub lcdifkegebh: bool, + #[prost(bool, tag = "16")] + pub pgeefgkfcmb: bool, + #[prost(string, tag = "17")] + pub ocmpadiifcd: ::prost::alloc::string::String, + #[prost(uint32, tag = "18")] + pub hggjfbdabme: u32, + #[prost(uint32, tag = "19")] + pub dminighigbj: u32, + #[prost(uint32, tag = "20")] + pub lcllkcljlec: u32, + #[prost(bool, tag = "21")] + pub bbfhpffigai: bool, + #[prost(message, repeated, tag = "22")] + pub cadonpdcdbg: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "23")] + pub ebeecdalmkm: ::prost::alloc::vec::Vec, + #[prost(enumeration = "Fcfbaddhheo", tag = "24")] + pub occlnkdddne: i32, + #[prost(message, optional, tag = "25")] + pub blfkojlccoo: ::core::option::Option, + #[prost(string, tag = "26")] + pub jenllhdblhn: ::prost::alloc::string::String, + #[prost(uint32, tag = "27")] + pub cmoblnacdie: u32, + #[prost(uint32, tag = "28")] + pub gegboecjjmo: u32, + #[prost(uint32, tag = "32")] + pub mbolldbjpcp: u32, + #[prost(bool, tag = "33")] + pub bepnjolipfg: bool, + #[prost(uint32, tag = "34")] + pub flmfemcafhb: u32, + #[prost(uint32, tag = "35")] + pub mobmajijjgl: u32, + #[prost(enumeration = "Gbnikbfhhkp", tag = "36")] + pub gfkfjjoadmh: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6660)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hpkbbdalkoh { + #[prost(uint32, tag = "6")] + pub ghkeojdcmnp: u32, + #[prost(uint32, tag = "4")] + pub parent_quest_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1672)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Khhhfpaacjl { + #[prost(uint32, tag = "5")] + pub golcdocfolh: u32, + #[prost(uint32, repeated, tag = "7")] + pub hnkcgaleddb: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "9")] + pub retcode: i32, + #[prost(uint32, tag = "11")] + pub ljdmbidhpji: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7343)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PingReq { + #[prost(bytes = "vec", tag = "9")] + pub iinpbflaeep: ::prost::alloc::vec::Vec, + #[prost(bytes = "vec", tag = "3")] + pub pdhfgjibcla: ::prost::alloc::vec::Vec, + #[prost(double, tag = "1")] + pub total_tick_time: f64, + #[prost(uint64, tag = "12")] + pub nhllkphmfgp: u64, + #[prost(uint32, tag = "11")] + pub client_time: u32, + #[prost(uint32, tag = "10")] + pub dfalbbbcfmo: u32, + #[prost(uint32, tag = "7")] + pub seq: u32, + #[prost(float, tag = "13")] + pub ue_time: f32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29510)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cmnphmbfelo {} +#[derive(proto_gen::CmdID)] +#[cmdid(5358)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lienmamgigb { + #[prost(uint32, tag = "3")] + pub gbcebgkbjdm: u32, + #[prost(uint32, tag = "13")] + pub amiajegdehh: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22198)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ndeflgcegnh { + #[prost(map = "uint32, uint32", tag = "4")] + pub dnjdkhdfhop: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27977)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Endlmhknbgd { + #[prost(int32, tag = "3")] + pub retcode: i32, + #[prost(uint32, repeated, tag = "4")] + pub kbbfcmnbdpe: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "7")] + pub khhibkpbkpn: u32, + #[prost(uint32, tag = "11")] + pub uid: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7943)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Anpbafoleoi { + #[prost(bool, tag = "2")] + pub dmedoehomkh: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7774)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ijdnijijmfc { + #[prost(int32, tag = "1")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22307)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pfcicokeijf { + #[prost(int32, tag = "4")] + pub retcode: i32, + #[prost(uint32, tag = "8")] + pub pplchpohjal: u32, + #[prost(uint32, tag = "14")] + pub khhibkpbkpn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22738)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nhlfbpkahfh { + #[prost(uint32, tag = "13")] + pub khhibkpbkpn: u32, + #[prost(uint32, tag = "1")] + pub gbcebgkbjdm: u32, + #[prost(uint32, tag = "6")] + pub dfpnkfekiig: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27023)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mefaljimbdb { + #[prost(uint32, tag = "11")] + pub target_uid: u32, + #[prost(int32, tag = "15")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29876)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pdpafmlehlm { + #[prost(uint32, tag = "1")] + pub entity_id: u32, + #[prost(bool, tag = "12")] + pub hpllmgmpfio: bool, + #[prost(uint32, tag = "13")] + pub dekhbeooien: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29337)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bjikpdnhhfd { + #[prost(uint32, tag = "4")] + pub ihlceedfind: u32, + #[prost(uint32, tag = "7")] + pub group_id: u32, + #[prost(uint32, repeated, tag = "8")] + pub cdgfhbkoogn: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "11")] + pub nnebhhfhdcc: u32, + #[prost(uint32, repeated, tag = "12")] + pub dnijppkbcbd: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "13")] + pub icgekffjhbk: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pgfphfdmdpm { + #[prost(uint32, tag = "2")] + pub aebkgckleec: u32, + #[prost(uint32, tag = "10")] + pub ihlceedfind: u32, + #[prost(uint32, tag = "13")] + pub nnebhhfhdcc: u32, + #[prost(uint32, tag = "15")] + pub mhmmdimegdd: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3449)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ogfficmjnbe { + #[prost(message, repeated, tag = "12")] + pub cdgfhbkoogn: ::prost::alloc::vec::Vec, + #[prost(enumeration = "Himmemhogfb", tag = "4")] + pub mfmlakbiaed: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hpnneajipal { + #[prost(uint32, tag = "3")] + pub gbamhbbfpkn: u32, + #[prost(int32, repeated, tag = "6")] + pub ohdihophcld: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "11")] + pub kpbecglgibm: ::core::option::Option, + #[prost(bool, tag = "12")] + pub bggbfichoid: bool, + #[prost(uint32, tag = "15")] + pub guid: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kaanfenblpm { + #[prost(float, tag = "10")] + pub cogjlpkokmn: f32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4991)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nnpndannbhk { + #[prost(message, optional, tag = "1")] + pub oajfgefjngc: ::core::option::Option, + #[prost(message, repeated, tag = "7")] + pub gngjhljfjke: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "12")] + pub eokjicanpif: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fhnjfkilekp { + #[prost(uint32, tag = "3")] + pub pbhgaaifnbb: u32, + #[prost(uint32, tag = "12")] + pub gaplfmmgbfa: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3801)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gfbfpkmdedp {} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aphokepjage { + #[prost(uint32, tag = "4")] + pub lmdkhnjijhp: u32, + #[prost(uint32, tag = "11")] + pub flagfkmidgc: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9695)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mdglfoghnmh { + #[prost(message, optional, tag = "8")] + pub kkonlphiahe: ::core::option::Option, + #[prost(uint32, tag = "10")] + pub entity_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7140)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Efafnghmfje { + #[prost(uint32, tag = "6")] + pub jnhfpclboog: u32, + #[prost(uint32, tag = "1")] + pub bmolmcohkim: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct AvatarEnterSceneInfo { + #[prost(uint32, repeated, tag = "1")] + pub buff_id_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "2")] + pub avatar_entity_id: u32, + #[prost(message, optional, tag = "7")] + pub aobhcppmkma: ::core::option::Option, + #[prost(message, optional, tag = "9")] + pub pnanfpcioko: ::core::option::Option, + #[prost(uint64, tag = "10")] + pub avatar_guid: u64, + #[prost(message, repeated, tag = "12")] + pub server_buff_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "13")] + pub weapon_entity_id: u32, + #[prost(uint64, tag = "15")] + pub weapon_guid: u64, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4708)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gekaiopogcf { + #[prost(int32, tag = "10")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ggkckghbonn { + #[prost(uint32, tag = "10")] + pub ldmhplcdghi: u32, + #[prost(uint32, tag = "14")] + pub aickcgnkdii: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22512)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dejaaiceojj { + #[prost(uint32, tag = "1")] + pub group_id: u32, + #[prost(uint32, tag = "9")] + pub config_id: u32, + #[prost(bool, tag = "12")] + pub faejlbkoilg: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4648)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hcmddlhiahd { + #[prost(uint32, tag = "13")] + pub mnganmnnmjg: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1003)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cjbdbpkjibd { + #[prost(int32, tag = "5")] + pub retcode: i32, + #[prost(uint32, tag = "9")] + pub kenikecfflm: u32, + #[prost(uint32, tag = "12")] + pub podhdpcpjgj: u32, + #[prost(uint32, tag = "13")] + pub parent_quest_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4739)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Olgmkfpkkpp { + #[prost(message, optional, tag = "1")] + pub mjgkhhmkgkn: ::core::option::Option, + #[prost(uint32, tag = "4")] + pub gghkdjlgfpb: u32, + #[prost(int32, tag = "7")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24854)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ffplaklbmod { + #[prost(uint32, tag = "1")] + pub gfmmfbjpjmp: u32, + #[prost(uint32, tag = "4")] + pub entity_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26328)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fpjbdadacak { + #[prost(int32, tag = "5")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bckkdmmkdbe { + #[prost(uint32, tag = "2")] + pub pbkeaocbpmn: u32, + #[prost(uint32, repeated, tag = "4")] + pub knbifccible: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "5")] + pub dmnldppgokg: u32, + #[prost(uint32, tag = "8")] + pub mempkcgnnmf: u32, + #[prost(uint32, tag = "13")] + pub pjjaoilbfbn: u32, + #[prost(bool, tag = "14")] + pub dggckmikbmo: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bgicachlgin { + #[prost(message, repeated, tag = "7")] + pub cbenkjeocil: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28611)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Emgpfcbmmhk { + #[prost(message, optional, tag = "14")] + pub ollpljcdbdo: ::core::option::Option, + #[prost(int32, tag = "15")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ldoicebifmm { + #[prost(message, repeated, tag = "4")] + pub cbenkjeocil: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(826)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pnmjneegbdn { + #[prost(uint32, tag = "1")] + pub dmcjbimfkci: u32, + #[prost(uint32, repeated, tag = "3")] + pub ggbmhjflahd: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4960)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pgcgfolhjnk { + #[prost(uint32, tag = "6")] + pub target_uid: u32, + #[prost(int32, tag = "9")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1879)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ilmgefhloan { + #[prost(uint32, repeated, tag = "9")] + pub dlkekcdojbj: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "10")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25403)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ipdddbocfee { + #[prost(message, optional, tag = "10")] + pub ollpljcdbdo: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4133)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jnlcceaacng { + #[prost(uint32, repeated, tag = "1")] + pub ipkkbailkdi: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "3")] + pub retcode: i32, + #[prost(uint32, repeated, tag = "5")] + pub lfadnibldkc: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pejfkjhkfnl { + #[prost(message, optional, tag = "1")] + pub mineooknpig: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9460)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dnfndeddepd { + #[prost(int32, tag = "12")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23375)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jafkdacahfh { + #[prost(map = "uint32, string", tag = "2")] + pub kepmcgofdnf: ::std::collections::HashMap, + #[prost(uint32, tag = "11")] + pub bmmnpflapdi: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20720)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mnlggacdhof { + #[prost(uint32, tag = "6")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(144)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dgbgdldjiaf { + #[prost(uint32, tag = "6")] + pub entity_id: u32, + #[prost(message, optional, tag = "14")] + pub ability_control_block: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28235)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kikoichhdae { + #[prost(uint32, tag = "7")] + pub ejgkapalfjb: u32, + #[prost(uint32, tag = "14")] + pub cdmjgifefmd: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9714)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dpcckfcncig { + #[prost(uint32, tag = "2")] + pub khfffbadlcl: u32, + #[prost(bool, tag = "4")] + pub hppmegldgkf: bool, + #[prost(int32, tag = "13")] + pub retcode: i32, + #[prost(uint32, repeated, tag = "15")] + pub affix_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8106)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Niapkkkfmgc { + #[prost(uint64, tag = "7")] + pub dcompdppdpo: u64, + #[prost(enumeration = "Himmemhogfb", tag = "10")] + pub mfmlakbiaed: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4667)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kcpfmlpkcfg { + #[prost(uint32, tag = "11")] + pub gblenhcpkcp: u32, + #[prost(uint32, tag = "13")] + pub pfbhahgjgfh: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mmenhikocmf {} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Blhcpfcmdmi { + #[prost(uint32, tag = "5")] + pub bfpcnieejmi: u32, + #[prost(uint32, tag = "11")] + pub main_prop_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23026)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Icadbihigno {} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hdjkhdkcoah { + #[prost(bool, tag = "5")] + pub lhhbinhjaoe: bool, + #[prost(uint32, tag = "6")] + pub peajinifghm: u32, + #[prost(uint32, tag = "11")] + pub jlfheeipddp: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26507)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cpbfckcaigc { + #[prost(int32, tag = "13")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23114)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Akonokdlpli { + #[prost(uint32, tag = "4")] + pub khhibkpbkpn: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Holeliegkci { + #[prost(enumeration = "Eegmnipnkmj", tag = "2")] + pub reason: i32, + #[prost(uint32, tag = "4")] + pub phpfppidjkj: u32, + #[prost(uint32, tag = "12")] + pub fbpgimlmdnj: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26746)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Apomenomdif { + #[prost(string, tag = "5")] + pub lgnfafmphkd: ::prost::alloc::string::String, + #[prost(message, repeated, tag = "8")] + pub almbifelkaa: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "11")] + pub bjclebgakhc: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "13")] + pub cdocakchlkm: u32, + #[prost(oneof = "apomenomdif::Bnpjpjlnfbe", tags = "1019, 1502")] + pub bnpjpjlnfbe: ::core::option::Option, +} +/// Nested message and enum types in `APOMENOMDIF`. +pub mod apomenomdif { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Bnpjpjlnfbe { + #[prost(uint32, tag = "1019")] + SlotId(u32), + #[prost(uint32, tag = "1502")] + FurnitureSuiteId(u32), + } +} +#[derive(proto_gen::CmdID)] +#[cmdid(28244)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ahckkmmghab { + #[prost(bool, tag = "2")] + pub dhaomgmmdpd: bool, + #[prost(enumeration = "Himmemhogfb", tag = "9")] + pub mfmlakbiaed: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24635)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bejpbhgjido { + #[prost(int32, tag = "11")] + pub retcode: i32, + #[prost(message, optional, tag = "13")] + pub ilpjmahlgdk: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mjlfafcfegg { + #[prost(uint32, tag = "1")] + pub avatar_id: u32, + #[prost(uint32, tag = "2")] + pub level: u32, + #[prost(uint32, tag = "3")] + pub costume_id: u32, + #[prost(uint32, tag = "4")] + pub aepnhmcdbfl: u32, + #[prost(uint32, tag = "5")] + pub cmafekgpacg: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28396)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Galggejnphg { + #[prost(int32, tag = "14")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mgjjebecjbe { + #[prost(uint32, tag = "5")] + pub jddamhceape: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27657)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bknahbpgkbb { + #[prost(uint32, repeated, tag = "13")] + pub mkelecopffb: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "14")] + pub dfpnkfekiig: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hhmngnjbdfd { + #[prost(int32, repeated, tag = "12")] + pub cdgfhbkoogn: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21588)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bkfajlkcbjb { + #[prost(uint32, tag = "4")] + pub lnpjpiipebc: u32, + #[prost(uint32, tag = "5")] + pub target_uid: u32, + #[prost(int32, tag = "7")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26564)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pcabpljednd {} +#[derive(proto_gen::CmdID)] +#[cmdid(29409)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nbdfaaaokaj { + #[prost(int32, tag = "3")] + pub retcode: i32, + #[prost(uint32, tag = "5")] + pub ggammenpbim: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6147)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pfkeppnhhle { + #[prost(int32, tag = "2")] + pub retcode: i32, + #[prost(int32, tag = "8")] + pub jjfpfmpjema: i32, + #[prost(message, optional, tag = "14")] + pub ebobpnfjdoi: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Focfjfjnjnd { + #[prost(message, repeated, tag = "9")] + pub cbenkjeocil: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22606)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cimphgdhiim { + #[prost(uint32, tag = "4")] + pub ijffkcgiaoj: u32, + #[prost(uint32, tag = "9")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6964)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eapgbekbbmp { + #[prost(map = "uint32, uint32", tag = "7")] + pub onhblidiphk: ::std::collections::HashMap, + #[prost(uint32, tag = "14")] + pub khhibkpbkpn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8485)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lapcjbnmppk { + #[prost(message, optional, tag = "1")] + pub hnaeiapgffm: ::core::option::Option, + #[prost(uint32, tag = "3")] + pub khhibkpbkpn: u32, + #[prost(int32, tag = "9")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jhjnclfoame { + #[prost(uint32, repeated, tag = "2")] + pub tag_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "3")] + pub hjllldfoihm: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "4")] + pub cfmafkdljjg: u32, + #[prost(uint32, tag = "6")] + pub dkolojmpoml: u32, + #[prost(uint32, tag = "7")] + pub dgfnnclpbhf: u32, + #[prost(message, optional, tag = "8")] + pub efdekmdjaab: ::core::option::Option, + #[prost(bool, tag = "9")] + pub imhnjlnpgcj: bool, + #[prost(uint64, tag = "10")] + pub amiilbjpola: u64, + #[prost(uint32, tag = "13")] + pub mmndomkgebh: u32, + #[prost(bool, tag = "14")] + pub bdaabiinfpn: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fagnkjaojlk { + #[prost(uint32, tag = "6")] + pub bcglgcjjifh: u32, + #[prost(enumeration = "Gnhpbjnpknn", tag = "14")] + pub state: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8526)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ajciaijejho { + #[prost(uint32, tag = "9")] + pub nhbdoadldec: u32, + #[prost(uint32, tag = "11")] + pub ijajahbgiop: u32, + #[prost(uint32, tag = "15")] + pub fmfgmddbopn: u32, + #[prost(uint32, tag = "7")] + pub jjghmeolica: u32, + #[prost(uint32, tag = "4")] + pub cbmgkahomma: u32, + #[prost(uint32, tag = "12")] + pub fmhkjhhhpno: u32, + #[prost(uint32, tag = "2")] + pub ghdjjmikfpi: u32, + #[prost(uint32, tag = "13")] + pub ekbppleecbf: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5426)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hljeclfajff { + #[prost(uint32, tag = "2")] + pub uid: u32, + #[prost(uint32, tag = "1")] + pub khhibkpbkpn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8275)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Flocjfmhhlm { + #[prost(uint32, tag = "8")] + pub target_uid: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27638)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Halennlpknk { + #[prost(uint32, tag = "8")] + pub ghiaogllldi: u32, + #[prost(uint32, tag = "12")] + pub onabdgfcpih: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MonsterRoute { + #[prost(message, repeated, tag = "1")] + pub route_points: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "2")] + pub speed_level: u32, + #[prost(uint32, tag = "3")] + pub route_type: u32, + #[prost(float, tag = "4")] + pub arrive_range: f32, + #[prost(bool, tag = "5")] + pub ofdfdkhnjga: bool, + #[prost(bool, tag = "6")] + pub gpldnogebdi: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21360)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mppblnbnbhi { + #[prost(int32, tag = "4")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24527)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nlopffdomeg { + #[prost(uint32, repeated, tag = "13")] + pub kghjdebanmb: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fkjbeknnbpg { + #[prost(message, repeated, tag = "1")] + pub elhgkjojbmo: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "2")] + pub parent_quest_id: u32, + #[prost(uint64, tag = "3")] + pub jjdeofcjkjm: u64, + #[prost(map = "uint32, uint32", tag = "4")] + pub epfngpmmhme: ::std::collections::HashMap, + #[prost(message, optional, tag = "5")] + pub kmhcgjhbafa: ::core::option::Option, + #[prost(uint32, tag = "6")] + pub ndmcppieeoc: u32, + #[prost(int32, repeated, tag = "7")] + pub jiemdkokcle: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "8")] + pub ebjeadiigig: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "9")] + pub eialjbaengj: bool, + #[prost(bool, tag = "10")] + pub ckjmkgokned: bool, + #[prost(uint32, tag = "11")] + pub mepomjbblhd: u32, + #[prost(bool, tag = "12")] + pub mgijfmcbjke: bool, + #[prost(message, repeated, tag = "13")] + pub ahhodeacdal: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "14")] + pub cijpdpfkagi: u32, + #[prost(bool, tag = "15")] + pub dkbjpnmclhi: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cmaoknpacfh { + #[prost(uint32, tag = "2")] + pub iejhhmbobmj: u32, + #[prost(uint32, tag = "5")] + pub gadget_state: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ebohahfdkof { + #[prost(uint32, tag = "1")] + pub pjjaoilbfbn: u32, + #[prost(bool, tag = "8")] + pub ecihdijcled: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Odonnibpdcc { + #[prost(uint32, tag = "5")] + pub peajinifghm: u32, + #[prost(bool, tag = "11")] + pub ecihdijcled: bool, + #[prost(uint32, tag = "14")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2338)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fhccegpjdnm { + #[prost(message, repeated, tag = "10")] + pub efabhdimdeo: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5480)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kjenohefgnp { + #[prost(message, optional, tag = "13")] + pub lognndhodkh: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mkmcfllhpbh { + #[prost(message, repeated, tag = "1")] + pub mcdijkphlno: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "2")] + pub idehoepmakd: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9281)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Glccneopkff { + #[prost(int32, tag = "3")] + pub retcode: i32, + #[prost(message, repeated, tag = "7")] + pub ilnbhpkjkmg: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4992)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gfhjlmpnhoh { + #[prost(uint32, tag = "9")] + pub indikfknkab: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6888)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bbodmcppjih { + #[prost(message, repeated, tag = "6")] + pub jbpbkepkjke: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21819)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cpeicdnfpaj { + #[prost(uint32, tag = "12")] + pub kcinbomoigl: u32, + #[prost(uint64, tag = "9")] + pub avatar_guid: u64, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9555)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ahkpdoepiee { + #[prost(message, repeated, tag = "3")] + pub apanihmdbig: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "5")] + pub kchmokpjdii: bool, + #[prost(uint32, tag = "11")] + pub avatar_id: u32, + #[prost(uint32, tag = "13")] + pub reason: u32, + #[prost(int32, tag = "15")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dlnmifiodeb { + #[prost(bool, tag = "15")] + pub kocnpkmbage: bool, + #[prost(uint32, tag = "3")] + pub uid: u32, + #[prost(uint32, tag = "6")] + pub jlcipfeccpm: u32, + #[prost(uint32, tag = "1")] + pub ghdjjmikfpi: u32, + #[prost(uint32, tag = "5")] + pub jonfnjcajhg: u32, + #[prost(oneof = "dlnmifiodeb::Content", tags = "774, 808, 172")] + pub content: ::core::option::Option, +} +/// Nested message and enum types in `DLNMIFIODEB`. +pub mod dlnmifiodeb { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Content { + #[prost(uint32, tag = "774")] + Icon(u32), + #[prost(string, tag = "808")] + Text(::prost::alloc::string::String), + #[prost(message, tag = "172")] + SystemHint(super::Dfhjjlmbpfj), + } +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dfhjjlmbpfj { + #[prost(uint32, tag = "13")] + pub r#type: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Flcoinojgil { + #[prost(uint32, repeated, tag = "5")] + pub oidcaamggnp: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "6")] + pub kgipbhibobd: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23827)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ehhlfihjnmo { + #[prost(int32, tag = "4")] + pub retcode: i32, + #[prost(message, repeated, tag = "6")] + pub pjemkikefle: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bbaemoljpib { + #[prost(uint32, tag = "1")] + pub iiaeoofnejk: u32, + #[prost(uint32, tag = "2")] + pub end_time: u32, + #[prost(uint32, tag = "15")] + pub lgbnfifcpjf: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7228)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Alfcagedkpc { + #[prost(map = "uint32, uint32", tag = "1")] + pub dojojeplhap: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Epjopkdokje { + #[prost(uint32, tag = "4")] + pub naghinbjjdi: u32, + #[prost(uint32, tag = "12")] + pub gaplfmmgbfa: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4891)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ckmgmkpfjpf { + #[prost(uint32, tag = "12")] + pub omgchbachci: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1861)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nfikakpldbl { + #[prost(uint32, tag = "3")] + pub licmpidmcoi: u32, + #[prost(uint32, tag = "4")] + pub abpdhmjnbkd: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8977)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Njegelfllbp { + #[prost(uint32, tag = "2")] + pub fiapbncbbpb: u32, + #[prost(uint32, tag = "10")] + pub dfjmenlmiii: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21970)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ebelfgkaael {} +#[derive(proto_gen::CmdID)] +#[cmdid(27075)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Claoinaknop { + #[prost(bool, tag = "9")] + pub pjhpmjoonnb: bool, + #[prost(uint32, tag = "2")] + pub oboopjlpdni: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25336)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jmkidmacain { + #[prost(message, repeated, tag = "8")] + pub gjnffcfmoha: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "10")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23356)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mhgbaohbkgh { + #[prost(map = "uint32, uint32", tag = "2")] + pub fhpfegdnjdb: ::std::collections::HashMap, + #[prost(uint32, tag = "3")] + pub lgooidciaag: u32, + #[prost(bool, tag = "10")] + pub nfledllgeak: bool, + #[prost(bool, tag = "13")] + pub idpjmemjjfj: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ahhmjalnjoh { + #[prost(uint32, tag = "1")] + pub caigeknegjh: u32, + #[prost(uint32, tag = "9")] + pub pkjngfhapdj: u32, + #[prost(uint32, tag = "10")] + pub ehjhfencklj: u32, + #[prost(uint32, tag = "14")] + pub eaggobgkigj: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nibecadfheb { + #[prost(uint32, tag = "1")] + pub kniejlippmc: u32, + #[prost(enumeration = "Mgjhmbjagap", tag = "7")] + pub aiigjkjlbal: i32, + #[prost(bool, tag = "9")] + pub jcgjbpghfel: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29770)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct OpenStateUpdateNotify { + #[prost(map = "uint32, uint32", tag = "13")] + pub open_state_map: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dfkofahkanj { + #[prost(uint32, tag = "5")] + pub dmnldppgokg: u32, + #[prost(message, repeated, tag = "10")] + pub cbenkjeocil: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nglpfkjlofk { + #[prost(bool, tag = "2")] + pub ecihdijcled: bool, + #[prost(uint32, tag = "4")] + pub gpaeljhnaek: u32, + #[prost(uint32, tag = "7")] + pub mempkcgnnmf: u32, + #[prost(message, repeated, tag = "10")] + pub fobmfcdpieg: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "13")] + pub jhfmeficaal: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6787)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Llgogjibloj { + #[prost(int32, tag = "1")] + pub retcode: i32, + #[prost(message, repeated, tag = "14")] + pub daekjcabhef: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nmkgachbhhn { + #[prost(uint32, tag = "1")] + pub agienjjkpbe: u32, + #[prost(uint32, tag = "2")] + pub scene_id: u32, + #[prost(message, optional, tag = "3")] + pub ccnnjmkemlc: ::core::option::Option, + #[prost(float, tag = "4")] + pub fncogclpgnc: f32, + #[prost(uint32, tag = "12")] + pub lgokjkggbia: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Famjijchlng { + #[prost(message, repeated, tag = "7")] + pub cbenkjeocil: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ecljpebblno { + #[prost(bool, tag = "3")] + pub dphdagagbii: bool, + #[prost(message, optional, tag = "4")] + pub lopnclcjkjj: ::core::option::Option, + #[prost(message, optional, tag = "7")] + pub bnejocdiffh: ::core::option::Option, + #[prost(message, optional, tag = "10")] + pub pfceefmijeh: ::core::option::Option, + #[prost(message, optional, tag = "13")] + pub kbbbmdnkpjh: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ohjjhhgakbc { + #[prost(message, optional, tag = "1")] + pub blfkojlccoo: ::core::option::Option, + #[prost(uint32, tag = "5")] + pub uid: u32, + #[prost(message, repeated, tag = "9")] + pub bfbomboinpj: ::prost::alloc::vec::Vec, + #[prost(string, tag = "10")] + pub kamjijolfkj: ::prost::alloc::string::String, + #[prost(string, tag = "11")] + pub bkdilgijpeg: ::prost::alloc::string::String, + #[prost(uint32, tag = "15")] + pub djcfmfedncg: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Elhahcmlefp { + #[prost(message, repeated, tag = "11")] + pub dgmekiilhgp: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "13")] + pub okcpacfmlap: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "14")] + pub guid: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct FetterData { + #[prost(uint32, tag = "1")] + pub fetter_id: u32, + #[prost(uint32, tag = "2")] + pub fetter_state: u32, + #[prost(uint32, repeated, tag = "3")] + pub cond_index_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bdekfojlfmg { + #[prost(enumeration = "Donnpjameed", tag = "3")] + pub doikafoahoj: i32, + #[prost(map = "uint32, uint32", tag = "13")] + pub ddookhpfnpo: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[cmdid(898)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cgkdjamfcgc { + #[prost(int32, tag = "7")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21101)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mkknfpdinlb { + #[prost(uint32, tag = "5")] + pub entity_id: u32, + #[prost(uint32, tag = "7")] + pub bifofbnfpmo: u32, + #[prost(uint32, tag = "9")] + pub skill_depot_id: u32, + #[prost(uint64, tag = "15")] + pub avatar_guid: u64, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21082)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cibighpdkan { + #[prost(message, repeated, tag = "11")] + pub akjeiikfcnc: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "12")] + pub group_id: u32, + #[prost(message, optional, tag = "13")] + pub blpbljkodia: ::core::option::Option, + #[prost(uint32, tag = "14")] + pub pebgmemnknf: u32, + #[prost(int32, tag = "15")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6448)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gfdgdcpbdfg { + #[prost(int32, tag = "2")] + pub retcode: i32, + #[prost(uint32, tag = "4")] + pub cenhkjdffda: u32, + #[prost(enumeration = "Oeaoccjeope", tag = "5")] + pub ddiaamkbfda: i32, + #[prost(bool, tag = "14")] + pub mcpkkmhkcpd: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9134)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lniapgakaea { + #[prost(message, repeated, tag = "9")] + pub jgbobiccahd: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Akjnempheic {} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ciofcblopdk { + #[prost(uint32, tag = "2")] + pub cafefeabnec: u32, + #[prost(bool, tag = "3")] + pub phjbdmjjnag: bool, + #[prost(bool, tag = "4")] + pub onkgkeldfhd: bool, + #[prost(bool, tag = "10")] + pub gajceelbmok: bool, + #[prost(message, optional, tag = "12")] + pub rot: ::core::option::Option, + #[prost(message, optional, tag = "13")] + pub pos: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3592)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Djbolpcihmp { + #[prost(message, optional, tag = "8")] + pub mhkfilfibke: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24481)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Befhldngehk { + #[prost(bool, tag = "8")] + pub okblaglhlgg: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pahmncmpdgf { + #[prost(uint32, tag = "5")] + pub olbbcjeahia: u32, + #[prost(uint32, tag = "6")] + pub pjjaoilbfbn: u32, + #[prost(uint32, tag = "10")] + pub kobelfkeapf: u32, + #[prost(bool, tag = "13")] + pub ecihdijcled: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8203)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Njiidpigkgl { + #[prost(int32, tag = "7")] + pub retcode: i32, + #[prost(message, repeated, tag = "15")] + pub bcdecbeoklf: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20761)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bnnomceibfi {} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Phjgpipokaa { + #[prost(uint32, repeated, tag = "8")] + pub npbimfeakbk: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "9")] + pub aabgmecmnno: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "11")] + pub bekkiilpmej: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25194)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bmgfcejakhj {} +#[derive(proto_gen::CmdID)] +#[cmdid(4817)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kebmeojllpl { + #[prost(uint32, tag = "13")] + pub khhibkpbkpn: u32, + #[prost(uint32, tag = "1")] + pub group_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24599)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nlgaiplgbno { + #[prost(int32, tag = "8")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23205)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eggcocgbgda { + #[prost(bool, tag = "3")] + pub is_active: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8169)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iifbfckmafc { + #[prost(uint32, tag = "3")] + pub hjhcjpbijih: u32, + #[prost(uint32, tag = "8")] + pub fhcgkpipcic: u32, + #[prost(bool, tag = "10")] + pub jhfmeficaal: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1445)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fabnmmkimjh { + #[prost(uint32, tag = "2")] + pub alnmhbapcgn: u32, + #[prost(int32, tag = "5")] + pub retcode: i32, + #[prost(uint32, tag = "7")] + pub mempkcgnnmf: u32, + #[prost(uint32, tag = "12")] + pub omgchbachci: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20468)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Chdhkndamio { + #[prost(uint32, tag = "14")] + pub bfpjpdclfnm: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aekanihggbl { + #[prost(uint32, tag = "1")] + pub bkgmabcaccg: u32, + #[prost(bool, tag = "11")] + pub ighgefkmljp: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gkcfnjnhlcf { + #[prost(message, repeated, tag = "15")] + pub mcdijkphlno: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24633)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jffbenhbkbf {} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Edpahkmjhkd { + #[prost(uint32, tag = "2")] + pub uid: u32, + #[prost(int32, tag = "11")] + pub retcode: i32, + #[prost(uint32, tag = "14")] + pub mbkaongpdcn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2023)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ncomllokmnk { + #[prost(uint32, repeated, tag = "4")] + pub gnhboloodgb: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "6")] + pub adcjkmaokme: u32, + #[prost(message, repeated, tag = "7")] + pub niomengdmaj: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "8")] + pub dmedoehomkh: bool, + #[prost(uint32, tag = "11")] + pub hlhgmeocglf: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pogblgipnnb { + #[prost(uint32, tag = "8")] + pub mempkcgnnmf: u32, + #[prost(message, repeated, tag = "15")] + pub cbkmlacnmik: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4396)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kkmedikmhip { + #[prost(message, optional, tag = "1")] + pub neicmenmflj: ::core::option::Option, + #[prost(int32, tag = "9")] + pub retcode: i32, + #[prost(uint32, tag = "10")] + pub scene_time: u32, + #[prost(uint32, tag = "15")] + pub entity_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8875)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hadjcociplo { + #[prost(uint32, tag = "3")] + pub cenhkjdffda: u32, + #[prost(enumeration = "Oeaoccjeope", tag = "5")] + pub ddiaamkbfda: i32, + #[prost(uint32, tag = "6")] + pub pgafacpgiee: u32, + #[prost(uint32, tag = "8")] + pub caiafedbcah: u32, + #[prost(uint32, tag = "9")] + pub host_uid: u32, + #[prost(uint32, tag = "11")] + pub gaplfmmgbfa: u32, + #[prost(uint32, repeated, tag = "12")] + pub adlemoamhop: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "14")] + pub ohkidhnabib: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28239)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mbkombeeaeh { + #[prost(uint32, tag = "8")] + pub pghgefmpgdc: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26471)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Adachhnjahk { + #[prost(message, optional, tag = "2")] + pub nlgcilijpfn: ::core::option::Option, + #[prost(uint32, tag = "7")] + pub hfjilncpakl: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8518)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetPlayerTokenRsp { + #[prost(uint32, tag = "1")] + pub account_type: u32, + #[prost(uint32, tag = "2")] + pub gm_uid: u32, + #[prost(int32, tag = "3")] + pub retcode: i32, + #[prost(bool, tag = "4")] + pub is_proficient_player: bool, + #[prost(string, tag = "5")] + pub secret_key: ::prost::alloc::string::String, + #[prost(bytes = "vec", tag = "6")] + pub extra_bin_data: ::prost::alloc::vec::Vec, + #[prost(uint64, tag = "7")] + pub secret_key_seed: u64, + #[prost(uint32, tag = "8")] + pub uid: u32, + #[prost(uint32, tag = "9")] + pub platform_type: u32, + #[prost(string, tag = "10")] + pub account_uid: ::prost::alloc::string::String, + #[prost(string, tag = "11")] + pub token: ::prost::alloc::string::String, + #[prost(uint32, tag = "12")] + pub black_uid_end_time: u32, + #[prost(string, tag = "13")] + pub msg: ::prost::alloc::string::String, + #[prost(bool, tag = "14")] + pub is_guest: bool, + #[prost(bytes = "vec", tag = "15")] + pub security_cmd_buffer: ::prost::alloc::vec::Vec, + #[prost(string, tag = "36")] + pub game_biz: ::prost::alloc::string::String, + #[prost(message, optional, tag = "170")] + pub stop_server: ::core::option::Option, + #[prost(uint32, tag = "422")] + pub plnnjpfppam: u32, + #[prost(string, tag = "486")] + pub cemenpadopp: ::prost::alloc::string::String, + #[prost(string, tag = "541")] + pub kncflpgomni: ::prost::alloc::string::String, + #[prost(bool, tag = "631")] + pub akodfaigjce: bool, + #[prost(string, tag = "677")] + pub country_code: ::prost::alloc::string::String, + #[prost(string, tag = "737")] + pub mmdpdoococo: ::prost::alloc::string::String, + #[prost(string, tag = "902")] + pub server_rand_key: ::prost::alloc::string::String, + #[prost(string, tag = "945")] + pub sign: ::prost::alloc::string::String, + #[prost(string, tag = "948")] + pub olodgdmmpnf: ::prost::alloc::string::String, + #[prost(uint32, tag = "986")] + pub jdhckkagbnl: u32, + #[prost(string, tag = "1010")] + pub jcimgdhmmln: ::prost::alloc::string::String, + #[prost(bool, tag = "1070")] + pub gcdgekaongd: bool, + #[prost(uint32, repeated, tag = "1352")] + pub finish_collection_id_list: ::prost::alloc::vec::Vec, + #[prost(string, tag = "1384")] + pub jlcddojgkkg: ::prost::alloc::string::String, + #[prost(uint32, tag = "1424")] + pub kekhakapmin: u32, + #[prost(uint32, tag = "1433")] + pub ocinfhojcea: u32, + #[prost(uint32, tag = "1588")] + pub cijpmgmcjba: u32, + #[prost(uint32, tag = "1605")] + pub key_id: u32, + #[prost(uint32, tag = "1786")] + pub mpgmoflceof: u32, + #[prost(uint32, tag = "1827")] + pub tag: u32, + #[prost(bool, tag = "1885")] + pub hnbgekmpfib: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kijanacegbi { + #[prost(message, optional, tag = "1")] + pub nbaidhhdpmd: ::core::option::Option, + #[prost(message, optional, tag = "5")] + pub pos: ::core::option::Option, + #[prost(uint32, tag = "11")] + pub hjncgpaamen: u32, + #[prost(message, optional, tag = "15")] + pub rot: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24444)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mnhnglgaakl { + #[prost(uint32, tag = "2")] + pub khhibkpbkpn: u32, + #[prost(message, repeated, tag = "3")] + pub ceoambhdcng: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "4")] + pub onabdgfcpih: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5174)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mbiempcapjc { + #[prost(int32, tag = "1")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26764)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kbmfndbglpo { + #[prost(uint32, tag = "1")] + pub omgchbachci: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pdhbohjedbj { + #[prost(uint32, tag = "1")] + pub dmnldppgokg: u32, + #[prost(uint32, tag = "11")] + pub pjjaoilbfbn: u32, + #[prost(uint32, tag = "12")] + pub jofbeiaclof: u32, + #[prost(bool, tag = "14")] + pub dggckmikbmo: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22361)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ohlmacnojpa {} +#[derive(proto_gen::CmdID)] +#[cmdid(5645)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nkefpecppek { + #[prost(uint32, tag = "5")] + pub ihlceedfind: u32, + #[prost(uint32, tag = "6")] + pub mhmmdimegdd: u32, + #[prost(enumeration = "Gbjfmenjkne", tag = "7")] + pub pfenlkjpddb: i32, + #[prost(uint32, tag = "8")] + pub icmgfgejcjk: u32, + #[prost(bool, tag = "12")] + pub dmedoehomkh: bool, + #[prost(bool, tag = "13")] + pub dggckmikbmo: bool, + #[prost(map = "uint32, message", tag = "14")] + pub fkempcfeeoi: ::std::collections::HashMap, + #[prost(uint32, tag = "15")] + pub mflimgpafmf: u32, + #[prost(oneof = "nkefpecppek::Detail", tags = "741, 926, 1157, 1822")] + pub detail: ::core::option::Option, +} +/// Nested message and enum types in `NKEFPECPPEK`. +pub mod nkefpecppek { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Detail { + #[prost(message, tag = "741")] + ChannellerSlabLoopDungeonResultInfo(super::Cbidamifmhj), + #[prost(message, tag = "926")] + PotionDungeonResultInfo(super::Inagocajomd), + #[prost(message, tag = "1157")] + EffigyChallengeDungeonResultInfo(super::Oeohncnkhip), + #[prost(message, tag = "1822")] + CustomDungeonResultInfo(super::Oekohgokjim), + } +} +#[derive(proto_gen::CmdID)] +#[cmdid(6898)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kbdohlanfba { + #[prost(int32, tag = "10")] + pub retcode: i32, + #[prost(message, optional, tag = "13")] + pub mhhcoedmpdp: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26136)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Egadpdimnej { + #[prost(int32, tag = "14")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21926)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jacpnpddaja { + #[prost(uint64, tag = "1")] + pub gedmdocolfj: u64, + #[prost(uint32, tag = "15")] + pub kobelfkeapf: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27604)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lpekidbdknd { + #[prost(uint32, tag = "8")] + pub cenhkjdffda: u32, + #[prost(uint32, repeated, tag = "11")] + pub dnijppkbcbd: ::prost::alloc::vec::Vec, + #[prost(enumeration = "Nmjpfhhjdan", tag = "15")] + pub reason: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jnaiiegodji { + #[prost(uint32, tag = "1")] + pub r#type: u32, + #[prost(uint32, tag = "2")] + pub oboopjlpdni: u32, + #[prost(int32, tag = "3")] + pub acjpdgmfgnl: i32, + #[prost(int32, tag = "4")] + pub gbaglgmgjhj: i32, + #[prost(int32, tag = "5")] + pub peagfmgmeah: i32, + #[prost(int32, tag = "6")] + pub ihmplmfllfc: i32, + #[prost(int32, tag = "7")] + pub epipckdkknh: i32, + #[prost(int32, tag = "8")] + pub fjeahiknjhm: i32, + #[prost(bool, tag = "9")] + pub hmepkhihmfp: bool, + #[prost(int32, tag = "10")] + pub pdkifkkmhcn: i32, + #[prost(int32, tag = "11")] + pub end_time: i32, + #[prost(uint32, tag = "12")] + pub pcklffnfnge: u32, + #[prost(uint32, tag = "13")] + pub peer_id: u32, + #[prost(uint32, tag = "14")] + pub dhebifbfnce: u32, + #[prost(uint32, tag = "15")] + pub level: u32, + #[prost(uint32, tag = "16")] + pub cnboficimfn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21721)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fhekldahghb {} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Plfhddfipga { + #[prost(message, optional, tag = "1")] + pub dbajijgognc: ::core::option::Option, + #[prost(map = "uint32, message", tag = "8")] + pub mioplfbpbhf: ::std::collections::HashMap, + #[prost(bool, tag = "9")] + pub dphdagagbii: bool, + #[prost(map = "uint32, message", tag = "10")] + pub danloggpdcl: ::std::collections::HashMap, + #[prost(message, optional, tag = "11")] + pub bngiheabpbf: ::core::option::Option, + #[prost(map = "uint32, message", tag = "12")] + pub omagjpbigam: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22508)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fljjghohldd { + #[prost(uint32, tag = "8")] + pub room_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9473)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mcnbeceeikj { + #[prost(enumeration = "Oeaoccjeope", tag = "11")] + pub ddiaamkbfda: i32, + #[prost(int32, tag = "12")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9662)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hmdpiloddel { + #[prost(int32, tag = "4")] + pub retcode: i32, + #[prost(uint32, tag = "8")] + pub mgcmnplnjkl: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Paophedmofk { + #[prost(uint32, tag = "3")] + pub pjjaoilbfbn: u32, + #[prost(uint32, tag = "4")] + pub nnaalgjoaio: u32, + #[prost(uint32, tag = "5")] + pub dmnldppgokg: u32, + #[prost(message, optional, tag = "10")] + pub llbohhahofl: ::core::option::Option, + #[prost(bool, tag = "13")] + pub dggckmikbmo: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bpjnlllpngm { + #[prost(uint64, tag = "3")] + pub jkdkjokopgi: u64, + #[prost(uint32, tag = "12")] + pub alaehehdloc: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pgildafjiho { + #[prost(uint32, tag = "8")] + pub gpaeljhnaek: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Delcghhpeej { + #[prost(string, tag = "2")] + pub url: ::prost::alloc::string::String, + #[prost(uint32, tag = "3")] + pub afjclenhanc: u32, + #[prost(bool, tag = "4")] + pub gfgkcpghhin: bool, + #[prost(uint32, tag = "5")] + pub mhemkkfakka: u32, + #[prost(uint32, tag = "7")] + pub end_time: u32, + #[prost(string, tag = "9")] + pub ghidghkphde: ::prost::alloc::string::String, + #[prost(uint32, tag = "12")] + pub fljbdahiech: u32, + #[prost(uint32, tag = "13")] + pub lgbnfifcpjf: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21695)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gnfofdlfmoi { + #[prost(uint32, tag = "4")] + pub mempkcgnnmf: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4672)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ohhehcagbag { + #[prost(uint32, tag = "14")] + pub cdgahopmcbl: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9640)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Honkjgjkckm { + #[prost(uint32, tag = "4")] + pub target_uid: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2346)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pnfaebablom { + #[prost(bool, tag = "14")] + pub bliakncjplh: bool, + #[prost(int32, tag = "7")] + pub uid: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mikcomiefal { + #[prost(bool, tag = "3")] + pub dmedoehomkh: bool, + #[prost(bool, tag = "4")] + pub gomioioiiki: bool, + #[prost(uint32, tag = "5")] + pub kpampgdjdhe: u32, + #[prost(uint32, tag = "7")] + pub peajinifghm: u32, + #[prost(bool, tag = "13")] + pub jhfmeficaal: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22853)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ppmbdkkfcbi { + #[prost(uint32, tag = "3")] + pub lgcopnjbcnf: u32, + #[prost(uint32, tag = "5")] + pub fpnhhfikcck: u32, + #[prost(int32, tag = "8")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2362)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dpkailhknoh { + #[prost(int32, tag = "5")] + pub uid: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22056)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ieplicbigij { + #[prost(uint32, tag = "1")] + pub bknplfikkfg: u32, + #[prost(uint32, tag = "4")] + pub group_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hcibeidkgbj { + #[prost(uint32, tag = "4")] + pub entity_id: u32, + #[prost(message, optional, tag = "7")] + pub digdkmhijpi: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27940)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Llgbdjdgkdc { + #[prost(int32, tag = "1")] + pub retcode: i32, + #[prost(uint32, tag = "15")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mdmdlmacjaj { + #[prost(message, optional, tag = "2")] + pub blfkojlccoo: ::core::option::Option, + #[prost(string, tag = "8")] + pub kamjijolfkj: ::prost::alloc::string::String, + #[prost(string, tag = "11")] + pub bkdilgijpeg: ::prost::alloc::string::String, + #[prost(uint32, tag = "13")] + pub uid: u32, + #[prost(uint32, tag = "15")] + pub dppfeemfnmn: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fpgnfkfifae { + #[prost(map = "uint32, message", tag = "8")] + pub nfmjnnhecfk: ::std::collections::HashMap, + #[prost(uint32, tag = "15")] + pub end_time: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7237)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hccmglfhmhp { + #[prost(uint64, tag = "8")] + pub bochklkfmik: u64, + #[prost(uint64, tag = "10")] + pub ggbbflabklk: u64, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bhallidcfhl { + #[prost(uint32, tag = "14")] + pub pkhodhipjbb: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24012)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cijgimlafhl { + #[prost(uint32, tag = "4")] + pub oboopjlpdni: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(499)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lknljnmenng { + #[prost(bool, tag = "4")] + pub dmedoehomkh: bool, + #[prost(int32, tag = "13")] + pub reason: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pmmpbmepcie { + #[prost(uint32, tag = "1")] + pub bfeondacake: u32, + #[prost(message, optional, tag = "2")] + pub gigadmpnjhl: ::core::option::Option, + #[prost(uint32, tag = "5")] + pub gaplfmmgbfa: u32, + #[prost(uint32, repeated, tag = "6")] + pub tag_list: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "8")] + pub gblhfaeonkm: bool, + #[prost(bool, tag = "9")] + pub mceooikhcpa: bool, + #[prost(bool, tag = "10")] + pub pflajckehfa: bool, + #[prost(message, optional, tag = "11")] + pub mdmplabaiec: ::core::option::Option, + #[prost(uint64, tag = "12")] + pub gedmdocolfj: u64, + #[prost(message, optional, tag = "13")] + pub pddjkniopen: ::core::option::Option, + #[prost(message, optional, tag = "14")] + pub fikdjoonfbb: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aolpdahmokc { + #[prost(message, optional, tag = "1")] + pub mbfdgldkefh: ::core::option::Option, + #[prost(uint32, repeated, tag = "2")] + pub lckafmfopfb: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "10")] + pub ofhfpdflgbj: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26096)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bnjbnbiegbe { + #[prost(uint64, tag = "10")] + pub guid: u64, + #[prost(map = "uint32, message", tag = "15")] + pub skill_map: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dpapkilfinn { + #[prost(uint32, tag = "1")] + pub item_id: u32, + #[prost(bool, tag = "2")] + pub lgpcihohcla: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23194)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cphmfcjehgj { + #[prost(enumeration = "Hhaafihndjo", tag = "3")] + pub reason: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1617)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nkgaeccacio { + #[prost(enumeration = "Oeaoccjeope", tag = "10")] + pub ddiaamkbfda: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23731)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Agkcjifjcao { + #[prost(bool, tag = "6")] + pub jhfmeficaal: bool, + #[prost(uint32, tag = "4")] + pub cibeadmmkoe: u32, + #[prost(uint32, tag = "7")] + pub pjjaoilbfbn: u32, + #[prost(uint32, tag = "9")] + pub jofbeiaclof: u32, + #[prost(uint32, tag = "5")] + pub dekhbeooien: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6801)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fhaomnbfkbp { + #[prost(int32, tag = "12")] + pub retcode: i32, + #[prost(message, repeated, tag = "14")] + pub lopfmjdpndc: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2585)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ocjgecbokbh { + #[prost(bool, tag = "13")] + pub npfkjanodee: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28090)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dmemmedfbhe { + #[prost(message, repeated, tag = "4")] + pub gabljanjlaf: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21069)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kdmfmidange { + #[prost(bool, tag = "15")] + pub cnndpccookn: bool, + #[prost(uint64, tag = "2")] + pub gedmdocolfj: u64, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23245)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Afpjlhkajin { + #[prost(uint32, repeated, tag = "1")] + pub pahjmimgigl: ::prost::alloc::vec::Vec, + #[prost(uint64, tag = "4")] + pub aclgnllhajb: u64, + #[prost(uint32, repeated, tag = "11")] + pub appdnhdigom: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "12")] + pub ehggbfhklmg: u32, + #[prost(int32, tag = "13")] + pub retcode: i32, + #[prost(uint32, tag = "14")] + pub ndbmlahhnjn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9962)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gdemhiapdkc { + #[prost(uint32, tag = "4")] + pub gefbnnebkdb: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20253)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Acbadohhjmb { + #[prost(int32, tag = "8")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21318)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fkemoodcolk { + #[prost(uint32, tag = "5")] + pub jlhfgabkeoi: u32, + #[prost(int32, tag = "7")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6141)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fegeflnpomh { + #[prost(int32, tag = "1")] + pub retcode: i32, + #[prost(message, repeated, tag = "4")] + pub nlnlbaikbki: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dhaihhldmbn { + #[prost(bool, tag = "4")] + pub iicidnmoebc: bool, + #[prost(uint32, tag = "6")] + pub dekhbeooien: u32, + #[prost(uint32, tag = "7")] + pub uid: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Baolpckhkdb { + #[prost(map = "uint32, uint32", tag = "1")] + pub ciggenemcpi: ::std::collections::HashMap, + #[prost(uint32, repeated, tag = "15")] + pub dioiiedikdd: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dimcbfdlbki {} +#[derive(proto_gen::CmdID)] +#[cmdid(1292)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mjggpfklcfk { + #[prost(uint32, tag = "3")] + pub khhibkpbkpn: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ccnelkenfjc { + #[prost(uint32, tag = "1")] + pub oboopjlpdni: u32, + #[prost(message, optional, tag = "2")] + pub pos: ::core::option::Option, + #[prost(int32, tag = "3")] + pub gpbnffjbomn: i32, + #[prost(message, optional, tag = "4")] + pub fljbepmlcig: ::core::option::Option, + #[prost(uint32, tag = "5")] + pub anechkcdcbm: u32, + #[prost(uint32, repeated, tag = "6")] + pub afcnacehibl: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24743)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Candjghlagi { + #[prost(uint32, repeated, tag = "4")] + pub bihiklaiolg: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "9")] + pub gghkdjlgfpb: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28118)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gemolmmjlnp { + #[prost(uint32, tag = "7")] + pub pkkkijalpnm: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct AbilityAppliedAbility { + #[prost(message, optional, tag = "1")] + pub ability_name: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub ability_override: ::core::option::Option, + #[prost(message, repeated, tag = "3")] + pub override_map: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "4")] + pub instanced_ability_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22577)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Joddacihnkd { + #[prost(uint32, tag = "4")] + pub hmgabgobnla: u32, + #[prost(uint32, tag = "13")] + pub cbjjbfnipek: u32, + #[prost(uint32, tag = "11")] + pub pjjaoilbfbn: u32, + #[prost(uint32, tag = "9")] + pub obdconjmpfn: u32, + #[prost(bool, tag = "3")] + pub jhfmeficaal: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4949)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Inmgmfilcng { + #[prost(uint32, tag = "13")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26887)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eijjbmelaol { + #[prost(uint32, tag = "14")] + pub homgpjjmldg: u32, + #[prost(bool, tag = "15")] + pub mcpkkmhkcpd: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21760)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kfoljglmekc { + #[prost(int32, tag = "7")] + pub retcode: i32, + #[prost(message, repeated, tag = "12")] + pub djhnhpipfba: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28026)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cghpnifhpbp { + #[prost(uint64, tag = "10")] + pub gedmdocolfj: u64, + #[prost(bool, tag = "15")] + pub is_add: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27966)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dgaajblhjpe { + #[prost(uint32, tag = "14")] + pub gaplfmmgbfa: u32, + #[prost(message, repeated, tag = "15")] + pub abogbbaekcb: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28841)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dcccjgkmlmh { + #[prost(uint32, tag = "8")] + pub cdmjgifefmd: u32, + #[prost(uint32, tag = "5")] + pub khhibkpbkpn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21973)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hjndgjcildh { + #[prost(uint32, tag = "6")] + pub parent_quest_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ojkmppgohfk { + #[prost(message, repeated, tag = "1")] + pub phepccaafma: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "3")] + pub hdnjgnklcki: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "8")] + pub fkfkbpkkmfi: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "10")] + pub gicjhofkgko: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8245)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Idofndhdhck { + #[prost(string, tag = "1")] + pub hemdlgommkc: ::prost::alloc::string::String, + #[prost(uint32, tag = "4")] + pub jjlpijkgkon: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7922)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fpckkoihgob { + #[prost(uint32, tag = "6")] + pub jmldgkcbcbo: u32, + #[prost(uint32, tag = "7")] + pub cdmjgifefmd: u32, + #[prost(int32, tag = "15")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bjjjieknmed { + #[prost(uint32, tag = "2")] + pub iejhhmbobmj: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20165)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ojjdlkfndjm { + #[prost(uint32, tag = "4")] + pub bailmnhopnp: u32, + #[prost(int32, tag = "5")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pinnfjffcgd { + #[prost(uint32, tag = "9")] + pub jofbeiaclof: u32, + #[prost(bool, tag = "10")] + pub hcbknologla: bool, + #[prost(uint32, tag = "12")] + pub cdibdjlhfao: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Noaifegnkml { + #[prost(message, repeated, tag = "5")] + pub hedahimegjf: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "7")] + pub ninpemgpnpi: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "11")] + pub beoimempipb: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "14")] + pub gbiekpaildc: bool, + #[prost(message, repeated, tag = "15")] + pub pokndecefga: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24820)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hhdkjjlbogd { + #[prost(bool, tag = "7")] + pub ffijkdepkdf: bool, + #[prost(uint32, tag = "4")] + pub ocinfhojcea: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26431)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dmpnjoheopg { + #[prost(uint32, tag = "9")] + pub target_uid: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21672)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eilfpfpagnl { + #[prost(message, optional, tag = "1")] + pub ollpljcdbdo: ::core::option::Option, + #[prost(message, repeated, tag = "2")] + pub doljcbcogni: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "3")] + pub ibjhbimbaim: ::core::option::Option, + #[prost(uint32, repeated, tag = "6")] + pub dbohfohkmfk: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "7")] + pub ngpninnigdg: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "8")] + pub napadbgiimg: ::core::option::Option, + #[prost(message, repeated, tag = "9")] + pub cdeenljnoda: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "10")] + pub fmihgnhgndm: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "12")] + pub hindfpnfkfb: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "13")] + pub mfefigmnoah: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "14")] + pub blmdaaigegl: u32, + #[prost(message, optional, tag = "15")] + pub boajmooggij: ::core::option::Option, + #[prost(message, optional, tag = "139")] + pub igkcmjmbbml: ::core::option::Option, + #[prost(uint32, repeated, tag = "330")] + pub jdcapblplna: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "1764")] + pub jodpdbpgoab: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jkeibodagpm { + #[prost(bool, tag = "1")] + pub ecihdijcled: bool, + #[prost(uint32, tag = "4")] + pub dmkfeccmcop: u32, + #[prost(uint32, tag = "9")] + pub mempkcgnnmf: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21906)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dlmahmjoocb { + #[prost(uint32, tag = "5")] + pub entity_id: u32, + #[prost(message, optional, tag = "8")] + pub platform: ::core::option::Option, + #[prost(uint32, tag = "10")] + pub scene_time: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fnjknbmpjoo { + #[prost(uint32, tag = "1")] + pub mjookcdndkf: u32, + #[prost(uint32, tag = "2")] + pub lljaefcdeal: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8434)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ioaiimcjngf { + #[prost(uint32, tag = "2")] + pub kihigcbbali: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eniakigipgg { + #[prost(float, tag = "1")] + pub gnjcidhobia: f32, + #[prost(float, tag = "6")] + pub lfhkhepgedf: f32, + #[prost(float, tag = "7")] + pub nooilhnbkff: f32, + #[prost(uint32, tag = "9")] + pub r#type: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1254)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Almcdgeignp { + #[prost(uint32, repeated, tag = "7")] + pub avatar_id: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25122)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mgopckpdnid { + #[prost(uint32, repeated, tag = "9")] + pub cnfodgeooef: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2436)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ljecpkoahoj { + #[prost(uint32, tag = "15")] + pub pjjlmhgjkdg: u32, + #[prost(uint32, tag = "14")] + pub kajcndjlkfi: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3303)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bnpnbiijmaf { + #[prost(message, repeated, tag = "2")] + pub nohabamidad: ::prost::alloc::vec::Vec, + #[prost(enumeration = "Himmemhogfb", tag = "1")] + pub mfmlakbiaed: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Clggifnbbmm { + #[prost(uint32, tag = "2")] + pub ihlceedfind: u32, + #[prost(uint32, tag = "6")] + pub pglajfafgai: u32, + #[prost(uint32, tag = "7")] + pub nnebhhfhdcc: u32, + #[prost(bool, tag = "9")] + pub dmedoehomkh: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27834)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hfeojplppob { + #[prost(uint32, tag = "1")] + pub kenikecfflm: u32, + #[prost(int32, tag = "6")] + pub lmoofgmhjlo: i32, + #[prost(bool, tag = "10")] + pub heeahdmiifj: bool, + #[prost(int32, tag = "12")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ngamjokkjpb { + #[prost(uint32, tag = "5")] + pub bngpnmobohj: u32, + #[prost(float, tag = "7")] + pub cpimbckmlfc: f32, + #[prost(uint32, tag = "9")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ofnpcahjfpg { + #[prost(uint32, tag = "9")] + pub team_entity_id: u32, + #[prost(uint32, tag = "12")] + pub authority_peer_id: u32, + #[prost(message, optional, tag = "14")] + pub team_ability_info: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4791)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fmapbhldpbd { + #[prost(int32, tag = "3")] + pub retcode: i32, + #[prost(message, repeated, tag = "6")] + pub dlkgdlnileh: ::prost::alloc::vec::Vec, + #[prost(uint64, tag = "7")] + pub opbnfdpdjgd: u64, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ffaebglggcc { + #[prost(message, optional, tag = "7")] + pub pdjmiecelhm: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2599)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Babdiegaggo { + #[prost(int32, tag = "7")] + pub retcode: i32, + #[prost(uint32, tag = "9")] + pub gbcebgkbjdm: u32, + #[prost(enumeration = "Iohpcjajppo", tag = "10")] + pub kfmglfjdodo: i32, + #[prost(uint32, tag = "14")] + pub efniikefdpo: u32, + #[prost(uint32, tag = "15")] + pub dmcjbimfkci: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29943)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Efllkamdbed { + #[prost(message, repeated, tag = "2")] + pub entity_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "11")] + pub param: u32, + #[prost(enumeration = "VisionType", tag = "13")] + pub appear_type: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23743)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cmlafdbckja { + #[prost(uint32, tag = "3")] + pub mpgmoflceof: u32, + #[prost(string, tag = "7")] + pub jlcddojgkkg: ::prost::alloc::string::String, + #[prost(string, tag = "9")] + pub game_biz: ::prost::alloc::string::String, + #[prost(string, tag = "10")] + pub olodgdmmpnf: ::prost::alloc::string::String, + #[prost(int32, tag = "11")] + pub retcode: i32, + #[prost(uint32, tag = "15")] + pub cijpmgmcjba: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9610)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gjldgliipon { + #[prost(uint32, tag = "6")] + pub ajopgpcfhle: u32, + #[prost(uint32, tag = "15")] + pub blbccmphapa: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3199)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Acclldbgnmf { + #[prost(int32, tag = "14")] + pub retcode: i32, + #[prost(uint32, repeated, tag = "15")] + pub nkaichlodle: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25210)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gokoofjienk { + #[prost(uint32, tag = "1")] + pub icimaoekkka: u32, + #[prost(uint32, tag = "7")] + pub aaecbhcckbo: u32, + #[prost(int32, tag = "14")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7465)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dicmnbpfcod { + #[prost(bool, tag = "14")] + pub gabahcnhmad: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20319)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Epgjbmmoffg { + #[prost(uint32, tag = "3")] + pub cdmjgifefmd: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mdbnhebdned { + #[prost(message, repeated, tag = "10")] + pub kmhadmidcpg: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26641)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gidnngbjhch { + #[prost(int32, tag = "1")] + pub retcode: i32, + #[prost(uint32, tag = "6")] + pub nnebhhfhdcc: u32, + #[prost(uint32, repeated, tag = "7")] + pub njhgoaehndm: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "8")] + pub dfpnkfekiig: u32, + #[prost(uint32, tag = "9")] + pub lbclghbmdaf: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6737)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Klnamgchmod { + #[prost(uint32, tag = "4")] + pub jlfheeipddp: u32, + #[prost(uint64, tag = "7")] + pub dcompdppdpo: u64, + #[prost(int32, tag = "8")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5595)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Doegjmfbhig { + #[prost(uint32, tag = "9")] + pub alnmhbapcgn: u32, + #[prost(uint32, tag = "1")] + pub mempkcgnnmf: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26468)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iloajkkdalm { + #[prost(uint32, tag = "9")] + pub gghkdjlgfpb: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Efbibollcca { + #[prost(uint32, repeated, tag = "3")] + pub jbadgiahpgc: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "6")] + pub pjjaoilbfbn: u32, + #[prost(uint32, tag = "7")] + pub cenhkjdffda: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kajamipdijn { + #[prost(uint32, tag = "1")] + pub dekhbeooien: u32, + #[prost(bool, tag = "9")] + pub dggckmikbmo: bool, + #[prost(uint32, tag = "15")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21204)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hioakomlcdk { + #[prost(uint32, tag = "2")] + pub ccpigccdboi: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kaimcpbdbck { + #[prost(message, repeated, tag = "11")] + pub cbenkjeocil: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eclnkbmkhhn { + #[prost(bool, tag = "9")] + pub mcpkkmhkcpd: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Logligagcgf { + #[prost(uint32, repeated, tag = "14")] + pub data: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26266)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aanglnbifdk { + #[prost(bool, tag = "3")] + pub kbnhkamgpji: bool, + #[prost(uint32, tag = "12")] + pub ppmpfmbfmbb: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct AvatarInfo { + #[prost(uint32, tag = "1")] + pub avatar_id: u32, + #[prost(uint64, tag = "2")] + pub guid: u64, + #[prost(map = "uint32, message", tag = "3")] + pub prop_map: ::std::collections::HashMap, + #[prost(uint32, tag = "4")] + pub life_state: u32, + #[prost(uint64, repeated, tag = "5")] + pub equip_guid_list: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "6")] + pub talent_id_list: ::prost::alloc::vec::Vec, + #[prost(map = "uint32, float", tag = "7")] + pub fight_prop_map: ::std::collections::HashMap, + #[prost(message, optional, tag = "9")] + pub trial_avatar_info: ::core::option::Option, + #[prost(map = "uint32, message", tag = "10")] + pub skill_map: ::std::collections::HashMap, + #[prost(uint32, tag = "11")] + pub skill_depot_id: u32, + #[prost(message, optional, tag = "12")] + pub fetter_info: ::core::option::Option, + #[prost(uint32, tag = "13")] + pub core_proud_skill_level: u32, + #[prost(uint32, repeated, tag = "14")] + pub inherent_proud_skill_list: ::prost::alloc::vec::Vec, + #[prost(map = "uint32, uint32", tag = "15")] + pub skill_level_map: ::std::collections::HashMap, + #[prost(enumeration = "AvatarExpeditionState", tag = "16")] + pub expedition_state: i32, + #[prost(map = "uint32, uint32", tag = "17")] + pub proud_skill_extra_level_map: ::std::collections::HashMap, + #[prost(bool, tag = "18")] + pub is_focus: bool, + #[prost(uint32, tag = "19")] + pub avatar_type: u32, + #[prost(uint32, repeated, tag = "20")] + pub team_resonance_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "21")] + pub wearing_flycloak_id: u32, + #[prost(message, repeated, tag = "22")] + pub equip_affix_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "23")] + pub born_time: u32, + #[prost(uint32, repeated, tag = "24")] + pub pending_promote_reward_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "25")] + pub costume_id: u32, + #[prost(message, optional, tag = "26")] + pub excel_info: ::core::option::Option, + #[prost(uint32, tag = "27")] + pub anim_hash: u32, + #[prost(message, optional, tag = "28")] + pub pindegafoae: ::core::option::Option, + #[prost(uint32, tag = "29")] + pub ablfjpmkkda: u32, + #[prost(uint32, tag = "30")] + pub gchglannhmc: u32, + #[prost(uint32, tag = "31")] + pub kcinbomoigl: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1209)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lbmjjonjdcd { + #[prost(float, tag = "9")] + pub ocoplkhnhel: f32, + #[prost(uint32, tag = "13")] + pub entity_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6602)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ekoakkboimn { + #[prost(int32, tag = "1")] + pub retcode: i32, + #[prost(message, optional, tag = "14")] + pub mlodbocacgl: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Chcofaankll { + #[prost(uint32, tag = "1")] + pub ijffkcgiaoj: u32, + #[prost(uint32, tag = "2")] + pub ndehkhcalmf: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8728)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Coefplkdegd { + #[prost(uint32, tag = "12")] + pub cjcjonhpiio: u32, + #[prost(uint32, tag = "10")] + pub ilieopgmdgo: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27872)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Khmldikoljl { + #[prost(uint32, tag = "6")] + pub omgchbachci: u32, + #[prost(message, optional, tag = "10")] + pub bepfmdkmfic: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4370)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lmdapooakio { + #[prost(uint32, repeated, tag = "15")] + pub gbeeglejmch: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fbemnkfgbco { + #[prost(uint32, tag = "1")] + pub costume_id: u32, + #[prost(uint32, tag = "3")] + pub avatar_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26791)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nbghhkahkgm { + #[prost(bool, tag = "2")] + pub is_enable_interact: bool, + #[prost(uint32, tag = "5")] + pub gadget_state: u32, + #[prost(uint32, tag = "15")] + pub gbcebgkbjdm: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2222)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dpklcijphca { + #[prost(int32, tag = "3")] + pub retcode: i32, + #[prost(message, optional, tag = "7")] + pub odemmdjobca: ::core::option::Option, + #[prost(uint32, tag = "10")] + pub blbccmphapa: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20463)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pimbejlmhae { + #[prost(uint32, tag = "5")] + pub fjllbmegale: u32, + #[prost(uint32, tag = "14")] + pub jmlmgoappin: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6307)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gglbgcofoje { + #[prost(message, optional, tag = "10")] + pub pos: ::core::option::Option, + #[prost(message, optional, tag = "6")] + pub rot: ::core::option::Option, + #[prost(uint32, tag = "14")] + pub ggammenpbim: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28812)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hpfaeenmnlo { + #[prost(message, repeated, tag = "1")] + pub mfcjljpcmhn: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "2")] + pub kanpemecoof: bool, + #[prost(int32, tag = "7")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fnbbcgbcgih { + #[prost(uint32, tag = "3")] + pub peblohahpmm: u32, + #[prost(float, tag = "4")] + pub agidomnebcj: f32, + #[prost(uint32, tag = "5")] + pub pfoahcojpjm: u32, + #[prost(float, tag = "9")] + pub hnnmhlbcgmn: f32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1555)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Npjfpaofifd { + #[prost(uint32, tag = "6")] + pub scene_time: u32, + #[prost(uint32, tag = "9")] + pub entity_id: u32, + #[prost(message, optional, tag = "15")] + pub platform: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lcjbmelilap { + #[prost(message, optional, tag = "1")] + pub ffioldkchck: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4393)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mebapanfgne { + #[prost(uint32, tag = "11")] + pub group_id: u32, + #[prost(int32, tag = "12")] + pub retcode: i32, + #[prost(uint32, tag = "14")] + pub bknplfikkfg: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24899)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hnnomgofbaf { + #[prost(map = "uint32, uint32", tag = "5")] + pub pgcmpkmhllo: ::std::collections::HashMap, + #[prost(int32, tag = "9")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3489)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dioooohgfcl { + #[prost(uint32, tag = "4")] + pub mbaadkncicg: u32, + #[prost(uint32, tag = "10")] + pub ihlceedfind: u32, + #[prost(uint32, tag = "12")] + pub mempkcgnnmf: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24096)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Elejogkfhjd { + #[prost(bool, tag = "2")] + pub dhaomgmmdpd: bool, + #[prost(enumeration = "Himmemhogfb", tag = "5")] + pub mfmlakbiaed: i32, + #[prost(int32, tag = "10")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4143)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Glnikhleika { + #[prost(uint32, repeated, tag = "6")] + pub oklmhcflbce: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ShortAbilityHashPair { + #[prost(sfixed32, tag = "1")] + pub ability_name_hash: i32, + #[prost(sfixed32, tag = "2")] + pub ompebemnklg: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eedhbfmffkh { + #[prost(message, optional, tag = "1")] + pub ncmmbchombo: ::core::option::Option, + #[prost(uint32, tag = "2")] + pub ejnbfcijomo: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dnjcpinjmci { + #[prost(message, repeated, tag = "1")] + pub haopeekmdbm: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "7")] + pub emcjhgolmcb: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22046)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hlelgjbjbnj { + #[prost(int32, tag = "1")] + pub retcode: i32, + #[prost(map = "uint32, uint32", tag = "9")] + pub onhblidiphk: ::std::collections::HashMap, + #[prost(uint32, tag = "11")] + pub khhibkpbkpn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5857)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Djgekbhblnj { + #[prost(int32, tag = "6")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20807)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kkjblgdeell { + #[prost(int32, tag = "3")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pelihnfbhii { + #[prost(bool, tag = "3")] + pub gnplaoaciep: bool, + #[prost(uint32, tag = "7")] + pub dmnldppgokg: u32, + #[prost(uint32, tag = "9")] + pub jofbeiaclof: u32, + #[prost(uint32, tag = "10")] + pub mempkcgnnmf: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pjbcklbbnfl { + #[prost(uint32, tag = "1")] + pub bmppibgafcj: u32, + #[prost(uint32, tag = "3")] + pub achigonnfhi: u32, + #[prost(uint32, tag = "13")] + pub blbccmphapa: u32, + #[prost(int32, tag = "14")] + pub jjnhhnfggpa: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(633)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dabcbcdjohd { + #[prost(uint32, tag = "5")] + pub khhibkpbkpn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(279)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ajlmnioionm { + #[prost(uint32, tag = "2")] + pub pjjaoilbfbn: u32, + #[prost(int32, tag = "8")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Klclhnbepho { + #[prost(uint32, repeated, tag = "1")] + pub djlbdchiccc: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26111)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Inkobaggmdf { + #[prost(uint32, tag = "8")] + pub hkeeinbhfhm: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24614)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hooimhecdel { + #[prost(uint32, tag = "10")] + pub bfbkiddckhf: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct EntityEnvironmentInfo { + #[prost(uint32, tag = "1")] + pub json_climate_type: u32, + #[prost(uint32, tag = "2")] + pub climate_area_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hhjaehgldif { + #[prost(bool, tag = "2")] + pub eialjbaengj: bool, + #[prost(uint32, tag = "4")] + pub pjjaoilbfbn: u32, + #[prost(bool, tag = "5")] + pub ljhbdlpmfeg: bool, + #[prost(bool, tag = "8")] + pub llhnlhfibhk: bool, + #[prost(bool, tag = "10")] + pub hkbjjglngkb: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Imedapfdaak { + #[prost(bool, tag = "1")] + pub eialjbaengj: bool, + #[prost(bool, tag = "3")] + pub ecihdijcled: bool, + #[prost(uint32, tag = "5")] + pub mempkcgnnmf: u32, + #[prost(uint32, tag = "7")] + pub dmnldppgokg: u32, + #[prost(uint32, tag = "11")] + pub ckjdedaifdo: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2507)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Acafloinfgk { + #[prost(uint32, tag = "5")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mhcjadcombg { + #[prost(uint32, tag = "6")] + pub eooipnmkdmf: u32, + #[prost(map = "uint32, uint32", tag = "7")] + pub mbbbcmpcnhd: ::std::collections::HashMap, + #[prost(uint32, tag = "8")] + pub nnheenpidgj: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lpncacoaamh { + #[prost(message, repeated, tag = "1")] + pub cfheeolafic: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7198)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kaennldmmel { + #[prost(string, tag = "5")] + pub iafmhpocogj: ::prost::alloc::string::String, + #[prost(enumeration = "Dljmgiamglf", tag = "11")] + pub aaopmgielok: i32, + #[prost(message, optional, tag = "12")] + pub dapelmgkodk: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2142)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jjeeiflcipm { + #[prost(uint32, tag = "12")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28348)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pimnajihfik { + #[prost(bool, tag = "4")] + pub dggckmikbmo: bool, + #[prost(uint32, tag = "5")] + pub kmaehpagkfk: u32, + #[prost(uint32, tag = "6")] + pub mempkcgnnmf: u32, + #[prost(uint32, tag = "7")] + pub apafipofloj: u32, + #[prost(uint32, tag = "9")] + pub onhojobnapm: u32, + #[prost(uint32, tag = "15")] + pub dfpnkfekiig: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jncachoeepp { + #[prost(message, repeated, tag = "9")] + pub cbenkjeocil: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ihekkfpbadd { + #[prost(uint32, tag = "5")] + pub mpohfenkjdk: u32, + #[prost(bool, tag = "9")] + pub ecihdijcled: bool, + #[prost(uint32, tag = "11")] + pub ebdeifcbahi: u32, + #[prost(map = "uint32, uint32", tag = "14")] + pub mjcdnmjjfdk: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bgigdceecnk { + #[prost(bool, tag = "2")] + pub ecihdijcled: bool, + #[prost(uint32, tag = "5")] + pub dekhbeooien: u32, + #[prost(uint32, tag = "8")] + pub mempkcgnnmf: u32, + #[prost(bool, tag = "10")] + pub jhfmeficaal: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24189)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ndklbbibjak { + #[prost(message, optional, tag = "7")] + pub kkonlphiahe: ::core::option::Option, + #[prost(uint32, tag = "3")] + pub entity_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21059)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Acngfgldcgf { + #[prost(int32, tag = "1")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28222)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ocniihcnmjl { + #[prost(uint32, tag = "4")] + pub ihekodchbli: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8911)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ephegmpmkeo {} +#[derive(proto_gen::CmdID)] +#[cmdid(29674)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mecalneccpm { + #[prost(bool, tag = "7")] + pub hmkffhbmmlh: bool, + #[prost(uint32, tag = "13")] + pub ohkidhnabib: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24187)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Efgpdomcbcb { + #[prost(message, repeated, tag = "1")] + pub item_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25182)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jbebgfocemn { + #[prost(uint32, tag = "9")] + pub ahidnmjdejf: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Offeliofhpk { + #[prost(string, tag = "1")] + pub bmljclenhmh: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub llgjemmhion: ::prost::alloc::string::String, + #[prost(uint32, tag = "3")] + pub hecaafpgnah: u32, + #[prost(uint32, tag = "4")] + pub mhjhjljmejl: u32, + #[prost(uint32, tag = "5")] + pub lgbnfifcpjf: u32, + #[prost(uint32, tag = "6")] + pub end_time: u32, + #[prost(uint32, tag = "7")] + pub lpmdbegoofj: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21561)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fongemnlimm { + #[prost(uint32, tag = "6")] + pub omgchbachci: u32, + #[prost(int32, tag = "9")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1793)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kjildlanlal { + #[prost(int32, tag = "8")] + pub retcode: i32, + #[prost(uint32, tag = "11")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23909)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ibdnphpnkmd { + #[prost(string, tag = "9")] + pub team_name: ::prost::alloc::string::String, + #[prost(int32, tag = "12")] + pub team_id: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6928)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fmcklpjadan { + #[prost(string, tag = "4")] + pub jenllhdblhn: ::prost::alloc::string::String, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3876)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Glaipmiheok {} +#[derive(proto_gen::CmdID)] +#[cmdid(7651)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mcbmhfphbbm { + #[prost(uint32, tag = "7")] + pub ghdnhigkokm: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8959)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fcckhccnfki { + #[prost(bool, tag = "5")] + pub ankcbommojb: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26854)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kmdbpgcbbhd { + #[prost(uint32, tag = "8")] + pub phmkpnkmooe: u32, + #[prost(int32, tag = "10")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(990)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Alonbobighp { + #[prost(uint32, repeated, tag = "2")] + pub phkpfjajfkj: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "8")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kikidlkdgbb { + #[prost(bool, tag = "6")] + pub ecihdijcled: bool, + #[prost(uint32, tag = "9")] + pub mempkcgnnmf: u32, + #[prost(uint32, repeated, tag = "14")] + pub bekbhhlppia: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "15")] + pub elomgojdifo: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25950)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nebjahajfpo {} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bjlpgfbgfgb { + #[prost(uint32, tag = "4")] + pub elnnedmbbaa: u32, + #[prost(uint32, tag = "9")] + pub ebilinkbhol: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eohbndpkfpc { + #[prost(uint32, tag = "1")] + pub eklelflelek: u32, + #[prost(uint32, tag = "3")] + pub flkpgmlnfgf: u32, + #[prost(uint32, tag = "6")] + pub pmdpjjkbnbp: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6224)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ieelabnpglp { + #[prost(int32, tag = "2")] + pub retcode: i32, + #[prost(uint32, tag = "3")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(374)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Epiooihapca { + #[prost(uint32, repeated, tag = "2")] + pub cdgfhbkoogn: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "8")] + pub retcode: i32, + #[prost(int32, tag = "10")] + pub dmhnneglbbm: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8775)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bkndllgilda { + #[prost(int32, tag = "4")] + pub retcode: i32, + #[prost(uint64, tag = "8")] + pub guid: u64, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4209)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bdjhdfadipj { + #[prost(message, optional, tag = "1")] + pub lognndhodkh: ::core::option::Option, + #[prost(uint32, tag = "7")] + pub gbcebgkbjdm: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lghpolggnea { + #[prost(string, tag = "2")] + pub hcmnenkmnal: ::prost::alloc::string::String, + #[prost(string, tag = "5")] + pub lgbikbiocac: ::prost::alloc::string::String, + #[prost(string, tag = "9")] + pub fioaohpbkga: ::prost::alloc::string::String, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Maelijnmjfg { + #[prost(uint32, tag = "2")] + pub pdkifkkmhcn: u32, + #[prost(uint32, tag = "3")] + pub aaopmgielok: u32, + #[prost(uint32, tag = "4")] + pub lgbnfifcpjf: u32, + #[prost(uint32, tag = "8")] + pub group_id: u32, + #[prost(uint32, tag = "9")] + pub gjnbfnoiiin: u32, + #[prost(uint32, tag = "12")] + pub bknplfikkfg: u32, + #[prost(uint32, tag = "15")] + pub fpedhedekpe: u32, + #[prost( + oneof = "maelijnmjfg::Detail", + tags = "23, 156, 344, 499, 612, 667, 820, 861, 970, 976, 1280, 1499, 1664, 1749, 1810, 1838, 1961, 1996" + )] + pub detail: ::core::option::Option, +} +/// Nested message and enum types in `MAELIJNMJFG`. +pub mod maelijnmjfg { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Detail { + #[prost(message, tag = "23")] + TargetShootingInfo(super::Llidcbkbpjh), + #[prost(message, tag = "156")] + HideAndSeekInfo(super::Nbokgpkibpk), + #[prost(message, tag = "344")] + ChessInfo(super::Ogaiociiaob), + #[prost(message, tag = "499")] + FleurFairInfo(super::Jgbbfognlkn), + #[prost(message, tag = "612")] + HideAndSeekV4Info(super::Ockfdndlgjg), + #[prost(message, tag = "667")] + BallGameInfo(super::Ioilcoenabe), + #[prost(message, tag = "820")] + FleurFairV2PacmanInfo(super::Jojdjopieag), + #[prost(message, tag = "861")] + LanV4PartyLionInfo(super::Ffnnmlbfeih), + #[prost(message, tag = "970")] + PitchPotInfo(super::Efbibollcca), + #[prost(message, tag = "976")] + LanV3BoatInfo(super::Oohiibfcaje), + #[prost(message, tag = "1280")] + CoinCollectInfo(super::Jcekiajcncj), + #[prost(message, tag = "1499")] + IrodoriChessInfo(super::Chokefpflec), + #[prost(message, tag = "1664")] + CharAmusementInfo(super::Bpibibmgoll), + #[prost(message, tag = "1749")] + BrickBreakerInfo(super::Bbhcdjobhmj), + #[prost(message, tag = "1810")] + MonsterVsMonsterInfo(super::Cpdnnjhcjlk), + #[prost(message, tag = "1838")] + WatergunInfo(super::Fgjdcedjkfk), + #[prost(message, tag = "1961")] + BirdBallInfo(super::Dnfmmbkopga), + #[prost(message, tag = "1996")] + MechanicusInfo(super::Hikjhbdfmpa), + } +} +#[derive(proto_gen::CmdID)] +#[cmdid(24713)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bbghajglpkc {} +#[derive(proto_gen::CmdID)] +#[cmdid(23156)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fldnajjhiap { + #[prost(int32, tag = "4")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gohocgbphan { + #[prost(message, repeated, tag = "14")] + pub ccfeeebackd: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8755)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aikkioblnli { + #[prost(uint32, tag = "3")] + pub gaplfmmgbfa: u32, + #[prost(uint32, tag = "10")] + pub lbclghbmdaf: u32, + #[prost(int32, tag = "14")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5696)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ofpppogndid { + #[prost(message, repeated, tag = "8")] + pub pjemkikefle: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24453)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Donafffeomp { + #[prost(int32, tag = "2")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27277)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ofooeamppkm { + #[prost(uint64, repeated, tag = "8")] + pub avatar_guid_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct EntityAuthorityInfo { + #[prost(message, optional, tag = "1")] + pub ability_info: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub renderer_changed_info: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub ai_info: ::core::option::Option, + #[prost(message, optional, tag = "4")] + pub born_pos: ::core::option::Option, + #[prost(message, repeated, tag = "5")] + pub pose_para_list: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "6")] + pub client_extra_info: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20786)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pdemnlniiom { + #[prost(uint32, tag = "1")] + pub lbclghbmdaf: u32, + #[prost(uint32, tag = "14")] + pub scene_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3939)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nknhageffgb { + #[prost(bool, tag = "7")] + pub emlilmhjhog: bool, + #[prost(uint32, tag = "8")] + pub pjjaoilbfbn: u32, + #[prost(int32, tag = "10")] + pub retcode: i32, + #[prost(uint32, tag = "15")] + pub lgooidciaag: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9641)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nadacbaokip { + #[prost(map = "uint32, uint32", tag = "11")] + pub bnofpmifhdl: ::std::collections::HashMap, + #[prost(uint32, tag = "4")] + pub khhibkpbkpn: u32, + #[prost(uint32, tag = "1")] + pub uid: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jmcjpgaoilc { + #[prost(message, optional, tag = "12")] + pub behlkbcibpe: ::core::option::Option, + #[prost(message, optional, tag = "14")] + pub pdfdckhldok: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jnaielhbadh { + #[prost(message, optional, tag = "1")] + pub nlhmghplhcg: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub jepppmiiimk: ::core::option::Option, + #[prost(message, optional, tag = "6")] + pub hfomgfpncml: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Onejlakghci { + #[prost(uint32, tag = "2")] + pub uid: u32, + #[prost(string, tag = "3")] + pub mmdpdoococo: ::prost::alloc::string::String, + #[prost(string, tag = "7")] + pub kamjijolfkj: ::prost::alloc::string::String, + #[prost(uint32, tag = "10")] + pub dbmpkigbbhn: u32, + #[prost(string, tag = "12")] + pub bkdilgijpeg: ::prost::alloc::string::String, + #[prost(message, optional, tag = "13")] + pub blfkojlccoo: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5543)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hbmhancohoh { + #[prost(int32, tag = "7")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hkbdiohdfij { + #[prost(message, repeated, tag = "11")] + pub mcdijkphlno: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3211)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fmjoikfencn { + #[prost(message, repeated, tag = "1")] + pub iffngnbbibb: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "8")] + pub ajdeflcgbmb: u32, + #[prost(uint32, tag = "10")] + pub jfkplildpom: u32, + #[prost(int32, tag = "12")] + pub retcode: i32, + #[prost(uint32, tag = "13")] + pub alodojjbeen: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7559)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aoakbecnkjl { + #[prost(int32, tag = "8")] + pub retcode: i32, + #[prost(uint32, repeated, tag = "12")] + pub hjppomggmli: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8766)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fjefogdbogp {} +#[derive(proto_gen::CmdID)] +#[cmdid(3133)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lfiejpcddjh { + #[prost(uint32, tag = "9")] + pub neipflioolk: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24403)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Clpojmdleng {} +#[derive(proto_gen::CmdID)] +#[cmdid(28199)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Okahkmohaej { + #[prost(message, repeated, tag = "1")] + pub item_list: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "3")] + pub retcode: i32, + #[prost(uint32, tag = "6")] + pub level: u32, + #[prost(uint32, tag = "11")] + pub gghkdjlgfpb: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iphepklgfhh { + #[prost(uint32, tag = "2")] + pub dmnldppgokg: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(996)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fcppihecjoh { + #[prost(int32, tag = "15")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20080)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eoabofmhkbl { + #[prost(message, optional, tag = "6")] + pub lognndhodkh: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cggnejcicoh { + #[prost(uint32, tag = "1")] + pub fbpgimlmdnj: u32, + #[prost(uint32, tag = "4")] + pub ikaejmadibp: u32, + #[prost(enumeration = "Meldmegflld", tag = "6")] + pub abclhaaljpl: i32, + #[prost(message, repeated, tag = "15")] + pub mlpblilnnac: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5294)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hmmhdmldkcl {} +#[derive(proto_gen::CmdID)] +#[cmdid(1690)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hefmoljonem { + #[prost(uint32, tag = "15")] + pub omgchbachci: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8776)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Chagemnieak { + #[prost(uint32, tag = "3")] + pub dekhbeooien: u32, + #[prost(uint32, tag = "10")] + pub omgchbachci: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29751)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aapnidhhbbk { + #[prost(message, repeated, tag = "2")] + pub nbiglfhejbe: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "7")] + pub gbepkglfbfd: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "8")] + pub retcode: i32, + #[prost(enumeration = "Dplhebckkgg", tag = "9")] + pub cdebnkchkgm: i32, + #[prost(message, repeated, tag = "13")] + pub mkmhpomeahp: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28267)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nbfjfilkike { + #[prost(bool, tag = "6")] + pub npccimcpaai: bool, + #[prost(int32, tag = "11")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bmgmniiejbe { + #[prost(uint32, tag = "7")] + pub gnjcidhobia: u32, + #[prost(uint32, tag = "8")] + pub key: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29823)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hmjablelkij { + #[prost(int32, tag = "9")] + pub retcode: i32, + #[prost(message, repeated, tag = "11")] + pub ilnbhpkjkmg: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20486)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kbbdaidenld { + #[prost(uint32, repeated, tag = "2")] + pub nnfbhpjcono: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "1428")] + pub cfkplnkhfkn: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "5")] + pub jlfheeipddp: u32, + #[prost(uint32, tag = "1166")] + pub ipgglfekean: u32, + #[prost(uint32, tag = "8")] + pub bhpgplpcnpl: u32, + #[prost(uint32, tag = "4")] + pub clcabcnlgfm: u32, + #[prost(uint32, tag = "218")] + pub gikjkdblfad: u32, + #[prost(uint32, tag = "13")] + pub dekhbeooien: u32, + #[prost(uint32, tag = "11")] + pub ejnglcjnapn: u32, + #[prost(uint32, tag = "331")] + pub jjkibhbpppo: u32, + #[prost(uint32, tag = "14")] + pub cjbckcobhff: u32, + #[prost(uint64, tag = "15")] + pub dcompdppdpo: u64, + #[prost(float, tag = "1963")] + pub speed: f32, + #[prost(bool, tag = "12")] + pub jfjdimpcnnf: bool, + #[prost(bool, tag = "1278")] + pub hkjpcjflnfj: bool, + #[prost(bool, tag = "847")] + pub oedcpfgakam: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Reliquary { + #[prost(uint32, tag = "1")] + pub level: u32, + #[prost(uint32, tag = "2")] + pub exp: u32, + #[prost(uint32, tag = "3")] + pub promote_level: u32, + #[prost(uint32, tag = "4")] + pub main_prop_id: u32, + #[prost(uint32, repeated, tag = "5")] + pub append_prop_id_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dhdlknomaee { + #[prost(oneof = "dhdlknomaee::Jihgiiolfhe", tags = "5, 6, 7, 9, 10, 11, 12, 13, 15")] + pub jihgiiolfhe: ::core::option::Option, +} +/// Nested message and enum types in `DHDLKNOMAEE`. +pub mod dhdlknomaee { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Jihgiiolfhe { + #[prost(message, tag = "5")] + OpReroll(super::Ldhbdignhcl), + #[prost(message, tag = "6")] + OpPlayCard(super::Gmhlcfmhpbg), + #[prost(message, tag = "7")] + OpVehicle(super::Kaokjipofol), + #[prost(message, tag = "9")] + OpSelectOnStage(super::Kbllgefkocb), + #[prost(message, tag = "10")] + OpSurrender(super::Nbhbdhejbih), + #[prost(message, tag = "11")] + OpReboot(super::Lpojmbghhbj), + #[prost(message, tag = "12")] + OpRedraw(super::Laojlgmbaee), + #[prost(message, tag = "13")] + OpAttack(super::Ncgmjbgcfoi), + #[prost(message, tag = "15")] + OpPass(super::Dimcbfdlbki), + } +} +#[derive(proto_gen::CmdID)] +#[cmdid(8059)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ihigkgehkbh { + #[prost(uint32, tag = "2")] + pub ckfgjjlblnm: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23421)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Flalklbhakn { + #[prost(uint32, tag = "7")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dgecjhenbkp { + #[prost(uint32, tag = "1")] + pub uid: u32, + #[prost(string, tag = "2")] + pub bkdilgijpeg: ::prost::alloc::string::String, + #[prost(uint32, tag = "3")] + pub level: u32, + #[prost(uint32, tag = "4")] + pub avatar_id: u32, + #[prost(uint32, tag = "5")] + pub obfcjpojmom: u32, + #[prost(string, tag = "6")] + pub pbigganlbdh: ::prost::alloc::string::String, + #[prost(enumeration = "Aplkolhcome", tag = "7")] + pub oikmlefopaf: i32, + #[prost(uint32, tag = "8")] + pub param: u32, + #[prost(bool, tag = "10")] + pub ndbmjekkcgp: bool, + #[prost(string, tag = "11")] + pub kamjijolfkj: ::prost::alloc::string::String, + #[prost(uint32, tag = "12")] + pub bfdobealifp: u32, + #[prost(uint32, tag = "13")] + pub pkicaibdchd: u32, + #[prost(uint32, tag = "14")] + pub lpdnopahlib: u32, + #[prost(bool, tag = "15")] + pub pgeefgkfcmb: bool, + #[prost(uint32, tag = "16")] + pub ilplkjadegb: u32, + #[prost(string, tag = "17")] + pub ocmpadiifcd: ::prost::alloc::string::String, + #[prost(message, repeated, tag = "22")] + pub cadonpdcdbg: ::prost::alloc::vec::Vec, + #[prost(enumeration = "Fcfbaddhheo", tag = "23")] + pub occlnkdddne: i32, + #[prost(message, optional, tag = "24")] + pub blfkojlccoo: ::core::option::Option, + #[prost(bool, tag = "25")] + pub ebidbgfmbpb: bool, + #[prost(bool, tag = "26")] + pub bilaclegmbi: bool, + #[prost(enumeration = "Cegmlmcfcpm", tag = "27")] + pub platform_type: i32, + #[prost(bool, tag = "28")] + pub bapjkmdbbmd: bool, + #[prost(bool, tag = "29")] + pub kpeeoapghpb: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mhfikahpbmm { + #[prost(uint32, tag = "9")] + pub ndameclaedh: u32, + #[prost(message, repeated, tag = "14")] + pub hoggkjeimkj: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hjdebjmedpd { + #[prost(uint32, tag = "3")] + pub item_id: u32, + #[prost(uint32, tag = "13")] + pub gfppmnlpoek: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(783)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nojcgpcmijh { + #[prost(uint32, repeated, tag = "11")] + pub mkelecopffb: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oelndhifhii { + #[prost(message, repeated, tag = "6")] + pub ieimnelhaff: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "13")] + pub bjjdmkgdeio: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21445)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fhnmhlpepcp { + #[prost(int32, tag = "1")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7604)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jkaijencngf { + #[prost(enumeration = "Blbmocglooj", tag = "2")] + pub pcfefinaiif: i32, + #[prost(int32, tag = "4")] + pub retcode: i32, + #[prost(message, repeated, tag = "6")] + pub oichdianaee: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "8")] + pub bfddkachcei: bool, + #[prost(message, repeated, tag = "9")] + pub niomengdmaj: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "11")] + pub lepomlnoapk: ::prost::alloc::vec::Vec, + #[prost(enumeration = "Fogemdkjjcn", tag = "12")] + pub hkhifglncll: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bnjjmjnjcba { + #[prost(message, optional, tag = "8")] + pub baimabkjkdd: ::core::option::Option, + #[prost(uint32, tag = "14")] + pub mmkamelgmoa: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8117)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bpdaaahkdik { + #[prost(uint64, repeated, tag = "2")] + pub ibphcajngei: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "4")] + pub oiphhklaibf: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Okoiekiacnd { + #[prost(message, repeated, tag = "1")] + pub ohmgddcbbod: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "5")] + pub ggbndighcbl: u32, + #[prost(uint32, tag = "7")] + pub dafejpkfblo: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23781)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kifglhogkno { + #[prost(int32, tag = "1")] + pub retcode: i32, + #[prost(bool, tag = "9")] + pub bdgphdbflkm: bool, + #[prost(uint32, tag = "10")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20222)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eaadmkkfdpn {} +#[derive(proto_gen::CmdID)] +#[cmdid(1221)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lkpfanhoeba { + #[prost(uint32, repeated, tag = "5")] + pub mbjelcmkflh: ::prost::alloc::vec::Vec, + #[prost(enumeration = "Gmbpglnggli", tag = "14")] + pub ipobdekllje: i32, + #[prost(enumeration = "Noipnepdipn", tag = "15")] + pub epcbaobgodi: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9389)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aookfpklgmg { + #[prost(enumeration = "Chbmdhgnfhg", tag = "13")] + pub reason: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9496)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jbcngblnbki { + #[prost(map = "uint32, uint64", tag = "13")] + pub jbimondbcbb: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[cmdid(146)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jmjeiimndci {} +#[derive(proto_gen::CmdID)] +#[cmdid(3949)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iogggiidfem {} +#[derive(proto_gen::CmdID)] +#[cmdid(7770)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Higpfidmalh { + #[prost(uint32, tag = "11")] + pub onabdgfcpih: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1590)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nponaffgklk { + #[prost(message, repeated, tag = "14")] + pub bjnlfbjhlaf: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gkbofeacmha { + #[prost(uint32, tag = "1")] + pub kijjbikfdkn: u32, + #[prost(string, tag = "2")] + pub nhfncgpbdog: ::prost::alloc::string::String, + #[prost(string, tag = "3")] + pub comnaflodgj: ::prost::alloc::string::String, + #[prost(uint32, tag = "4")] + pub fckcnhkoabi: u32, + #[prost(uint32, tag = "5")] + pub kgldfijajie: u32, + #[prost(uint32, tag = "6")] + pub ahbcofjamcp: u32, + #[prost(uint32, tag = "7")] + pub end_time: u32, + #[prost(uint32, tag = "8")] + pub hdklpbohldh: u32, + #[prost(uint32, tag = "9")] + pub keaaloaehcm: u32, + #[prost(string, tag = "10")] + pub aicdpnibohe: ::prost::alloc::string::String, + #[prost(string, tag = "11")] + pub cdpbbjmokhc: ::prost::alloc::string::String, + #[prost(uint32, tag = "12")] + pub anhigelnhkp: u32, + #[prost(uint32, tag = "13")] + pub clkpaggjmac: u32, + #[prost(uint32, tag = "14")] + pub khhibkpbkpn: u32, + #[prost(uint32, tag = "15")] + pub lgbnfifcpjf: u32, + #[prost(string, tag = "162")] + pub habibjmgigk: ::prost::alloc::string::String, + #[prost(uint32, tag = "502")] + pub hghmffpaboo: u32, + #[prost(string, tag = "668")] + pub ndpfphcdnha: ::prost::alloc::string::String, + #[prost(message, repeated, tag = "792")] + pub bhelhjbmbfh: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "820")] + pub afbcgipiakc: u32, + #[prost(uint32, tag = "1082")] + pub flbfcpekoje: u32, + #[prost(uint32, repeated, tag = "1282")] + pub efpbiclmcgg: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "1333")] + pub aiihckimnnn: u32, + #[prost(bool, tag = "1624")] + pub lagahpeklhm: bool, + #[prost(uint32, repeated, tag = "1735")] + pub pbchchiiglk: ::prost::alloc::vec::Vec, + #[prost(string, tag = "1756")] + pub aldgmbljohb: ::prost::alloc::string::String, + #[prost(uint32, repeated, tag = "1805")] + pub nibjjpkmhng: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "1829")] + pub lhnmdfnenen: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7743)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oiddgdeobhn { + #[prost(bool, tag = "7")] + pub eippeiilmdp: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6486)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pgbfklpmfod { + #[prost(string, tag = "8")] + pub nick_name: ::prost::alloc::string::String, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1682)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pbneldlealh { + #[prost(uint64, repeated, tag = "9")] + pub kkagfcfmhmm: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "12")] + pub dlkgdlnileh: ::prost::alloc::vec::Vec, + #[prost(uint64, tag = "13")] + pub opbnfdpdjgd: u64, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21183)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hkpgjjfiflb { + #[prost(int32, tag = "4")] + pub retcode: i32, + #[prost(uint32, tag = "13")] + pub khhibkpbkpn: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Afooomafblf { + #[prost(uint32, tag = "2")] + pub uid: u32, + #[prost(string, tag = "12")] + pub bkdilgijpeg: ::prost::alloc::string::String, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29006)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kgkaekamfop { + #[prost(int32, tag = "4")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29021)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lhoicaagpcd { + #[prost(bool, tag = "12")] + pub plfbppnfdog: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21006)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bcdlgablnlo { + #[prost(uint32, tag = "2")] + pub omgchbachci: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9580)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bdaffnfabkc { + #[prost(enumeration = "Oeaoccjeope", tag = "4")] + pub ddiaamkbfda: i32, + #[prost(uint32, tag = "7")] + pub cenhkjdffda: u32, + #[prost(int32, tag = "13")] + pub retcode: i32, + #[prost(bool, tag = "14")] + pub mcpkkmhkcpd: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28354)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gbcajibkphh { + #[prost(enumeration = "Dlfmncpnfii", tag = "13")] + pub fkkdiffjccj: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Omofgonabfb { + #[prost(enumeration = "Mialgmhklbl", tag = "4")] + pub avatar_type: i32, + #[prost(uint32, tag = "5")] + pub costume_id: u32, + #[prost(uint32, tag = "6")] + pub eabfclcoelb: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29153)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Afhponpadae { + #[prost(uint32, repeated, tag = "6")] + pub fikgdofabee: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "10")] + pub dibjhdjhhlo: u32, + #[prost(uint32, tag = "5")] + pub cngjenenjih: u32, + #[prost(uint32, tag = "2")] + pub mhjeokngcdf: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nbokgpkibpk { + #[prost(uint32, tag = "2")] + pub mcmbofifbcp: u32, + #[prost(uint32, repeated, tag = "5")] + pub dmanoklbkka: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "7")] + pub kmhidaefflc: u32, + #[prost(bool, tag = "9")] + pub ebgkbpbkogl: bool, + #[prost(enumeration = "Plpanejlelj", tag = "11")] + pub fpedhedekpe: i32, + #[prost(map = "uint32, message", tag = "12")] + pub gffgjmadacl: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bldodediihf { + #[prost(uint32, tag = "1")] + pub bahemifdhhc: u32, + #[prost(uint32, tag = "12")] + pub dajkecknnmb: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fclbgdlfjdp { + #[prost(uint32, tag = "3")] + pub ejngailfghf: u32, + #[prost(message, repeated, tag = "6")] + pub chgjbbnldch: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25879)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Inkbchbknbd { + #[prost(uint32, tag = "9")] + pub parent_quest_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29217)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Henmipginhc { + #[prost(int32, tag = "10")] + pub retcode: i32, + #[prost(uint32, repeated, tag = "14")] + pub mjiofgmcple: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nmbkbalmnka { + #[prost(uint32, tag = "1")] + pub gaplfmmgbfa: u32, + #[prost(bool, tag = "9")] + pub hjlpileemeb: bool, + #[prost(uint32, tag = "12")] + pub ghiaogllldi: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8251)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hiebdgbfche { + #[prost(uint32, tag = "3")] + pub necgmakacdi: u32, + #[prost(uint32, tag = "9")] + pub pcaobbjlffm: u32, + #[prost(uint32, tag = "13")] + pub bbfplmbggjp: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27812)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ddnnicokhff { + #[prost(uint32, tag = "2")] + pub omgchbachci: u32, + #[prost(message, optional, tag = "8")] + pub geihmkhcije: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ppkidfdnmhg { + #[prost(message, optional, tag = "4")] + pub kiolegbhkbk: ::core::option::Option, + #[prost(uint32, tag = "15")] + pub dalbepbfmfb: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5672)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ipoodgpidjf { + #[prost(uint32, tag = "4")] + pub mempkcgnnmf: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hiipejfdlam { + #[prost(uint32, tag = "12")] + pub pjjaoilbfbn: u32, + #[prost(uint32, tag = "15")] + pub peajinifghm: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7069)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pbbldckbopk { + #[prost(uint32, tag = "5")] + pub entity_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1527)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ojgpkbcgpff { + #[prost(uint32, repeated, tag = "1")] + pub eldnocohalm: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "3")] + pub mlbpenmicli: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "6")] + pub jfpjmbolngm: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "8")] + pub fjepgpkjahk: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "12")] + pub khhibkpbkpn: u32, + #[prost(uint32, tag = "15")] + pub onabdgfcpih: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Obeolmghglf { + #[prost(float, tag = "1")] + pub bjabdhjannk: f32, + #[prost(float, tag = "2")] + pub ebkaenefpgj: f32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2286)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gilemaiabln { + #[prost(uint64, tag = "5")] + pub knijefgolnp: u64, + #[prost(int32, tag = "10")] + pub retcode: i32, + #[prost(bool, tag = "12")] + pub is_locked: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24454)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ehledjiococ { + #[prost(int32, tag = "15")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1490)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dofnjnjgfoi { + #[prost(uint32, tag = "15")] + pub omgchbachci: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1693)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fadpngopadc { + #[prost(int32, tag = "1")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3038)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jggbkdigjfg { + #[prost(uint32, tag = "11")] + pub ljejebelkmj: u32, + #[prost(uint32, tag = "5")] + pub clcnmjkomll: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ccihppgcmap { + #[prost(bool, tag = "9")] + pub dggckmikbmo: bool, + #[prost(message, optional, tag = "13")] + pub bepfmdkmfic: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bcpncfenhel { + #[prost(message, optional, tag = "6")] + pub pos: ::core::option::Option, + #[prost(message, optional, tag = "13")] + pub rot: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jllnaeakigl { + #[prost(uint32, tag = "4")] + pub gheklaopimo: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9939)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Olpmfdhimch { + #[prost(uint32, tag = "2")] + pub param: u32, + #[prost(uint32, tag = "4")] + pub target_uid: u32, + #[prost(int32, tag = "15")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Caoiklifeeb { + #[prost(uint32, tag = "2")] + pub leijpnjklim: u32, + #[prost(uint32, tag = "6")] + pub amlbcabkjfp: u32, + #[prost(message, optional, tag = "7")] + pub mhfdgagiepa: ::core::option::Option, + #[prost(uint32, tag = "8")] + pub kmaehpagkfk: u32, + #[prost(uint32, tag = "11")] + pub uid: u32, + #[prost(map = "uint32, uint32", tag = "14")] + pub ejodjeedjne: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27505)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Agmjonlifgp {} +#[derive(proto_gen::CmdID)] +#[cmdid(6713)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pfchinhdhcj { + #[prost(uint32, tag = "3")] + pub param: u32, + #[prost(message, repeated, tag = "6")] + pub pgonbleeaed: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "8")] + pub r#type: u32, + #[prost(message, optional, tag = "15")] + pub aepafpdiiba: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4497)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Onhpcakldeo { + #[prost(uint32, tag = "10")] + pub abnmbcelocb: u32, + #[prost(uint32, tag = "11")] + pub gaplfmmgbfa: u32, + #[prost(int32, tag = "14")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iffkjkoeiod { + #[prost(uint32, tag = "1")] + pub bneponhaomg: u32, + #[prost(uint32, tag = "2")] + pub kfpegnaadlo: u32, + #[prost(uint32, tag = "7")] + pub gaplfmmgbfa: u32, + #[prost(enumeration = "Pblfodhddml", tag = "8")] + pub state: i32, + #[prost(uint32, tag = "12")] + pub fffkclcemin: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6159)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jofeigjleha { + #[prost(bool, tag = "8")] + pub ofhehoohoja: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20235)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fmfnfaflhcn { + #[prost(uint32, repeated, tag = "14")] + pub ahpcnjnnlnh: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "10")] + pub cbmafaahiab: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "3")] + pub pjjaoilbfbn: u32, + #[prost(uint32, tag = "1")] + pub dmnldppgokg: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24392)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cgjnehmadhl { + #[prost(message, repeated, tag = "9")] + pub dbphkpkcjnp: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(395)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eoeboihkacl { + #[prost(uint32, tag = "8")] + pub phmkpnkmooe: u32, + #[prost(uint32, tag = "9")] + pub lgooidciaag: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dbkcmecjhbj { + #[prost(uint32, tag = "6")] + pub phpfppidjkj: u32, + #[prost(uint32, tag = "13")] + pub skill_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dbmikfmachb { + #[prost(message, repeated, tag = "12")] + pub aeoeakggcan: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2226)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aanophclbhl { + #[prost(int32, tag = "5")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hmkmopmkdgo { + #[prost(uint32, tag = "7")] + pub fllkomkhiam: u32, + #[prost(uint32, tag = "15")] + pub uid: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24554)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nniflhkonkp {} +#[derive(proto_gen::CmdID)] +#[cmdid(1975)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lmhoppcnglk {} +#[derive(proto_gen::CmdID)] +#[cmdid(28493)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Idjbnepgkmp { + #[prost(bool, tag = "7")] + pub ljmfgajfian: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jacncoilbca { + #[prost(uint32, tag = "3")] + pub cbkmbdhpbdc: u32, + #[prost(uint32, tag = "8")] + pub gpbnffjbomn: u32, + #[prost(uint32, tag = "9")] + pub lpfiogebnjf: u32, + #[prost(uint32, tag = "14")] + pub iknfnnfkagf: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20112)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fngcmlcjgop { + #[prost(string, tag = "12")] + pub name: ::prost::alloc::string::String, + #[prost(bool, tag = "9")] + pub bkocnhnnepi: bool, + #[prost(uint32, tag = "13")] + pub cdmjgifefmd: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hkpnpgabcij { + #[prost(uint32, tag = "1")] + pub oboopjlpdni: u32, + #[prost(uint32, tag = "3")] + pub fbpgimlmdnj: u32, + #[prost(uint32, repeated, tag = "4")] + pub ogjodgflein: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "5")] + pub guid: u32, + #[prost(uint32, tag = "7")] + pub kdknoocoebm: u32, + #[prost(bool, tag = "10")] + pub hkgkclkjdop: bool, + #[prost(message, repeated, tag = "12")] + pub cahlhmjcolo: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "13")] + pub pobhlhhdjhe: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "15")] + pub tag_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nplpkkmdphh { + #[prost(enumeration = "AvatarType", tag = "2")] + pub avatar_type: i32, + #[prost(uint32, tag = "7")] + pub costume_id: u32, + #[prost(uint32, tag = "13")] + pub avatar_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nbdcjchbdac { + #[prost(int32, tag = "4")] + pub gnjcidhobia: i32, + #[prost(enumeration = "Dmkgkakimab", tag = "14")] + pub r#type: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ppcogllllbo { + #[prost(uint32, repeated, tag = "1")] + pub gcbeeinchka: ::prost::alloc::vec::Vec, + #[prost(enumeration = "Eegmnipnkmj", tag = "5")] + pub reason: i32, + #[prost(enumeration = "Ihacnpjbldi", tag = "7")] + pub fiiaknpdpnj: i32, + #[prost(uint32, tag = "15")] + pub fbpgimlmdnj: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1012)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Chbbiahomnp { + #[prost(int32, tag = "14")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eihakhjejpl { + #[prost(uint32, repeated, tag = "6")] + pub mnnbpdbbckh: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "8")] + pub dggckmikbmo: bool, + #[prost(uint32, tag = "12")] + pub mempkcgnnmf: u32, + #[prost(uint32, tag = "13")] + pub nnaalgjoaio: u32, + #[prost(uint32, tag = "15")] + pub dmnldppgokg: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3275)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Llkeeiihnlk { + #[prost(uint32, tag = "7")] + pub gpdogmpijfc: u32, + #[prost(map = "uint32, message", tag = "10")] + pub onnlnefnfgj: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1480)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fcmilblcomn { + #[prost(uint32, tag = "1")] + pub fhhjghkngfg: u32, + #[prost(int32, tag = "4")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Caenmemopkh { + #[prost(uint32, tag = "2")] + pub ogopbmamfma: u32, + #[prost(uint32, tag = "4")] + pub fbglapbjmkb: u32, + #[prost(uint32, tag = "5")] + pub ikhholbmdko: u32, + #[prost(message, optional, tag = "10")] + pub nbhoddcfikb: ::core::option::Option, + #[prost(uint32, tag = "13")] + pub bpfoadipmjf: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29764)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ngloniahmog { + #[prost(uint32, tag = "1")] + pub nlfokopdlji: u32, + #[prost(message, repeated, tag = "2")] + pub kfancdobikj: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "3")] + pub meffpehbopm: bool, + #[prost(uint32, tag = "5")] + pub nneccmilpal: u32, + #[prost(bool, tag = "7")] + pub jcncmohdbmm: bool, + #[prost(bool, tag = "8")] + pub amnbppdcegi: bool, + #[prost(bool, tag = "9")] + pub jfoeekheimo: bool, + #[prost(uint32, tag = "10")] + pub epcpnhjnkbn: u32, + #[prost(uint32, tag = "11")] + pub epcbaobgodi: u32, + #[prost(uint32, tag = "12")] + pub hgkkgoolfpe: u32, + #[prost(uint32, tag = "13")] + pub nnaalgjoaio: u32, + #[prost(bool, tag = "14")] + pub cildcaaeaoj: bool, + #[prost(bool, tag = "15")] + pub folikaaikie: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21164)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ajekigfpbjh { + #[prost(int32, tag = "1")] + pub retcode: i32, + #[prost(uint32, repeated, tag = "3")] + pub hjhpfacphjf: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "9")] + pub jefildjebaj: u32, + #[prost(message, repeated, tag = "12")] + pub item_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3135)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SetUpAvatarTeamReq { + #[prost(uint64, repeated, tag = "6")] + pub avatar_team_guid_list: ::prost::alloc::vec::Vec, + #[prost(uint64, tag = "12")] + pub cur_avatar_guid: u64, + #[prost(uint32, tag = "13")] + pub team_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ainkohfimhn { + #[prost(int32, tag = "1")] + pub x: i32, + #[prost(int32, tag = "2")] + pub y: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3879)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kfddhhmibbb { + #[prost(message, optional, tag = "4")] + pub nkkdocdejfg: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mhefliobhjo { + #[prost(message, optional, tag = "2")] + pub rot: ::core::option::Option, + #[prost(message, optional, tag = "5")] + pub pos: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jgkgabikcip { + #[prost(uint32, tag = "1")] + pub fbpgimlmdnj: u32, + #[prost(uint32, tag = "2")] + pub bchdodngchl: u32, + #[prost(map = "uint32, message", tag = "3")] + pub oenfjdpljll: ::std::collections::HashMap, + #[prost(uint32, tag = "4")] + pub anjmobmgame: u32, + #[prost(message, optional, tag = "5")] + pub imljbagldbf: ::core::option::Option, + #[prost(message, optional, tag = "6")] + pub jmpkjdhjkik: ::core::option::Option, + #[prost(enumeration = "Cmdeepdjoga", repeated, tag = "7")] + pub ebhcablnklp: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "8")] + pub jhcjkgoonda: ::core::option::Option, + #[prost(uint32, tag = "9")] + pub eilehagfenp: u32, + #[prost(message, optional, tag = "10")] + pub ncfhblfkbgd: ::core::option::Option, + #[prost(uint32, tag = "11")] + pub ehbhplapohk: u32, + #[prost(message, repeated, tag = "12")] + pub mhkfnlghmpi: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "13")] + pub cmnbcfnaanh: u32, + #[prost(message, optional, tag = "14")] + pub adkjlpandlh: ::core::option::Option, + #[prost(bool, tag = "15")] + pub hjeilabenak: bool, + #[prost(uint32, tag = "1155")] + pub gdfkdhgbdjo: u32, + #[prost(bool, tag = "1590")] + pub hpjpckiilaj: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct AvatarExcelInfo { + #[prost(uint64, tag = "1")] + pub prefab_path_hash: u64, + #[prost(uint64, tag = "2")] + pub prefab_path_remote_hash: u64, + #[prost(uint64, tag = "3")] + pub controller_path_hash: u64, + #[prost(uint64, tag = "4")] + pub controller_path_remote_hash: u64, + #[prost(uint64, tag = "5")] + pub combat_config_hash: u64, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fmmgigafgdo { + #[prost(map = "uint32, uint32", tag = "5")] + pub blolpfcbdin: ::std::collections::HashMap, + #[prost(uint32, tag = "8")] + pub mempkcgnnmf: u32, + #[prost(bool, tag = "11")] + pub ecihdijcled: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ikkagaaibik { + #[prost(uint32, repeated, tag = "1")] + pub cmhjnabfhgj: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "2")] + pub ilgkjachiji: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24363)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bamdknielgj { + #[prost(uint32, tag = "14")] + pub okicoglejec: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Abmkmcnpagm { + #[prost(bool, tag = "9")] + pub okiggnfhlgg: bool, + #[prost(uint32, tag = "10")] + pub monster_id: u32, + #[prost(uint32, tag = "11")] + pub entity_id: u32, + #[prost(bool, tag = "12")] + pub lalcjafhbad: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3174)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Paippemgich {} +#[derive(proto_gen::CmdID)] +#[cmdid(28847)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dmdhfllhlcp { + #[prost(string, tag = "1")] + pub bkdilgijpeg: ::prost::alloc::string::String, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27249)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Andkbibkgcg { + #[prost(uint32, tag = "1")] + pub kenikecfflm: u32, + #[prost(int32, tag = "3")] + pub retcode: i32, + #[prost(message, optional, tag = "7")] + pub ebpoibhnpnh: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20409)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pjobhnpmhbe { + #[prost(uint32, repeated, tag = "13")] + pub bekbhhlppia: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2893)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ibpidnmpdfo { + #[prost(message, optional, tag = "10")] + pub ejalongbodn: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(610)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fjmpedgckbh { + #[prost(enumeration = "Igohjibcdfa", tag = "6")] + pub lkidbhiooog: i32, + #[prost(uint32, tag = "8")] + pub entity_id: u32, + #[prost(message, optional, tag = "9")] + pub ofijojjopik: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22401)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bcnpabbnnlg { + #[prost(uint32, tag = "1")] + pub pdlkmpbkane: u32, + #[prost(uint32, tag = "2")] + pub entity_id: u32, + #[prost(uint32, repeated, tag = "3")] + pub cdgfhbkoogn: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "4")] + pub iehlhaogkpj: u32, + #[prost(uint32, tag = "6")] + pub laicdpfdimh: u32, + #[prost(uint32, repeated, tag = "9")] + pub dnijppkbcbd: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "11")] + pub bmeffiimled: u32, + #[prost(string, tag = "13")] + pub ceelgoogbec: ::prost::alloc::string::String, + #[prost(uint32, repeated, tag = "14")] + pub ljoofaigafk: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "15")] + pub aaopmgielok: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7218)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Plmipijdmpa {} +#[derive(proto_gen::CmdID)] +#[cmdid(5901)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bhbkiinfnpk { + #[prost(message, optional, tag = "7")] + pub inoanpfnjbb: ::core::option::Option, + #[prost(message, optional, tag = "9")] + pub gkkbdhmoppi: ::core::option::Option, + #[prost(int32, tag = "15")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26720)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mplleoncmoj { + #[prost(uint32, tag = "3")] + pub uid: u32, + #[prost(message, repeated, tag = "13")] + pub lihcaefdjoc: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28515)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mcghjnhpepf { + #[prost(enumeration = "Jjhggdcjhji", tag = "9")] + pub mgcabaeicco: i32, + #[prost(bool, tag = "5")] + pub nkeifkmdnnc: bool, + #[prost(enumeration = "Ognimielclp", tag = "11")] + pub onknnoeanji: i32, + #[prost(enumeration = "Himmemhogfb", tag = "10")] + pub mfmlakbiaed: i32, + #[prost(uint32, tag = "13")] + pub khhibkpbkpn: u32, + #[prost(uint64, tag = "8")] + pub dcompdppdpo: u64, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1496)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mncanfdlmob {} +#[derive(proto_gen::CmdID)] +#[cmdid(7866)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bmmanhgbiik { + #[prost(uint32, tag = "1")] + pub entity_id: u32, + #[prost(message, optional, tag = "5")] + pub pos: ::core::option::Option, + #[prost(int32, tag = "7")] + pub retcode: i32, + #[prost(uint32, tag = "14")] + pub jinjlbemjnc: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7760)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Glaialaegpb {} +#[derive(proto_gen::CmdID)] +#[cmdid(8090)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bddocdinbpm {} +#[derive(proto_gen::CmdID)] +#[cmdid(23047)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cbdapplpdkl { + #[prost(message, repeated, tag = "9")] + pub prop_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gjfdldcnahl { + #[prost(uint32, tag = "4")] + pub dppfeemfnmn: u32, + #[prost(message, optional, tag = "5")] + pub blfkojlccoo: ::core::option::Option, + #[prost(string, tag = "7")] + pub bkdilgijpeg: ::prost::alloc::string::String, + #[prost(uint32, tag = "9")] + pub uid: u32, + #[prost(string, tag = "10")] + pub kamjijolfkj: ::prost::alloc::string::String, + #[prost(uint32, tag = "13")] + pub dekhbeooien: u32, + #[prost(uint32, tag = "15")] + pub ipbbhmppdaa: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23536)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ejgemkjbpel { + #[prost(uint32, tag = "5")] + pub avatar_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29466)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jnjngnblfje { + #[prost(uint32, tag = "6")] + pub giilnmoloni: u32, + #[prost(int32, tag = "12")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22506)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jgbpmookaib { + #[prost(int32, tag = "3")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22696)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nnieloanjpe { + #[prost(bool, tag = "4")] + pub omncikffgbo: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lnokpdcnooe { + #[prost(uint32, tag = "4")] + pub oiphhklaibf: u32, + #[prost(int32, tag = "5")] + pub retcode: i32, + #[prost(uint32, tag = "12")] + pub pkmjlonieco: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gidjakbjkgj { + #[prost(uint32, tag = "6")] + pub skill_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(227)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kpgjniddnej {} +#[derive(proto_gen::CmdID)] +#[cmdid(8068)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Khcncdfceof { + #[prost(message, optional, tag = "12")] + pub gohpifbeioi: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Adhjcekbmci { + #[prost(uint32, repeated, tag = "3")] + pub ieiomelgehh: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "6")] + pub ddbdokonakg: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "7")] + pub amhdkmcjplb: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "8")] + pub nfbhfjbacig: u32, + #[prost(uint32, tag = "12")] + pub kgffekdhkga: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2317)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ojonlaahcji { + #[prost(int32, tag = "14")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22824)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kacoamdiapn { + #[prost(bool, tag = "6")] + pub khblknfmbnm: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21624)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ipilppdjpmg { + #[prost(uint32, repeated, tag = "1")] + pub mjgcfcfkpke: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4965)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ldoopdjkhkn { + #[prost(string, tag = "8")] + pub plkolhgcdgc: ::prost::alloc::string::String, + #[prost(bool, tag = "9")] + pub mcpkkmhkcpd: bool, + #[prost(uint32, tag = "11")] + pub target_uid: u32, + #[prost(enumeration = "Bojmbiemcjc", tag = "13")] + pub reason: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cepdclhamci { + #[prost(uint32, tag = "9")] + pub pjjaoilbfbn: u32, + #[prost(uint32, tag = "10")] + pub ominnhcmhap: u32, + #[prost(bool, tag = "14")] + pub eialjbaengj: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ffnnmlbfeih { + #[prost(uint32, tag = "7")] + pub pjjaoilbfbn: u32, + #[prost(uint32, tag = "9")] + pub cenhkjdffda: u32, + #[prost(message, repeated, tag = "11")] + pub ohmgddcbbod: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ffjdcngfnpm { + #[prost(message, optional, tag = "5")] + pub ooophcdhean: ::core::option::Option, + #[prost(message, optional, tag = "6")] + pub iephfeihkcn: ::core::option::Option, + #[prost(uint32, tag = "10")] + pub scene_id: u32, + #[prost(uint32, tag = "12")] + pub pghgefmpgdc: u32, + #[prost(message, repeated, tag = "14")] + pub almbifelkaa: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct RegionSimpleInfo { + #[prost(string, tag = "1")] + pub name: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub title: ::prost::alloc::string::String, + #[prost(string, tag = "3")] + pub r#type: ::prost::alloc::string::String, + #[prost(string, tag = "4")] + pub dispatch_url: ::prost::alloc::string::String, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23489)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ledchlednef { + #[prost(uint32, repeated, tag = "11")] + pub oijdmjnacmb: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "2")] + pub pjjaoilbfbn: u32, + #[prost(uint32, tag = "5")] + pub mkgoppblfkc: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27306)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ihkiboajamj { + #[prost(message, repeated, tag = "13")] + pub info_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Afakiiojani { + #[prost(uint32, tag = "13")] + pub apnlofpnahn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26123)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jmaiikonbal { + #[prost(uint32, tag = "1")] + pub config_id: u32, + #[prost(uint32, tag = "8")] + pub gghkdjlgfpb: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fgbaeindlhg { + #[prost(uint64, tag = "5")] + pub guid: u64, + #[prost(uint32, tag = "11")] + pub count: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Coeagopenbm {} +#[derive(proto_gen::CmdID)] +#[cmdid(1429)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hgapnckneef { + #[prost(int32, tag = "8")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7155)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dkmjkfjnbbi { + #[prost(uint32, repeated, tag = "13")] + pub kkfakeigcic: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9741)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ifafpcgnjlo { + #[prost(enumeration = "Dmbnnbhbpbi", tag = "13")] + pub hkmhenoepkp: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kbnnkpbfiao { + #[prost(uint32, tag = "1")] + pub ghiaogllldi: u32, + #[prost(message, repeated, tag = "2")] + pub item_list: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29411)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oniepibkfhe { + #[prost(map = "uint64, message", tag = "1")] + pub hmemhopnbeb: ::std::collections::HashMap, + #[prost(int32, repeated, tag = "3")] + pub npjnnihenaa: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "4")] + pub ihblfhdemdi: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "11")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9918)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bdamieefafe { + #[prost(uint32, tag = "7")] + pub dekhbeooien: u32, + #[prost(bool, tag = "1")] + pub dmedoehomkh: bool, + #[prost(uint32, tag = "11")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2748)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Agdoiemejin { + #[prost(int32, tag = "4")] + pub retcode: i32, + #[prost(uint32, repeated, tag = "6")] + pub bpbojkljaga: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "7")] + pub cdnmgdanhch: u32, + #[prost(message, repeated, tag = "9")] + pub febkkhceplj: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "11")] + pub ineikfafmeo: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "12")] + pub eahfokifjoj: u32, + #[prost(uint32, repeated, tag = "13")] + pub jhpdohcmkec: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9532)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jmkfcgopjfj { + #[prost(uint32, tag = "2")] + pub khhibkpbkpn: u32, + #[prost(uint32, tag = "7")] + pub ihaiipfmpld: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Omcgmpijjkl { + #[prost(uint32, tag = "9")] + pub dekhbeooien: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5950)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ieaiadbaeng { + #[prost(uint64, tag = "8")] + pub dcompdppdpo: u64, + #[prost(enumeration = "Himmemhogfb", tag = "10")] + pub mfmlakbiaed: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Khlgklmjnal { + #[prost(uint32, tag = "4")] + pub egilpllmlho: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3753)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pcfbfhgidfj { + #[prost(int32, tag = "2")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8955)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jlpblhcndcb { + #[prost(int32, tag = "12")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cepnkdlepbd { + #[prost(uint32, repeated, tag = "1")] + pub ogpngbggbgb: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "2")] + pub dphdagagbii: bool, + #[prost(message, repeated, tag = "4")] + pub kodfdmdfihe: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "9")] + pub alkbdlgfdkk: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "10")] + pub hdjcadkkfci: bool, + #[prost(uint32, repeated, tag = "11")] + pub bflgapenlmo: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28112)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Janeomngdnd { + #[prost(message, optional, tag = "9")] + pub pos: ::core::option::Option, + #[prost(uint32, tag = "10")] + pub opmmnijedmi: u32, + #[prost(uint32, tag = "6")] + pub fiapbncbbpb: u32, + #[prost(uint32, tag = "7")] + pub dfpijjfifnm: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8300)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bimgmjjokpo {} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oddjjglhinj { + #[prost(uint32, repeated, tag = "1")] + pub fniebngfapn: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "4")] + pub kgffekdhkga: u32, + #[prost(message, repeated, tag = "5")] + pub kmhadmidcpg: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "11")] + pub pjggongegef: u32, + #[prost(uint32, repeated, tag = "12")] + pub kelnhneihif: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kefjleopboa { + #[prost(uint32, tag = "2")] + pub end_time: u32, + #[prost(message, optional, tag = "6")] + pub rot: ::core::option::Option, + #[prost(uint32, tag = "7")] + pub mdonemkpmbk: u32, + #[prost(message, optional, tag = "8")] + pub pos: ::core::option::Option, + #[prost(uint32, tag = "13")] + pub scene_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5971)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Njifnhodhln { + #[prost(map = "uint32, uint32", tag = "10")] + pub hlmehjfpkkc: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cjlifoflada { + #[prost(bool, tag = "1")] + pub mdgjjofokap: bool, + #[prost(uint32, tag = "3")] + pub nejjlenpcoc: u32, + #[prost(uint32, tag = "6")] + pub ppbamnfheje: u32, + #[prost(uint32, tag = "8")] + pub bboeinaapcm: u32, + #[prost(uint32, tag = "12")] + pub apdngejkfpg: u32, + #[prost(uint32, tag = "13")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Npfpjaheidh { + #[prost(uint32, tag = "1")] + pub room_id: u32, + #[prost(uint32, tag = "6")] + pub aoonjjoanje: u32, + #[prost(message, optional, tag = "13")] + pub hdpckfcciaj: ::core::option::Option, + #[prost(message, optional, tag = "14")] + pub ffbhoijkmpm: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mmaeimdkbhn { + #[prost(message, optional, tag = "4")] + pub nbhoddcfikb: ::core::option::Option, + #[prost(uint32, tag = "8")] + pub ecnnjjoiehd: u32, + #[prost(map = "uint32, message", tag = "9")] + pub ohkdkakhgje: ::std::collections::HashMap, + #[prost(uint32, tag = "10")] + pub elcljhgcobo: u32, + #[prost(message, optional, tag = "12")] + pub blebchgpieb: ::core::option::Option, + #[prost(bool, tag = "15")] + pub dhfdmglicjh: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2063)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kniaacffbca { + #[prost(uint32, tag = "12")] + pub mgcmnplnjkl: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21976)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mjimpfndcbc { + #[prost(message, repeated, tag = "3")] + pub mehkpmjemdp: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22499)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Obdbodhkcjl { + #[prost(int32, tag = "3")] + pub retcode: i32, + #[prost(message, repeated, tag = "8")] + pub ommjmilkebp: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "12")] + pub hijhpoccaoc: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Henebmliicl { + #[prost(uint32, tag = "1")] + pub uid: u32, + #[prost(string, tag = "2")] + pub bkdilgijpeg: ::prost::alloc::string::String, + #[prost(uint32, tag = "3")] + pub dbmpkigbbhn: u32, + #[prost(uint32, tag = "4")] + pub avatar_id: u32, + #[prost(enumeration = "Ijjojmpijkc", tag = "5")] + pub dbjghngiifg: i32, + #[prost(uint32, tag = "6")] + pub kjbiaapklak: u32, + #[prost(uint32, tag = "7")] + pub obfcjpojmom: u32, + #[prost(string, tag = "8")] + pub kamjijolfkj: ::prost::alloc::string::String, + #[prost(uint32, tag = "9")] + pub pkicaibdchd: u32, + #[prost(uint32, repeated, tag = "10")] + pub lolibfkmabp: ::prost::alloc::vec::Vec, + #[prost(string, tag = "11")] + pub pbigganlbdh: ::prost::alloc::string::String, + #[prost(message, optional, tag = "12")] + pub blfkojlccoo: ::core::option::Option, + #[prost(string, tag = "13")] + pub mmdpdoococo: ::prost::alloc::string::String, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9530)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Chhplagpook { + #[prost(uint32, tag = "6")] + pub ooflahmeleo: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23924)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eahbhajnkdm { + #[prost(message, optional, tag = "14")] + pub dpebbflaadc: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23247)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dfbbgaeppde { + #[prost(int32, tag = "2")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jbeoplgpahd { + #[prost(uint32, tag = "3")] + pub jklafeigolc: u32, + #[prost(uint32, tag = "4")] + pub plaipmojmeo: u32, + #[prost(uint32, tag = "5")] + pub gjnfgfipljf: u32, + #[prost(bool, tag = "6")] + pub epebcoblkii: bool, + #[prost(message, optional, tag = "13")] + pub lcnpcoldlcn: ::core::option::Option, + #[prost(bool, tag = "15")] + pub lchffkhpjio: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nhiafabfend { + #[prost(uint32, tag = "13")] + pub uid: u32, + #[prost(uint32, tag = "15")] + pub cojpmjkgidj: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1839)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kmnjhipkfki { + #[prost(uint32, repeated, tag = "1")] + pub micbneehgam: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "13")] + pub clpdklnbcme: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "9")] + pub olikaoabpjm: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ffclajleaeh { + #[prost(bool, tag = "4")] + pub lhhbinhjaoe: bool, + #[prost(uint32, tag = "12")] + pub oboopjlpdni: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eoogcodklon { + #[prost(message, optional, tag = "6")] + pub mineooknpig: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oepkkecpjhn { + #[prost(uint32, tag = "2")] + pub pjjaoilbfbn: u32, + #[prost(float, tag = "3")] + pub pakpalckbaf: f32, + #[prost(bool, tag = "4")] + pub ecihdijcled: bool, + #[prost(message, optional, tag = "5")] + pub mjkalbbjipi: ::core::option::Option, + #[prost(uint32, tag = "10")] + pub dmkfeccmcop: u32, + #[prost(uint32, repeated, tag = "11")] + pub gmmdkehbkjn: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "14")] + pub scene_id: u32, + #[prost(bool, tag = "15")] + pub jhfmeficaal: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22277)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gidmlgfdljp {} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jfadjcgaoce { + #[prost(uint32, tag = "1")] + pub mabfbdjlpmi: u32, + #[prost(uint32, tag = "2")] + pub inpbhpjellf: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22912)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lkonoiamkck { + #[prost(uint32, tag = "4")] + pub gnjcidhobia: u32, + #[prost(uint32, tag = "7")] + pub pdlkmpbkane: u32, + #[prost(uint32, tag = "13")] + pub ihlceedfind: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gdljljihmfo { + #[prost(message, repeated, tag = "4")] + pub eloilboekpk: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20061)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hlpaebghaeh { + #[prost(message, optional, tag = "11")] + pub behlkbcibpe: ::core::option::Option, + #[prost(uint32, tag = "7")] + pub miagfdldmph: u32, + #[prost(enumeration = "Igohjibcdfa", tag = "2")] + pub lkidbhiooog: i32, + #[prost(uint32, tag = "10")] + pub skill_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20466)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Odcgjenpjnc { + #[prost(message, optional, tag = "12")] + pub pos: ::core::option::Option, + #[prost(uint64, tag = "1")] + pub guid: u64, + #[prost(uint32, tag = "5")] + pub count: u32, + #[prost(enumeration = "StoreType", tag = "4")] + pub store_type: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bagmciddfgk { + #[prost(message, optional, tag = "13")] + pub pdjmiecelhm: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29122)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iecapigjfeo { + #[prost(int32, tag = "4")] + pub retcode: i32, + #[prost(uint32, tag = "6")] + pub jodpdbpgoab: u32, + #[prost(uint32, repeated, tag = "13")] + pub jdcapblplna: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lheekndlblh { + #[prost(uint32, tag = "2")] + pub alelbofdnoe: u32, + #[prost(bool, tag = "7")] + pub neeneiabndb: bool, + #[prost(uint32, tag = "9")] + pub lekfejhkppe: u32, + #[prost(bool, tag = "10")] + pub jhfmeficaal: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(955)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hamldkooefc { + #[prost(map = "uint32, uint32", tag = "12")] + pub pgcmpkmhllo: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7273)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct EnterSceneReadyRsp { + #[prost(int32, tag = "6")] + pub retcode: i32, + #[prost(uint32, tag = "9")] + pub enter_scene_token: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iekcjkjined { + #[prost(uint32, tag = "2")] + pub hnfmbnfgmpp: u32, + #[prost(uint32, tag = "9")] + pub param: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fdlekdoggag { + #[prost(uint32, tag = "1")] + pub pmaeonpomje: u32, + #[prost(uint32, tag = "5")] + pub hmfaceejjdm: u32, + #[prost(bool, tag = "6")] + pub lhnfiiejbem: bool, + #[prost(bool, tag = "7")] + pub efalapcoopp: bool, + #[prost(uint32, tag = "9")] + pub ppbaamiopgf: u32, + #[prost(uint32, repeated, tag = "10")] + pub pdcdkbbmmib: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "12")] + pub fceackkghcl: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eaejoocjffl { + #[prost(string, tag = "2")] + pub lgnfafmphkd: ::prost::alloc::string::String, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SceneAvatarInfo { + #[prost(uint32, tag = "1")] + pub uid: u32, + #[prost(uint32, tag = "2")] + pub avatar_id: u32, + #[prost(uint64, tag = "3")] + pub guid: u64, + #[prost(uint32, tag = "4")] + pub peer_id: u32, + #[prost(uint32, repeated, tag = "5")] + pub equip_id_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "6")] + pub skill_depot_id: u32, + #[prost(uint32, repeated, tag = "7")] + pub talent_id_list: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "8")] + pub weapon: ::core::option::Option, + #[prost(message, repeated, tag = "9")] + pub reliquary_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "11")] + pub core_proud_skill_level: u32, + #[prost(uint32, repeated, tag = "12")] + pub inherent_proud_skill_list: ::prost::alloc::vec::Vec, + #[prost(map = "uint32, uint32", tag = "13")] + pub skill_level_map: ::std::collections::HashMap, + #[prost(map = "uint32, uint32", tag = "14")] + pub proud_skill_extra_level_map: ::std::collections::HashMap, + #[prost(message, repeated, tag = "15")] + pub server_buff_list: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "16")] + pub team_resonance_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "17")] + pub wearing_flycloak_id: u32, + #[prost(uint32, tag = "18")] + pub born_time: u32, + #[prost(uint32, tag = "19")] + pub costume_id: u32, + #[prost(message, optional, tag = "20")] + pub cur_vehicle_info: ::core::option::Option, + #[prost(message, optional, tag = "21")] + pub excel_info: ::core::option::Option, + #[prost(uint32, tag = "22")] + pub anim_hash: u32, + #[prost(uint32, tag = "23")] + pub kcinbomoigl: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3438)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jahagjciihm { + #[prost(uint32, tag = "8")] + pub group_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26361)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nkpacmdaidm { + #[prost(message, repeated, tag = "1")] + pub mkmhpomeahp: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "2")] + pub gldnnfocdem: u32, + #[prost(int32, tag = "5")] + pub retcode: i32, + #[prost(message, repeated, tag = "8")] + pub gbepkglfbfd: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "11")] + pub fflgcbbliao: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21366)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hamlmaocpoc { + #[prost(uint32, repeated, tag = "10")] + pub adlemoamhop: ::prost::alloc::vec::Vec, + #[prost(enumeration = "Oeaoccjeope", tag = "14")] + pub ddiaamkbfda: i32, + #[prost(uint32, tag = "5")] + pub ohkidhnabib: u32, + #[prost(uint32, tag = "7")] + pub cenhkjdffda: u32, + #[prost(uint32, tag = "3")] + pub gaplfmmgbfa: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4813)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fehollhioih { + #[prost(uint32, tag = "1")] + pub igmnbbkeneh: u32, + #[prost(uint32, tag = "4")] + pub pjjaoilbfbn: u32, + #[prost(uint32, tag = "6")] + pub dekhbeooien: u32, + #[prost(bool, tag = "10")] + pub dggckmikbmo: bool, + #[prost(uint32, tag = "11")] + pub kill_num: u32, + #[prost(uint32, tag = "12")] + pub ejnglcjnapn: u32, + #[prost(bool, tag = "13")] + pub ebhfibehjge: bool, + #[prost(bool, tag = "14")] + pub ankcbommojb: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dkaofddamlj { + #[prost(uint32, repeated, tag = "3")] + pub hblmbgkdnkk: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "14")] + pub jgnphjgecak: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "15")] + pub ecihdijcled: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3327)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mcmmkcbkfjd { + #[prost(int32, tag = "2")] + pub retcode: i32, + #[prost(message, optional, tag = "7")] + pub cjdionfgocb: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27803)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ahaoepjlfbo { + #[prost(message, optional, tag = "7")] + pub bepfmdkmfic: ::core::option::Option, + #[prost(uint32, tag = "13")] + pub omgchbachci: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4071)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cgnhdghchgl { + #[prost(int32, tag = "4")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29045)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ohkjbciokbm { + #[prost(uint32, tag = "11")] + pub fiknlhojfkl: u32, + #[prost(int32, tag = "15")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21422)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mahgopmdkpb { + #[prost(enumeration = "Mclklllbaif", tag = "4")] + pub reason: i32, + #[prost(string, tag = "6")] + pub plkolhgcdgc: ::prost::alloc::string::String, + #[prost(bool, tag = "10")] + pub mcpkkmhkcpd: bool, + #[prost(uint32, tag = "15")] + pub target_uid: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Adffbmgnlle { + #[prost(bool, tag = "1")] + pub ocnahhgpepb: bool, + #[prost(bool, tag = "5")] + pub jhfmeficaal: bool, + #[prost(uint32, tag = "7")] + pub peajinifghm: u32, + #[prost(uint32, repeated, tag = "10")] + pub idibjdpoemd: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "11")] + pub jnfpmeijenp: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "15")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23624)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ookeppoechl { + #[prost(uint32, tag = "14")] + pub pjjaoilbfbn: u32, + #[prost(bool, tag = "7")] + pub lejlmjjdedc: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5228)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Alhclnfbloo { + #[prost(string, tag = "5")] + pub kcbchinicpj: ::prost::alloc::string::String, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Furniture { + #[prost(uint32, tag = "1")] + pub count: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1573)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gkhemffaggb {} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hjibijbldjd { + #[prost(uint64, tag = "13")] + pub cgammlododp: u64, + #[prost(bool, tag = "15")] + pub kbnhkamgpji: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23842)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mppbflmhhae {} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lblofalmnan { + #[prost(uint32, tag = "1")] + pub eeahocadkoo: u32, + #[prost(message, optional, tag = "4")] + pub oalbmpmeagi: ::core::option::Option, + #[prost(message, repeated, tag = "7")] + pub item_list: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "8")] + pub jpdcjanecan: u32, + #[prost(uint32, tag = "9")] + pub mhghinogbgd: u32, + #[prost(uint32, tag = "10")] + pub mcljdhgbbmn: u32, + #[prost(bool, tag = "11")] + pub kocnpkmbage: bool, + #[prost(bool, tag = "12")] + pub cpchdkgcfma: bool, + #[prost(uint32, tag = "13")] + pub config_id: u32, + #[prost(string, repeated, tag = "14")] + pub koddemmpdfi: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, + #[prost(enumeration = "Nhlcoopkjbl", tag = "15")] + pub lfddfljloep: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29973)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kjpoljpfgcm { + #[prost(message, repeated, tag = "4")] + pub hhicilfeeld: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4118)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bplmmjakpeb { + #[prost(uint32, repeated, tag = "9")] + pub ebeecdalmkm: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "11")] + pub uid: u32, + #[prost(int32, tag = "15")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8559)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Alcligclloi { + #[prost(uint32, repeated, tag = "1")] + pub ljoocndbcfl: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "15")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Facblonodpo { + #[prost(uint32, repeated, tag = "4")] + pub ipcgaeidppi: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "5")] + pub kdpehdddmco: ::prost::alloc::vec::Vec, + #[prost(map = "uint32, uint32", tag = "10")] + pub nnefojblmon: ::std::collections::HashMap, + #[prost(uint32, repeated, tag = "11")] + pub dhflilokfip: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Faoiclggdpc { + #[prost(uint32, tag = "3")] + pub player_uid: u32, + #[prost(message, optional, tag = "5")] + pub avatar_info: ::core::option::Option, + #[prost(oneof = "faoiclggdpc::Detail", tags = "1261")] + pub detail: ::core::option::Option, +} +/// Nested message and enum types in `FAOICLGGDPC`. +pub mod faoiclggdpc { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Detail { + #[prost(message, tag = "1261")] + UgcAvatarInfo(super::Omofgonabfb), + } +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jocffcplill { + #[prost(message, repeated, tag = "1")] + pub gfbkakoonhm: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "14")] + pub nlhnfgaobbe: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(987)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gilbjofjhac { + #[prost(int32, tag = "2")] + pub retcode: i32, + #[prost(uint32, tag = "5")] + pub cmdnkflfhia: u32, + #[prost(uint32, tag = "11")] + pub jchhllebmja: u32, + #[prost(bool, tag = "14")] + pub ebhfibehjge: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27482)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fopiaaeijao { + #[prost(uint32, tag = "1")] + pub gghkdjlgfpb: u32, + #[prost(uint32, tag = "13")] + pub jefildjebaj: u32, + #[prost(uint32, tag = "12")] + pub pcaobbjlffm: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1439)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Igibknpmegk { + #[prost(uint32, tag = "2")] + pub scene_id: u32, + #[prost(uint64, tag = "3")] + pub scene_time: u64, + #[prost(bool, tag = "10")] + pub napmcbkmnaa: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9985)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Phjnieaopao { + #[prost(int32, tag = "1")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26632)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hanihihjehd { + #[prost(int32, tag = "15")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6349)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lkkmkbcmgbc { + #[prost(int32, tag = "1")] + pub retcode: i32, + #[prost(uint32, tag = "4")] + pub mempkcgnnmf: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(362)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mblmmbkdinh { + #[prost(uint32, tag = "7")] + pub bkclmicechc: u32, + #[prost(uint32, tag = "11")] + pub jabcjffoahl: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29917)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jkegfhdbjpl { + #[prost(uint32, tag = "3")] + pub cjfgadhmeol: u32, + #[prost(bool, tag = "7")] + pub bhblchhkpmi: bool, + #[prost(uint64, tag = "6")] + pub guid: u64, + #[prost(uint64, tag = "10")] + pub bochklkfmik: u64, + #[prost(uint32, tag = "15")] + pub count: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ikhggpnjgnb { + #[prost(message, optional, tag = "1")] + pub jiaknpccjdk: ::core::option::Option, + #[prost(message, optional, tag = "12")] + pub kbbbmdnkpjh: ::core::option::Option, + #[prost(message, optional, tag = "14")] + pub djpopgcmnbc: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5421)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dghcjecmmnd { + #[prost(uint32, tag = "7")] + pub jinjlbemjnc: u32, + #[prost(int32, tag = "10")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22345)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pbjdajjgmnh { + #[prost(int32, tag = "10")] + pub pbhchamjkhb: i32, + #[prost(message, optional, tag = "11")] + pub position: ::core::option::Option, + #[prost(uint32, tag = "13")] + pub entity_id: u32, + #[prost(uint64, tag = "14")] + pub kfnbcklkeib: u64, +} +#[derive(proto_gen::CmdID)] +#[cmdid(646)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ekaeaeabphd { + #[prost(uint32, tag = "8")] + pub gbieplaiohc: u32, + #[prost(int32, tag = "13")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ogkfdmjnofa { + #[prost(message, repeated, tag = "8")] + pub acchmpajoga: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5414)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Glaiablnidk { + #[prost(int32, tag = "3")] + pub retcode: i32, + #[prost(uint64, tag = "7")] + pub dghpdllbeld: u64, + #[prost(uint32, tag = "8")] + pub skill_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6613)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fpbdkepgobd { + #[prost(message, optional, tag = "6")] + pub ldomkjcnbhd: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25457)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Haciafbgjkg { + #[prost(message, repeated, tag = "7")] + pub pmpobfdjgmg: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "10")] + pub nblmenghnbd: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "13")] + pub dmnldppgokg: u32, + #[prost(uint32, tag = "15")] + pub pjjaoilbfbn: u32, + #[prost(bool, tag = "4")] + pub olbffpeahhl: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27132)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kiajjfadnmn { + #[prost(uint64, tag = "2")] + pub dcompdppdpo: u64, + #[prost(bool, tag = "6")] + pub akbcidfnphb: bool, + #[prost(uint32, tag = "15")] + pub jlfheeipddp: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6741)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nfhpnjckdla { + #[prost(uint32, tag = "12")] + pub ghiaogllldi: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8749)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Adophnnogfa { + #[prost(int32, tag = "1")] + pub retcode: i32, + #[prost(uint32, tag = "9")] + pub bkclmicechc: u32, + #[prost(uint32, tag = "14")] + pub jabcjffoahl: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8674)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kcahmlalhhn { + #[prost(message, repeated, tag = "15")] + pub cigkldhkmfa: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8272)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lneddiikble { + #[prost(uint32, tag = "1")] + pub jgihcibojpn: u32, + #[prost(int32, tag = "2")] + pub retcode: i32, + #[prost(uint32, tag = "3")] + pub nfjohaldgdn: u32, + #[prost(uint64, tag = "6")] + pub aclgnllhajb: u64, + #[prost(uint32, repeated, tag = "9")] + pub appdnhdigom: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "12")] + pub paahicediho: u32, + #[prost(uint32, repeated, tag = "15")] + pub pahjmimgigl: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20775)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Egnnacipebf { + #[prost(message, optional, tag = "5")] + pub lognndhodkh: ::core::option::Option, + #[prost(uint32, tag = "9")] + pub onabdgfcpih: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1915)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Onnigboglme { + #[prost(uint32, tag = "1")] + pub ckoccfdgcol: u32, + #[prost(uint32, tag = "5")] + pub jofbeiaclof: u32, + #[prost(message, repeated, tag = "6")] + pub ahlpjgpmffd: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "13")] + pub dggckmikbmo: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6450)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Klfmmcdiadf { + #[prost(uint32, tag = "4")] + pub oboopjlpdni: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28615)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Imofkpmaome { + #[prost(uint32, tag = "4")] + pub config_id: u32, + #[prost(bytes = "vec", tag = "8")] + pub oincfcjknha: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26528)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Clpbfaibphg { + #[prost(int32, tag = "1")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3818)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Galibocacob { + #[prost(bool, tag = "12")] + pub fdhdpddmhja: bool, + #[prost(enumeration = "Fjklgegnmpb", tag = "10")] + pub fieapcpkiai: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24821)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jpmceomkhcf { + #[prost(int32, tag = "10")] + pub retcode: i32, + #[prost(uint32, repeated, tag = "11")] + pub napgdlclmef: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23892)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Npmcndikfmm { + #[prost(int32, tag = "4")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9364)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fhkjjibpebh { + #[prost(uint32, tag = "12")] + pub echfghanmpb: u32, + #[prost(uint32, tag = "3")] + pub gmemgdllpnj: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lohfecglogd { + #[prost(enumeration = "Cnpeffimnbf", tag = "12")] + pub reason: i32, + #[prost(uint32, tag = "14")] + pub lappelekahp: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6340)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lokcemobceo { + #[prost(message, repeated, tag = "15")] + pub ohepmbkmnlm: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25628)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lpcejcdiodc { + #[prost(uint32, tag = "14")] + pub aboagokkiea: u32, + #[prost(uint32, tag = "4")] + pub dekhbeooien: u32, + #[prost(uint32, tag = "5")] + pub pcklffnfnge: u32, + #[prost(uint32, tag = "11")] + pub jlfheeipddp: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nclampegpkj { + #[prost(uint32, tag = "6")] + pub fjhhikoihka: u32, + #[prost(bool, tag = "8")] + pub dggckmikbmo: bool, + #[prost(uint32, tag = "9")] + pub apafipofloj: u32, + #[prost(uint32, tag = "11")] + pub pjjaoilbfbn: u32, + #[prost(uint32, tag = "14")] + pub dekhbeooien: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(958)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mfnmknanfoi { + #[prost(enumeration = "Fkiehceffhe", tag = "2")] + pub reason: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22741)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lgehljelimj { + #[prost(enumeration = "Gbagjcpbjhm", tag = "1")] + pub kfmglfjdodo: i32, + #[prost(uint32, tag = "10")] + pub room_id: u32, + #[prost(enumeration = "Ihokgokpllo", tag = "3")] + pub jjpijkbjenn: i32, + #[prost(uint64, tag = "5")] + pub gedmdocolfj: u64, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Flphjjjlfcm { + #[prost(message, repeated, tag = "5")] + pub hajjdpbjnbe: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "9")] + pub cljmamebjpj: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5323)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hgcnjfmeiem { + #[prost(uint32, tag = "6")] + pub gkkgomdfkml: u32, + #[prost(uint32, tag = "8")] + pub entity_id: u32, + #[prost(uint32, tag = "15")] + pub lbclghbmdaf: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3765)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ddjadneollg {} +#[derive(proto_gen::CmdID)] +#[cmdid(466)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ckadpnmeaga {} +#[derive(proto_gen::CmdID)] +#[cmdid(29712)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mjfjlndagcn { + #[prost(uint32, repeated, tag = "5")] + pub ogbmicbchgh: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "13")] + pub obaonakpggj: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fncfpiodgmi { + #[prost(uint32, tag = "1")] + pub imohcnccofg: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2557)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bkdiopkhjja { + #[prost(int32, tag = "2")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(189)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ngidobijagj { + #[prost(uint32, repeated, tag = "6")] + pub hjhpfacphjf: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "15")] + pub jefildjebaj: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1251)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Giapmihdhpg { + #[prost(int32, tag = "6")] + pub retcode: i32, + #[prost(uint32, tag = "7")] + pub oboopjlpdni: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26463)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Admffaioccc { + #[prost(uint32, tag = "8")] + pub pjjaoilbfbn: u32, + #[prost(int32, tag = "9")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2966)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hainhepdikl { + #[prost(message, repeated, tag = "2")] + pub nbhomdnidmi: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "5")] + pub avatar_list: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "9")] + pub bgbbkncdjlf: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "11")] + pub kkfakeigcic: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "12")] + pub pikpodegkck: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "13")] + pub gkpjedkhcif: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "14")] + pub ceihipahgnh: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "15")] + pub mempkcgnnmf: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4935)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lbaamfbebkl { + #[prost(uint32, tag = "2")] + pub khhibkpbkpn: u32, + #[prost(message, optional, tag = "14")] + pub odepmbdnilm: ::core::option::Option, + #[prost(int32, tag = "15")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21458)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iepgijldllk { + #[prost(uint32, tag = "7")] + pub nnebhhfhdcc: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28315)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ljnegpbgcfe { + #[prost(int32, tag = "11")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4192)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ladpaaglblk { + #[prost(uint32, tag = "6")] + pub end_time: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1273)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ieoddbohbeg { + #[prost(uint32, tag = "3")] + pub bknplfikkfg: u32, + #[prost(uint32, tag = "5")] + pub lgooidciaag: u32, + #[prost(uint32, tag = "7")] + pub player_uid: u32, + #[prost(uint32, tag = "15")] + pub group_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kooplhiemeo { + #[prost(uint32, tag = "10")] + pub hnhgkplcknj: u32, + #[prost(uint32, tag = "15")] + pub djkhfndphjg: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6178)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aofjlihmjgd { + #[prost(int32, tag = "10")] + pub retcode: i32, + #[prost(string, tag = "12")] + pub version: ::prost::alloc::string::String, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bjciojgglnl { + #[prost(uint32, tag = "3")] + pub cccgnognokn: u32, + #[prost(float, tag = "5")] + pub enbleodhoae: f32, + #[prost(uint64, tag = "7")] + pub avatar_guid: u64, + #[prost(uint32, tag = "9")] + pub ngjdfgchcak: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fbjohnljibg { + #[prost(uint32, tag = "1")] + pub eljengfokco: u32, + #[prost(uint32, tag = "2")] + pub nfbhfjbacig: u32, + #[prost(message, optional, tag = "5")] + pub fbafhgfhhlo: ::core::option::Option, + #[prost(uint32, tag = "7")] + pub ndonhjjkodb: u32, + #[prost(uint32, tag = "8")] + pub pfplkcmidic: u32, + #[prost(uint32, tag = "9")] + pub fnmnpnnpdda: u32, + #[prost(message, optional, tag = "10")] + pub mfddjkcpfno: ::core::option::Option, + #[prost(bool, tag = "11")] + pub hjllccpdlek: bool, + #[prost(message, repeated, tag = "12")] + pub fmmclenmaem: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "13")] + pub nbfghkcomog: u32, + #[prost(uint32, tag = "14")] + pub bhbgafpfglh: u32, + #[prost(uint32, tag = "15")] + pub ljainmigakg: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Abmoeknpcla { + #[prost(message, optional, tag = "1")] + pub rot: ::core::option::Option, + #[prost(uint32, repeated, tag = "3")] + pub kjaepliiaih: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "10")] + pub pos: ::core::option::Option, + #[prost(uint32, tag = "14")] + pub uid: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8379)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lobdecipblm { + #[prost(uint32, tag = "4")] + pub hlclacdmepd: u32, + #[prost(int32, tag = "13")] + pub retcode: i32, + #[prost(bool, tag = "14")] + pub emponigbaka: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Npcopfalklg { + #[prost(message, repeated, tag = "4")] + pub cpcahoddneg: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "13")] + pub okmmdenegop: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(943)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Noflbdacfdm { + #[prost(uint32, tag = "2")] + pub bfbkiddckhf: u32, + #[prost(message, optional, tag = "8")] + pub aoakhgfkfpl: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21084)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Leindpoiedj { + #[prost(uint32, tag = "6")] + pub jefildjebaj: u32, + #[prost(int32, tag = "7")] + pub retcode: i32, + #[prost(uint32, tag = "8")] + pub level: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25306)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Apgdpdjfbln { + #[prost(int32, tag = "2")] + pub retcode: i32, + #[prost(uint32, tag = "4")] + pub bcglgcjjifh: u32, + #[prost(uint32, tag = "13")] + pub onabdgfcpih: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23683)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cnjnjalddjj { + #[prost(uint32, tag = "1")] + pub entity_id: u32, + #[prost(message, repeated, tag = "8")] + pub bdobhhhjkma: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aefkcejopij { + #[prost(uint32, tag = "2")] + pub fiknlhojfkl: u32, + #[prost(uint32, tag = "4")] + pub guid: u32, + #[prost(uint32, tag = "8")] + pub hepabnmgeda: u32, + #[prost(uint32, tag = "10")] + pub pghipcmlekh: u32, + #[prost(uint32, tag = "12")] + pub jjcnaalglfb: u32, + #[prost(uint32, tag = "14")] + pub avatar_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7704)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eagfabfdiak {} +#[derive(proto_gen::CmdID)] +#[cmdid(7573)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eoooclapied {} +#[derive(proto_gen::CmdID)] +#[cmdid(28466)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Egoncmhkfog { + #[prost(string, tag = "9")] + pub gbkkaledmmn: ::prost::alloc::string::String, + #[prost(bool, tag = "13")] + pub dmedoehomkh: bool, + #[prost(string, tag = "15")] + pub nlmljklelbk: ::prost::alloc::string::String, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22710)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fadljemabnc { + #[prost(bool, tag = "13")] + pub olejpbpbnhc: bool, + #[prost(uint32, tag = "4")] + pub ehjhfencklj: u32, + #[prost(uint32, tag = "6")] + pub oanhicedhnh: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pdgijgaopfj { + #[prost(uint32, tag = "1")] + pub ankfepdbfam: u32, + #[prost(message, repeated, tag = "8")] + pub lllpbmbhomp: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6631)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Opeebhffdaf { + #[prost(uint32, tag = "9")] + pub scene_id: u32, + #[prost(uint32, tag = "10")] + pub uid: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Agmffjahjpe { + #[prost(message, optional, tag = "2")] + pub mhfdgagiepa: ::core::option::Option, + #[prost(uint32, tag = "11")] + pub count: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22737)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pmgckfkddcd { + #[prost(uint32, repeated, tag = "5")] + pub lidpfaapfmm: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "10")] + pub retcode: i32, + #[prost(uint32, tag = "11")] + pub gghkdjlgfpb: u32, + #[prost(message, repeated, tag = "14")] + pub gagahofmjlm: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28915)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Emdidmcgank { + #[prost(message, repeated, tag = "13")] + pub fckhpeancna: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7277)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Meegbndcgol { + #[prost(message, repeated, tag = "12")] + pub pcgmofknhml: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "9")] + pub ejbnjhaegac: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "8")] + pub njekbpkeloh: u32, + #[prost(uint32, tag = "11")] + pub eaflfgdfphc: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hjhhdcpljpe { + #[prost(oneof = "hjhhdcpljpe::Detail", tags = "7, 10")] + pub detail: ::core::option::Option, +} +/// Nested message and enum types in `HJHHDCPLJPE`. +pub mod hjhhdcpljpe { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Detail { + #[prost(uint64, tag = "7")] + FormalAvatarGuid(u64), + #[prost(uint32, tag = "10")] + MistTrialAvatarId(u32), + } +} +#[derive(proto_gen::CmdID)] +#[cmdid(8596)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jaelmocpeha { + #[prost(message, optional, tag = "6")] + pub jcimgdhmmln: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dbnegoefbhn { + #[prost(uint32, tag = "2")] + pub pfoahcojpjm: u32, + #[prost(uint32, tag = "4")] + pub agidomnebcj: u32, + #[prost(uint32, tag = "5")] + pub hnnmhlbcgmn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21035)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fmhkafongoa { + #[prost(bool, tag = "1")] + pub oiomimaljfd: bool, + #[prost(bool, tag = "4")] + pub jhfmeficaal: bool, + #[prost(uint32, tag = "7")] + pub cjlmaokmpei: u32, + #[prost(uint32, tag = "5")] + pub dekhbeooien: u32, + #[prost(uint32, tag = "14")] + pub fhnnfpipgei: u32, + #[prost(uint32, tag = "12")] + pub pjjaoilbfbn: u32, + #[prost(uint32, tag = "15")] + pub pjegodebmjc: u32, + #[prost(uint32, tag = "6")] + pub megadhdnanj: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2214)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Akikieikida {} +#[derive(proto_gen::CmdID)] +#[cmdid(3219)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ckeghfmebla { + #[prost(uint32, tag = "8")] + pub jgihcibojpn: u32, + #[prost(uint32, tag = "12")] + pub mblmihejnif: u32, + #[prost(int32, tag = "15")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gnmngoodhea { + #[prost(uint64, tag = "6")] + pub kmoepflddci: u64, + #[prost(float, tag = "9")] + pub oggpigccjjo: f32, + #[prost(message, repeated, tag = "11")] + pub elgpfeaigbc: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "12")] + pub micjdmncddi: ::prost::alloc::vec::Vec, + #[prost(uint64, tag = "13")] + pub ffkcoojmbld: u64, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7912)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Coefhpapnpp { + #[prost(message, repeated, tag = "2")] + pub item_list: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "4")] + pub retcode: i32, + #[prost(uint32, repeated, tag = "9")] + pub bihiklaiolg: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "10")] + pub gghkdjlgfpb: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26065)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lddbhjokhhp { + #[prost(uint32, tag = "8")] + pub khhibkpbkpn: u32, + #[prost(uint32, tag = "12")] + pub gaplfmmgbfa: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gikllmkgpbe { + #[prost(uint32, tag = "1")] + pub mempkcgnnmf: u32, + #[prost(uint32, tag = "5")] + pub dmkfeccmcop: u32, + #[prost(bool, tag = "8")] + pub eialjbaengj: bool, + #[prost(bool, tag = "14")] + pub ecihdijcled: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ghifkfdgchb { + #[prost(message, repeated, tag = "7")] + pub item_list: ::prost::alloc::vec::Vec, + #[prost(string, tag = "12")] + pub bkdilgijpeg: ::prost::alloc::string::String, + #[prost(message, optional, tag = "13")] + pub blfkojlccoo: ::core::option::Option, + #[prost(uint32, tag = "14")] + pub uid: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22022)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Njcnajiholp { + #[prost(int32, tag = "6")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27022)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pdhikjmihhg { + #[prost(string, repeated, tag = "13")] + pub mjifbdojhmk: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eieebjbemli { + #[prost(uint32, tag = "1")] + pub kmoeppfhpgj: u32, + #[prost(uint32, tag = "4")] + pub ajmeohdgngn: u32, + #[prost(message, repeated, tag = "9")] + pub paejaajcgbe: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29423)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pljfocdakcc { + #[prost(uint32, tag = "11")] + pub khhibkpbkpn: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mgldgahdhlo { + #[prost(uint32, tag = "2")] + pub pjjaoilbfbn: u32, + #[prost(enumeration = "Paahdfjmicd", tag = "6")] + pub reason: i32, + #[prost(uint32, tag = "10")] + pub ijffkcgiaoj: u32, + #[prost(bool, tag = "11")] + pub jhfmeficaal: bool, + #[prost(uint32, tag = "15")] + pub odngiimcegg: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6281)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fplgofmknjn { + #[prost(bool, tag = "2")] + pub nkgbaemaplp: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lieaimebijk { + #[prost(uint32, tag = "7")] + pub count: u32, + #[prost(uint32, tag = "10")] + pub iknfnnfkagf: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fbaoaobcfeo { + #[prost(message, repeated, tag = "5")] + pub iccpmaicfao: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8150)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Plboadjpcdi { + #[prost(uint32, tag = "3")] + pub pfdgofljkfl: u32, + #[prost(int32, tag = "8")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(21699)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iiodfgeejck { + #[prost(bool, tag = "3")] + pub bliakncjplh: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ihdioemfbco { + #[prost(uint32, repeated, tag = "1")] + pub knbifccible: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "4")] + pub dmnldppgokg: u32, + #[prost(uint32, tag = "5")] + pub mempkcgnnmf: u32, + #[prost(uint32, tag = "8")] + pub nnaalgjoaio: u32, + #[prost(bool, tag = "13")] + pub dggckmikbmo: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1312)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bgdagkkdedi {} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kjjaaakjple { + #[prost(enumeration = "Onfeibhljbp", tag = "1")] + pub r#type: i32, + #[prost(uint32, tag = "2")] + pub okicoglejec: u32, + #[prost(uint32, tag = "13")] + pub fchfakepinp: u32, + #[prost(message, optional, tag = "15")] + pub pos: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23036)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Indcafejbag { + #[prost(enumeration = "Himmemhogfb", tag = "6")] + pub mfmlakbiaed: i32, + #[prost(uint64, tag = "12")] + pub dcompdppdpo: u64, + #[prost(int32, tag = "14")] + pub retcode: i32, + #[prost(oneof = "indcafejbag::Koghknfabpa", tags = "7")] + pub koghknfabpa: ::core::option::Option, +} +/// Nested message and enum types in `INDCAFEJBAG`. +pub mod indcafejbag { + #[derive(proto_gen::CmdID)] + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Koghknfabpa { + #[prost(message, tag = "7")] + MusicRecord(super::Mhfikahpbmm), + } +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hljfkijjdee { + #[prost(int32, tag = "1")] + pub eclihdlnnag: i32, + #[prost(uint32, tag = "2")] + pub config_id: u32, + #[prost(string, tag = "3")] + pub ipdjnbepgda: ::prost::alloc::string::String, + #[prost(int32, repeated, tag = "4")] + pub cdgfhbkoogn: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bajdjladhab { + #[prost(uint32, tag = "5")] + pub ifgpnankeaj: u32, + #[prost(uint32, tag = "8")] + pub hahgmmmnjam: u32, + #[prost(uint32, tag = "10")] + pub cfpmiglcmal: u32, + #[prost(uint32, tag = "12")] + pub oheocbbdeoh: u32, + #[prost(uint32, tag = "13")] + pub lgooidciaag: u32, + #[prost(enumeration = "Lnemncjdlmm", tag = "14")] + pub dbfleooelcm: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1478)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Djjkbegjfhp { + #[prost(uint32, tag = "11")] + pub eloloopcjmj: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aineccgepbh { + #[prost(message, repeated, tag = "3")] + pub dnnkmieelaj: ::prost::alloc::vec::Vec, + #[prost(map = "uint32, uint32", tag = "12")] + pub aocepckhjfa: ::std::collections::HashMap, + #[prost(message, repeated, tag = "13")] + pub hconjhabope: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "15")] + pub mcdijkphlno: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28942)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mihcimmmgjd {} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Amgohioicdj { + #[prost(uint32, tag = "3")] + pub dekhbeooien: u32, + #[prost(uint32, tag = "6")] + pub pjjaoilbfbn: u32, + #[prost(bool, tag = "9")] + pub dggckmikbmo: bool, + #[prost(uint32, tag = "15")] + pub hcemimjkcpi: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Efanagnegan { + #[prost(uint32, tag = "1")] + pub lbclghbmdaf: u32, + #[prost(enumeration = "Jailcnefodi", tag = "6")] + pub avatar_type: i32, + #[prost(uint32, tag = "7")] + pub avatar_id: u32, + #[prost(uint32, tag = "11")] + pub costume_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27236)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Chapkbggofi { + #[prost(message, optional, tag = "15")] + pub aebglfmjfhm: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3180)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mieifnoaepd { + #[prost(uint32, repeated, tag = "13")] + pub eilndhgoldj: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23666)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Flpknlmggmk { + #[prost(uint32, repeated, tag = "5")] + pub himcbbodhcj: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mjfedepgjdn { + #[prost(message, repeated, tag = "1")] + pub eojfococbcj: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "15")] + pub phpfppidjkj: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Alcojmpiikp { + #[prost(message, repeated, tag = "8")] + pub mcdijkphlno: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(26442)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dofdillnpfg { + #[prost(bool, tag = "2")] + pub iofddpfigjk: bool, + #[prost(fixed32, tag = "7")] + pub pdlmkflekdl: u32, + #[prost(uint32, tag = "15")] + pub liaplcmdong: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1456)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dnmfgkapfjf { + #[prost(int32, tag = "4")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3481)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nbjehjhecgk { + #[prost(uint32, tag = "5")] + pub khhibkpbkpn: u32, + #[prost(int32, tag = "7")] + pub retcode: i32, + #[prost(message, optional, tag = "14")] + pub kohefanelim: ::core::option::Option, + #[prost(uint32, tag = "15")] + pub dpahhjhngbk: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ocdnpcalikf { + #[prost(uint32, tag = "3")] + pub pfegabjgamf: u32, + #[prost(uint32, tag = "4")] + pub pjjaoilbfbn: u32, + #[prost(bool, tag = "7")] + pub ecihdijcled: bool, + #[prost(bool, tag = "10")] + pub eialjbaengj: bool, + #[prost(uint32, tag = "11")] + pub dmkfeccmcop: u32, + #[prost(uint32, tag = "15")] + pub djblekfbkmd: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(3310)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Oalihjjacan { + #[prost(uint32, tag = "9")] + pub bobnlkdjoka: u32, + #[prost(uint32, tag = "11")] + pub hnfbbakfomm: u32, + #[prost(int32, tag = "12")] + pub retcode: i32, + #[prost(uint32, tag = "14")] + pub gbcebgkbjdm: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7461)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eolbiignahh { + #[prost(bool, tag = "1")] + pub bgaoacgaldg: bool, + #[prost(uint32, tag = "7")] + pub uid: u32, + #[prost(uint32, tag = "9")] + pub cenhkjdffda: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22523)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cfligddcdim { + #[prost(message, optional, tag = "8")] + pub nicnjfjmmbc: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22884)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Odimeaokoka { + #[prost(uint32, tag = "1")] + pub njekbpkeloh: u32, + #[prost(int32, tag = "10")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kdhmgbbmgel { + #[prost(message, repeated, tag = "7")] + pub agdllfjigpn: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "8")] + pub oboopjlpdni: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(23755)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Acedglgflnd { + #[prost(uint32, tag = "7")] + pub kfmglfjdodo: u32, + #[prost(uint32, tag = "8")] + pub entity_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25743)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mppnhkohigb { + #[prost(int32, tag = "6")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bpkpoiknjki { + #[prost(message, optional, tag = "1")] + pub bdmjgpialbk: ::core::option::Option, + #[prost(uint64, repeated, tag = "2")] + pub pmgbhfmcmji: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "3")] + pub fjhhikoihka: u32, + #[prost(enumeration = "Diedgoljcok", tag = "4")] + pub knfgikendil: i32, + #[prost(uint64, repeated, tag = "5")] + pub avatar_guid_list: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "6")] + pub ekjkeoobbli: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "8")] + pub lbfmkdpdebp: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "9")] + pub iknbinfmiid: bool, + #[prost(bool, tag = "11")] + pub nlkgbgpnfli: bool, + #[prost(uint32, tag = "12")] + pub lekfejhkppe: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(8231)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pfpoalldfam { + #[prost(int32, tag = "13")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(149)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hoclpmgeiem { + #[prost(message, repeated, tag = "11")] + pub dlkgdlnileh: ::prost::alloc::vec::Vec, + #[prost(uint64, tag = "10")] + pub avatar_guid: u64, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2969)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mmbeppelahp { + #[prost(int32, tag = "6")] + pub retcode: i32, + #[prost(message, optional, tag = "7")] + pub oomnoofgino: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Eegdlihdcjc { + #[prost(uint32, tag = "1")] + pub gpaeljhnaek: u32, + #[prost(bool, tag = "5")] + pub ecihdijcled: bool, + #[prost(bool, tag = "6")] + pub jhfmeficaal: bool, + #[prost(uint32, tag = "14")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9960)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Aabapkchofd { + #[prost(uint32, tag = "3")] + pub group_id: u32, + #[prost(uint32, tag = "10")] + pub mbkadehiehi: u32, + #[prost(uint32, tag = "14")] + pub gejdjbggnag: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(9842)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ahicckclaci { + #[prost(bool, tag = "5")] + pub innefhgkaim: bool, + #[prost(bool, tag = "6")] + pub ajlcedmppie: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6341)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ebijfpbajja { + #[prost(uint32, tag = "9")] + pub khhibkpbkpn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(7138)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cobahkgjcgi { + #[prost(int32, tag = "13")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ahnhpbhfapn { + #[prost(map = "uint32, message", tag = "10")] + pub nopijepdiaj: ::std::collections::HashMap, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27579)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ckjaondbnih { + #[prost(uint32, tag = "12")] + pub key_id: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iaahfokmngi { + #[prost(uint32, tag = "1")] + pub pjgfapekfbc: u32, + #[prost(message, optional, tag = "2")] + pub pgihpnnemdb: ::core::option::Option, + #[prost(uint32, tag = "3")] + pub hhjjbfaddlk: u32, + #[prost(message, optional, tag = "4")] + pub dfcfkjbccah: ::core::option::Option, + #[prost(message, repeated, tag = "5")] + pub imcjlhponpk: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "6")] + pub bmaedeokohl: bool, + #[prost(message, repeated, tag = "7")] + pub kgbnbgaenpg: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "8")] + pub mmfhiifgkbb: u32, + #[prost(bool, tag = "9")] + pub hdkejfnoccc: bool, + #[prost(message, optional, tag = "10")] + pub fjnfhpcbcif: ::core::option::Option, + #[prost(uint32, tag = "12")] + pub scene_id: u32, + #[prost(message, optional, tag = "13")] + pub born_pos: ::core::option::Option, + #[prost(message, repeated, tag = "14")] + pub jjemlcnikmd: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "15")] + pub bbgjmoomdio: ::core::option::Option, + #[prost(message, optional, tag = "1543")] + pub ejapjlenogl: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dnfmmbkopga { + #[prost(message, optional, tag = "1")] + pub igchkgflalg: ::core::option::Option, + #[prost(uint32, tag = "2")] + pub cenhkjdffda: u32, + #[prost(uint32, tag = "4")] + pub cjmhjhijmjn: u32, + #[prost(message, repeated, tag = "6")] + pub ohmgddcbbod: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "7")] + pub nihighemglh: u32, + #[prost(message, optional, tag = "8")] + pub odemmdjobca: ::core::option::Option, + #[prost(uint32, tag = "9")] + pub peakeaapccb: u32, + #[prost(uint64, tag = "10")] + pub bnmgejacojn: u64, + #[prost(uint32, repeated, tag = "11")] + pub jbadgiahpgc: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "12")] + pub lippebjmhfo: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4872)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Poedehndmkp { + #[prost(uint32, tag = "1")] + pub group_id: u32, + #[prost(uint32, tag = "12")] + pub bknplfikkfg: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Efaipndihai { + #[prost(message, optional, tag = "4")] + pub ohoaamnllce: ::core::option::Option, + #[prost(enumeration = "Eiblikiahil", repeated, tag = "8")] + pub plieajlmpji: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "12")] + pub level: u32, + #[prost(uint32, tag = "13")] + pub fbiopccedle: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28722)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bhlllppdali { + #[prost(uint32, tag = "5")] + pub fchfakepinp: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Lagbencoaia { + #[prost(uint32, tag = "3")] + pub pheaadkdalg: u32, + #[prost(uint32, tag = "5")] + pub pbkeaocbpmn: u32, + #[prost(message, repeated, tag = "10")] + pub dhgdeeafoca: ::prost::alloc::vec::Vec, + #[prost(uint32, repeated, tag = "11")] + pub napgdlclmef: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "12")] + pub bidfhbilnmo: u32, + #[prost(fixed32, tag = "13")] + pub mhghinogbgd: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28311)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dlkljalilck { + #[prost(int32, tag = "6")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22340)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mnmgpkalmbm { + #[prost(uint32, tag = "4")] + pub fkhohkelkoe: u32, + #[prost(message, repeated, tag = "10")] + pub lbbacoodlii: ::prost::alloc::vec::Vec, + #[prost(int32, tag = "15")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(25062)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ekbnmklmafb { + #[prost(int32, tag = "3")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(29962)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PingRsp { + #[prost(uint32, tag = "5")] + pub client_time: u32, + #[prost(uint32, tag = "9")] + pub seq: u32, + #[prost(int32, tag = "12")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bmciphofbfp { + #[prost(message, optional, tag = "4")] + pub gfmendkmifj: ::core::option::Option, + #[prost(uint32, tag = "11")] + pub ehejdjoeind: u32, + #[prost(uint32, tag = "13")] + pub gogpndlfbdf: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22742)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Edfifniamgd { + #[prost(uint32, tag = "1")] + pub target_uid: u32, + #[prost(int32, tag = "14")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24928)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Gkdmcpmlmfp { + #[prost(uint32, tag = "2")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(5501)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Genmggjcjgh { + #[prost(int32, tag = "8")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ghlalhdagmp { + #[prost(map = "uint32, uint32", tag = "4")] + pub kniphmlpdkb: ::std::collections::HashMap, + #[prost(bool, tag = "14")] + pub kgipbhibobd: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Anahhdnmhjb { + #[prost(map = "uint32, uint32", tag = "2")] + pub bnofpmifhdl: ::std::collections::HashMap, + #[prost(string, tag = "3")] + pub ocmpadiifcd: ::prost::alloc::string::String, + #[prost(fixed64, tag = "6")] + pub mepomjbblhd: u64, + #[prost(message, optional, tag = "8")] + pub blfkojlccoo: ::core::option::Option, + #[prost(fixed64, tag = "9")] + pub comecimikkg: u64, + #[prost(string, tag = "10")] + pub bkdilgijpeg: ::prost::alloc::string::String, + #[prost(bool, tag = "13")] + pub ikcomhijpim: bool, + #[prost(uint32, tag = "15")] + pub uid: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Cljkbdnfmpm { + #[prost(uint32, tag = "1")] + pub dmcjbimfkci: u32, + #[prost(uint32, tag = "2")] + pub efniikefdpo: u32, + #[prost(uint32, tag = "3")] + pub ogopbmamfma: u32, + #[prost(uint32, tag = "5")] + pub cckfdjdnlgc: u32, + #[prost(uint32, tag = "6")] + pub lmjnokajeki: u32, + #[prost(uint32, tag = "7")] + pub jcejajfndhm: u32, + #[prost(uint32, tag = "8")] + pub gehpjhapohj: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Njopgnlkolp { + #[prost(uint32, tag = "9")] + pub ihabegifhoa: u32, + #[prost(uint32, repeated, tag = "12")] + pub bedkmkedngc: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jbfhbkdokea { + #[prost(uint32, tag = "5")] + pub dekhbeooien: u32, + #[prost(enumeration = "Npgmacjfbek", tag = "10")] + pub dpdjgigleld: i32, + #[prost(uint32, tag = "11")] + pub version: u32, + #[prost(uint64, tag = "12")] + pub gedmdocolfj: u64, + #[prost(uint32, tag = "14")] + pub epcpnhjnkbn: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4964)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ohpfdgmejch { + #[prost(int32, tag = "11")] + pub retcode: i32, + #[prost(uint64, tag = "15")] + pub avatar_guid: u64, +} +#[derive(proto_gen::CmdID)] +#[cmdid(20977)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Iehijgieklh { + #[prost(uint32, tag = "4")] + pub scene_id: u32, + #[prost(uint32, tag = "11")] + pub group_id: u32, + #[prost(uint32, tag = "13")] + pub config_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4241)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Badfejbmpid { + #[prost(string, tag = "5")] + pub kamjijolfkj: ::prost::alloc::string::String, + #[prost(uint32, tag = "7")] + pub uid: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(28203)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ojggahdefoh { + #[prost(int32, tag = "9")] + pub retcode: i32, + #[prost(bool, tag = "10")] + pub plfbppnfdog: bool, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Nmlablhbkea { + #[prost(bool, tag = "1")] + pub ecihdijcled: bool, + #[prost(string, tag = "2")] + pub dmmfjmbmjha: ::prost::alloc::string::String, + #[prost(uint32, tag = "3")] + pub aopkgiojbmi: u32, + #[prost(enumeration = "Jgdodfjcang", tag = "4")] + pub feaalnhainp: i32, + #[prost(uint32, tag = "5")] + pub afpkljbmobb: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22529)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mpfpdbkkmbi { + #[prost(uint32, repeated, tag = "6")] + pub chgiblddkfe: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2640)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Jdgeoddocmb { + #[prost(uint64, repeated, tag = "8")] + pub fikgdofabee: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pfplcejidbb { + #[prost(uint32, tag = "5")] + pub nalbmjhaeip: u32, + #[prost(bytes = "vec", tag = "8")] + pub data: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "15")] + pub dkkgfphnknb: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(6650)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Clifdlhhbeb {} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hclmalegipl { + #[prost(uint32, tag = "1")] + pub gaplfmmgbfa: u32, + #[prost(message, repeated, tag = "5")] + pub ceihipahgnh: ::prost::alloc::vec::Vec, + #[prost(uint64, tag = "7")] + pub gedmdocolfj: u64, + #[prost(message, optional, tag = "9")] + pub gigadmpnjhl: ::core::option::Option, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22233)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pnncandilkc { + #[prost(bool, tag = "2")] + pub npfkjanodee: bool, +} +#[derive(proto_gen::CmdID)] +#[cmdid(4029)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pkpkebfbgbp { + #[prost(int32, tag = "12")] + pub retcode: i32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(22391)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Maponfejajk { + #[prost(uint32, tag = "2")] + pub pjjaoilbfbn: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mkjipiajnmf { + #[prost(uint32, tag = "2")] + pub pjegodebmjc: u32, + #[prost(uint32, tag = "12")] + pub bajbbdmonka: u32, + #[prost(uint32, tag = "14")] + pub fjoopnacjlb: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(27208)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Kkfodiogipg { + #[prost(message, optional, tag = "3")] + pub mibgejfdeki: ::core::option::Option, + #[prost(uint32, tag = "11")] + pub omgchbachci: u32, +} +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dbeignikeco { + #[prost(message, repeated, tag = "4")] + pub cbenkjeocil: ::prost::alloc::vec::Vec, +} +#[derive(proto_gen::CmdID)] +#[cmdid(609)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Mhnoadcnpmp { + #[prost(uint64, tag = "6")] + pub guid: u64, +} +#[derive(proto_gen::CmdID)] +#[cmdid(2671)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bbekfakpced { + #[prost(uint32, tag = "5")] + pub ffhembokbef: u32, + #[prost(uint32, tag = "7")] + pub gghkdjlgfpb: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(24922)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Ijpajdjebhl { + #[prost(uint64, repeated, tag = "12")] + pub nneidbddihm: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "5")] + pub dlkgdlnileh: ::prost::alloc::vec::Vec, + #[prost(uint64, tag = "2")] + pub aclgnllhajb: u64, +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Aedfenmknkc { + CustomDungeonFinishPlayNormal = 0, + CustomDungeonFinishPlayTry = 1, + CustomDungeonFinishEditTry = 2, + CustomDungeonFinishSelfPlayNormal = 3, +} +impl Aedfenmknkc { + /// 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 { + Aedfenmknkc::CustomDungeonFinishPlayNormal => { + "AEDFENMKNKC_CustomDungeonFinishPlayNormal" + } + Aedfenmknkc::CustomDungeonFinishPlayTry => { + "AEDFENMKNKC_CustomDungeonFinishPlayTry" + } + Aedfenmknkc::CustomDungeonFinishEditTry => { + "AEDFENMKNKC_CustomDungeonFinishEditTry" + } + Aedfenmknkc::CustomDungeonFinishSelfPlayNormal => { + "AEDFENMKNKC_CustomDungeonFinishSelfPlayNormal" + } + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "AEDFENMKNKC_CustomDungeonFinishPlayNormal" => { + Some(Self::CustomDungeonFinishPlayNormal) + } + "AEDFENMKNKC_CustomDungeonFinishPlayTry" => { + Some(Self::CustomDungeonFinishPlayTry) + } + "AEDFENMKNKC_CustomDungeonFinishEditTry" => { + Some(Self::CustomDungeonFinishEditTry) + } + "AEDFENMKNKC_CustomDungeonFinishSelfPlayNormal" => { + Some(Self::CustomDungeonFinishSelfPlayNormal) + } + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Iailmjppbfe { + StatusFail = 0, + StatusSucc = 1, + StatusPartial = 2, +} +impl Iailmjppbfe { + /// 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 { + Iailmjppbfe::StatusFail => "IAILMJPPBFE_StatusFail", + Iailmjppbfe::StatusSucc => "IAILMJPPBFE_StatusSucc", + Iailmjppbfe::StatusPartial => "IAILMJPPBFE_StatusPartial", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "IAILMJPPBFE_StatusFail" => Some(Self::StatusFail), + "IAILMJPPBFE_StatusSucc" => Some(Self::StatusSucc), + "IAILMJPPBFE_StatusPartial" => Some(Self::StatusPartial), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum EnterType { + EnterNone = 0, + EnterSelf = 1, + EnterGoto = 2, + EnterJump = 3, + EnterOther = 4, + EnterBack = 5, + EnterDungeon = 6, + EnterDungeonReplay = 7, + EnterGotoByPortal = 8, + EnterSelfHome = 9, + EnterOtherHome = 10, + EnterGotoRecreate = 11, + EnterGotoByTpl = 12, +} +impl EnterType { + /// 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 { + EnterType::EnterNone => "EnterType_EnterNone", + EnterType::EnterSelf => "EnterType_EnterSelf", + EnterType::EnterGoto => "EnterType_EnterGoto", + EnterType::EnterJump => "EnterType_EnterJump", + EnterType::EnterOther => "EnterType_EnterOther", + EnterType::EnterBack => "EnterType_EnterBack", + EnterType::EnterDungeon => "EnterType_EnterDungeon", + EnterType::EnterDungeonReplay => "EnterType_EnterDungeonReplay", + EnterType::EnterGotoByPortal => "EnterType_EnterGotoByPortal", + EnterType::EnterSelfHome => "EnterType_EnterSelfHome", + EnterType::EnterOtherHome => "EnterType_EnterOtherHome", + EnterType::EnterGotoRecreate => "EnterType_EnterGotoRecreate", + EnterType::EnterGotoByTpl => "EnterType_EnterGotoByTpl", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "EnterType_EnterNone" => Some(Self::EnterNone), + "EnterType_EnterSelf" => Some(Self::EnterSelf), + "EnterType_EnterGoto" => Some(Self::EnterGoto), + "EnterType_EnterJump" => Some(Self::EnterJump), + "EnterType_EnterOther" => Some(Self::EnterOther), + "EnterType_EnterBack" => Some(Self::EnterBack), + "EnterType_EnterDungeon" => Some(Self::EnterDungeon), + "EnterType_EnterDungeonReplay" => Some(Self::EnterDungeonReplay), + "EnterType_EnterGotoByPortal" => Some(Self::EnterGotoByPortal), + "EnterType_EnterSelfHome" => Some(Self::EnterSelfHome), + "EnterType_EnterOtherHome" => Some(Self::EnterOtherHome), + "EnterType_EnterGotoRecreate" => Some(Self::EnterGotoRecreate), + "EnterType_EnterGotoByTpl" => Some(Self::EnterGotoByTpl), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Inmchndeiah { + PlayerJudge = 0, + PlayerEnterOptionRefuse = 1, + PlayerEnterOptionDirect = 2, + SystemJudge = 3, + HostInMatch = 4, + PsPlayerNotAcceptOthers = 5, + OpenStateNotOpen = 6, + HostInEditMode = 7, + PriorCheck = 8, +} +impl Inmchndeiah { + /// 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 { + Inmchndeiah::PlayerJudge => "INMCHNDEIAH_PlayerJudge", + Inmchndeiah::PlayerEnterOptionRefuse => "INMCHNDEIAH_PlayerEnterOptionRefuse", + Inmchndeiah::PlayerEnterOptionDirect => "INMCHNDEIAH_PlayerEnterOptionDirect", + Inmchndeiah::SystemJudge => "INMCHNDEIAH_SystemJudge", + Inmchndeiah::HostInMatch => "INMCHNDEIAH_HostInMatch", + Inmchndeiah::PsPlayerNotAcceptOthers => "INMCHNDEIAH_PsPlayerNotAcceptOthers", + Inmchndeiah::OpenStateNotOpen => "INMCHNDEIAH_OpenStateNotOpen", + Inmchndeiah::HostInEditMode => "INMCHNDEIAH_HostInEditMode", + Inmchndeiah::PriorCheck => "INMCHNDEIAH_PriorCheck", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "INMCHNDEIAH_PlayerJudge" => Some(Self::PlayerJudge), + "INMCHNDEIAH_PlayerEnterOptionRefuse" => Some(Self::PlayerEnterOptionRefuse), + "INMCHNDEIAH_PlayerEnterOptionDirect" => Some(Self::PlayerEnterOptionDirect), + "INMCHNDEIAH_SystemJudge" => Some(Self::SystemJudge), + "INMCHNDEIAH_HostInMatch" => Some(Self::HostInMatch), + "INMCHNDEIAH_PsPlayerNotAcceptOthers" => Some(Self::PsPlayerNotAcceptOthers), + "INMCHNDEIAH_OpenStateNotOpen" => Some(Self::OpenStateNotOpen), + "INMCHNDEIAH_HostInEditMode" => Some(Self::HostInEditMode), + "INMCHNDEIAH_PriorCheck" => Some(Self::PriorCheck), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Pjfodmhgoln { + AsterLittleStageNone = 0, + AsterLittleStageUnstarted = 1, + AsterLittleStageStarted = 2, + AsterLittleStageFinished = 3, +} +impl Pjfodmhgoln { + /// 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 { + Pjfodmhgoln::AsterLittleStageNone => "PJFODMHGOLN_AsterLittleStageNone", + Pjfodmhgoln::AsterLittleStageUnstarted => { + "PJFODMHGOLN_AsterLittleStageUnstarted" + } + Pjfodmhgoln::AsterLittleStageStarted => "PJFODMHGOLN_AsterLittleStageStarted", + Pjfodmhgoln::AsterLittleStageFinished => { + "PJFODMHGOLN_AsterLittleStageFinished" + } + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "PJFODMHGOLN_AsterLittleStageNone" => Some(Self::AsterLittleStageNone), + "PJFODMHGOLN_AsterLittleStageUnstarted" => { + Some(Self::AsterLittleStageUnstarted) + } + "PJFODMHGOLN_AsterLittleStageStarted" => Some(Self::AsterLittleStageStarted), + "PJFODMHGOLN_AsterLittleStageFinished" => { + Some(Self::AsterLittleStageFinished) + } + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Nnlmonnhamd { + Default = 0, + Clear = 1, + Distance = 2, + Finish = 3, +} +impl Nnlmonnhamd { + /// 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 { + Nnlmonnhamd::Default => "NNLMONNHAMD_Default", + Nnlmonnhamd::Clear => "NNLMONNHAMD_Clear", + Nnlmonnhamd::Distance => "NNLMONNHAMD_Distance", + Nnlmonnhamd::Finish => "NNLMONNHAMD_Finish", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "NNLMONNHAMD_Default" => Some(Self::Default), + "NNLMONNHAMD_Clear" => Some(Self::Clear), + "NNLMONNHAMD_Distance" => Some(Self::Distance), + "NNLMONNHAMD_Finish" => Some(Self::Finish), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Plpanejlelj { + HideAndSeekStagePrepare = 0, + HideAndSeekStagePick = 1, + HideAndSeekStageGame = 2, + HideAndSeekStageHide = 3, + HideAndSeekStageSeek = 4, + HideAndSeekStageSettle = 5, +} +impl Plpanejlelj { + /// 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 { + Plpanejlelj::HideAndSeekStagePrepare => "PLPANEJLELJ_HideAndSeekStagePrepare", + Plpanejlelj::HideAndSeekStagePick => "PLPANEJLELJ_HideAndSeekStagePick", + Plpanejlelj::HideAndSeekStageGame => "PLPANEJLELJ_HideAndSeekStageGame", + Plpanejlelj::HideAndSeekStageHide => "PLPANEJLELJ_HideAndSeekStageHide", + Plpanejlelj::HideAndSeekStageSeek => "PLPANEJLELJ_HideAndSeekStageSeek", + Plpanejlelj::HideAndSeekStageSettle => "PLPANEJLELJ_HideAndSeekStageSettle", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "PLPANEJLELJ_HideAndSeekStagePrepare" => Some(Self::HideAndSeekStagePrepare), + "PLPANEJLELJ_HideAndSeekStagePick" => Some(Self::HideAndSeekStagePick), + "PLPANEJLELJ_HideAndSeekStageGame" => Some(Self::HideAndSeekStageGame), + "PLPANEJLELJ_HideAndSeekStageHide" => Some(Self::HideAndSeekStageHide), + "PLPANEJLELJ_HideAndSeekStageSeek" => Some(Self::HideAndSeekStageSeek), + "PLPANEJLELJ_HideAndSeekStageSettle" => Some(Self::HideAndSeekStageSettle), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Gnhpbjnpknn { + None = 0, + Start = 1, + Read = 2, +} +impl Gnhpbjnpknn { + /// 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 { + Gnhpbjnpknn::None => "GNHPBJNPKNN_None", + Gnhpbjnpknn::Start => "GNHPBJNPKNN_Start", + Gnhpbjnpknn::Read => "GNHPBJNPKNN_Read", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "GNHPBJNPKNN_None" => Some(Self::None), + "GNHPBJNPKNN_Start" => Some(Self::Start), + "GNHPBJNPKNN_Read" => Some(Self::Read), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Ohjbejlmdbg { + DungeonCandidateTplrNormal = 0, + DungeonCandidateTplrDie = 1, + DungeonCandidateTplrBeKick = 2, + DungeonCandidateDisconnect = 3, +} +impl Ohjbejlmdbg { + /// 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 { + Ohjbejlmdbg::DungeonCandidateTplrNormal => { + "OHJBEJLMDBG_DungeonCandidateTplrNormal" + } + Ohjbejlmdbg::DungeonCandidateTplrDie => "OHJBEJLMDBG_DungeonCandidateTplrDie", + Ohjbejlmdbg::DungeonCandidateTplrBeKick => { + "OHJBEJLMDBG_DungeonCandidateTplrBeKick" + } + Ohjbejlmdbg::DungeonCandidateDisconnect => { + "OHJBEJLMDBG_DungeonCandidateDisconnect" + } + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "OHJBEJLMDBG_DungeonCandidateTplrNormal" => { + Some(Self::DungeonCandidateTplrNormal) + } + "OHJBEJLMDBG_DungeonCandidateTplrDie" => Some(Self::DungeonCandidateTplrDie), + "OHJBEJLMDBG_DungeonCandidateTplrBeKick" => { + Some(Self::DungeonCandidateTplrBeKick) + } + "OHJBEJLMDBG_DungeonCandidateDisconnect" => { + Some(Self::DungeonCandidateDisconnect) + } + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Jmeollkiong { + Default = 0, + Die = 1, + Surrender = 2, + Disconnected = 3, + RoundLimit = 4, + Gm = 5, + NoPlayer = 6, + GiveUp = 7, + InitTimeout = 8, + Effect = 9, + ExpireTimeout = 10, +} +impl Jmeollkiong { + /// 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 { + Jmeollkiong::Default => "JMEOLLKIONG_Default", + Jmeollkiong::Die => "JMEOLLKIONG_Die", + Jmeollkiong::Surrender => "JMEOLLKIONG_Surrender", + Jmeollkiong::Disconnected => "JMEOLLKIONG_Disconnected", + Jmeollkiong::RoundLimit => "JMEOLLKIONG_RoundLimit", + Jmeollkiong::Gm => "JMEOLLKIONG_Gm", + Jmeollkiong::NoPlayer => "JMEOLLKIONG_NoPlayer", + Jmeollkiong::GiveUp => "JMEOLLKIONG_GiveUp", + Jmeollkiong::InitTimeout => "JMEOLLKIONG_InitTimeout", + Jmeollkiong::Effect => "JMEOLLKIONG_Effect", + Jmeollkiong::ExpireTimeout => "JMEOLLKIONG_ExpireTimeout", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "JMEOLLKIONG_Default" => Some(Self::Default), + "JMEOLLKIONG_Die" => Some(Self::Die), + "JMEOLLKIONG_Surrender" => Some(Self::Surrender), + "JMEOLLKIONG_Disconnected" => Some(Self::Disconnected), + "JMEOLLKIONG_RoundLimit" => Some(Self::RoundLimit), + "JMEOLLKIONG_Gm" => Some(Self::Gm), + "JMEOLLKIONG_NoPlayer" => Some(Self::NoPlayer), + "JMEOLLKIONG_GiveUp" => Some(Self::GiveUp), + "JMEOLLKIONG_InitTimeout" => Some(Self::InitTimeout), + "JMEOLLKIONG_Effect" => Some(Self::Effect), + "JMEOLLKIONG_ExpireTimeout" => Some(Self::ExpireTimeout), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Eicnfjmdenp { + None = 0, + Effect = 1, +} +impl Eicnfjmdenp { + /// 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 { + Eicnfjmdenp::None => "EICNFJMDENP_None", + Eicnfjmdenp::Effect => "EICNFJMDENP_Effect", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "EICNFJMDENP_None" => Some(Self::None), + "EICNFJMDENP_Effect" => Some(Self::Effect), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Epnikabpigp { + ObstacleShapeCapsule = 0, + ObstacleShapeBox = 1, +} +impl Epnikabpigp { + /// 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 { + Epnikabpigp::ObstacleShapeCapsule => "EPNIKABPIGP_ObstacleShapeCapsule", + Epnikabpigp::ObstacleShapeBox => "EPNIKABPIGP_ObstacleShapeBox", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "EPNIKABPIGP_ObstacleShapeCapsule" => Some(Self::ObstacleShapeCapsule), + "EPNIKABPIGP_ObstacleShapeBox" => Some(Self::ObstacleShapeBox), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Agdcpkbnogi { + SalvagePreventStopNone = 0, + SalvagePreventStopSuccess = 1, + SalvagePreventStopArrival = 2, + SalvagePreventStopInterrupt = 3, + SalvagePreventStopLeave = 4, + SalvagePreventStopFull = 5, + SalvagePreventStopAway = 6, +} +impl Agdcpkbnogi { + /// 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 { + Agdcpkbnogi::SalvagePreventStopNone => "AGDCPKBNOGI_SalvagePreventStopNone", + Agdcpkbnogi::SalvagePreventStopSuccess => { + "AGDCPKBNOGI_SalvagePreventStopSuccess" + } + Agdcpkbnogi::SalvagePreventStopArrival => { + "AGDCPKBNOGI_SalvagePreventStopArrival" + } + Agdcpkbnogi::SalvagePreventStopInterrupt => { + "AGDCPKBNOGI_SalvagePreventStopInterrupt" + } + Agdcpkbnogi::SalvagePreventStopLeave => "AGDCPKBNOGI_SalvagePreventStopLeave", + Agdcpkbnogi::SalvagePreventStopFull => "AGDCPKBNOGI_SalvagePreventStopFull", + Agdcpkbnogi::SalvagePreventStopAway => "AGDCPKBNOGI_SalvagePreventStopAway", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "AGDCPKBNOGI_SalvagePreventStopNone" => Some(Self::SalvagePreventStopNone), + "AGDCPKBNOGI_SalvagePreventStopSuccess" => { + Some(Self::SalvagePreventStopSuccess) + } + "AGDCPKBNOGI_SalvagePreventStopArrival" => { + Some(Self::SalvagePreventStopArrival) + } + "AGDCPKBNOGI_SalvagePreventStopInterrupt" => { + Some(Self::SalvagePreventStopInterrupt) + } + "AGDCPKBNOGI_SalvagePreventStopLeave" => Some(Self::SalvagePreventStopLeave), + "AGDCPKBNOGI_SalvagePreventStopFull" => Some(Self::SalvagePreventStopFull), + "AGDCPKBNOGI_SalvagePreventStopAway" => Some(Self::SalvagePreventStopAway), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Donnpjameed { + GcgPhaseInvalid = 0, + GcgPhaseStart = 1, + GcgPhaseDraw = 2, + GcgPhaseOnStage = 3, + GcgPhaseDice = 4, + GcgPhaseMain = 5, + GcgPhaseEnd = 6, + GcgPhaseDie = 7, + GcgPhaseFin = 8, + GcgPhasePreMain = 9, + GcgPhaseReroll = 10, + GcgPhaseRedraw = 11, +} +impl Donnpjameed { + /// 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 { + Donnpjameed::GcgPhaseInvalid => "DONNPJAMEED_GcgPhaseInvalid", + Donnpjameed::GcgPhaseStart => "DONNPJAMEED_GcgPhaseStart", + Donnpjameed::GcgPhaseDraw => "DONNPJAMEED_GcgPhaseDraw", + Donnpjameed::GcgPhaseOnStage => "DONNPJAMEED_GcgPhaseOnStage", + Donnpjameed::GcgPhaseDice => "DONNPJAMEED_GcgPhaseDice", + Donnpjameed::GcgPhaseMain => "DONNPJAMEED_GcgPhaseMain", + Donnpjameed::GcgPhaseEnd => "DONNPJAMEED_GcgPhaseEnd", + Donnpjameed::GcgPhaseDie => "DONNPJAMEED_GcgPhaseDie", + Donnpjameed::GcgPhaseFin => "DONNPJAMEED_GcgPhaseFin", + Donnpjameed::GcgPhasePreMain => "DONNPJAMEED_GcgPhasePreMain", + Donnpjameed::GcgPhaseReroll => "DONNPJAMEED_GcgPhaseReroll", + Donnpjameed::GcgPhaseRedraw => "DONNPJAMEED_GcgPhaseRedraw", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "DONNPJAMEED_GcgPhaseInvalid" => Some(Self::GcgPhaseInvalid), + "DONNPJAMEED_GcgPhaseStart" => Some(Self::GcgPhaseStart), + "DONNPJAMEED_GcgPhaseDraw" => Some(Self::GcgPhaseDraw), + "DONNPJAMEED_GcgPhaseOnStage" => Some(Self::GcgPhaseOnStage), + "DONNPJAMEED_GcgPhaseDice" => Some(Self::GcgPhaseDice), + "DONNPJAMEED_GcgPhaseMain" => Some(Self::GcgPhaseMain), + "DONNPJAMEED_GcgPhaseEnd" => Some(Self::GcgPhaseEnd), + "DONNPJAMEED_GcgPhaseDie" => Some(Self::GcgPhaseDie), + "DONNPJAMEED_GcgPhaseFin" => Some(Self::GcgPhaseFin), + "DONNPJAMEED_GcgPhasePreMain" => Some(Self::GcgPhasePreMain), + "DONNPJAMEED_GcgPhaseReroll" => Some(Self::GcgPhaseReroll), + "DONNPJAMEED_GcgPhaseRedraw" => Some(Self::GcgPhaseRedraw), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Bkkkfljbpmi { + Invalid = 0, + InProgress = 1, + Complete = 2, + RewardTaken = 3, +} +impl Bkkkfljbpmi { + /// 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 { + Bkkkfljbpmi::Invalid => "BKKKFLJBPMI_Invalid", + Bkkkfljbpmi::InProgress => "BKKKFLJBPMI_InProgress", + Bkkkfljbpmi::Complete => "BKKKFLJBPMI_Complete", + Bkkkfljbpmi::RewardTaken => "BKKKFLJBPMI_RewardTaken", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "BKKKFLJBPMI_Invalid" => Some(Self::Invalid), + "BKKKFLJBPMI_InProgress" => Some(Self::InProgress), + "BKKKFLJBPMI_Complete" => Some(Self::Complete), + "BKKKFLJBPMI_RewardTaken" => Some(Self::RewardTaken), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Hocjfidgkjm { + None = 0, + ByKick = 1, + Quit = 2, +} +impl Hocjfidgkjm { + /// 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 { + Hocjfidgkjm::None => "HOCJFIDGKJM_None", + Hocjfidgkjm::ByKick => "HOCJFIDGKJM_ByKick", + Hocjfidgkjm::Quit => "HOCJFIDGKJM_Quit", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "HOCJFIDGKJM_None" => Some(Self::None), + "HOCJFIDGKJM_ByKick" => Some(Self::ByKick), + "HOCJFIDGKJM_Quit" => Some(Self::Quit), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Jccjcepopne { + None = 0, + Auto = 1, + Custom = 2, +} +impl Jccjcepopne { + /// 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 { + Jccjcepopne::None => "JCCJCEPOPNE_None", + Jccjcepopne::Auto => "JCCJCEPOPNE_Auto", + Jccjcepopne::Custom => "JCCJCEPOPNE_Custom", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "JCCJCEPOPNE_None" => Some(Self::None), + "JCCJCEPOPNE_Auto" => Some(Self::Auto), + "JCCJCEPOPNE_Custom" => Some(Self::Custom), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Hkkcdiccimi { + GcgGameNone = 0, + GcgGameGm = 1, + GcgGameMatch = 2, + GcgGamePvp = 3, + GcgGameTavernChallenge = 4, + GcgGameConstChallenge = 5, + GcgGameWorldChallenge = 6, + GcgGameBossChallenge = 7, + GcgGameWeekChallenge = 8, + GcgGameBreakChallenge = 9, + GcgGameQuest = 10, + GcgGameGuideGroup = 11, + GcgGameOther = 12, + GcgGameActivityJourney = 13, + GcgGamePveActivity = 14, + GcgGameArena = 15, + GcgGameActivityPveInfinite = 16, + GcgGameActivityPvePuzzle = 17, +} +impl Hkkcdiccimi { + /// 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 { + Hkkcdiccimi::GcgGameNone => "HKKCDICCIMI_GcgGameNone", + Hkkcdiccimi::GcgGameGm => "HKKCDICCIMI_GcgGameGm", + Hkkcdiccimi::GcgGameMatch => "HKKCDICCIMI_GcgGameMatch", + Hkkcdiccimi::GcgGamePvp => "HKKCDICCIMI_GcgGamePvp", + Hkkcdiccimi::GcgGameTavernChallenge => "HKKCDICCIMI_GcgGameTavernChallenge", + Hkkcdiccimi::GcgGameConstChallenge => "HKKCDICCIMI_GcgGameConstChallenge", + Hkkcdiccimi::GcgGameWorldChallenge => "HKKCDICCIMI_GcgGameWorldChallenge", + Hkkcdiccimi::GcgGameBossChallenge => "HKKCDICCIMI_GcgGameBossChallenge", + Hkkcdiccimi::GcgGameWeekChallenge => "HKKCDICCIMI_GcgGameWeekChallenge", + Hkkcdiccimi::GcgGameBreakChallenge => "HKKCDICCIMI_GcgGameBreakChallenge", + Hkkcdiccimi::GcgGameQuest => "HKKCDICCIMI_GcgGameQuest", + Hkkcdiccimi::GcgGameGuideGroup => "HKKCDICCIMI_GcgGameGuideGroup", + Hkkcdiccimi::GcgGameOther => "HKKCDICCIMI_GcgGameOther", + Hkkcdiccimi::GcgGameActivityJourney => "HKKCDICCIMI_GcgGameActivityJourney", + Hkkcdiccimi::GcgGamePveActivity => "HKKCDICCIMI_GcgGamePveActivity", + Hkkcdiccimi::GcgGameArena => "HKKCDICCIMI_GcgGameArena", + Hkkcdiccimi::GcgGameActivityPveInfinite => { + "HKKCDICCIMI_GcgGameActivityPveInfinite" + } + Hkkcdiccimi::GcgGameActivityPvePuzzle => { + "HKKCDICCIMI_GcgGameActivityPvePuzzle" + } + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "HKKCDICCIMI_GcgGameNone" => Some(Self::GcgGameNone), + "HKKCDICCIMI_GcgGameGm" => Some(Self::GcgGameGm), + "HKKCDICCIMI_GcgGameMatch" => Some(Self::GcgGameMatch), + "HKKCDICCIMI_GcgGamePvp" => Some(Self::GcgGamePvp), + "HKKCDICCIMI_GcgGameTavernChallenge" => Some(Self::GcgGameTavernChallenge), + "HKKCDICCIMI_GcgGameConstChallenge" => Some(Self::GcgGameConstChallenge), + "HKKCDICCIMI_GcgGameWorldChallenge" => Some(Self::GcgGameWorldChallenge), + "HKKCDICCIMI_GcgGameBossChallenge" => Some(Self::GcgGameBossChallenge), + "HKKCDICCIMI_GcgGameWeekChallenge" => Some(Self::GcgGameWeekChallenge), + "HKKCDICCIMI_GcgGameBreakChallenge" => Some(Self::GcgGameBreakChallenge), + "HKKCDICCIMI_GcgGameQuest" => Some(Self::GcgGameQuest), + "HKKCDICCIMI_GcgGameGuideGroup" => Some(Self::GcgGameGuideGroup), + "HKKCDICCIMI_GcgGameOther" => Some(Self::GcgGameOther), + "HKKCDICCIMI_GcgGameActivityJourney" => Some(Self::GcgGameActivityJourney), + "HKKCDICCIMI_GcgGamePveActivity" => Some(Self::GcgGamePveActivity), + "HKKCDICCIMI_GcgGameArena" => Some(Self::GcgGameArena), + "HKKCDICCIMI_GcgGameActivityPveInfinite" => { + Some(Self::GcgGameActivityPveInfinite) + } + "HKKCDICCIMI_GcgGameActivityPvePuzzle" => { + Some(Self::GcgGameActivityPvePuzzle) + } + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Aplkolhcome { + FreiendDisconnect = 0, + FriendOnline = 1, +} +impl Aplkolhcome { + /// 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 { + Aplkolhcome::FreiendDisconnect => "APLKOLHCOME_FreiendDisconnect", + Aplkolhcome::FriendOnline => "APLKOLHCOME_FriendOnline", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "APLKOLHCOME_FreiendDisconnect" => Some(Self::FreiendDisconnect), + "APLKOLHCOME_FriendOnline" => Some(Self::FriendOnline), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Njgjfmecpka { + None = 0, + CreateConnect = 1, + StartGame = 2, + Ping = 3, + FinishGame = 4, + SnapShot = 5, + Action = 6, +} +impl Njgjfmecpka { + /// 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 { + Njgjfmecpka::None => "NJGJFMECPKA_None", + Njgjfmecpka::CreateConnect => "NJGJFMECPKA_CreateConnect", + Njgjfmecpka::StartGame => "NJGJFMECPKA_StartGame", + Njgjfmecpka::Ping => "NJGJFMECPKA_Ping", + Njgjfmecpka::FinishGame => "NJGJFMECPKA_FinishGame", + Njgjfmecpka::SnapShot => "NJGJFMECPKA_SnapShot", + Njgjfmecpka::Action => "NJGJFMECPKA_Action", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "NJGJFMECPKA_None" => Some(Self::None), + "NJGJFMECPKA_CreateConnect" => Some(Self::CreateConnect), + "NJGJFMECPKA_StartGame" => Some(Self::StartGame), + "NJGJFMECPKA_Ping" => Some(Self::Ping), + "NJGJFMECPKA_FinishGame" => Some(Self::FinishGame), + "NJGJFMECPKA_SnapShot" => Some(Self::SnapShot), + "NJGJFMECPKA_Action" => Some(Self::Action), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Nlkboohnhhj { + ReportReasonNone = 0, + ReportReasonDeceptiveAds = 1, + ReportReasonAbusing = 2, + ReportReasonCheat = 3, + ReportReasonPolitical = 4, + ReportReasonOther = 5, + ReportReasonHome = 6, +} +impl Nlkboohnhhj { + /// 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 { + Nlkboohnhhj::ReportReasonNone => "NLKBOOHNHHJ_ReportReasonNone", + Nlkboohnhhj::ReportReasonDeceptiveAds => { + "NLKBOOHNHHJ_ReportReasonDeceptiveAds" + } + Nlkboohnhhj::ReportReasonAbusing => "NLKBOOHNHHJ_ReportReasonAbusing", + Nlkboohnhhj::ReportReasonCheat => "NLKBOOHNHHJ_ReportReasonCheat", + Nlkboohnhhj::ReportReasonPolitical => "NLKBOOHNHHJ_ReportReasonPolitical", + Nlkboohnhhj::ReportReasonOther => "NLKBOOHNHHJ_ReportReasonOther", + Nlkboohnhhj::ReportReasonHome => "NLKBOOHNHHJ_ReportReasonHome", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "NLKBOOHNHHJ_ReportReasonNone" => Some(Self::ReportReasonNone), + "NLKBOOHNHHJ_ReportReasonDeceptiveAds" => { + Some(Self::ReportReasonDeceptiveAds) + } + "NLKBOOHNHHJ_ReportReasonAbusing" => Some(Self::ReportReasonAbusing), + "NLKBOOHNHHJ_ReportReasonCheat" => Some(Self::ReportReasonCheat), + "NLKBOOHNHHJ_ReportReasonPolitical" => Some(Self::ReportReasonPolitical), + "NLKBOOHNHHJ_ReportReasonOther" => Some(Self::ReportReasonOther), + "NLKBOOHNHHJ_ReportReasonHome" => Some(Self::ReportReasonHome), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Bplklkdbogp { + Idle = 0, + ChangingAvatar = 1, + Ready = 2, +} +impl Bplklkdbogp { + /// 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 { + Bplklkdbogp::Idle => "BPLKLKDBOGP_Idle", + Bplklkdbogp::ChangingAvatar => "BPLKLKDBOGP_ChangingAvatar", + Bplklkdbogp::Ready => "BPLKLKDBOGP_Ready", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "BPLKLKDBOGP_Idle" => Some(Self::Idle), + "BPLKLKDBOGP_ChangingAvatar" => Some(Self::ChangingAvatar), + "BPLKLKDBOGP_Ready" => Some(Self::Ready), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Gmbpglnggli { + TryCustomDungeonNone = 0, + TryCustomDungeonRoom = 1, + TryCustomDungeonAll = 2, + TryCustomDungeonOfficialPlay = 3, +} +impl Gmbpglnggli { + /// 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 { + Gmbpglnggli::TryCustomDungeonNone => "GMBPGLNGGLI_TryCustomDungeonNone", + Gmbpglnggli::TryCustomDungeonRoom => "GMBPGLNGGLI_TryCustomDungeonRoom", + Gmbpglnggli::TryCustomDungeonAll => "GMBPGLNGGLI_TryCustomDungeonAll", + Gmbpglnggli::TryCustomDungeonOfficialPlay => { + "GMBPGLNGGLI_TryCustomDungeonOfficialPlay" + } + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "GMBPGLNGGLI_TryCustomDungeonNone" => Some(Self::TryCustomDungeonNone), + "GMBPGLNGGLI_TryCustomDungeonRoom" => Some(Self::TryCustomDungeonRoom), + "GMBPGLNGGLI_TryCustomDungeonAll" => Some(Self::TryCustomDungeonAll), + "GMBPGLNGGLI_TryCustomDungeonOfficialPlay" => { + Some(Self::TryCustomDungeonOfficialPlay) + } + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Bieolmjpked { + MaterialDeleteReturnBag = 0, + MaterialDeleteReturnSeed = 1, +} +impl Bieolmjpked { + /// 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 { + Bieolmjpked::MaterialDeleteReturnBag => "BIEOLMJPKED_MaterialDeleteReturnBag", + Bieolmjpked::MaterialDeleteReturnSeed => { + "BIEOLMJPKED_MaterialDeleteReturnSeed" + } + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "BIEOLMJPKED_MaterialDeleteReturnBag" => Some(Self::MaterialDeleteReturnBag), + "BIEOLMJPKED_MaterialDeleteReturnSeed" => { + Some(Self::MaterialDeleteReturnSeed) + } + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Gepcikpiepn { + LunaRiteHintStatusDefault = 0, + LunaRiteHintStatusNoCount = 1, + LunaRiteHintStatusFinish = 2, +} +impl Gepcikpiepn { + /// 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 { + Gepcikpiepn::LunaRiteHintStatusDefault => { + "GEPCIKPIEPN_LunaRiteHintStatusDefault" + } + Gepcikpiepn::LunaRiteHintStatusNoCount => { + "GEPCIKPIEPN_LunaRiteHintStatusNoCount" + } + Gepcikpiepn::LunaRiteHintStatusFinish => { + "GEPCIKPIEPN_LunaRiteHintStatusFinish" + } + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "GEPCIKPIEPN_LunaRiteHintStatusDefault" => { + Some(Self::LunaRiteHintStatusDefault) + } + "GEPCIKPIEPN_LunaRiteHintStatusNoCount" => { + Some(Self::LunaRiteHintStatusNoCount) + } + "GEPCIKPIEPN_LunaRiteHintStatusFinish" => { + Some(Self::LunaRiteHintStatusFinish) + } + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Blbmocglooj { + None = 0, + Succ = 1, + Fail = 2, + Timeout = 3, + Cancel = 4, + Exit = 5, +} +impl Blbmocglooj { + /// 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 { + Blbmocglooj::None => "BLBMOCGLOOJ_None", + Blbmocglooj::Succ => "BLBMOCGLOOJ_Succ", + Blbmocglooj::Fail => "BLBMOCGLOOJ_Fail", + Blbmocglooj::Timeout => "BLBMOCGLOOJ_Timeout", + Blbmocglooj::Cancel => "BLBMOCGLOOJ_Cancel", + Blbmocglooj::Exit => "BLBMOCGLOOJ_Exit", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "BLBMOCGLOOJ_None" => Some(Self::None), + "BLBMOCGLOOJ_Succ" => Some(Self::Succ), + "BLBMOCGLOOJ_Fail" => Some(Self::Fail), + "BLBMOCGLOOJ_Timeout" => Some(Self::Timeout), + "BLBMOCGLOOJ_Cancel" => Some(Self::Cancel), + "BLBMOCGLOOJ_Exit" => Some(Self::Exit), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Fbmfhlckejl { + CustomGalleryScoreBoardNormal = 0, + CustomGalleryScoreBoardCountdown = 1, + CustomGalleryScoreBoardTimer = 2, +} +impl Fbmfhlckejl { + /// 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 { + Fbmfhlckejl::CustomGalleryScoreBoardNormal => { + "FBMFHLCKEJL_CustomGalleryScoreBoardNormal" + } + Fbmfhlckejl::CustomGalleryScoreBoardCountdown => { + "FBMFHLCKEJL_CustomGalleryScoreBoardCountdown" + } + Fbmfhlckejl::CustomGalleryScoreBoardTimer => { + "FBMFHLCKEJL_CustomGalleryScoreBoardTimer" + } + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "FBMFHLCKEJL_CustomGalleryScoreBoardNormal" => { + Some(Self::CustomGalleryScoreBoardNormal) + } + "FBMFHLCKEJL_CustomGalleryScoreBoardCountdown" => { + Some(Self::CustomGalleryScoreBoardCountdown) + } + "FBMFHLCKEJL_CustomGalleryScoreBoardTimer" => { + Some(Self::CustomGalleryScoreBoardTimer) + } + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Dabhikgpaie { + MovingPlatformNone = 0, + MovingPlatformUseConfig = 1, + MovingPlatformAbility = 2, + MovingPlatformRoute = 3, +} +impl Dabhikgpaie { + /// 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 { + Dabhikgpaie::MovingPlatformNone => "DABHIKGPAIE_MovingPlatformNone", + Dabhikgpaie::MovingPlatformUseConfig => "DABHIKGPAIE_MovingPlatformUseConfig", + Dabhikgpaie::MovingPlatformAbility => "DABHIKGPAIE_MovingPlatformAbility", + Dabhikgpaie::MovingPlatformRoute => "DABHIKGPAIE_MovingPlatformRoute", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "DABHIKGPAIE_MovingPlatformNone" => Some(Self::MovingPlatformNone), + "DABHIKGPAIE_MovingPlatformUseConfig" => Some(Self::MovingPlatformUseConfig), + "DABHIKGPAIE_MovingPlatformAbility" => Some(Self::MovingPlatformAbility), + "DABHIKGPAIE_MovingPlatformRoute" => Some(Self::MovingPlatformRoute), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Alllninaoga { + BattlePassUnlockInvalid = 0, + BattlePassUnlockFree = 1, + BattlePassUnlockPaid = 2, +} +impl Alllninaoga { + /// 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 { + Alllninaoga::BattlePassUnlockInvalid => "ALLLNINAOGA_BattlePassUnlockInvalid", + Alllninaoga::BattlePassUnlockFree => "ALLLNINAOGA_BattlePassUnlockFree", + Alllninaoga::BattlePassUnlockPaid => "ALLLNINAOGA_BattlePassUnlockPaid", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "ALLLNINAOGA_BattlePassUnlockInvalid" => Some(Self::BattlePassUnlockInvalid), + "ALLLNINAOGA_BattlePassUnlockFree" => Some(Self::BattlePassUnlockFree), + "ALLLNINAOGA_BattlePassUnlockPaid" => Some(Self::BattlePassUnlockPaid), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Mnpapanlkkg { + LogLevelNone = 0, + LogLevelDebug = 1, + LogLevelInfo = 2, + LogLevelWarning = 3, + LogLevelError = 4, +} +impl Mnpapanlkkg { + /// 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 { + Mnpapanlkkg::LogLevelNone => "MNPAPANLKKG_LogLevelNone", + Mnpapanlkkg::LogLevelDebug => "MNPAPANLKKG_LogLevelDebug", + Mnpapanlkkg::LogLevelInfo => "MNPAPANLKKG_LogLevelInfo", + Mnpapanlkkg::LogLevelWarning => "MNPAPANLKKG_LogLevelWarning", + Mnpapanlkkg::LogLevelError => "MNPAPANLKKG_LogLevelError", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "MNPAPANLKKG_LogLevelNone" => Some(Self::LogLevelNone), + "MNPAPANLKKG_LogLevelDebug" => Some(Self::LogLevelDebug), + "MNPAPANLKKG_LogLevelInfo" => Some(Self::LogLevelInfo), + "MNPAPANLKKG_LogLevelWarning" => Some(Self::LogLevelWarning), + "MNPAPANLKKG_LogLevelError" => Some(Self::LogLevelError), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Llmdbkhcleb { + Invalue = 0, + Add = 1, + Set = 2, +} +impl Llmdbkhcleb { + /// 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 { + Llmdbkhcleb::Invalue => "LLMDBKHCLEB_Invalue", + Llmdbkhcleb::Add => "LLMDBKHCLEB_Add", + Llmdbkhcleb::Set => "LLMDBKHCLEB_Set", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "LLMDBKHCLEB_Invalue" => Some(Self::Invalue), + "LLMDBKHCLEB_Add" => Some(Self::Add), + "LLMDBKHCLEB_Set" => Some(Self::Set), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Mdlnkdebfnj { + LuashellNone = 0, + LuashellNormal = 1, + LuashellSecurity = 2, + LuashellShellCode = 3, +} +impl Mdlnkdebfnj { + /// 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 { + Mdlnkdebfnj::LuashellNone => "MDLNKDEBFNJ_LuashellNone", + Mdlnkdebfnj::LuashellNormal => "MDLNKDEBFNJ_LuashellNormal", + Mdlnkdebfnj::LuashellSecurity => "MDLNKDEBFNJ_LuashellSecurity", + Mdlnkdebfnj::LuashellShellCode => "MDLNKDEBFNJ_LuashellShellCode", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "MDLNKDEBFNJ_LuashellNone" => Some(Self::LuashellNone), + "MDLNKDEBFNJ_LuashellNormal" => Some(Self::LuashellNormal), + "MDLNKDEBFNJ_LuashellSecurity" => Some(Self::LuashellSecurity), + "MDLNKDEBFNJ_LuashellShellCode" => Some(Self::LuashellShellCode), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Gomepmglpfo { + GalleryNone = 0, + GalleryPrestart = 1, + GalleryStart = 2, +} +impl Gomepmglpfo { + /// 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 { + Gomepmglpfo::GalleryNone => "GOMEPMGLPFO_GalleryNone", + Gomepmglpfo::GalleryPrestart => "GOMEPMGLPFO_GalleryPrestart", + Gomepmglpfo::GalleryStart => "GOMEPMGLPFO_GalleryStart", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "GOMEPMGLPFO_GalleryNone" => Some(Self::GalleryNone), + "GOMEPMGLPFO_GalleryPrestart" => Some(Self::GalleryPrestart), + "GOMEPMGLPFO_GalleryStart" => Some(Self::GalleryStart), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Onfeibhljbp { + LunaRiteHintTypeNone = 0, + LunaRiteHintTypeRune = 1, + LunaRiteHintTypeChest = 2, +} +impl Onfeibhljbp { + /// 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 { + Onfeibhljbp::LunaRiteHintTypeNone => "ONFEIBHLJBP_LunaRiteHintTypeNone", + Onfeibhljbp::LunaRiteHintTypeRune => "ONFEIBHLJBP_LunaRiteHintTypeRune", + Onfeibhljbp::LunaRiteHintTypeChest => "ONFEIBHLJBP_LunaRiteHintTypeChest", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "ONFEIBHLJBP_LunaRiteHintTypeNone" => Some(Self::LunaRiteHintTypeNone), + "ONFEIBHLJBP_LunaRiteHintTypeRune" => Some(Self::LunaRiteHintTypeRune), + "ONFEIBHLJBP_LunaRiteHintTypeChest" => Some(Self::LunaRiteHintTypeChest), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Lejcogafncb { + TimeOut = 0, + SettlePlayEnd = 1, + SettlePlayerQuit = 2, +} +impl Lejcogafncb { + /// 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 { + Lejcogafncb::TimeOut => "LEJCOGAFNCB_TimeOut", + Lejcogafncb::SettlePlayEnd => "LEJCOGAFNCB_SettlePlayEnd", + Lejcogafncb::SettlePlayerQuit => "LEJCOGAFNCB_SettlePlayerQuit", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "LEJCOGAFNCB_TimeOut" => Some(Self::TimeOut), + "LEJCOGAFNCB_SettlePlayEnd" => Some(Self::SettlePlayEnd), + "LEJCOGAFNCB_SettlePlayerQuit" => Some(Self::SettlePlayerQuit), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Hibhhjenmpp { + ClientPlayNoneType = 0, + ClientPlayFilmfestShootingType = 1, + ClientPlayCookGameType = 2, + ClientPlayLanV4PushBoxType = 3, + ClientPlayCatcafeLayoutType = 4, + ClientPlayCatcafeCatType = 5, + ClientPlayGreatFestivalV2SheetRestoreType = 6, + ClientPlayBirdBallType = 7, + ClientPlayFairyTalesFlyppyHatToyType = 8, +} +impl Hibhhjenmpp { + /// 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 { + Hibhhjenmpp::ClientPlayNoneType => "HIBHHJENMPP_ClientPlayNoneType", + Hibhhjenmpp::ClientPlayFilmfestShootingType => { + "HIBHHJENMPP_ClientPlayFilmfestShootingType" + } + Hibhhjenmpp::ClientPlayCookGameType => "HIBHHJENMPP_ClientPlayCookGameType", + Hibhhjenmpp::ClientPlayLanV4PushBoxType => { + "HIBHHJENMPP_ClientPlayLanV4PushBoxType" + } + Hibhhjenmpp::ClientPlayCatcafeLayoutType => { + "HIBHHJENMPP_ClientPlayCatcafeLayoutType" + } + Hibhhjenmpp::ClientPlayCatcafeCatType => { + "HIBHHJENMPP_ClientPlayCatcafeCatType" + } + Hibhhjenmpp::ClientPlayGreatFestivalV2SheetRestoreType => { + "HIBHHJENMPP_ClientPlayGreatFestivalV2SheetRestoreType" + } + Hibhhjenmpp::ClientPlayBirdBallType => "HIBHHJENMPP_ClientPlayBirdBallType", + Hibhhjenmpp::ClientPlayFairyTalesFlyppyHatToyType => { + "HIBHHJENMPP_ClientPlayFairyTalesFlyppyHatToyType" + } + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "HIBHHJENMPP_ClientPlayNoneType" => Some(Self::ClientPlayNoneType), + "HIBHHJENMPP_ClientPlayFilmfestShootingType" => { + Some(Self::ClientPlayFilmfestShootingType) + } + "HIBHHJENMPP_ClientPlayCookGameType" => Some(Self::ClientPlayCookGameType), + "HIBHHJENMPP_ClientPlayLanV4PushBoxType" => { + Some(Self::ClientPlayLanV4PushBoxType) + } + "HIBHHJENMPP_ClientPlayCatcafeLayoutType" => { + Some(Self::ClientPlayCatcafeLayoutType) + } + "HIBHHJENMPP_ClientPlayCatcafeCatType" => { + Some(Self::ClientPlayCatcafeCatType) + } + "HIBHHJENMPP_ClientPlayGreatFestivalV2SheetRestoreType" => { + Some(Self::ClientPlayGreatFestivalV2SheetRestoreType) + } + "HIBHHJENMPP_ClientPlayBirdBallType" => Some(Self::ClientPlayBirdBallType), + "HIBHHJENMPP_ClientPlayFairyTalesFlyppyHatToyType" => { + Some(Self::ClientPlayFairyTalesFlyppyHatToyType) + } + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Aiogioppmha { + None = 0, + Low = 1, + Mid = 2, + High = 3, +} +impl Aiogioppmha { + /// 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 { + Aiogioppmha::None => "AIOGIOPPMHA_None", + Aiogioppmha::Low => "AIOGIOPPMHA_Low", + Aiogioppmha::Mid => "AIOGIOPPMHA_Mid", + Aiogioppmha::High => "AIOGIOPPMHA_High", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "AIOGIOPPMHA_None" => Some(Self::None), + "AIOGIOPPMHA_Low" => Some(Self::Low), + "AIOGIOPPMHA_Mid" => Some(Self::Mid), + "AIOGIOPPMHA_High" => Some(Self::High), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum MonsterBornType { + MonsterBornNone = 0, + MonsterBornDefault = 1, + MonsterBornRandom = 2, +} +impl MonsterBornType { + /// 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 { + MonsterBornType::MonsterBornNone => "MonsterBornType_MonsterBornNone", + MonsterBornType::MonsterBornDefault => "MonsterBornType_MonsterBornDefault", + MonsterBornType::MonsterBornRandom => "MonsterBornType_MonsterBornRandom", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "MonsterBornType_MonsterBornNone" => Some(Self::MonsterBornNone), + "MonsterBornType_MonsterBornDefault" => Some(Self::MonsterBornDefault), + "MonsterBornType_MonsterBornRandom" => Some(Self::MonsterBornRandom), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Oeaoccjeope { + None = 0, + Dungeon = 1, + MpPlay = 2, + Mechanicus = 3, + General = 4, + Gcg = 5, +} +impl Oeaoccjeope { + /// 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 { + Oeaoccjeope::None => "OEAOCCJEOPE_None", + Oeaoccjeope::Dungeon => "OEAOCCJEOPE_Dungeon", + Oeaoccjeope::MpPlay => "OEAOCCJEOPE_MpPlay", + Oeaoccjeope::Mechanicus => "OEAOCCJEOPE_Mechanicus", + Oeaoccjeope::General => "OEAOCCJEOPE_General", + Oeaoccjeope::Gcg => "OEAOCCJEOPE_Gcg", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "OEAOCCJEOPE_None" => Some(Self::None), + "OEAOCCJEOPE_Dungeon" => Some(Self::Dungeon), + "OEAOCCJEOPE_MpPlay" => Some(Self::MpPlay), + "OEAOCCJEOPE_Mechanicus" => Some(Self::Mechanicus), + "OEAOCCJEOPE_General" => Some(Self::General), + "OEAOCCJEOPE_Gcg" => Some(Self::Gcg), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Hhgielikjhb { + OptionNone = 0, + OptionNormal = 1, + OptionFirstCanGo = 2, +} +impl Hhgielikjhb { + /// 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 { + Hhgielikjhb::OptionNone => "HHGIELIKJHB_OptionNone", + Hhgielikjhb::OptionNormal => "HHGIELIKJHB_OptionNormal", + Hhgielikjhb::OptionFirstCanGo => "HHGIELIKJHB_OptionFirstCanGo", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "HHGIELIKJHB_OptionNone" => Some(Self::OptionNone), + "HHGIELIKJHB_OptionNormal" => Some(Self::OptionNormal), + "HHGIELIKJHB_OptionFirstCanGo" => Some(Self::OptionFirstCanGo), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Ognimielclp { + GetUgcNone = 0, + Mine = 1, + Publish = 2, +} +impl Ognimielclp { + /// 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 { + Ognimielclp::GetUgcNone => "OGNIMIELCLP_GetUgcNone", + Ognimielclp::Mine => "OGNIMIELCLP_Mine", + Ognimielclp::Publish => "OGNIMIELCLP_Publish", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "OGNIMIELCLP_GetUgcNone" => Some(Self::GetUgcNone), + "OGNIMIELCLP_Mine" => Some(Self::Mine), + "OGNIMIELCLP_Publish" => Some(Self::Publish), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Himmemhogfb { + None = 0, + MusicGame = 1, +} +impl Himmemhogfb { + /// 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 { + Himmemhogfb::None => "HIMMEMHOGFB_None", + Himmemhogfb::MusicGame => "HIMMEMHOGFB_MusicGame", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "HIMMEMHOGFB_None" => Some(Self::None), + "HIMMEMHOGFB_MusicGame" => Some(Self::MusicGame), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum WidgetSlotTag { + WidgetSlotQuickUse = 0, + WidgetSlotAttachAvatar = 1, +} +impl WidgetSlotTag { + /// 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 { + WidgetSlotTag::WidgetSlotQuickUse => "WidgetSlotTag_WidgetSlotQuickUse", + WidgetSlotTag::WidgetSlotAttachAvatar => { + "WidgetSlotTag_WidgetSlotAttachAvatar" + } + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "WidgetSlotTag_WidgetSlotQuickUse" => Some(Self::WidgetSlotQuickUse), + "WidgetSlotTag_WidgetSlotAttachAvatar" => Some(Self::WidgetSlotAttachAvatar), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Edgibjbaong { + AddServerBuff = 0, + DelServerBuff = 1, +} +impl Edgibjbaong { + /// 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 { + Edgibjbaong::AddServerBuff => "EDGIBJBAONG_AddServerBuff", + Edgibjbaong::DelServerBuff => "EDGIBJBAONG_DelServerBuff", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "EDGIBJBAONG_AddServerBuff" => Some(Self::AddServerBuff), + "EDGIBJBAONG_DelServerBuff" => Some(Self::DelServerBuff), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Lfieakhooal { + Npc = 0, + Quest = 1, + Special = 2, + Mine = 3, + Collection = 4, + Monster = 5, + FishPool = 6, +} +impl Lfieakhooal { + /// 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 { + Lfieakhooal::Npc => "LFIEAKHOOAL_Npc", + Lfieakhooal::Quest => "LFIEAKHOOAL_Quest", + Lfieakhooal::Special => "LFIEAKHOOAL_Special", + Lfieakhooal::Mine => "LFIEAKHOOAL_Mine", + Lfieakhooal::Collection => "LFIEAKHOOAL_Collection", + Lfieakhooal::Monster => "LFIEAKHOOAL_Monster", + Lfieakhooal::FishPool => "LFIEAKHOOAL_FishPool", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "LFIEAKHOOAL_Npc" => Some(Self::Npc), + "LFIEAKHOOAL_Quest" => Some(Self::Quest), + "LFIEAKHOOAL_Special" => Some(Self::Special), + "LFIEAKHOOAL_Mine" => Some(Self::Mine), + "LFIEAKHOOAL_Collection" => Some(Self::Collection), + "LFIEAKHOOAL_Monster" => Some(Self::Monster), + "LFIEAKHOOAL_FishPool" => Some(Self::FishPool), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Mfnchjapidh { + DealAddFriendReject = 0, + DealAddFriendAccept = 1, +} +impl Mfnchjapidh { + /// 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 { + Mfnchjapidh::DealAddFriendReject => "MFNCHJAPIDH_DealAddFriendReject", + Mfnchjapidh::DealAddFriendAccept => "MFNCHJAPIDH_DealAddFriendAccept", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "MFNCHJAPIDH_DealAddFriendReject" => Some(Self::DealAddFriendReject), + "MFNCHJAPIDH_DealAddFriendAccept" => Some(Self::DealAddFriendAccept), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Paibiheifka { + PacmanDungeonStopNone = 0, + PacmanDungeonStopSuccess = 1, + PacmanDungeonStopTimeup = 2, + PacmanDungeonStopClientInterrupt = 3, + PacmanDungeonStopCancel = 4, + PacmanDungeonStopActivityClosed = 5, + PacmanDungeonStopFail = 6, +} +impl Paibiheifka { + /// 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 { + Paibiheifka::PacmanDungeonStopNone => "PAIBIHEIFKA_PacmanDungeonStopNone", + Paibiheifka::PacmanDungeonStopSuccess => { + "PAIBIHEIFKA_PacmanDungeonStopSuccess" + } + Paibiheifka::PacmanDungeonStopTimeup => "PAIBIHEIFKA_PacmanDungeonStopTimeup", + Paibiheifka::PacmanDungeonStopClientInterrupt => { + "PAIBIHEIFKA_PacmanDungeonStopClientInterrupt" + } + Paibiheifka::PacmanDungeonStopCancel => "PAIBIHEIFKA_PacmanDungeonStopCancel", + Paibiheifka::PacmanDungeonStopActivityClosed => { + "PAIBIHEIFKA_PacmanDungeonStopActivityClosed" + } + Paibiheifka::PacmanDungeonStopFail => "PAIBIHEIFKA_PacmanDungeonStopFail", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "PAIBIHEIFKA_PacmanDungeonStopNone" => Some(Self::PacmanDungeonStopNone), + "PAIBIHEIFKA_PacmanDungeonStopSuccess" => { + Some(Self::PacmanDungeonStopSuccess) + } + "PAIBIHEIFKA_PacmanDungeonStopTimeup" => Some(Self::PacmanDungeonStopTimeup), + "PAIBIHEIFKA_PacmanDungeonStopClientInterrupt" => { + Some(Self::PacmanDungeonStopClientInterrupt) + } + "PAIBIHEIFKA_PacmanDungeonStopCancel" => Some(Self::PacmanDungeonStopCancel), + "PAIBIHEIFKA_PacmanDungeonStopActivityClosed" => { + Some(Self::PacmanDungeonStopActivityClosed) + } + "PAIBIHEIFKA_PacmanDungeonStopFail" => Some(Self::PacmanDungeonStopFail), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Lokpoceadpe { + ClientReconnnectNone = 0, + ClientReconnnectQuitMp = 1, + ClientReconnnectSceneTimeCheckFail = 2, + ClientReconnnectEnterQuestFocus = 3, +} +impl Lokpoceadpe { + /// 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 { + Lokpoceadpe::ClientReconnnectNone => "LOKPOCEADPE_ClientReconnnectNone", + Lokpoceadpe::ClientReconnnectQuitMp => "LOKPOCEADPE_ClientReconnnectQuitMp", + Lokpoceadpe::ClientReconnnectSceneTimeCheckFail => { + "LOKPOCEADPE_ClientReconnnectSceneTimeCheckFail" + } + Lokpoceadpe::ClientReconnnectEnterQuestFocus => { + "LOKPOCEADPE_ClientReconnnectEnterQuestFocus" + } + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "LOKPOCEADPE_ClientReconnnectNone" => Some(Self::ClientReconnnectNone), + "LOKPOCEADPE_ClientReconnnectQuitMp" => Some(Self::ClientReconnnectQuitMp), + "LOKPOCEADPE_ClientReconnnectSceneTimeCheckFail" => { + Some(Self::ClientReconnnectSceneTimeCheckFail) + } + "LOKPOCEADPE_ClientReconnnectEnterQuestFocus" => { + Some(Self::ClientReconnnectEnterQuestFocus) + } + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Dpnjdpjgdop { + InitFollowPos = 0, + SetFollowPos = 1, + SetAbsFollowPos = 2, +} +impl Dpnjdpjgdop { + /// 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 { + Dpnjdpjgdop::InitFollowPos => "DPNJDPJGDOP_InitFollowPos", + Dpnjdpjgdop::SetFollowPos => "DPNJDPJGDOP_SetFollowPos", + Dpnjdpjgdop::SetAbsFollowPos => "DPNJDPJGDOP_SetAbsFollowPos", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "DPNJDPJGDOP_InitFollowPos" => Some(Self::InitFollowPos), + "DPNJDPJGDOP_SetFollowPos" => Some(Self::SetFollowPos), + "DPNJDPJGDOP_SetAbsFollowPos" => Some(Self::SetAbsFollowPos), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Hocjffhhjne { + GadgetMarkUpdateOpNone = 0, + GadgetMarkUpdateOpAdd = 1, + GadgetMarkUpdateOpRemove = 2, +} +impl Hocjffhhjne { + /// 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 { + Hocjffhhjne::GadgetMarkUpdateOpNone => "HOCJFFHHJNE_GadgetMarkUpdateOpNone", + Hocjffhhjne::GadgetMarkUpdateOpAdd => "HOCJFFHHJNE_GadgetMarkUpdateOpAdd", + Hocjffhhjne::GadgetMarkUpdateOpRemove => { + "HOCJFFHHJNE_GadgetMarkUpdateOpRemove" + } + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "HOCJFFHHJNE_GadgetMarkUpdateOpNone" => Some(Self::GadgetMarkUpdateOpNone), + "HOCJFFHHJNE_GadgetMarkUpdateOpAdd" => Some(Self::GadgetMarkUpdateOpAdd), + "HOCJFFHHJNE_GadgetMarkUpdateOpRemove" => { + Some(Self::GadgetMarkUpdateOpRemove) + } + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Nmbjfbodlke { + None = 0, + Success = 1, + Failed = 2, + Draw = 3, +} +impl Nmbjfbodlke { + /// 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 { + Nmbjfbodlke::None => "NMBJFBODLKE_None", + Nmbjfbodlke::Success => "NMBJFBODLKE_Success", + Nmbjfbodlke::Failed => "NMBJFBODLKE_Failed", + Nmbjfbodlke::Draw => "NMBJFBODLKE_Draw", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "NMBJFBODLKE_None" => Some(Self::None), + "NMBJFBODLKE_Success" => Some(Self::Success), + "NMBJFBODLKE_Failed" => Some(Self::Failed), + "NMBJFBODLKE_Draw" => Some(Self::Draw), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Momgbciboei { + None = 0, + Finish = 1, + PreStart = 2, + Start = 3, +} +impl Momgbciboei { + /// 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 { + Momgbciboei::None => "MOMGBCIBOEI_None", + Momgbciboei::Finish => "MOMGBCIBOEI_Finish", + Momgbciboei::PreStart => "MOMGBCIBOEI_PreStart", + Momgbciboei::Start => "MOMGBCIBOEI_Start", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "MOMGBCIBOEI_None" => Some(Self::None), + "MOMGBCIBOEI_Finish" => Some(Self::Finish), + "MOMGBCIBOEI_PreStart" => Some(Self::PreStart), + "MOMGBCIBOEI_Start" => Some(Self::Start), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Eegmnipnkmj { + Default = 0, + Effect = 1, + Cost = 2, + Gm = 3, + Attack = 4, + Reboot = 5, + PlayCard = 6, + QuicklyOnstage = 7, + RemoveAfterDie = 8, + Init = 9, + EffectDamage = 10, + EffectHeal = 11, + EffectRevive = 12, + InitOnstage = 13, + DieOnstage = 14, + SelectOnstage = 15, + CharacterDie = 16, + ReviveWhenDeath = 17, + TransferToOpponent = 18, + TransferDice = 19, + PlayCardBeingCounter = 20, + UseVehicleSkill = 21, +} +impl Eegmnipnkmj { + /// 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 { + Eegmnipnkmj::Default => "EEGMNIPNKMJ_Default", + Eegmnipnkmj::Effect => "EEGMNIPNKMJ_Effect", + Eegmnipnkmj::Cost => "EEGMNIPNKMJ_Cost", + Eegmnipnkmj::Gm => "EEGMNIPNKMJ_Gm", + Eegmnipnkmj::Attack => "EEGMNIPNKMJ_Attack", + Eegmnipnkmj::Reboot => "EEGMNIPNKMJ_Reboot", + Eegmnipnkmj::PlayCard => "EEGMNIPNKMJ_PlayCard", + Eegmnipnkmj::QuicklyOnstage => "EEGMNIPNKMJ_QuicklyOnstage", + Eegmnipnkmj::RemoveAfterDie => "EEGMNIPNKMJ_RemoveAfterDie", + Eegmnipnkmj::Init => "EEGMNIPNKMJ_Init", + Eegmnipnkmj::EffectDamage => "EEGMNIPNKMJ_EffectDamage", + Eegmnipnkmj::EffectHeal => "EEGMNIPNKMJ_EffectHeal", + Eegmnipnkmj::EffectRevive => "EEGMNIPNKMJ_EffectRevive", + Eegmnipnkmj::InitOnstage => "EEGMNIPNKMJ_InitOnstage", + Eegmnipnkmj::DieOnstage => "EEGMNIPNKMJ_DieOnstage", + Eegmnipnkmj::SelectOnstage => "EEGMNIPNKMJ_SelectOnstage", + Eegmnipnkmj::CharacterDie => "EEGMNIPNKMJ_CharacterDie", + Eegmnipnkmj::ReviveWhenDeath => "EEGMNIPNKMJ_ReviveWhenDeath", + Eegmnipnkmj::TransferToOpponent => "EEGMNIPNKMJ_TransferToOpponent", + Eegmnipnkmj::TransferDice => "EEGMNIPNKMJ_TransferDice", + Eegmnipnkmj::PlayCardBeingCounter => "EEGMNIPNKMJ_PlayCardBeingCounter", + Eegmnipnkmj::UseVehicleSkill => "EEGMNIPNKMJ_UseVehicleSkill", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "EEGMNIPNKMJ_Default" => Some(Self::Default), + "EEGMNIPNKMJ_Effect" => Some(Self::Effect), + "EEGMNIPNKMJ_Cost" => Some(Self::Cost), + "EEGMNIPNKMJ_Gm" => Some(Self::Gm), + "EEGMNIPNKMJ_Attack" => Some(Self::Attack), + "EEGMNIPNKMJ_Reboot" => Some(Self::Reboot), + "EEGMNIPNKMJ_PlayCard" => Some(Self::PlayCard), + "EEGMNIPNKMJ_QuicklyOnstage" => Some(Self::QuicklyOnstage), + "EEGMNIPNKMJ_RemoveAfterDie" => Some(Self::RemoveAfterDie), + "EEGMNIPNKMJ_Init" => Some(Self::Init), + "EEGMNIPNKMJ_EffectDamage" => Some(Self::EffectDamage), + "EEGMNIPNKMJ_EffectHeal" => Some(Self::EffectHeal), + "EEGMNIPNKMJ_EffectRevive" => Some(Self::EffectRevive), + "EEGMNIPNKMJ_InitOnstage" => Some(Self::InitOnstage), + "EEGMNIPNKMJ_DieOnstage" => Some(Self::DieOnstage), + "EEGMNIPNKMJ_SelectOnstage" => Some(Self::SelectOnstage), + "EEGMNIPNKMJ_CharacterDie" => Some(Self::CharacterDie), + "EEGMNIPNKMJ_ReviveWhenDeath" => Some(Self::ReviveWhenDeath), + "EEGMNIPNKMJ_TransferToOpponent" => Some(Self::TransferToOpponent), + "EEGMNIPNKMJ_TransferDice" => Some(Self::TransferDice), + "EEGMNIPNKMJ_PlayCardBeingCounter" => Some(Self::PlayCardBeingCounter), + "EEGMNIPNKMJ_UseVehicleSkill" => Some(Self::UseVehicleSkill), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Kdjjjaogjfj { + Invalid = 0, + UnableToBegin = 1, + Begin = 2, + End = 3, +} +impl Kdjjjaogjfj { + /// 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 { + Kdjjjaogjfj::Invalid => "KDJJJAOGJFJ_Invalid", + Kdjjjaogjfj::UnableToBegin => "KDJJJAOGJFJ_UnableToBegin", + Kdjjjaogjfj::Begin => "KDJJJAOGJFJ_Begin", + Kdjjjaogjfj::End => "KDJJJAOGJFJ_End", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "KDJJJAOGJFJ_Invalid" => Some(Self::Invalid), + "KDJJJAOGJFJ_UnableToBegin" => Some(Self::UnableToBegin), + "KDJJJAOGJFJ_Begin" => Some(Self::Begin), + "KDJJJAOGJFJ_End" => Some(Self::End), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Popdhnkgoec { + Invalid = 0, + Unfinished = 1, + Finished = 2, + RewardTaken = 3, +} +impl Popdhnkgoec { + /// 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 { + Popdhnkgoec::Invalid => "POPDHNKGOEC_Invalid", + Popdhnkgoec::Unfinished => "POPDHNKGOEC_Unfinished", + Popdhnkgoec::Finished => "POPDHNKGOEC_Finished", + Popdhnkgoec::RewardTaken => "POPDHNKGOEC_RewardTaken", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "POPDHNKGOEC_Invalid" => Some(Self::Invalid), + "POPDHNKGOEC_Unfinished" => Some(Self::Unfinished), + "POPDHNKGOEC_Finished" => Some(Self::Finished), + "POPDHNKGOEC_RewardTaken" => Some(Self::RewardTaken), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Dbkkepahcpe { + None = 0, + Sail = 1, + Battle = 2, +} +impl Dbkkepahcpe { + /// 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 { + Dbkkepahcpe::None => "DBKKEPAHCPE_None", + Dbkkepahcpe::Sail => "DBKKEPAHCPE_Sail", + Dbkkepahcpe::Battle => "DBKKEPAHCPE_Battle", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "DBKKEPAHCPE_None" => Some(Self::None), + "DBKKEPAHCPE_Sail" => Some(Self::Sail), + "DBKKEPAHCPE_Battle" => Some(Self::Battle), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Ejpagmfnmfe { + TribalChapterNone = 0, + TribalChapterNotOpen = 1, + TribalChapterLock = 2, + TribalChapterUnlock = 3, + TribalChapterFinish = 4, +} +impl Ejpagmfnmfe { + /// 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 { + Ejpagmfnmfe::TribalChapterNone => "EJPAGMFNMFE_TribalChapterNone", + Ejpagmfnmfe::TribalChapterNotOpen => "EJPAGMFNMFE_TribalChapterNotOpen", + Ejpagmfnmfe::TribalChapterLock => "EJPAGMFNMFE_TribalChapterLock", + Ejpagmfnmfe::TribalChapterUnlock => "EJPAGMFNMFE_TribalChapterUnlock", + Ejpagmfnmfe::TribalChapterFinish => "EJPAGMFNMFE_TribalChapterFinish", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "EJPAGMFNMFE_TribalChapterNone" => Some(Self::TribalChapterNone), + "EJPAGMFNMFE_TribalChapterNotOpen" => Some(Self::TribalChapterNotOpen), + "EJPAGMFNMFE_TribalChapterLock" => Some(Self::TribalChapterLock), + "EJPAGMFNMFE_TribalChapterUnlock" => Some(Self::TribalChapterUnlock), + "EJPAGMFNMFE_TribalChapterFinish" => Some(Self::TribalChapterFinish), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Aohjddpeicb { + CodexNone = 0, + CodexQuest = 1, + CodexWeapon = 2, + CodexAnimal = 3, + CodexMaterial = 4, + CodexBooks = 5, + CodexPushtips = 6, + CodexView = 7, + CodexReliquary = 8, +} +impl Aohjddpeicb { + /// 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 { + Aohjddpeicb::CodexNone => "AOHJDDPEICB_CodexNone", + Aohjddpeicb::CodexQuest => "AOHJDDPEICB_CodexQuest", + Aohjddpeicb::CodexWeapon => "AOHJDDPEICB_CodexWeapon", + Aohjddpeicb::CodexAnimal => "AOHJDDPEICB_CodexAnimal", + Aohjddpeicb::CodexMaterial => "AOHJDDPEICB_CodexMaterial", + Aohjddpeicb::CodexBooks => "AOHJDDPEICB_CodexBooks", + Aohjddpeicb::CodexPushtips => "AOHJDDPEICB_CodexPushtips", + Aohjddpeicb::CodexView => "AOHJDDPEICB_CodexView", + Aohjddpeicb::CodexReliquary => "AOHJDDPEICB_CodexReliquary", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "AOHJDDPEICB_CodexNone" => Some(Self::CodexNone), + "AOHJDDPEICB_CodexQuest" => Some(Self::CodexQuest), + "AOHJDDPEICB_CodexWeapon" => Some(Self::CodexWeapon), + "AOHJDDPEICB_CodexAnimal" => Some(Self::CodexAnimal), + "AOHJDDPEICB_CodexMaterial" => Some(Self::CodexMaterial), + "AOHJDDPEICB_CodexBooks" => Some(Self::CodexBooks), + "AOHJDDPEICB_CodexPushtips" => Some(Self::CodexPushtips), + "AOHJDDPEICB_CodexView" => Some(Self::CodexView), + "AOHJDDPEICB_CodexReliquary" => Some(Self::CodexReliquary), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Obidodcpegg { + Add = 0, + Mod = 1, + Del = 2, + Get = 3, +} +impl Obidodcpegg { + /// 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 { + Obidodcpegg::Add => "OBIDODCPEGG_Add", + Obidodcpegg::Mod => "OBIDODCPEGG_Mod", + Obidodcpegg::Del => "OBIDODCPEGG_Del", + Obidodcpegg::Get => "OBIDODCPEGG_Get", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "OBIDODCPEGG_Add" => Some(Self::Add), + "OBIDODCPEGG_Mod" => Some(Self::Mod), + "OBIDODCPEGG_Del" => Some(Self::Del), + "OBIDODCPEGG_Get" => Some(Self::Get), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Pcdgjmpgnha { + SandwormCannonNoneEffect = 0, + SandwormCannonWeakEffect = 1, + SandwormCannonStrongEffect = 2, +} +impl Pcdgjmpgnha { + /// 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 { + Pcdgjmpgnha::SandwormCannonNoneEffect => { + "PCDGJMPGNHA_SandwormCannonNoneEffect" + } + Pcdgjmpgnha::SandwormCannonWeakEffect => { + "PCDGJMPGNHA_SandwormCannonWeakEffect" + } + Pcdgjmpgnha::SandwormCannonStrongEffect => { + "PCDGJMPGNHA_SandwormCannonStrongEffect" + } + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "PCDGJMPGNHA_SandwormCannonNoneEffect" => { + Some(Self::SandwormCannonNoneEffect) + } + "PCDGJMPGNHA_SandwormCannonWeakEffect" => { + Some(Self::SandwormCannonWeakEffect) + } + "PCDGJMPGNHA_SandwormCannonStrongEffect" => { + Some(Self::SandwormCannonStrongEffect) + } + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Bdkppllibff { + Unlock = 0, + Lock = 1, + Taken = 2, +} +impl Bdkppllibff { + /// 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 { + Bdkppllibff::Unlock => "BDKPPLLIBFF_Unlock", + Bdkppllibff::Lock => "BDKPPLLIBFF_Lock", + Bdkppllibff::Taken => "BDKPPLLIBFF_Taken", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "BDKPPLLIBFF_Unlock" => Some(Self::Unlock), + "BDKPPLLIBFF_Lock" => Some(Self::Lock), + "BDKPPLLIBFF_Taken" => Some(Self::Taken), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Icbodpognhd { + OptionNone = 0, + OptionNormal = 1, + OptionFirstCanGo = 2, +} +impl Icbodpognhd { + /// 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 { + Icbodpognhd::OptionNone => "ICBODPOGNHD_OptionNone", + Icbodpognhd::OptionNormal => "ICBODPOGNHD_OptionNormal", + Icbodpognhd::OptionFirstCanGo => "ICBODPOGNHD_OptionFirstCanGo", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "ICBODPOGNHD_OptionNone" => Some(Self::OptionNone), + "ICBODPOGNHD_OptionNormal" => Some(Self::OptionNormal), + "ICBODPOGNHD_OptionFirstCanGo" => Some(Self::OptionFirstCanGo), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Lppfedcjjap { + Classic = 0, + Tendency = 1, + Adaptive = 2, + Inflection = 3, +} +impl Lppfedcjjap { + /// 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 { + Lppfedcjjap::Classic => "LPPFEDCJJAP_Classic", + Lppfedcjjap::Tendency => "LPPFEDCJJAP_Tendency", + Lppfedcjjap::Adaptive => "LPPFEDCJJAP_Adaptive", + Lppfedcjjap::Inflection => "LPPFEDCJJAP_Inflection", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "LPPFEDCJJAP_Classic" => Some(Self::Classic), + "LPPFEDCJJAP_Tendency" => Some(Self::Tendency), + "LPPFEDCJJAP_Adaptive" => Some(Self::Adaptive), + "LPPFEDCJJAP_Inflection" => Some(Self::Inflection), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Afbfhonpigc { + All = 0, + Air = 1, + Water = 2, +} +impl Afbfhonpigc { + /// 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 { + Afbfhonpigc::All => "AFBFHONPIGC_All", + Afbfhonpigc::Air => "AFBFHONPIGC_Air", + Afbfhonpigc::Water => "AFBFHONPIGC_Water", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "AFBFHONPIGC_All" => Some(Self::All), + "AFBFHONPIGC_Air" => Some(Self::Air), + "AFBFHONPIGC_Water" => Some(Self::Water), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Dfafgepbldo { + EditUgcDungeonEdit = 0, + EditUgcDungeonAudit = 1, + EditUgcDungeonPublished = 2, +} +impl Dfafgepbldo { + /// 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 { + Dfafgepbldo::EditUgcDungeonEdit => "DFAFGEPBLDO_EditUgcDungeonEdit", + Dfafgepbldo::EditUgcDungeonAudit => "DFAFGEPBLDO_EditUgcDungeonAudit", + Dfafgepbldo::EditUgcDungeonPublished => "DFAFGEPBLDO_EditUgcDungeonPublished", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "DFAFGEPBLDO_EditUgcDungeonEdit" => Some(Self::EditUgcDungeonEdit), + "DFAFGEPBLDO_EditUgcDungeonAudit" => Some(Self::EditUgcDungeonAudit), + "DFAFGEPBLDO_EditUgcDungeonPublished" => Some(Self::EditUgcDungeonPublished), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Hnncclmhcla { + None = 0, + ESkillShared = 1, +} +impl Hnncclmhcla { + /// 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 { + Hnncclmhcla::None => "HNNCCLMHCLA_None", + Hnncclmhcla::ESkillShared => "HNNCCLMHCLA_ESkillShared", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "HNNCCLMHCLA_None" => Some(Self::None), + "HNNCCLMHCLA_ESkillShared" => Some(Self::ESkillShared), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Ibfpdnnekli { + SalesmanStatusNone = 0, + SalesmanStatusUnstarted = 1, + SalesmanStatusStarted = 2, + SalesmanStatusDelivered = 3, +} +impl Ibfpdnnekli { + /// 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 { + Ibfpdnnekli::SalesmanStatusNone => "IBFPDNNEKLI_SalesmanStatusNone", + Ibfpdnnekli::SalesmanStatusUnstarted => "IBFPDNNEKLI_SalesmanStatusUnstarted", + Ibfpdnnekli::SalesmanStatusStarted => "IBFPDNNEKLI_SalesmanStatusStarted", + Ibfpdnnekli::SalesmanStatusDelivered => "IBFPDNNEKLI_SalesmanStatusDelivered", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "IBFPDNNEKLI_SalesmanStatusNone" => Some(Self::SalesmanStatusNone), + "IBFPDNNEKLI_SalesmanStatusUnstarted" => Some(Self::SalesmanStatusUnstarted), + "IBFPDNNEKLI_SalesmanStatusStarted" => Some(Self::SalesmanStatusStarted), + "IBFPDNNEKLI_SalesmanStatusDelivered" => Some(Self::SalesmanStatusDelivered), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Eclbipadhbl { + LuaOptionNone = 0, + LuaOptionPlayerInput = 1, +} +impl Eclbipadhbl { + /// 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 { + Eclbipadhbl::LuaOptionNone => "ECLBIPADHBL_LuaOptionNone", + Eclbipadhbl::LuaOptionPlayerInput => "ECLBIPADHBL_LuaOptionPlayerInput", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "ECLBIPADHBL_LuaOptionNone" => Some(Self::LuaOptionNone), + "ECLBIPADHBL_LuaOptionPlayerInput" => Some(Self::LuaOptionPlayerInput), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Idgmphbjnim { + UgcRecParamTypeNone = 0, + UgcRecParamTypeMusicNoteLarge = 1, + UgcRecParamTypeMusicNoteLessEqual = 2, + UgcRecParamTypeMusicNoteTag = 3, + UgcRecParamTypeMusicName = 4, +} +impl Idgmphbjnim { + /// 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 { + Idgmphbjnim::UgcRecParamTypeNone => "IDGMPHBJNIM_UgcRecParamTypeNone", + Idgmphbjnim::UgcRecParamTypeMusicNoteLarge => { + "IDGMPHBJNIM_UgcRecParamTypeMusicNoteLarge" + } + Idgmphbjnim::UgcRecParamTypeMusicNoteLessEqual => { + "IDGMPHBJNIM_UgcRecParamTypeMusicNoteLessEqual" + } + Idgmphbjnim::UgcRecParamTypeMusicNoteTag => { + "IDGMPHBJNIM_UgcRecParamTypeMusicNoteTag" + } + Idgmphbjnim::UgcRecParamTypeMusicName => { + "IDGMPHBJNIM_UgcRecParamTypeMusicName" + } + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "IDGMPHBJNIM_UgcRecParamTypeNone" => Some(Self::UgcRecParamTypeNone), + "IDGMPHBJNIM_UgcRecParamTypeMusicNoteLarge" => { + Some(Self::UgcRecParamTypeMusicNoteLarge) + } + "IDGMPHBJNIM_UgcRecParamTypeMusicNoteLessEqual" => { + Some(Self::UgcRecParamTypeMusicNoteLessEqual) + } + "IDGMPHBJNIM_UgcRecParamTypeMusicNoteTag" => { + Some(Self::UgcRecParamTypeMusicNoteTag) + } + "IDGMPHBJNIM_UgcRecParamTypeMusicName" => { + Some(Self::UgcRecParamTypeMusicName) + } + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Npgmacjfbek { + None = 0, + ReachScore = 1, + TimeUp = 2, +} +impl Npgmacjfbek { + /// 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 { + Npgmacjfbek::None => "NPGMACJFBEK_None", + Npgmacjfbek::ReachScore => "NPGMACJFBEK_ReachScore", + Npgmacjfbek::TimeUp => "NPGMACJFBEK_TimeUp", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "NPGMACJFBEK_None" => Some(Self::None), + "NPGMACJFBEK_ReachScore" => Some(Self::ReachScore), + "NPGMACJFBEK_TimeUp" => Some(Self::TimeUp), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Lnemncjdlmm { + InBattleMechanicusCardChallengeNone = 0, + InBattleMechanicusCardChallengeOnGoing = 1, + InBattleMechanicusCardChallengeFail = 2, + InBattleMechanicusCardChallengeSuccess = 3, +} +impl Lnemncjdlmm { + /// 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 { + Lnemncjdlmm::InBattleMechanicusCardChallengeNone => { + "LNEMNCJDLMM_InBattleMechanicusCardChallengeNone" + } + Lnemncjdlmm::InBattleMechanicusCardChallengeOnGoing => { + "LNEMNCJDLMM_InBattleMechanicusCardChallengeOnGoing" + } + Lnemncjdlmm::InBattleMechanicusCardChallengeFail => { + "LNEMNCJDLMM_InBattleMechanicusCardChallengeFail" + } + Lnemncjdlmm::InBattleMechanicusCardChallengeSuccess => { + "LNEMNCJDLMM_InBattleMechanicusCardChallengeSuccess" + } + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "LNEMNCJDLMM_InBattleMechanicusCardChallengeNone" => { + Some(Self::InBattleMechanicusCardChallengeNone) + } + "LNEMNCJDLMM_InBattleMechanicusCardChallengeOnGoing" => { + Some(Self::InBattleMechanicusCardChallengeOnGoing) + } + "LNEMNCJDLMM_InBattleMechanicusCardChallengeFail" => { + Some(Self::InBattleMechanicusCardChallengeFail) + } + "LNEMNCJDLMM_InBattleMechanicusCardChallengeSuccess" => { + Some(Self::InBattleMechanicusCardChallengeSuccess) + } + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Jbacjjpknga { + Invalid = 0, + Enter = 1, + Leave = 2, +} +impl Jbacjjpknga { + /// 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 { + Jbacjjpknga::Invalid => "JBACJJPKNGA_Invalid", + Jbacjjpknga::Enter => "JBACJJPKNGA_Enter", + Jbacjjpknga::Leave => "JBACJJPKNGA_Leave", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "JBACJJPKNGA_Invalid" => Some(Self::Invalid), + "JBACJJPKNGA_Enter" => Some(Self::Enter), + "JBACJJPKNGA_Leave" => Some(Self::Leave), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Hjaaammhghn { + GcgIntentionChangeNone = 0, + GcgIntentionChangeRm = 1, +} +impl Hjaaammhghn { + /// 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 { + Hjaaammhghn::GcgIntentionChangeNone => "HJAAAMMHGHN_GcgIntentionChangeNone", + Hjaaammhghn::GcgIntentionChangeRm => "HJAAAMMHGHN_GcgIntentionChangeRm", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "HJAAAMMHGHN_GcgIntentionChangeNone" => Some(Self::GcgIntentionChangeNone), + "HJAAAMMHGHN_GcgIntentionChangeRm" => Some(Self::GcgIntentionChangeRm), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Mjihakkdbnn { + ChangeEnergyNone = 0, + ChangeEnergySkillStart = 1, + ChangeEnergyBall = 2, + ChangeEnergyQuest = 3, + ChangeEnergyAbility = 4, + ChangeEnergyDie = 5, + ChangeEnergySkillDepot = 6, +} +impl Mjihakkdbnn { + /// 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 { + Mjihakkdbnn::ChangeEnergyNone => "MJIHAKKDBNN_ChangeEnergyNone", + Mjihakkdbnn::ChangeEnergySkillStart => "MJIHAKKDBNN_ChangeEnergySkillStart", + Mjihakkdbnn::ChangeEnergyBall => "MJIHAKKDBNN_ChangeEnergyBall", + Mjihakkdbnn::ChangeEnergyQuest => "MJIHAKKDBNN_ChangeEnergyQuest", + Mjihakkdbnn::ChangeEnergyAbility => "MJIHAKKDBNN_ChangeEnergyAbility", + Mjihakkdbnn::ChangeEnergyDie => "MJIHAKKDBNN_ChangeEnergyDie", + Mjihakkdbnn::ChangeEnergySkillDepot => "MJIHAKKDBNN_ChangeEnergySkillDepot", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "MJIHAKKDBNN_ChangeEnergyNone" => Some(Self::ChangeEnergyNone), + "MJIHAKKDBNN_ChangeEnergySkillStart" => Some(Self::ChangeEnergySkillStart), + "MJIHAKKDBNN_ChangeEnergyBall" => Some(Self::ChangeEnergyBall), + "MJIHAKKDBNN_ChangeEnergyQuest" => Some(Self::ChangeEnergyQuest), + "MJIHAKKDBNN_ChangeEnergyAbility" => Some(Self::ChangeEnergyAbility), + "MJIHAKKDBNN_ChangeEnergyDie" => Some(Self::ChangeEnergyDie), + "MJIHAKKDBNN_ChangeEnergySkillDepot" => Some(Self::ChangeEnergySkillDepot), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum VisionType { + VisionNone = 0, + VisionMeet = 1, + VisionReborn = 2, + VisionReplace = 3, + VisionWaypointReborn = 4, + VisionMiss = 5, + VisionDie = 6, + VisionGatherEscape = 7, + VisionRefresh = 8, + VisionTransport = 9, + VisionReplaceDie = 10, + VisionReplaceNoNotify = 11, + VisionBorn = 12, + VisionPickup = 13, + VisionRemove = 14, + VisionChangeCostume = 15, + VisionFishRefresh = 16, + VisionFishBigShock = 17, + VisionFishQteSucc = 18, + VisionCaptureDisappear = 19, +} +impl VisionType { + /// 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 { + VisionType::VisionNone => "VisionType_VisionNone", + VisionType::VisionMeet => "VisionType_VisionMeet", + VisionType::VisionReborn => "VisionType_VisionReborn", + VisionType::VisionReplace => "VisionType_VisionReplace", + VisionType::VisionWaypointReborn => "VisionType_VisionWaypointReborn", + VisionType::VisionMiss => "VisionType_VisionMiss", + VisionType::VisionDie => "VisionType_VisionDie", + VisionType::VisionGatherEscape => "VisionType_VisionGatherEscape", + VisionType::VisionRefresh => "VisionType_VisionRefresh", + VisionType::VisionTransport => "VisionType_VisionTransport", + VisionType::VisionReplaceDie => "VisionType_VisionReplaceDie", + VisionType::VisionReplaceNoNotify => "VisionType_VisionReplaceNoNotify", + VisionType::VisionBorn => "VisionType_VisionBorn", + VisionType::VisionPickup => "VisionType_VisionPickup", + VisionType::VisionRemove => "VisionType_VisionRemove", + VisionType::VisionChangeCostume => "VisionType_VisionChangeCostume", + VisionType::VisionFishRefresh => "VisionType_VisionFishRefresh", + VisionType::VisionFishBigShock => "VisionType_VisionFishBigShock", + VisionType::VisionFishQteSucc => "VisionType_VisionFishQteSucc", + VisionType::VisionCaptureDisappear => "VisionType_VisionCaptureDisappear", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "VisionType_VisionNone" => Some(Self::VisionNone), + "VisionType_VisionMeet" => Some(Self::VisionMeet), + "VisionType_VisionReborn" => Some(Self::VisionReborn), + "VisionType_VisionReplace" => Some(Self::VisionReplace), + "VisionType_VisionWaypointReborn" => Some(Self::VisionWaypointReborn), + "VisionType_VisionMiss" => Some(Self::VisionMiss), + "VisionType_VisionDie" => Some(Self::VisionDie), + "VisionType_VisionGatherEscape" => Some(Self::VisionGatherEscape), + "VisionType_VisionRefresh" => Some(Self::VisionRefresh), + "VisionType_VisionTransport" => Some(Self::VisionTransport), + "VisionType_VisionReplaceDie" => Some(Self::VisionReplaceDie), + "VisionType_VisionReplaceNoNotify" => Some(Self::VisionReplaceNoNotify), + "VisionType_VisionBorn" => Some(Self::VisionBorn), + "VisionType_VisionPickup" => Some(Self::VisionPickup), + "VisionType_VisionRemove" => Some(Self::VisionRemove), + "VisionType_VisionChangeCostume" => Some(Self::VisionChangeCostume), + "VisionType_VisionFishRefresh" => Some(Self::VisionFishRefresh), + "VisionType_VisionFishBigShock" => Some(Self::VisionFishBigShock), + "VisionType_VisionFishQteSucc" => Some(Self::VisionFishQteSucc), + "VisionType_VisionCaptureDisappear" => Some(Self::VisionCaptureDisappear), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Hbcjgnlbden { + GcgLevelNone = 0, + GcgLevelConst = 1, + GcgLevelWeek = 2, + GcgLevelWorld = 3, + GcgLevelBoss = 4, + GcgLevelCharacter = 5, + GcgLevelBreak = 6, + GcgLevelQuest = 7, + GcgLevelGuideGroup = 8, + GcgLevelOther = 9, + GcgLevelJourney = 10, + GcgLevelPve = 11, + GcgLevelPveInfinite = 12, + GcgLevelPvePuzzle = 13, +} +impl Hbcjgnlbden { + /// 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 { + Hbcjgnlbden::GcgLevelNone => "HBCJGNLBDEN_GcgLevelNone", + Hbcjgnlbden::GcgLevelConst => "HBCJGNLBDEN_GcgLevelConst", + Hbcjgnlbden::GcgLevelWeek => "HBCJGNLBDEN_GcgLevelWeek", + Hbcjgnlbden::GcgLevelWorld => "HBCJGNLBDEN_GcgLevelWorld", + Hbcjgnlbden::GcgLevelBoss => "HBCJGNLBDEN_GcgLevelBoss", + Hbcjgnlbden::GcgLevelCharacter => "HBCJGNLBDEN_GcgLevelCharacter", + Hbcjgnlbden::GcgLevelBreak => "HBCJGNLBDEN_GcgLevelBreak", + Hbcjgnlbden::GcgLevelQuest => "HBCJGNLBDEN_GcgLevelQuest", + Hbcjgnlbden::GcgLevelGuideGroup => "HBCJGNLBDEN_GcgLevelGuideGroup", + Hbcjgnlbden::GcgLevelOther => "HBCJGNLBDEN_GcgLevelOther", + Hbcjgnlbden::GcgLevelJourney => "HBCJGNLBDEN_GcgLevelJourney", + Hbcjgnlbden::GcgLevelPve => "HBCJGNLBDEN_GcgLevelPve", + Hbcjgnlbden::GcgLevelPveInfinite => "HBCJGNLBDEN_GcgLevelPveInfinite", + Hbcjgnlbden::GcgLevelPvePuzzle => "HBCJGNLBDEN_GcgLevelPvePuzzle", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "HBCJGNLBDEN_GcgLevelNone" => Some(Self::GcgLevelNone), + "HBCJGNLBDEN_GcgLevelConst" => Some(Self::GcgLevelConst), + "HBCJGNLBDEN_GcgLevelWeek" => Some(Self::GcgLevelWeek), + "HBCJGNLBDEN_GcgLevelWorld" => Some(Self::GcgLevelWorld), + "HBCJGNLBDEN_GcgLevelBoss" => Some(Self::GcgLevelBoss), + "HBCJGNLBDEN_GcgLevelCharacter" => Some(Self::GcgLevelCharacter), + "HBCJGNLBDEN_GcgLevelBreak" => Some(Self::GcgLevelBreak), + "HBCJGNLBDEN_GcgLevelQuest" => Some(Self::GcgLevelQuest), + "HBCJGNLBDEN_GcgLevelGuideGroup" => Some(Self::GcgLevelGuideGroup), + "HBCJGNLBDEN_GcgLevelOther" => Some(Self::GcgLevelOther), + "HBCJGNLBDEN_GcgLevelJourney" => Some(Self::GcgLevelJourney), + "HBCJGNLBDEN_GcgLevelPve" => Some(Self::GcgLevelPve), + "HBCJGNLBDEN_GcgLevelPveInfinite" => Some(Self::GcgLevelPveInfinite), + "HBCJGNLBDEN_GcgLevelPvePuzzle" => Some(Self::GcgLevelPvePuzzle), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Haefglpepln { + MotionNone = 0, + MotionReset = 1, + MotionStandby = 2, + MotionStandbyMove = 3, + MotionWalk = 4, + MotionRun = 5, + MotionDash = 6, + MotionClimb = 7, + MotionClimbJump = 8, + MotionStandbyToClimb = 9, + MotionFight = 10, + MotionJump = 11, + MotionDrop = 12, + MotionFly = 13, + MotionSwimMove = 14, + MotionSwimIdle = 15, + MotionSwimDash = 16, + MotionSwimJump = 17, + MotionSlip = 18, + MotionGoUpstairs = 19, + MotionFallOnGround = 20, + MotionJumpUpWallForStandby = 21, + MotionJumpOffWall = 22, + MotionPoweredFly = 23, + MotionLadderIdle = 24, + MotionLadderMove = 25, + MotionLadderSlip = 26, + MotionStandbyToLadder = 27, + MotionLadderToStandby = 28, + MotionDangerStandby = 29, + MotionDangerStandbyMove = 30, + MotionDangerWalk = 31, + MotionDangerRun = 32, + MotionDangerDash = 33, + MotionCrouchIdle = 34, + MotionCrouchMove = 35, + MotionCrouchRoll = 36, + MotionNotify = 37, + MotionLandSpeed = 38, + MotionMoveFailAck = 39, + MotionWaterfall = 40, + MotionDashBeforeShake = 41, + MotionSitIdle = 42, + MotionForceSetPos = 43, + MotionQuestForceDrag = 44, + MotionFollowRoute = 45, + MotionSkiffBoarding = 46, + MotionSkiffNormal = 47, + MotionSkiffDash = 48, + MotionSkiffPoweredDash = 49, + MotionDestroyVehicle = 50, + MotionFlyIdle = 51, + MotionFlySlow = 52, + MotionFlyFast = 53, + MotionAimMove = 54, + MotionAirCompensation = 55, + MotionSorushNormal = 56, + MotionRollerCoaster = 57, + MotionDiveIdle = 58, + MotionDiveMove = 59, + MotionDiveDash = 60, + MotionDiveDolphine = 61, + MotionDebug = 62, + MotionOceanCurrent = 63, + MotionDiveSwimMove = 64, + MotionDiveSwimIdle = 65, + MotionDiveSwimDash = 66, + MotionArcLight = 67, + MotionArcLightSafe = 68, + MotionVehicleStandby = 69, + MotionVehicleRun = 70, + MotionVehicleDash = 71, + MotionVehicleClimb = 72, + MotionVehicleClimbJump = 73, + MotionVehicleStandbyToClimb = 74, + MotionVehicleFight = 75, + MotionVehicleJump = 76, + MotionVehicleDrop = 77, + MotionVehicleFly = 78, + MotionVehicleSwimMove = 79, + MotionVehicleSwimIdle = 80, + MotionVehicleSwimDash = 81, + MotionVehicleSlip = 82, + MotionVehicleGoUpstairs = 83, + MotionVehicleFallOnGround = 84, + MotionVehicleJumpOffWall = 85, + MotionVehiclePoweredFly = 86, + MotionVehicleDangerStandby = 87, + MotionVehicleDangerRun = 88, + MotionVehicleDangerDash = 89, + MotionVehicleNotify = 90, + MotionVehicleLandSpeed = 91, + MotionVehicleDashBeforeShake = 92, + MotionVehicleQuestForceDrag = 93, + MotionVehicleFollowRoute = 94, + MotionVehicleFlyIdle = 95, + MotionVehicleFlySlow = 96, + MotionVehicleFlyFast = 97, + MotionVehicleAirCompensation = 98, + MotionVehicleArcLight = 99, + MotionVehicleArcLightSafe = 100, + MotionVehicleDangerSwimMove = 101, + MotionVehicleDangerSwimIdle = 102, + MotionVehicleDangerSwimDash = 103, + MotionFollowCurveRoute = 104, + MotionVehicleFollowCurveRoute = 105, + MotionNatsaurusNormal = 106, + MotionNatsaurusEntering = 107, + MotionNum = 108, +} +impl Haefglpepln { + /// 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 { + Haefglpepln::MotionNone => "HAEFGLPEPLN_MotionNone", + Haefglpepln::MotionReset => "HAEFGLPEPLN_MotionReset", + Haefglpepln::MotionStandby => "HAEFGLPEPLN_MotionStandby", + Haefglpepln::MotionStandbyMove => "HAEFGLPEPLN_MotionStandbyMove", + Haefglpepln::MotionWalk => "HAEFGLPEPLN_MotionWalk", + Haefglpepln::MotionRun => "HAEFGLPEPLN_MotionRun", + Haefglpepln::MotionDash => "HAEFGLPEPLN_MotionDash", + Haefglpepln::MotionClimb => "HAEFGLPEPLN_MotionClimb", + Haefglpepln::MotionClimbJump => "HAEFGLPEPLN_MotionClimbJump", + Haefglpepln::MotionStandbyToClimb => "HAEFGLPEPLN_MotionStandbyToClimb", + Haefglpepln::MotionFight => "HAEFGLPEPLN_MotionFight", + Haefglpepln::MotionJump => "HAEFGLPEPLN_MotionJump", + Haefglpepln::MotionDrop => "HAEFGLPEPLN_MotionDrop", + Haefglpepln::MotionFly => "HAEFGLPEPLN_MotionFly", + Haefglpepln::MotionSwimMove => "HAEFGLPEPLN_MotionSwimMove", + Haefglpepln::MotionSwimIdle => "HAEFGLPEPLN_MotionSwimIdle", + Haefglpepln::MotionSwimDash => "HAEFGLPEPLN_MotionSwimDash", + Haefglpepln::MotionSwimJump => "HAEFGLPEPLN_MotionSwimJump", + Haefglpepln::MotionSlip => "HAEFGLPEPLN_MotionSlip", + Haefglpepln::MotionGoUpstairs => "HAEFGLPEPLN_MotionGoUpstairs", + Haefglpepln::MotionFallOnGround => "HAEFGLPEPLN_MotionFallOnGround", + Haefglpepln::MotionJumpUpWallForStandby => { + "HAEFGLPEPLN_MotionJumpUpWallForStandby" + } + Haefglpepln::MotionJumpOffWall => "HAEFGLPEPLN_MotionJumpOffWall", + Haefglpepln::MotionPoweredFly => "HAEFGLPEPLN_MotionPoweredFly", + Haefglpepln::MotionLadderIdle => "HAEFGLPEPLN_MotionLadderIdle", + Haefglpepln::MotionLadderMove => "HAEFGLPEPLN_MotionLadderMove", + Haefglpepln::MotionLadderSlip => "HAEFGLPEPLN_MotionLadderSlip", + Haefglpepln::MotionStandbyToLadder => "HAEFGLPEPLN_MotionStandbyToLadder", + Haefglpepln::MotionLadderToStandby => "HAEFGLPEPLN_MotionLadderToStandby", + Haefglpepln::MotionDangerStandby => "HAEFGLPEPLN_MotionDangerStandby", + Haefglpepln::MotionDangerStandbyMove => "HAEFGLPEPLN_MotionDangerStandbyMove", + Haefglpepln::MotionDangerWalk => "HAEFGLPEPLN_MotionDangerWalk", + Haefglpepln::MotionDangerRun => "HAEFGLPEPLN_MotionDangerRun", + Haefglpepln::MotionDangerDash => "HAEFGLPEPLN_MotionDangerDash", + Haefglpepln::MotionCrouchIdle => "HAEFGLPEPLN_MotionCrouchIdle", + Haefglpepln::MotionCrouchMove => "HAEFGLPEPLN_MotionCrouchMove", + Haefglpepln::MotionCrouchRoll => "HAEFGLPEPLN_MotionCrouchRoll", + Haefglpepln::MotionNotify => "HAEFGLPEPLN_MotionNotify", + Haefglpepln::MotionLandSpeed => "HAEFGLPEPLN_MotionLandSpeed", + Haefglpepln::MotionMoveFailAck => "HAEFGLPEPLN_MotionMoveFailAck", + Haefglpepln::MotionWaterfall => "HAEFGLPEPLN_MotionWaterfall", + Haefglpepln::MotionDashBeforeShake => "HAEFGLPEPLN_MotionDashBeforeShake", + Haefglpepln::MotionSitIdle => "HAEFGLPEPLN_MotionSitIdle", + Haefglpepln::MotionForceSetPos => "HAEFGLPEPLN_MotionForceSetPos", + Haefglpepln::MotionQuestForceDrag => "HAEFGLPEPLN_MotionQuestForceDrag", + Haefglpepln::MotionFollowRoute => "HAEFGLPEPLN_MotionFollowRoute", + Haefglpepln::MotionSkiffBoarding => "HAEFGLPEPLN_MotionSkiffBoarding", + Haefglpepln::MotionSkiffNormal => "HAEFGLPEPLN_MotionSkiffNormal", + Haefglpepln::MotionSkiffDash => "HAEFGLPEPLN_MotionSkiffDash", + Haefglpepln::MotionSkiffPoweredDash => "HAEFGLPEPLN_MotionSkiffPoweredDash", + Haefglpepln::MotionDestroyVehicle => "HAEFGLPEPLN_MotionDestroyVehicle", + Haefglpepln::MotionFlyIdle => "HAEFGLPEPLN_MotionFlyIdle", + Haefglpepln::MotionFlySlow => "HAEFGLPEPLN_MotionFlySlow", + Haefglpepln::MotionFlyFast => "HAEFGLPEPLN_MotionFlyFast", + Haefglpepln::MotionAimMove => "HAEFGLPEPLN_MotionAimMove", + Haefglpepln::MotionAirCompensation => "HAEFGLPEPLN_MotionAirCompensation", + Haefglpepln::MotionSorushNormal => "HAEFGLPEPLN_MotionSorushNormal", + Haefglpepln::MotionRollerCoaster => "HAEFGLPEPLN_MotionRollerCoaster", + Haefglpepln::MotionDiveIdle => "HAEFGLPEPLN_MotionDiveIdle", + Haefglpepln::MotionDiveMove => "HAEFGLPEPLN_MotionDiveMove", + Haefglpepln::MotionDiveDash => "HAEFGLPEPLN_MotionDiveDash", + Haefglpepln::MotionDiveDolphine => "HAEFGLPEPLN_MotionDiveDolphine", + Haefglpepln::MotionDebug => "HAEFGLPEPLN_MotionDebug", + Haefglpepln::MotionOceanCurrent => "HAEFGLPEPLN_MotionOceanCurrent", + Haefglpepln::MotionDiveSwimMove => "HAEFGLPEPLN_MotionDiveSwimMove", + Haefglpepln::MotionDiveSwimIdle => "HAEFGLPEPLN_MotionDiveSwimIdle", + Haefglpepln::MotionDiveSwimDash => "HAEFGLPEPLN_MotionDiveSwimDash", + Haefglpepln::MotionArcLight => "HAEFGLPEPLN_MotionArcLight", + Haefglpepln::MotionArcLightSafe => "HAEFGLPEPLN_MotionArcLightSafe", + Haefglpepln::MotionVehicleStandby => "HAEFGLPEPLN_MotionVehicleStandby", + Haefglpepln::MotionVehicleRun => "HAEFGLPEPLN_MotionVehicleRun", + Haefglpepln::MotionVehicleDash => "HAEFGLPEPLN_MotionVehicleDash", + Haefglpepln::MotionVehicleClimb => "HAEFGLPEPLN_MotionVehicleClimb", + Haefglpepln::MotionVehicleClimbJump => "HAEFGLPEPLN_MotionVehicleClimbJump", + Haefglpepln::MotionVehicleStandbyToClimb => { + "HAEFGLPEPLN_MotionVehicleStandbyToClimb" + } + Haefglpepln::MotionVehicleFight => "HAEFGLPEPLN_MotionVehicleFight", + Haefglpepln::MotionVehicleJump => "HAEFGLPEPLN_MotionVehicleJump", + Haefglpepln::MotionVehicleDrop => "HAEFGLPEPLN_MotionVehicleDrop", + Haefglpepln::MotionVehicleFly => "HAEFGLPEPLN_MotionVehicleFly", + Haefglpepln::MotionVehicleSwimMove => "HAEFGLPEPLN_MotionVehicleSwimMove", + Haefglpepln::MotionVehicleSwimIdle => "HAEFGLPEPLN_MotionVehicleSwimIdle", + Haefglpepln::MotionVehicleSwimDash => "HAEFGLPEPLN_MotionVehicleSwimDash", + Haefglpepln::MotionVehicleSlip => "HAEFGLPEPLN_MotionVehicleSlip", + Haefglpepln::MotionVehicleGoUpstairs => "HAEFGLPEPLN_MotionVehicleGoUpstairs", + Haefglpepln::MotionVehicleFallOnGround => { + "HAEFGLPEPLN_MotionVehicleFallOnGround" + } + Haefglpepln::MotionVehicleJumpOffWall => { + "HAEFGLPEPLN_MotionVehicleJumpOffWall" + } + Haefglpepln::MotionVehiclePoweredFly => "HAEFGLPEPLN_MotionVehiclePoweredFly", + Haefglpepln::MotionVehicleDangerStandby => { + "HAEFGLPEPLN_MotionVehicleDangerStandby" + } + Haefglpepln::MotionVehicleDangerRun => "HAEFGLPEPLN_MotionVehicleDangerRun", + Haefglpepln::MotionVehicleDangerDash => "HAEFGLPEPLN_MotionVehicleDangerDash", + Haefglpepln::MotionVehicleNotify => "HAEFGLPEPLN_MotionVehicleNotify", + Haefglpepln::MotionVehicleLandSpeed => "HAEFGLPEPLN_MotionVehicleLandSpeed", + Haefglpepln::MotionVehicleDashBeforeShake => { + "HAEFGLPEPLN_MotionVehicleDashBeforeShake" + } + Haefglpepln::MotionVehicleQuestForceDrag => { + "HAEFGLPEPLN_MotionVehicleQuestForceDrag" + } + Haefglpepln::MotionVehicleFollowRoute => { + "HAEFGLPEPLN_MotionVehicleFollowRoute" + } + Haefglpepln::MotionVehicleFlyIdle => "HAEFGLPEPLN_MotionVehicleFlyIdle", + Haefglpepln::MotionVehicleFlySlow => "HAEFGLPEPLN_MotionVehicleFlySlow", + Haefglpepln::MotionVehicleFlyFast => "HAEFGLPEPLN_MotionVehicleFlyFast", + Haefglpepln::MotionVehicleAirCompensation => { + "HAEFGLPEPLN_MotionVehicleAirCompensation" + } + Haefglpepln::MotionVehicleArcLight => "HAEFGLPEPLN_MotionVehicleArcLight", + Haefglpepln::MotionVehicleArcLightSafe => { + "HAEFGLPEPLN_MotionVehicleArcLightSafe" + } + Haefglpepln::MotionVehicleDangerSwimMove => { + "HAEFGLPEPLN_MotionVehicleDangerSwimMove" + } + Haefglpepln::MotionVehicleDangerSwimIdle => { + "HAEFGLPEPLN_MotionVehicleDangerSwimIdle" + } + Haefglpepln::MotionVehicleDangerSwimDash => { + "HAEFGLPEPLN_MotionVehicleDangerSwimDash" + } + Haefglpepln::MotionFollowCurveRoute => "HAEFGLPEPLN_MotionFollowCurveRoute", + Haefglpepln::MotionVehicleFollowCurveRoute => { + "HAEFGLPEPLN_MotionVehicleFollowCurveRoute" + } + Haefglpepln::MotionNatsaurusNormal => "HAEFGLPEPLN_MotionNatsaurusNormal", + Haefglpepln::MotionNatsaurusEntering => "HAEFGLPEPLN_MotionNatsaurusEntering", + Haefglpepln::MotionNum => "HAEFGLPEPLN_MotionNum", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "HAEFGLPEPLN_MotionNone" => Some(Self::MotionNone), + "HAEFGLPEPLN_MotionReset" => Some(Self::MotionReset), + "HAEFGLPEPLN_MotionStandby" => Some(Self::MotionStandby), + "HAEFGLPEPLN_MotionStandbyMove" => Some(Self::MotionStandbyMove), + "HAEFGLPEPLN_MotionWalk" => Some(Self::MotionWalk), + "HAEFGLPEPLN_MotionRun" => Some(Self::MotionRun), + "HAEFGLPEPLN_MotionDash" => Some(Self::MotionDash), + "HAEFGLPEPLN_MotionClimb" => Some(Self::MotionClimb), + "HAEFGLPEPLN_MotionClimbJump" => Some(Self::MotionClimbJump), + "HAEFGLPEPLN_MotionStandbyToClimb" => Some(Self::MotionStandbyToClimb), + "HAEFGLPEPLN_MotionFight" => Some(Self::MotionFight), + "HAEFGLPEPLN_MotionJump" => Some(Self::MotionJump), + "HAEFGLPEPLN_MotionDrop" => Some(Self::MotionDrop), + "HAEFGLPEPLN_MotionFly" => Some(Self::MotionFly), + "HAEFGLPEPLN_MotionSwimMove" => Some(Self::MotionSwimMove), + "HAEFGLPEPLN_MotionSwimIdle" => Some(Self::MotionSwimIdle), + "HAEFGLPEPLN_MotionSwimDash" => Some(Self::MotionSwimDash), + "HAEFGLPEPLN_MotionSwimJump" => Some(Self::MotionSwimJump), + "HAEFGLPEPLN_MotionSlip" => Some(Self::MotionSlip), + "HAEFGLPEPLN_MotionGoUpstairs" => Some(Self::MotionGoUpstairs), + "HAEFGLPEPLN_MotionFallOnGround" => Some(Self::MotionFallOnGround), + "HAEFGLPEPLN_MotionJumpUpWallForStandby" => { + Some(Self::MotionJumpUpWallForStandby) + } + "HAEFGLPEPLN_MotionJumpOffWall" => Some(Self::MotionJumpOffWall), + "HAEFGLPEPLN_MotionPoweredFly" => Some(Self::MotionPoweredFly), + "HAEFGLPEPLN_MotionLadderIdle" => Some(Self::MotionLadderIdle), + "HAEFGLPEPLN_MotionLadderMove" => Some(Self::MotionLadderMove), + "HAEFGLPEPLN_MotionLadderSlip" => Some(Self::MotionLadderSlip), + "HAEFGLPEPLN_MotionStandbyToLadder" => Some(Self::MotionStandbyToLadder), + "HAEFGLPEPLN_MotionLadderToStandby" => Some(Self::MotionLadderToStandby), + "HAEFGLPEPLN_MotionDangerStandby" => Some(Self::MotionDangerStandby), + "HAEFGLPEPLN_MotionDangerStandbyMove" => Some(Self::MotionDangerStandbyMove), + "HAEFGLPEPLN_MotionDangerWalk" => Some(Self::MotionDangerWalk), + "HAEFGLPEPLN_MotionDangerRun" => Some(Self::MotionDangerRun), + "HAEFGLPEPLN_MotionDangerDash" => Some(Self::MotionDangerDash), + "HAEFGLPEPLN_MotionCrouchIdle" => Some(Self::MotionCrouchIdle), + "HAEFGLPEPLN_MotionCrouchMove" => Some(Self::MotionCrouchMove), + "HAEFGLPEPLN_MotionCrouchRoll" => Some(Self::MotionCrouchRoll), + "HAEFGLPEPLN_MotionNotify" => Some(Self::MotionNotify), + "HAEFGLPEPLN_MotionLandSpeed" => Some(Self::MotionLandSpeed), + "HAEFGLPEPLN_MotionMoveFailAck" => Some(Self::MotionMoveFailAck), + "HAEFGLPEPLN_MotionWaterfall" => Some(Self::MotionWaterfall), + "HAEFGLPEPLN_MotionDashBeforeShake" => Some(Self::MotionDashBeforeShake), + "HAEFGLPEPLN_MotionSitIdle" => Some(Self::MotionSitIdle), + "HAEFGLPEPLN_MotionForceSetPos" => Some(Self::MotionForceSetPos), + "HAEFGLPEPLN_MotionQuestForceDrag" => Some(Self::MotionQuestForceDrag), + "HAEFGLPEPLN_MotionFollowRoute" => Some(Self::MotionFollowRoute), + "HAEFGLPEPLN_MotionSkiffBoarding" => Some(Self::MotionSkiffBoarding), + "HAEFGLPEPLN_MotionSkiffNormal" => Some(Self::MotionSkiffNormal), + "HAEFGLPEPLN_MotionSkiffDash" => Some(Self::MotionSkiffDash), + "HAEFGLPEPLN_MotionSkiffPoweredDash" => Some(Self::MotionSkiffPoweredDash), + "HAEFGLPEPLN_MotionDestroyVehicle" => Some(Self::MotionDestroyVehicle), + "HAEFGLPEPLN_MotionFlyIdle" => Some(Self::MotionFlyIdle), + "HAEFGLPEPLN_MotionFlySlow" => Some(Self::MotionFlySlow), + "HAEFGLPEPLN_MotionFlyFast" => Some(Self::MotionFlyFast), + "HAEFGLPEPLN_MotionAimMove" => Some(Self::MotionAimMove), + "HAEFGLPEPLN_MotionAirCompensation" => Some(Self::MotionAirCompensation), + "HAEFGLPEPLN_MotionSorushNormal" => Some(Self::MotionSorushNormal), + "HAEFGLPEPLN_MotionRollerCoaster" => Some(Self::MotionRollerCoaster), + "HAEFGLPEPLN_MotionDiveIdle" => Some(Self::MotionDiveIdle), + "HAEFGLPEPLN_MotionDiveMove" => Some(Self::MotionDiveMove), + "HAEFGLPEPLN_MotionDiveDash" => Some(Self::MotionDiveDash), + "HAEFGLPEPLN_MotionDiveDolphine" => Some(Self::MotionDiveDolphine), + "HAEFGLPEPLN_MotionDebug" => Some(Self::MotionDebug), + "HAEFGLPEPLN_MotionOceanCurrent" => Some(Self::MotionOceanCurrent), + "HAEFGLPEPLN_MotionDiveSwimMove" => Some(Self::MotionDiveSwimMove), + "HAEFGLPEPLN_MotionDiveSwimIdle" => Some(Self::MotionDiveSwimIdle), + "HAEFGLPEPLN_MotionDiveSwimDash" => Some(Self::MotionDiveSwimDash), + "HAEFGLPEPLN_MotionArcLight" => Some(Self::MotionArcLight), + "HAEFGLPEPLN_MotionArcLightSafe" => Some(Self::MotionArcLightSafe), + "HAEFGLPEPLN_MotionVehicleStandby" => Some(Self::MotionVehicleStandby), + "HAEFGLPEPLN_MotionVehicleRun" => Some(Self::MotionVehicleRun), + "HAEFGLPEPLN_MotionVehicleDash" => Some(Self::MotionVehicleDash), + "HAEFGLPEPLN_MotionVehicleClimb" => Some(Self::MotionVehicleClimb), + "HAEFGLPEPLN_MotionVehicleClimbJump" => Some(Self::MotionVehicleClimbJump), + "HAEFGLPEPLN_MotionVehicleStandbyToClimb" => { + Some(Self::MotionVehicleStandbyToClimb) + } + "HAEFGLPEPLN_MotionVehicleFight" => Some(Self::MotionVehicleFight), + "HAEFGLPEPLN_MotionVehicleJump" => Some(Self::MotionVehicleJump), + "HAEFGLPEPLN_MotionVehicleDrop" => Some(Self::MotionVehicleDrop), + "HAEFGLPEPLN_MotionVehicleFly" => Some(Self::MotionVehicleFly), + "HAEFGLPEPLN_MotionVehicleSwimMove" => Some(Self::MotionVehicleSwimMove), + "HAEFGLPEPLN_MotionVehicleSwimIdle" => Some(Self::MotionVehicleSwimIdle), + "HAEFGLPEPLN_MotionVehicleSwimDash" => Some(Self::MotionVehicleSwimDash), + "HAEFGLPEPLN_MotionVehicleSlip" => Some(Self::MotionVehicleSlip), + "HAEFGLPEPLN_MotionVehicleGoUpstairs" => Some(Self::MotionVehicleGoUpstairs), + "HAEFGLPEPLN_MotionVehicleFallOnGround" => { + Some(Self::MotionVehicleFallOnGround) + } + "HAEFGLPEPLN_MotionVehicleJumpOffWall" => { + Some(Self::MotionVehicleJumpOffWall) + } + "HAEFGLPEPLN_MotionVehiclePoweredFly" => Some(Self::MotionVehiclePoweredFly), + "HAEFGLPEPLN_MotionVehicleDangerStandby" => { + Some(Self::MotionVehicleDangerStandby) + } + "HAEFGLPEPLN_MotionVehicleDangerRun" => Some(Self::MotionVehicleDangerRun), + "HAEFGLPEPLN_MotionVehicleDangerDash" => Some(Self::MotionVehicleDangerDash), + "HAEFGLPEPLN_MotionVehicleNotify" => Some(Self::MotionVehicleNotify), + "HAEFGLPEPLN_MotionVehicleLandSpeed" => Some(Self::MotionVehicleLandSpeed), + "HAEFGLPEPLN_MotionVehicleDashBeforeShake" => { + Some(Self::MotionVehicleDashBeforeShake) + } + "HAEFGLPEPLN_MotionVehicleQuestForceDrag" => { + Some(Self::MotionVehicleQuestForceDrag) + } + "HAEFGLPEPLN_MotionVehicleFollowRoute" => { + Some(Self::MotionVehicleFollowRoute) + } + "HAEFGLPEPLN_MotionVehicleFlyIdle" => Some(Self::MotionVehicleFlyIdle), + "HAEFGLPEPLN_MotionVehicleFlySlow" => Some(Self::MotionVehicleFlySlow), + "HAEFGLPEPLN_MotionVehicleFlyFast" => Some(Self::MotionVehicleFlyFast), + "HAEFGLPEPLN_MotionVehicleAirCompensation" => { + Some(Self::MotionVehicleAirCompensation) + } + "HAEFGLPEPLN_MotionVehicleArcLight" => Some(Self::MotionVehicleArcLight), + "HAEFGLPEPLN_MotionVehicleArcLightSafe" => { + Some(Self::MotionVehicleArcLightSafe) + } + "HAEFGLPEPLN_MotionVehicleDangerSwimMove" => { + Some(Self::MotionVehicleDangerSwimMove) + } + "HAEFGLPEPLN_MotionVehicleDangerSwimIdle" => { + Some(Self::MotionVehicleDangerSwimIdle) + } + "HAEFGLPEPLN_MotionVehicleDangerSwimDash" => { + Some(Self::MotionVehicleDangerSwimDash) + } + "HAEFGLPEPLN_MotionFollowCurveRoute" => Some(Self::MotionFollowCurveRoute), + "HAEFGLPEPLN_MotionVehicleFollowCurveRoute" => { + Some(Self::MotionVehicleFollowCurveRoute) + } + "HAEFGLPEPLN_MotionNatsaurusNormal" => Some(Self::MotionNatsaurusNormal), + "HAEFGLPEPLN_MotionNatsaurusEntering" => Some(Self::MotionNatsaurusEntering), + "HAEFGLPEPLN_MotionNum" => Some(Self::MotionNum), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Jagnmbobgnk { + TimeOut = 0, + SettlePlayEnd = 1, + SettlePlayerQuit = 2, + SettleLifeCount = 3, +} +impl Jagnmbobgnk { + /// 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 { + Jagnmbobgnk::TimeOut => "JAGNMBOBGNK_TimeOut", + Jagnmbobgnk::SettlePlayEnd => "JAGNMBOBGNK_SettlePlayEnd", + Jagnmbobgnk::SettlePlayerQuit => "JAGNMBOBGNK_SettlePlayerQuit", + Jagnmbobgnk::SettleLifeCount => "JAGNMBOBGNK_SettleLifeCount", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "JAGNMBOBGNK_TimeOut" => Some(Self::TimeOut), + "JAGNMBOBGNK_SettlePlayEnd" => Some(Self::SettlePlayEnd), + "JAGNMBOBGNK_SettlePlayerQuit" => Some(Self::SettlePlayerQuit), + "JAGNMBOBGNK_SettleLifeCount" => Some(Self::SettleLifeCount), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Jkejliipfkl { + FisnEscapeNone = 0, + FishEscapeShocked = 1, + FishEscapeUnhook = 2, +} +impl Jkejliipfkl { + /// 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 { + Jkejliipfkl::FisnEscapeNone => "JKEJLIIPFKL_FisnEscapeNone", + Jkejliipfkl::FishEscapeShocked => "JKEJLIIPFKL_FishEscapeShocked", + Jkejliipfkl::FishEscapeUnhook => "JKEJLIIPFKL_FishEscapeUnhook", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "JKEJLIIPFKL_FisnEscapeNone" => Some(Self::FisnEscapeNone), + "JKEJLIIPFKL_FishEscapeShocked" => Some(Self::FishEscapeShocked), + "JKEJLIIPFKL_FishEscapeUnhook" => Some(Self::FishEscapeUnhook), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Niemjjcedcf { + None = 0, + Collectable = 1, + Collected = 2, + Finished = 3, +} +impl Niemjjcedcf { + /// 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 { + Niemjjcedcf::None => "NIEMJJCEDCF_None", + Niemjjcedcf::Collectable => "NIEMJJCEDCF_Collectable", + Niemjjcedcf::Collected => "NIEMJJCEDCF_Collected", + Niemjjcedcf::Finished => "NIEMJJCEDCF_Finished", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "NIEMJJCEDCF_None" => Some(Self::None), + "NIEMJJCEDCF_Collectable" => Some(Self::Collectable), + "NIEMJJCEDCF_Collected" => Some(Self::Collected), + "NIEMJJCEDCF_Finished" => Some(Self::Finished), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Cegmlmcfcpm { + Editor = 0, + Ios = 1, + Android = 2, + Pc = 3, + Ps4 = 4, + Server = 5, + CloudAndroid = 6, + CloudIos = 7, + Ps5 = 8, + CloudWeb = 9, + CloudTv = 10, + CloudMac = 11, + CloudPc = 12, + CloudThirdPartyMobile = 13, + CloudThirdPartyPc = 14, + CloudWebAndroid = 15, + CloudWebIos = 16, + CloudWebPc = 17, + CloudWebMac = 18, + CloudWebTouch = 19, + CloudWebKeyboard = 20, +} +impl Cegmlmcfcpm { + /// 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 { + Cegmlmcfcpm::Editor => "CEGMLMCFCPM_Editor", + Cegmlmcfcpm::Ios => "CEGMLMCFCPM_Ios", + Cegmlmcfcpm::Android => "CEGMLMCFCPM_Android", + Cegmlmcfcpm::Pc => "CEGMLMCFCPM_Pc", + Cegmlmcfcpm::Ps4 => "CEGMLMCFCPM_Ps4", + Cegmlmcfcpm::Server => "CEGMLMCFCPM_Server", + Cegmlmcfcpm::CloudAndroid => "CEGMLMCFCPM_CloudAndroid", + Cegmlmcfcpm::CloudIos => "CEGMLMCFCPM_CloudIos", + Cegmlmcfcpm::Ps5 => "CEGMLMCFCPM_Ps5", + Cegmlmcfcpm::CloudWeb => "CEGMLMCFCPM_CloudWeb", + Cegmlmcfcpm::CloudTv => "CEGMLMCFCPM_CloudTv", + Cegmlmcfcpm::CloudMac => "CEGMLMCFCPM_CloudMac", + Cegmlmcfcpm::CloudPc => "CEGMLMCFCPM_CloudPc", + Cegmlmcfcpm::CloudThirdPartyMobile => "CEGMLMCFCPM_CloudThirdPartyMobile", + Cegmlmcfcpm::CloudThirdPartyPc => "CEGMLMCFCPM_CloudThirdPartyPc", + Cegmlmcfcpm::CloudWebAndroid => "CEGMLMCFCPM_CloudWebAndroid", + Cegmlmcfcpm::CloudWebIos => "CEGMLMCFCPM_CloudWebIos", + Cegmlmcfcpm::CloudWebPc => "CEGMLMCFCPM_CloudWebPc", + Cegmlmcfcpm::CloudWebMac => "CEGMLMCFCPM_CloudWebMac", + Cegmlmcfcpm::CloudWebTouch => "CEGMLMCFCPM_CloudWebTouch", + Cegmlmcfcpm::CloudWebKeyboard => "CEGMLMCFCPM_CloudWebKeyboard", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "CEGMLMCFCPM_Editor" => Some(Self::Editor), + "CEGMLMCFCPM_Ios" => Some(Self::Ios), + "CEGMLMCFCPM_Android" => Some(Self::Android), + "CEGMLMCFCPM_Pc" => Some(Self::Pc), + "CEGMLMCFCPM_Ps4" => Some(Self::Ps4), + "CEGMLMCFCPM_Server" => Some(Self::Server), + "CEGMLMCFCPM_CloudAndroid" => Some(Self::CloudAndroid), + "CEGMLMCFCPM_CloudIos" => Some(Self::CloudIos), + "CEGMLMCFCPM_Ps5" => Some(Self::Ps5), + "CEGMLMCFCPM_CloudWeb" => Some(Self::CloudWeb), + "CEGMLMCFCPM_CloudTv" => Some(Self::CloudTv), + "CEGMLMCFCPM_CloudMac" => Some(Self::CloudMac), + "CEGMLMCFCPM_CloudPc" => Some(Self::CloudPc), + "CEGMLMCFCPM_CloudThirdPartyMobile" => Some(Self::CloudThirdPartyMobile), + "CEGMLMCFCPM_CloudThirdPartyPc" => Some(Self::CloudThirdPartyPc), + "CEGMLMCFCPM_CloudWebAndroid" => Some(Self::CloudWebAndroid), + "CEGMLMCFCPM_CloudWebIos" => Some(Self::CloudWebIos), + "CEGMLMCFCPM_CloudWebPc" => Some(Self::CloudWebPc), + "CEGMLMCFCPM_CloudWebMac" => Some(Self::CloudWebMac), + "CEGMLMCFCPM_CloudWebTouch" => Some(Self::CloudWebTouch), + "CEGMLMCFCPM_CloudWebKeyboard" => Some(Self::CloudWebKeyboard), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Djpkemoickc { + DungeonCandidateTpdrNormal = 0, + DungeonCandidateTpdrDie = 1, + DungeonCandidateTpdrDisconnect = 2, +} +impl Djpkemoickc { + /// 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 { + Djpkemoickc::DungeonCandidateTpdrNormal => { + "DJPKEMOICKC_DungeonCandidateTpdrNormal" + } + Djpkemoickc::DungeonCandidateTpdrDie => "DJPKEMOICKC_DungeonCandidateTpdrDie", + Djpkemoickc::DungeonCandidateTpdrDisconnect => { + "DJPKEMOICKC_DungeonCandidateTpdrDisconnect" + } + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "DJPKEMOICKC_DungeonCandidateTpdrNormal" => { + Some(Self::DungeonCandidateTpdrNormal) + } + "DJPKEMOICKC_DungeonCandidateTpdrDie" => Some(Self::DungeonCandidateTpdrDie), + "DJPKEMOICKC_DungeonCandidateTpdrDisconnect" => { + Some(Self::DungeonCandidateTpdrDisconnect) + } + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Eaebejoppcg { + DungeonEntryReasonNone = 0, + DungeonEntryReasonLevel = 1, + DungeonEntryReasonQuest = 2, + DungeonEntryReasonMuliple = 3, +} +impl Eaebejoppcg { + /// 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 { + Eaebejoppcg::DungeonEntryReasonNone => "EAEBEJOPPCG_DungeonEntryReasonNone", + Eaebejoppcg::DungeonEntryReasonLevel => "EAEBEJOPPCG_DungeonEntryReasonLevel", + Eaebejoppcg::DungeonEntryReasonQuest => "EAEBEJOPPCG_DungeonEntryReasonQuest", + Eaebejoppcg::DungeonEntryReasonMuliple => { + "EAEBEJOPPCG_DungeonEntryReasonMuliple" + } + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "EAEBEJOPPCG_DungeonEntryReasonNone" => Some(Self::DungeonEntryReasonNone), + "EAEBEJOPPCG_DungeonEntryReasonLevel" => Some(Self::DungeonEntryReasonLevel), + "EAEBEJOPPCG_DungeonEntryReasonQuest" => Some(Self::DungeonEntryReasonQuest), + "EAEBEJOPPCG_DungeonEntryReasonMuliple" => { + Some(Self::DungeonEntryReasonMuliple) + } + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Hpichailnka { + Unstarted = 0, + Started = 1, + Finished = 2, +} +impl Hpichailnka { + /// 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 { + Hpichailnka::Unstarted => "HPICHAILNKA_Unstarted", + Hpichailnka::Started => "HPICHAILNKA_Started", + Hpichailnka::Finished => "HPICHAILNKA_Finished", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "HPICHAILNKA_Unstarted" => Some(Self::Unstarted), + "HPICHAILNKA_Started" => Some(Self::Started), + "HPICHAILNKA_Finished" => Some(Self::Finished), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Lgcbogajdfb { + HomeFieldStatueNone = 0, + HomeFieldStatueSeed = 1, + HomeFieldStatueSprout = 2, + HomeFieldStatueGather = 3, +} +impl Lgcbogajdfb { + /// 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 { + Lgcbogajdfb::HomeFieldStatueNone => "LGCBOGAJDFB_HomeFieldStatueNone", + Lgcbogajdfb::HomeFieldStatueSeed => "LGCBOGAJDFB_HomeFieldStatueSeed", + Lgcbogajdfb::HomeFieldStatueSprout => "LGCBOGAJDFB_HomeFieldStatueSprout", + Lgcbogajdfb::HomeFieldStatueGather => "LGCBOGAJDFB_HomeFieldStatueGather", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "LGCBOGAJDFB_HomeFieldStatueNone" => Some(Self::HomeFieldStatueNone), + "LGCBOGAJDFB_HomeFieldStatueSeed" => Some(Self::HomeFieldStatueSeed), + "LGCBOGAJDFB_HomeFieldStatueSprout" => Some(Self::HomeFieldStatueSprout), + "LGCBOGAJDFB_HomeFieldStatueGather" => Some(Self::HomeFieldStatueGather), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Nhchbagcjjg { + LockNone = 0, + LockQuest = 1, +} +impl Nhchbagcjjg { + /// 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 { + Nhchbagcjjg::LockNone => "NHCHBAGCJJG_LockNone", + Nhchbagcjjg::LockQuest => "NHCHBAGCJJG_LockQuest", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "NHCHBAGCJJG_LockNone" => Some(Self::LockNone), + "NHCHBAGCJJG_LockQuest" => Some(Self::LockQuest), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Hjbckhabdkl { + Null = 0, + Active = 1, + Passive = 2, +} +impl Hjbckhabdkl { + /// 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 { + Hjbckhabdkl::Null => "HJBCKHABDKL_Null", + Hjbckhabdkl::Active => "HJBCKHABDKL_Active", + Hjbckhabdkl::Passive => "HJBCKHABDKL_Passive", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "HJBCKHABDKL_Null" => Some(Self::Null), + "HJBCKHABDKL_Active" => Some(Self::Active), + "HJBCKHABDKL_Passive" => Some(Self::Passive), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Kmbffanhlbc { + None = 0, + Enter = 1, + Leave = 2, +} +impl Kmbffanhlbc { + /// 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 { + Kmbffanhlbc::None => "KMBFFANHLBC_None", + Kmbffanhlbc::Enter => "KMBFFANHLBC_Enter", + Kmbffanhlbc::Leave => "KMBFFANHLBC_Leave", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "KMBFFANHLBC_None" => Some(Self::None), + "KMBFFANHLBC_Enter" => Some(Self::Enter), + "KMBFFANHLBC_Leave" => Some(Self::Leave), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Aefkhogcdoe { + None = 0, + Normal = 1, + Condense = 2, + ReunionPrivilege = 3, + OpActivity = 4, + Material = 5, +} +impl Aefkhogcdoe { + /// 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 { + Aefkhogcdoe::None => "AEFKHOGCDOE_None", + Aefkhogcdoe::Normal => "AEFKHOGCDOE_Normal", + Aefkhogcdoe::Condense => "AEFKHOGCDOE_Condense", + Aefkhogcdoe::ReunionPrivilege => "AEFKHOGCDOE_ReunionPrivilege", + Aefkhogcdoe::OpActivity => "AEFKHOGCDOE_OpActivity", + Aefkhogcdoe::Material => "AEFKHOGCDOE_Material", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "AEFKHOGCDOE_None" => Some(Self::None), + "AEFKHOGCDOE_Normal" => Some(Self::Normal), + "AEFKHOGCDOE_Condense" => Some(Self::Condense), + "AEFKHOGCDOE_ReunionPrivilege" => Some(Self::ReunionPrivilege), + "AEFKHOGCDOE_OpActivity" => Some(Self::OpActivity), + "AEFKHOGCDOE_Material" => Some(Self::Material), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Igohjibcdfa { + ForwardLocal = 0, + ForwardToAll = 1, + ForwardToAllExceptCur = 2, + ForwardToHost = 3, + ForwardToAllGuest = 4, + ForwardToPeer = 5, + ForwardToPeers = 6, + ForwardOnlyServer = 7, + ForwardToAllExistExceptCur = 8, +} +impl Igohjibcdfa { + /// 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 { + Igohjibcdfa::ForwardLocal => "IGOHJIBCDFA_ForwardLocal", + Igohjibcdfa::ForwardToAll => "IGOHJIBCDFA_ForwardToAll", + Igohjibcdfa::ForwardToAllExceptCur => "IGOHJIBCDFA_ForwardToAllExceptCur", + Igohjibcdfa::ForwardToHost => "IGOHJIBCDFA_ForwardToHost", + Igohjibcdfa::ForwardToAllGuest => "IGOHJIBCDFA_ForwardToAllGuest", + Igohjibcdfa::ForwardToPeer => "IGOHJIBCDFA_ForwardToPeer", + Igohjibcdfa::ForwardToPeers => "IGOHJIBCDFA_ForwardToPeers", + Igohjibcdfa::ForwardOnlyServer => "IGOHJIBCDFA_ForwardOnlyServer", + Igohjibcdfa::ForwardToAllExistExceptCur => { + "IGOHJIBCDFA_ForwardToAllExistExceptCur" + } + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "IGOHJIBCDFA_ForwardLocal" => Some(Self::ForwardLocal), + "IGOHJIBCDFA_ForwardToAll" => Some(Self::ForwardToAll), + "IGOHJIBCDFA_ForwardToAllExceptCur" => Some(Self::ForwardToAllExceptCur), + "IGOHJIBCDFA_ForwardToHost" => Some(Self::ForwardToHost), + "IGOHJIBCDFA_ForwardToAllGuest" => Some(Self::ForwardToAllGuest), + "IGOHJIBCDFA_ForwardToPeer" => Some(Self::ForwardToPeer), + "IGOHJIBCDFA_ForwardToPeers" => Some(Self::ForwardToPeers), + "IGOHJIBCDFA_ForwardOnlyServer" => Some(Self::ForwardOnlyServer), + "IGOHJIBCDFA_ForwardToAllExistExceptCur" => { + Some(Self::ForwardToAllExistExceptCur) + } + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Aagpkjdpblk { + ReunionReportTypeNone = 0, + ReunionReportTypeStart = 1, + ReunionReportTypeDouble = 2, +} +impl Aagpkjdpblk { + /// 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 { + Aagpkjdpblk::ReunionReportTypeNone => "AAGPKJDPBLK_ReunionReportTypeNone", + Aagpkjdpblk::ReunionReportTypeStart => "AAGPKJDPBLK_ReunionReportTypeStart", + Aagpkjdpblk::ReunionReportTypeDouble => "AAGPKJDPBLK_ReunionReportTypeDouble", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "AAGPKJDPBLK_ReunionReportTypeNone" => Some(Self::ReunionReportTypeNone), + "AAGPKJDPBLK_ReunionReportTypeStart" => Some(Self::ReunionReportTypeStart), + "AAGPKJDPBLK_ReunionReportTypeDouble" => Some(Self::ReunionReportTypeDouble), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Paahdfjmicd { + GalleryStopNone = 0, + GalleryStopTimeup = 1, + GalleryStopClientInterrupt = 2, + GalleryStopLuaInterruptSuccess = 3, + GalleryStopLuaInterruptFail = 4, + GalleryStopOwnerLeaveScene = 5, + GalleryStopPlayInitFailed = 6, + GalleryStopOtherPlayerEnter = 7, + GalleryStopAvatarDie = 8, + GalleryStopFinished = 9, + GalleryStopFungusAllDie = 10, + GalleryStopLifeCountZero = 11, + GalleryStopActivityClosed = 12, + GalleryStopLeaveRegionFail = 13, + GalleryStopHeartBloodUsedOut = 14, + GalleryStopGuardianStoneDie = 15, +} +impl Paahdfjmicd { + /// 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 { + Paahdfjmicd::GalleryStopNone => "PAAHDFJMICD_GalleryStopNone", + Paahdfjmicd::GalleryStopTimeup => "PAAHDFJMICD_GalleryStopTimeup", + Paahdfjmicd::GalleryStopClientInterrupt => { + "PAAHDFJMICD_GalleryStopClientInterrupt" + } + Paahdfjmicd::GalleryStopLuaInterruptSuccess => { + "PAAHDFJMICD_GalleryStopLuaInterruptSuccess" + } + Paahdfjmicd::GalleryStopLuaInterruptFail => { + "PAAHDFJMICD_GalleryStopLuaInterruptFail" + } + Paahdfjmicd::GalleryStopOwnerLeaveScene => { + "PAAHDFJMICD_GalleryStopOwnerLeaveScene" + } + Paahdfjmicd::GalleryStopPlayInitFailed => { + "PAAHDFJMICD_GalleryStopPlayInitFailed" + } + Paahdfjmicd::GalleryStopOtherPlayerEnter => { + "PAAHDFJMICD_GalleryStopOtherPlayerEnter" + } + Paahdfjmicd::GalleryStopAvatarDie => "PAAHDFJMICD_GalleryStopAvatarDie", + Paahdfjmicd::GalleryStopFinished => "PAAHDFJMICD_GalleryStopFinished", + Paahdfjmicd::GalleryStopFungusAllDie => "PAAHDFJMICD_GalleryStopFungusAllDie", + Paahdfjmicd::GalleryStopLifeCountZero => { + "PAAHDFJMICD_GalleryStopLifeCountZero" + } + Paahdfjmicd::GalleryStopActivityClosed => { + "PAAHDFJMICD_GalleryStopActivityClosed" + } + Paahdfjmicd::GalleryStopLeaveRegionFail => { + "PAAHDFJMICD_GalleryStopLeaveRegionFail" + } + Paahdfjmicd::GalleryStopHeartBloodUsedOut => { + "PAAHDFJMICD_GalleryStopHeartBloodUsedOut" + } + Paahdfjmicd::GalleryStopGuardianStoneDie => { + "PAAHDFJMICD_GalleryStopGuardianStoneDie" + } + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "PAAHDFJMICD_GalleryStopNone" => Some(Self::GalleryStopNone), + "PAAHDFJMICD_GalleryStopTimeup" => Some(Self::GalleryStopTimeup), + "PAAHDFJMICD_GalleryStopClientInterrupt" => { + Some(Self::GalleryStopClientInterrupt) + } + "PAAHDFJMICD_GalleryStopLuaInterruptSuccess" => { + Some(Self::GalleryStopLuaInterruptSuccess) + } + "PAAHDFJMICD_GalleryStopLuaInterruptFail" => { + Some(Self::GalleryStopLuaInterruptFail) + } + "PAAHDFJMICD_GalleryStopOwnerLeaveScene" => { + Some(Self::GalleryStopOwnerLeaveScene) + } + "PAAHDFJMICD_GalleryStopPlayInitFailed" => { + Some(Self::GalleryStopPlayInitFailed) + } + "PAAHDFJMICD_GalleryStopOtherPlayerEnter" => { + Some(Self::GalleryStopOtherPlayerEnter) + } + "PAAHDFJMICD_GalleryStopAvatarDie" => Some(Self::GalleryStopAvatarDie), + "PAAHDFJMICD_GalleryStopFinished" => Some(Self::GalleryStopFinished), + "PAAHDFJMICD_GalleryStopFungusAllDie" => Some(Self::GalleryStopFungusAllDie), + "PAAHDFJMICD_GalleryStopLifeCountZero" => { + Some(Self::GalleryStopLifeCountZero) + } + "PAAHDFJMICD_GalleryStopActivityClosed" => { + Some(Self::GalleryStopActivityClosed) + } + "PAAHDFJMICD_GalleryStopLeaveRegionFail" => { + Some(Self::GalleryStopLeaveRegionFail) + } + "PAAHDFJMICD_GalleryStopHeartBloodUsedOut" => { + Some(Self::GalleryStopHeartBloodUsedOut) + } + "PAAHDFJMICD_GalleryStopGuardianStoneDie" => { + Some(Self::GalleryStopGuardianStoneDie) + } + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Ppllgnghlmb { + CreateNone = 0, + CreateQuest = 1, + CreateEnergy = 2, +} +impl Ppllgnghlmb { + /// 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 { + Ppllgnghlmb::CreateNone => "PPLLGNGHLMB_CreateNone", + Ppllgnghlmb::CreateQuest => "PPLLGNGHLMB_CreateQuest", + Ppllgnghlmb::CreateEnergy => "PPLLGNGHLMB_CreateEnergy", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "PPLLGNGHLMB_CreateNone" => Some(Self::CreateNone), + "PPLLGNGHLMB_CreateQuest" => Some(Self::CreateQuest), + "PPLLGNGHLMB_CreateEnergy" => Some(Self::CreateEnergy), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Fjklgegnmpb { + ClientInputNone = 0, + ClientInputKeybordMouse = 1, + ClientInputGamepad = 2, + ClientInputTouchPanel = 3, +} +impl Fjklgegnmpb { + /// 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 { + Fjklgegnmpb::ClientInputNone => "FJKLGEGNMPB_ClientInputNone", + Fjklgegnmpb::ClientInputKeybordMouse => "FJKLGEGNMPB_ClientInputKeybordMouse", + Fjklgegnmpb::ClientInputGamepad => "FJKLGEGNMPB_ClientInputGamepad", + Fjklgegnmpb::ClientInputTouchPanel => "FJKLGEGNMPB_ClientInputTouchPanel", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "FJKLGEGNMPB_ClientInputNone" => Some(Self::ClientInputNone), + "FJKLGEGNMPB_ClientInputKeybordMouse" => Some(Self::ClientInputKeybordMouse), + "FJKLGEGNMPB_ClientInputGamepad" => Some(Self::ClientInputGamepad), + "FJKLGEGNMPB_ClientInputTouchPanel" => Some(Self::ClientInputTouchPanel), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Ckbnedpjfdo { + Invalid = 0, + Start = 1, + Timeout = 2, +} +impl Ckbnedpjfdo { + /// 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 { + Ckbnedpjfdo::Invalid => "CKBNEDPJFDO_Invalid", + Ckbnedpjfdo::Start => "CKBNEDPJFDO_Start", + Ckbnedpjfdo::Timeout => "CKBNEDPJFDO_Timeout", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "CKBNEDPJFDO_Invalid" => Some(Self::Invalid), + "CKBNEDPJFDO_Start" => Some(Self::Start), + "CKBNEDPJFDO_Timeout" => Some(Self::Timeout), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Gacainioald { + None = 0, + Started = 1, + Unstarted = 2, + Succ = 3, +} +impl Gacainioald { + /// 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 { + Gacainioald::None => "GACAINIOALD_None", + Gacainioald::Started => "GACAINIOALD_Started", + Gacainioald::Unstarted => "GACAINIOALD_Unstarted", + Gacainioald::Succ => "GACAINIOALD_Succ", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "GACAINIOALD_None" => Some(Self::None), + "GACAINIOALD_Started" => Some(Self::Started), + "GACAINIOALD_Unstarted" => Some(Self::Unstarted), + "GACAINIOALD_Succ" => Some(Self::Succ), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Cfedgdkjhmo { + None = 0, + InBag = 1, + CanForge = 2, +} +impl Cfedgdkjhmo { + /// 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 { + Cfedgdkjhmo::None => "CFEDGDKJHMO_None", + Cfedgdkjhmo::InBag => "CFEDGDKJHMO_InBag", + Cfedgdkjhmo::CanForge => "CFEDGDKJHMO_CanForge", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "CFEDGDKJHMO_None" => Some(Self::None), + "CFEDGDKJHMO_InBag" => Some(Self::InBag), + "CFEDGDKJHMO_CanForge" => Some(Self::CanForge), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Oijbbocgigb { + None = 0, + Send = 1, + Accept = 2, + Refuse = 3, +} +impl Oijbbocgigb { + /// 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 { + Oijbbocgigb::None => "OIJBBOCGIGB_None", + Oijbbocgigb::Send => "OIJBBOCGIGB_Send", + Oijbbocgigb::Accept => "OIJBBOCGIGB_Accept", + Oijbbocgigb::Refuse => "OIJBBOCGIGB_Refuse", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "OIJBBOCGIGB_None" => Some(Self::None), + "OIJBBOCGIGB_Send" => Some(Self::Send), + "OIJBBOCGIGB_Accept" => Some(Self::Accept), + "OIJBBOCGIGB_Refuse" => Some(Self::Refuse), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Bkhklfcblfj { + Invalid = 0, + Running = 1, + Finished = 2, +} +impl Bkhklfcblfj { + /// 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 { + Bkhklfcblfj::Invalid => "BKHKLFCBLFJ_Invalid", + Bkhklfcblfj::Running => "BKHKLFCBLFJ_Running", + Bkhklfcblfj::Finished => "BKHKLFCBLFJ_Finished", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "BKHKLFCBLFJ_Invalid" => Some(Self::Invalid), + "BKHKLFCBLFJ_Running" => Some(Self::Running), + "BKHKLFCBLFJ_Finished" => Some(Self::Finished), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Ialdlppfide { + EnterUgcDungeonNone = 0, + EnterUgcDungeonTrialInEditDungeon = 1, + EnterUgcDungeonTrialInWorld = 2, + EnterUgcDungeonPlay = 3, + EnterUgcDungeonOfficial = 4, + EnterUgcDungeonByGm = 5, + EnterUgcDungeonByEdit = 6, + EnterUgcDungeonTrialOneRoom = 7, +} +impl Ialdlppfide { + /// 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 { + Ialdlppfide::EnterUgcDungeonNone => "IALDLPPFIDE_EnterUgcDungeonNone", + Ialdlppfide::EnterUgcDungeonTrialInEditDungeon => { + "IALDLPPFIDE_EnterUgcDungeonTrialInEditDungeon" + } + Ialdlppfide::EnterUgcDungeonTrialInWorld => { + "IALDLPPFIDE_EnterUgcDungeonTrialInWorld" + } + Ialdlppfide::EnterUgcDungeonPlay => "IALDLPPFIDE_EnterUgcDungeonPlay", + Ialdlppfide::EnterUgcDungeonOfficial => "IALDLPPFIDE_EnterUgcDungeonOfficial", + Ialdlppfide::EnterUgcDungeonByGm => "IALDLPPFIDE_EnterUgcDungeonByGm", + Ialdlppfide::EnterUgcDungeonByEdit => "IALDLPPFIDE_EnterUgcDungeonByEdit", + Ialdlppfide::EnterUgcDungeonTrialOneRoom => { + "IALDLPPFIDE_EnterUgcDungeonTrialOneRoom" + } + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "IALDLPPFIDE_EnterUgcDungeonNone" => Some(Self::EnterUgcDungeonNone), + "IALDLPPFIDE_EnterUgcDungeonTrialInEditDungeon" => { + Some(Self::EnterUgcDungeonTrialInEditDungeon) + } + "IALDLPPFIDE_EnterUgcDungeonTrialInWorld" => { + Some(Self::EnterUgcDungeonTrialInWorld) + } + "IALDLPPFIDE_EnterUgcDungeonPlay" => Some(Self::EnterUgcDungeonPlay), + "IALDLPPFIDE_EnterUgcDungeonOfficial" => Some(Self::EnterUgcDungeonOfficial), + "IALDLPPFIDE_EnterUgcDungeonByGm" => Some(Self::EnterUgcDungeonByGm), + "IALDLPPFIDE_EnterUgcDungeonByEdit" => Some(Self::EnterUgcDungeonByEdit), + "IALDLPPFIDE_EnterUgcDungeonTrialOneRoom" => { + Some(Self::EnterUgcDungeonTrialOneRoom) + } + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Peklcmkljmm { + TimeOut = 0, + SettlePlayEnd = 1, + SettlePlayerQuit = 2, +} +impl Peklcmkljmm { + /// 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 { + Peklcmkljmm::TimeOut => "PEKLCMKLJMM_TimeOut", + Peklcmkljmm::SettlePlayEnd => "PEKLCMKLJMM_SettlePlayEnd", + Peklcmkljmm::SettlePlayerQuit => "PEKLCMKLJMM_SettlePlayerQuit", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "PEKLCMKLJMM_TimeOut" => Some(Self::TimeOut), + "PEKLCMKLJMM_SettlePlayEnd" => Some(Self::SettlePlayEnd), + "PEKLCMKLJMM_SettlePlayerQuit" => Some(Self::SettlePlayerQuit), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Dmkgkakimab { + FireworksReformParamNone = 0, + FireworksReformParamColor = 1, + FireworksReformParamHeight = 2, + FireworksReformParamSize = 3, + FireworksReformParamDensity = 4, + FireworksReformParamRotation = 5, +} +impl Dmkgkakimab { + /// 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 { + Dmkgkakimab::FireworksReformParamNone => { + "DMKGKAKIMAB_FireworksReformParamNone" + } + Dmkgkakimab::FireworksReformParamColor => { + "DMKGKAKIMAB_FireworksReformParamColor" + } + Dmkgkakimab::FireworksReformParamHeight => { + "DMKGKAKIMAB_FireworksReformParamHeight" + } + Dmkgkakimab::FireworksReformParamSize => { + "DMKGKAKIMAB_FireworksReformParamSize" + } + Dmkgkakimab::FireworksReformParamDensity => { + "DMKGKAKIMAB_FireworksReformParamDensity" + } + Dmkgkakimab::FireworksReformParamRotation => { + "DMKGKAKIMAB_FireworksReformParamRotation" + } + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "DMKGKAKIMAB_FireworksReformParamNone" => { + Some(Self::FireworksReformParamNone) + } + "DMKGKAKIMAB_FireworksReformParamColor" => { + Some(Self::FireworksReformParamColor) + } + "DMKGKAKIMAB_FireworksReformParamHeight" => { + Some(Self::FireworksReformParamHeight) + } + "DMKGKAKIMAB_FireworksReformParamSize" => { + Some(Self::FireworksReformParamSize) + } + "DMKGKAKIMAB_FireworksReformParamDensity" => { + Some(Self::FireworksReformParamDensity) + } + "DMKGKAKIMAB_FireworksReformParamRotation" => { + Some(Self::FireworksReformParamRotation) + } + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Ckjofdmgnno { + StatusFail = 0, + StatusSucc = 1, + StatusPartial = 2, +} +impl Ckjofdmgnno { + /// 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 { + Ckjofdmgnno::StatusFail => "CKJOFDMGNNO_StatusFail", + Ckjofdmgnno::StatusSucc => "CKJOFDMGNNO_StatusSucc", + Ckjofdmgnno::StatusPartial => "CKJOFDMGNNO_StatusPartial", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "CKJOFDMGNNO_StatusFail" => Some(Self::StatusFail), + "CKJOFDMGNNO_StatusSucc" => Some(Self::StatusSucc), + "CKJOFDMGNNO_StatusPartial" => Some(Self::StatusPartial), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Feciocnebah { + Invalid = 0, + InProgress = 1, + Complete = 2, + RewardTaken = 3, +} +impl Feciocnebah { + /// 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 { + Feciocnebah::Invalid => "FECIOCNEBAH_Invalid", + Feciocnebah::InProgress => "FECIOCNEBAH_InProgress", + Feciocnebah::Complete => "FECIOCNEBAH_Complete", + Feciocnebah::RewardTaken => "FECIOCNEBAH_RewardTaken", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "FECIOCNEBAH_Invalid" => Some(Self::Invalid), + "FECIOCNEBAH_InProgress" => Some(Self::InProgress), + "FECIOCNEBAH_Complete" => Some(Self::Complete), + "FECIOCNEBAH_RewardTaken" => Some(Self::RewardTaken), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Lekkkbafdam { + None = 0, + Init = 1, + Building = 2, + Built = 3, +} +impl Lekkkbafdam { + /// 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 { + Lekkkbafdam::None => "LEKKKBAFDAM_None", + Lekkkbafdam::Init => "LEKKKBAFDAM_Init", + Lekkkbafdam::Building => "LEKKKBAFDAM_Building", + Lekkkbafdam::Built => "LEKKKBAFDAM_Built", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "LEKKKBAFDAM_None" => Some(Self::None), + "LEKKKBAFDAM_Init" => Some(Self::Init), + "LEKKKBAFDAM_Building" => Some(Self::Building), + "LEKKKBAFDAM_Built" => Some(Self::Built), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Bhefkoojnok { + WidgetCreatorTypeNone = 0, + WidgetCreatorTypeRetract = 1, + WidgetCreatorTypeRetractAndCreate = 2, +} +impl Bhefkoojnok { + /// 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 { + Bhefkoojnok::WidgetCreatorTypeNone => "BHEFKOOJNOK_WidgetCreatorTypeNone", + Bhefkoojnok::WidgetCreatorTypeRetract => { + "BHEFKOOJNOK_WidgetCreatorTypeRetract" + } + Bhefkoojnok::WidgetCreatorTypeRetractAndCreate => { + "BHEFKOOJNOK_WidgetCreatorTypeRetractAndCreate" + } + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "BHEFKOOJNOK_WidgetCreatorTypeNone" => Some(Self::WidgetCreatorTypeNone), + "BHEFKOOJNOK_WidgetCreatorTypeRetract" => { + Some(Self::WidgetCreatorTypeRetract) + } + "BHEFKOOJNOK_WidgetCreatorTypeRetractAndCreate" => { + Some(Self::WidgetCreatorTypeRetractAndCreate) + } + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Jlopibknegm { + RogueEliteNormal = 0, + RogueEliteHard = 1, +} +impl Jlopibknegm { + /// 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 { + Jlopibknegm::RogueEliteNormal => "JLOPIBKNEGM_RogueEliteNormal", + Jlopibknegm::RogueEliteHard => "JLOPIBKNEGM_RogueEliteHard", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "JLOPIBKNEGM_RogueEliteNormal" => Some(Self::RogueEliteNormal), + "JLOPIBKNEGM_RogueEliteHard" => Some(Self::RogueEliteHard), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Ihpmjgjmpgb { + None = 0, + Init = 1, + LevelReward = 2, + CardCost = 3, + ChanceEffect = 4, + Gm = 5, + BonusRebate = 6, +} +impl Ihpmjgjmpgb { + /// 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 { + Ihpmjgjmpgb::None => "IHPMJGJMPGB_None", + Ihpmjgjmpgb::Init => "IHPMJGJMPGB_Init", + Ihpmjgjmpgb::LevelReward => "IHPMJGJMPGB_LevelReward", + Ihpmjgjmpgb::CardCost => "IHPMJGJMPGB_CardCost", + Ihpmjgjmpgb::ChanceEffect => "IHPMJGJMPGB_ChanceEffect", + Ihpmjgjmpgb::Gm => "IHPMJGJMPGB_Gm", + Ihpmjgjmpgb::BonusRebate => "IHPMJGJMPGB_BonusRebate", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "IHPMJGJMPGB_None" => Some(Self::None), + "IHPMJGJMPGB_Init" => Some(Self::Init), + "IHPMJGJMPGB_LevelReward" => Some(Self::LevelReward), + "IHPMJGJMPGB_CardCost" => Some(Self::CardCost), + "IHPMJGJMPGB_ChanceEffect" => Some(Self::ChanceEffect), + "IHPMJGJMPGB_Gm" => Some(Self::Gm), + "IHPMJGJMPGB_BonusRebate" => Some(Self::BonusRebate), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Ekdmoohdfea { + OpTypeNone = 0, + OpTypeRelogin = 1, + OpTypeMpRelogin = 2, +} +impl Ekdmoohdfea { + /// 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 { + Ekdmoohdfea::OpTypeNone => "EKDMOOHDFEA_OpTypeNone", + Ekdmoohdfea::OpTypeRelogin => "EKDMOOHDFEA_OpTypeRelogin", + Ekdmoohdfea::OpTypeMpRelogin => "EKDMOOHDFEA_OpTypeMpRelogin", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "EKDMOOHDFEA_OpTypeNone" => Some(Self::OpTypeNone), + "EKDMOOHDFEA_OpTypeRelogin" => Some(Self::OpTypeRelogin), + "EKDMOOHDFEA_OpTypeMpRelogin" => Some(Self::OpTypeMpRelogin), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Djnpamlnjgc { + SealBattleKeepAlive = 0, + SealBattleKillMonster = 1, + SealBattleEnergyCharge = 2, +} +impl Djnpamlnjgc { + /// 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 { + Djnpamlnjgc::SealBattleKeepAlive => "DJNPAMLNJGC_SealBattleKeepAlive", + Djnpamlnjgc::SealBattleKillMonster => "DJNPAMLNJGC_SealBattleKillMonster", + Djnpamlnjgc::SealBattleEnergyCharge => "DJNPAMLNJGC_SealBattleEnergyCharge", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "DJNPAMLNJGC_SealBattleKeepAlive" => Some(Self::SealBattleKeepAlive), + "DJNPAMLNJGC_SealBattleKillMonster" => Some(Self::SealBattleKillMonster), + "DJNPAMLNJGC_SealBattleEnergyCharge" => Some(Self::SealBattleEnergyCharge), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Hhnoenmdggg { + InterOpFinish = 0, + InterOpStart = 1, +} +impl Hhnoenmdggg { + /// 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 { + Hhnoenmdggg::InterOpFinish => "HHNOENMDGGG_InterOpFinish", + Hhnoenmdggg::InterOpStart => "HHNOENMDGGG_InterOpStart", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "HHNOENMDGGG_InterOpFinish" => Some(Self::InterOpFinish), + "HHNOENMDGGG_InterOpStart" => Some(Self::InterOpStart), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Pcfijjmkglb { + FireworksLaunchParamNone = 0, + FireworksLaunchParamRepeat = 1, + FireworksLaunchParamInteval = 2, + FireworksLaunchParamDelay = 3, + FireworksLaunchParamRoundInteval = 4, + FireworksLaunchParamMax = 5, +} +impl Pcfijjmkglb { + /// 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 { + Pcfijjmkglb::FireworksLaunchParamNone => { + "PCFIJJMKGLB_FireworksLaunchParamNone" + } + Pcfijjmkglb::FireworksLaunchParamRepeat => { + "PCFIJJMKGLB_FireworksLaunchParamRepeat" + } + Pcfijjmkglb::FireworksLaunchParamInteval => { + "PCFIJJMKGLB_FireworksLaunchParamInteval" + } + Pcfijjmkglb::FireworksLaunchParamDelay => { + "PCFIJJMKGLB_FireworksLaunchParamDelay" + } + Pcfijjmkglb::FireworksLaunchParamRoundInteval => { + "PCFIJJMKGLB_FireworksLaunchParamRoundInteval" + } + Pcfijjmkglb::FireworksLaunchParamMax => "PCFIJJMKGLB_FireworksLaunchParamMax", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "PCFIJJMKGLB_FireworksLaunchParamNone" => { + Some(Self::FireworksLaunchParamNone) + } + "PCFIJJMKGLB_FireworksLaunchParamRepeat" => { + Some(Self::FireworksLaunchParamRepeat) + } + "PCFIJJMKGLB_FireworksLaunchParamInteval" => { + Some(Self::FireworksLaunchParamInteval) + } + "PCFIJJMKGLB_FireworksLaunchParamDelay" => { + Some(Self::FireworksLaunchParamDelay) + } + "PCFIJJMKGLB_FireworksLaunchParamRoundInteval" => { + Some(Self::FireworksLaunchParamRoundInteval) + } + "PCFIJJMKGLB_FireworksLaunchParamMax" => Some(Self::FireworksLaunchParamMax), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Edodpnmmkli { + None = 0, + StarredDungeon = 1, + StarredRoom = 2, + Owner = 3, + History = 4, + Search = 5, + Official = 6, + Template = 7, +} +impl Edodpnmmkli { + /// 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 { + Edodpnmmkli::None => "EDODPNMMKLI_None", + Edodpnmmkli::StarredDungeon => "EDODPNMMKLI_StarredDungeon", + Edodpnmmkli::StarredRoom => "EDODPNMMKLI_StarredRoom", + Edodpnmmkli::Owner => "EDODPNMMKLI_Owner", + Edodpnmmkli::History => "EDODPNMMKLI_History", + Edodpnmmkli::Search => "EDODPNMMKLI_Search", + Edodpnmmkli::Official => "EDODPNMMKLI_Official", + Edodpnmmkli::Template => "EDODPNMMKLI_Template", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "EDODPNMMKLI_None" => Some(Self::None), + "EDODPNMMKLI_StarredDungeon" => Some(Self::StarredDungeon), + "EDODPNMMKLI_StarredRoom" => Some(Self::StarredRoom), + "EDODPNMMKLI_Owner" => Some(Self::Owner), + "EDODPNMMKLI_History" => Some(Self::History), + "EDODPNMMKLI_Search" => Some(Self::Search), + "EDODPNMMKLI_Official" => Some(Self::Official), + "EDODPNMMKLI_Template" => Some(Self::Template), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Gohambnlbdi { + Noe = 0, + Monster = 1, + Quest = 2, +} +impl Gohambnlbdi { + /// 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 { + Gohambnlbdi::Noe => "GOHAMBNLBDI_Noe", + Gohambnlbdi::Monster => "GOHAMBNLBDI_Monster", + Gohambnlbdi::Quest => "GOHAMBNLBDI_Quest", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "GOHAMBNLBDI_Noe" => Some(Self::Noe), + "GOHAMBNLBDI_Monster" => Some(Self::Monster), + "GOHAMBNLBDI_Quest" => Some(Self::Quest), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Akehcjngjej { + ObstacleShapeCapsule = 0, + ObstacleShapeBox = 1, +} +impl Akehcjngjej { + /// 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 { + Akehcjngjej::ObstacleShapeCapsule => "AKEHCJNGJEJ_ObstacleShapeCapsule", + Akehcjngjej::ObstacleShapeBox => "AKEHCJNGJEJ_ObstacleShapeBox", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "AKEHCJNGJEJ_ObstacleShapeCapsule" => Some(Self::ObstacleShapeCapsule), + "AKEHCJNGJEJ_ObstacleShapeBox" => Some(Self::ObstacleShapeBox), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Gecmbiekdnd { + ReportReasonSubtypeNone = 0, + ReportReasonSubtypeInvalidNickname = 1, + ReportReasonSubtypeInvalidSignature = 2, + ReportReasonSubtypeInvalidArrangement = 3, + ReportReasonSubtypeInvalidChat = 4, + ReportReasonSubtypeInvalidAvatarName = 5, + ReportReasonSubtypeInvalidOther = 6, + ReportReasonSubtypeInvalidLittleDrillName = 7, +} +impl Gecmbiekdnd { + /// 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 { + Gecmbiekdnd::ReportReasonSubtypeNone => "GECMBIEKDND_ReportReasonSubtypeNone", + Gecmbiekdnd::ReportReasonSubtypeInvalidNickname => { + "GECMBIEKDND_ReportReasonSubtypeInvalidNickname" + } + Gecmbiekdnd::ReportReasonSubtypeInvalidSignature => { + "GECMBIEKDND_ReportReasonSubtypeInvalidSignature" + } + Gecmbiekdnd::ReportReasonSubtypeInvalidArrangement => { + "GECMBIEKDND_ReportReasonSubtypeInvalidArrangement" + } + Gecmbiekdnd::ReportReasonSubtypeInvalidChat => { + "GECMBIEKDND_ReportReasonSubtypeInvalidChat" + } + Gecmbiekdnd::ReportReasonSubtypeInvalidAvatarName => { + "GECMBIEKDND_ReportReasonSubtypeInvalidAvatarName" + } + Gecmbiekdnd::ReportReasonSubtypeInvalidOther => { + "GECMBIEKDND_ReportReasonSubtypeInvalidOther" + } + Gecmbiekdnd::ReportReasonSubtypeInvalidLittleDrillName => { + "GECMBIEKDND_ReportReasonSubtypeInvalidLittleDrillName" + } + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "GECMBIEKDND_ReportReasonSubtypeNone" => Some(Self::ReportReasonSubtypeNone), + "GECMBIEKDND_ReportReasonSubtypeInvalidNickname" => { + Some(Self::ReportReasonSubtypeInvalidNickname) + } + "GECMBIEKDND_ReportReasonSubtypeInvalidSignature" => { + Some(Self::ReportReasonSubtypeInvalidSignature) + } + "GECMBIEKDND_ReportReasonSubtypeInvalidArrangement" => { + Some(Self::ReportReasonSubtypeInvalidArrangement) + } + "GECMBIEKDND_ReportReasonSubtypeInvalidChat" => { + Some(Self::ReportReasonSubtypeInvalidChat) + } + "GECMBIEKDND_ReportReasonSubtypeInvalidAvatarName" => { + Some(Self::ReportReasonSubtypeInvalidAvatarName) + } + "GECMBIEKDND_ReportReasonSubtypeInvalidOther" => { + Some(Self::ReportReasonSubtypeInvalidOther) + } + "GECMBIEKDND_ReportReasonSubtypeInvalidLittleDrillName" => { + Some(Self::ReportReasonSubtypeInvalidLittleDrillName) + } + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Kckmmddjpce { + None = 0, + Normal = 1, + Template = 2, + Exam = 3, +} +impl Kckmmddjpce { + /// 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 { + Kckmmddjpce::None => "KCKMMDDJPCE_None", + Kckmmddjpce::Normal => "KCKMMDDJPCE_Normal", + Kckmmddjpce::Template => "KCKMMDDJPCE_Template", + Kckmmddjpce::Exam => "KCKMMDDJPCE_Exam", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "KCKMMDDJPCE_None" => Some(Self::None), + "KCKMMDDJPCE_Normal" => Some(Self::Normal), + "KCKMMDDJPCE_Template" => Some(Self::Template), + "KCKMMDDJPCE_Exam" => Some(Self::Exam), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Aanmpmbpkcl { + WindFieldDungeonFailNone = 0, + WindFieldDungeonFailCancel = 1, + WindFieldDungeonFailTimeout = 2, + WindFieldDungeonFailAllAvatarDie = 3, + WindFieldDungeonFailLuaInterrupt = 4, +} +impl Aanmpmbpkcl { + /// 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 { + Aanmpmbpkcl::WindFieldDungeonFailNone => { + "AANMPMBPKCL_WindFieldDungeonFailNone" + } + Aanmpmbpkcl::WindFieldDungeonFailCancel => { + "AANMPMBPKCL_WindFieldDungeonFailCancel" + } + Aanmpmbpkcl::WindFieldDungeonFailTimeout => { + "AANMPMBPKCL_WindFieldDungeonFailTimeout" + } + Aanmpmbpkcl::WindFieldDungeonFailAllAvatarDie => { + "AANMPMBPKCL_WindFieldDungeonFailAllAvatarDie" + } + Aanmpmbpkcl::WindFieldDungeonFailLuaInterrupt => { + "AANMPMBPKCL_WindFieldDungeonFailLuaInterrupt" + } + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "AANMPMBPKCL_WindFieldDungeonFailNone" => { + Some(Self::WindFieldDungeonFailNone) + } + "AANMPMBPKCL_WindFieldDungeonFailCancel" => { + Some(Self::WindFieldDungeonFailCancel) + } + "AANMPMBPKCL_WindFieldDungeonFailTimeout" => { + Some(Self::WindFieldDungeonFailTimeout) + } + "AANMPMBPKCL_WindFieldDungeonFailAllAvatarDie" => { + Some(Self::WindFieldDungeonFailAllAvatarDie) + } + "AANMPMBPKCL_WindFieldDungeonFailLuaInterrupt" => { + Some(Self::WindFieldDungeonFailLuaInterrupt) + } + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Kdioojinlkg { + GalleryStartByNone = 0, + GalleryStartByMatch = 1, + GalleryStartByDraft = 2, +} +impl Kdioojinlkg { + /// 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 { + Kdioojinlkg::GalleryStartByNone => "KDIOOJINLKG_GalleryStartByNone", + Kdioojinlkg::GalleryStartByMatch => "KDIOOJINLKG_GalleryStartByMatch", + Kdioojinlkg::GalleryStartByDraft => "KDIOOJINLKG_GalleryStartByDraft", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "KDIOOJINLKG_GalleryStartByNone" => Some(Self::GalleryStartByNone), + "KDIOOJINLKG_GalleryStartByMatch" => Some(Self::GalleryStartByMatch), + "KDIOOJINLKG_GalleryStartByDraft" => Some(Self::GalleryStartByDraft), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Cnpeffimnbf { + SalvageEscortStopNone = 0, + SalvageEscortStopSuccess = 1, + SalvageEscortStopDump = 2, + SalvageEscortStopTime = 3, + SalvageEscortStopInterrupt = 4, + SalvageEscortStopLeave = 5, + SalvageEscortStopFull = 6, +} +impl Cnpeffimnbf { + /// 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 { + Cnpeffimnbf::SalvageEscortStopNone => "CNPEFFIMNBF_SalvageEscortStopNone", + Cnpeffimnbf::SalvageEscortStopSuccess => { + "CNPEFFIMNBF_SalvageEscortStopSuccess" + } + Cnpeffimnbf::SalvageEscortStopDump => "CNPEFFIMNBF_SalvageEscortStopDump", + Cnpeffimnbf::SalvageEscortStopTime => "CNPEFFIMNBF_SalvageEscortStopTime", + Cnpeffimnbf::SalvageEscortStopInterrupt => { + "CNPEFFIMNBF_SalvageEscortStopInterrupt" + } + Cnpeffimnbf::SalvageEscortStopLeave => "CNPEFFIMNBF_SalvageEscortStopLeave", + Cnpeffimnbf::SalvageEscortStopFull => "CNPEFFIMNBF_SalvageEscortStopFull", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "CNPEFFIMNBF_SalvageEscortStopNone" => Some(Self::SalvageEscortStopNone), + "CNPEFFIMNBF_SalvageEscortStopSuccess" => { + Some(Self::SalvageEscortStopSuccess) + } + "CNPEFFIMNBF_SalvageEscortStopDump" => Some(Self::SalvageEscortStopDump), + "CNPEFFIMNBF_SalvageEscortStopTime" => Some(Self::SalvageEscortStopTime), + "CNPEFFIMNBF_SalvageEscortStopInterrupt" => { + Some(Self::SalvageEscortStopInterrupt) + } + "CNPEFFIMNBF_SalvageEscortStopLeave" => Some(Self::SalvageEscortStopLeave), + "CNPEFFIMNBF_SalvageEscortStopFull" => Some(Self::SalvageEscortStopFull), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Odopboephmm { + ActionTypeNone = 0, + ActionTypeLaunchBall = 1, + ActionTypeDestroyBall = 2, + ActionTypeFallingObject = 3, + ActionTypeMissile = 4, +} +impl Odopboephmm { + /// 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 { + Odopboephmm::ActionTypeNone => "ODOPBOEPHMM_ActionTypeNone", + Odopboephmm::ActionTypeLaunchBall => "ODOPBOEPHMM_ActionTypeLaunchBall", + Odopboephmm::ActionTypeDestroyBall => "ODOPBOEPHMM_ActionTypeDestroyBall", + Odopboephmm::ActionTypeFallingObject => "ODOPBOEPHMM_ActionTypeFallingObject", + Odopboephmm::ActionTypeMissile => "ODOPBOEPHMM_ActionTypeMissile", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "ODOPBOEPHMM_ActionTypeNone" => Some(Self::ActionTypeNone), + "ODOPBOEPHMM_ActionTypeLaunchBall" => Some(Self::ActionTypeLaunchBall), + "ODOPBOEPHMM_ActionTypeDestroyBall" => Some(Self::ActionTypeDestroyBall), + "ODOPBOEPHMM_ActionTypeFallingObject" => Some(Self::ActionTypeFallingObject), + "ODOPBOEPHMM_ActionTypeMissile" => Some(Self::ActionTypeMissile), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Pblfodhddml { + RogueCellNone = 0, + RogueCellBattle = 1, + RogueCellSuccess = 2, + RogueCellFinish = 3, + RogueCellTakenChest = 4, +} +impl Pblfodhddml { + /// 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 { + Pblfodhddml::RogueCellNone => "PBLFODHDDML_RogueCellNone", + Pblfodhddml::RogueCellBattle => "PBLFODHDDML_RogueCellBattle", + Pblfodhddml::RogueCellSuccess => "PBLFODHDDML_RogueCellSuccess", + Pblfodhddml::RogueCellFinish => "PBLFODHDDML_RogueCellFinish", + Pblfodhddml::RogueCellTakenChest => "PBLFODHDDML_RogueCellTakenChest", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "PBLFODHDDML_RogueCellNone" => Some(Self::RogueCellNone), + "PBLFODHDDML_RogueCellBattle" => Some(Self::RogueCellBattle), + "PBLFODHDDML_RogueCellSuccess" => Some(Self::RogueCellSuccess), + "PBLFODHDDML_RogueCellFinish" => Some(Self::RogueCellFinish), + "PBLFODHDDML_RogueCellTakenChest" => Some(Self::RogueCellTakenChest), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Cfpilojcini { + None = 0, + CreateConnect = 1, + StartGame = 2, + Ping = 3, + FinishGame = 4, + SnapShot = 5, + Action = 6, + SnapShotForDebugLog = 7, +} +impl Cfpilojcini { + /// 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 { + Cfpilojcini::None => "CFPILOJCINI_None", + Cfpilojcini::CreateConnect => "CFPILOJCINI_CreateConnect", + Cfpilojcini::StartGame => "CFPILOJCINI_StartGame", + Cfpilojcini::Ping => "CFPILOJCINI_Ping", + Cfpilojcini::FinishGame => "CFPILOJCINI_FinishGame", + Cfpilojcini::SnapShot => "CFPILOJCINI_SnapShot", + Cfpilojcini::Action => "CFPILOJCINI_Action", + Cfpilojcini::SnapShotForDebugLog => "CFPILOJCINI_SnapShotForDebugLog", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "CFPILOJCINI_None" => Some(Self::None), + "CFPILOJCINI_CreateConnect" => Some(Self::CreateConnect), + "CFPILOJCINI_StartGame" => Some(Self::StartGame), + "CFPILOJCINI_Ping" => Some(Self::Ping), + "CFPILOJCINI_FinishGame" => Some(Self::FinishGame), + "CFPILOJCINI_SnapShot" => Some(Self::SnapShot), + "CFPILOJCINI_Action" => Some(Self::Action), + "CFPILOJCINI_SnapShotForDebugLog" => Some(Self::SnapShotForDebugLog), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Bickfbjhoik { + BargainCompleteSucc = 0, + BargainSingleFail = 1, + BargainCompleteFail = 2, +} +impl Bickfbjhoik { + /// 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 { + Bickfbjhoik::BargainCompleteSucc => "BICKFBJHOIK_BargainCompleteSucc", + Bickfbjhoik::BargainSingleFail => "BICKFBJHOIK_BargainSingleFail", + Bickfbjhoik::BargainCompleteFail => "BICKFBJHOIK_BargainCompleteFail", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "BICKFBJHOIK_BargainCompleteSucc" => Some(Self::BargainCompleteSucc), + "BICKFBJHOIK_BargainSingleFail" => Some(Self::BargainSingleFail), + "BICKFBJHOIK_BargainCompleteFail" => Some(Self::BargainCompleteFail), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Ckijcdmelnh { + VehicleInteractNone = 0, + VehicleInteractIn = 1, + VehicleInteractOut = 2, +} +impl Ckijcdmelnh { + /// 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 { + Ckijcdmelnh::VehicleInteractNone => "CKIJCDMELNH_VehicleInteractNone", + Ckijcdmelnh::VehicleInteractIn => "CKIJCDMELNH_VehicleInteractIn", + Ckijcdmelnh::VehicleInteractOut => "CKIJCDMELNH_VehicleInteractOut", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "CKIJCDMELNH_VehicleInteractNone" => Some(Self::VehicleInteractNone), + "CKIJCDMELNH_VehicleInteractIn" => Some(Self::VehicleInteractIn), + "CKIJCDMELNH_VehicleInteractOut" => Some(Self::VehicleInteractOut), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Ckiinnajncp { + None = 0, + Leave = 1, + Pending = 2, + Idle = 3, +} +impl Ckiinnajncp { + /// 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 { + Ckiinnajncp::None => "CKIINNAJNCP_None", + Ckiinnajncp::Leave => "CKIINNAJNCP_Leave", + Ckiinnajncp::Pending => "CKIINNAJNCP_Pending", + Ckiinnajncp::Idle => "CKIINNAJNCP_Idle", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "CKIINNAJNCP_None" => Some(Self::None), + "CKIINNAJNCP_Leave" => Some(Self::Leave), + "CKIINNAJNCP_Pending" => Some(Self::Pending), + "CKIINNAJNCP_Idle" => Some(Self::Idle), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Eiblikiahil { + RogueDiaryAvatarDisableNone = 0, + RogueDiaryAvatarDisableDeath = 1, + RogueDiaryAvatarDisableTired = 2, + RogueDiaryAvatarDisableDuplicated = 3, +} +impl Eiblikiahil { + /// 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 { + Eiblikiahil::RogueDiaryAvatarDisableNone => { + "EIBLIKIAHIL_RogueDiaryAvatarDisableNone" + } + Eiblikiahil::RogueDiaryAvatarDisableDeath => { + "EIBLIKIAHIL_RogueDiaryAvatarDisableDeath" + } + Eiblikiahil::RogueDiaryAvatarDisableTired => { + "EIBLIKIAHIL_RogueDiaryAvatarDisableTired" + } + Eiblikiahil::RogueDiaryAvatarDisableDuplicated => { + "EIBLIKIAHIL_RogueDiaryAvatarDisableDuplicated" + } + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "EIBLIKIAHIL_RogueDiaryAvatarDisableNone" => { + Some(Self::RogueDiaryAvatarDisableNone) + } + "EIBLIKIAHIL_RogueDiaryAvatarDisableDeath" => { + Some(Self::RogueDiaryAvatarDisableDeath) + } + "EIBLIKIAHIL_RogueDiaryAvatarDisableTired" => { + Some(Self::RogueDiaryAvatarDisableTired) + } + "EIBLIKIAHIL_RogueDiaryAvatarDisableDuplicated" => { + Some(Self::RogueDiaryAvatarDisableDuplicated) + } + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Diedgoljcok { + None = 0, + AllAvatarSelected = 1, + ChanceForbidden = 2, + CandidateAvatarNumZero = 3, +} +impl Diedgoljcok { + /// 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 { + Diedgoljcok::None => "DIEDGOLJCOK_None", + Diedgoljcok::AllAvatarSelected => "DIEDGOLJCOK_AllAvatarSelected", + Diedgoljcok::ChanceForbidden => "DIEDGOLJCOK_ChanceForbidden", + Diedgoljcok::CandidateAvatarNumZero => "DIEDGOLJCOK_CandidateAvatarNumZero", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "DIEDGOLJCOK_None" => Some(Self::None), + "DIEDGOLJCOK_AllAvatarSelected" => Some(Self::AllAvatarSelected), + "DIEDGOLJCOK_ChanceForbidden" => Some(Self::ChanceForbidden), + "DIEDGOLJCOK_CandidateAvatarNumZero" => Some(Self::CandidateAvatarNumZero), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Iohpcjajppo { + FoundationOpNone = 0, + FoundationOpBuild = 1, + FoundationOpDemolition = 2, + FoundationOpRebuild = 3, + FoundationOpRotate = 4, + FoundationOpLock = 5, + FoundationOpUnlock = 6, +} +impl Iohpcjajppo { + /// 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 { + Iohpcjajppo::FoundationOpNone => "IOHPCJAJPPO_FoundationOpNone", + Iohpcjajppo::FoundationOpBuild => "IOHPCJAJPPO_FoundationOpBuild", + Iohpcjajppo::FoundationOpDemolition => "IOHPCJAJPPO_FoundationOpDemolition", + Iohpcjajppo::FoundationOpRebuild => "IOHPCJAJPPO_FoundationOpRebuild", + Iohpcjajppo::FoundationOpRotate => "IOHPCJAJPPO_FoundationOpRotate", + Iohpcjajppo::FoundationOpLock => "IOHPCJAJPPO_FoundationOpLock", + Iohpcjajppo::FoundationOpUnlock => "IOHPCJAJPPO_FoundationOpUnlock", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "IOHPCJAJPPO_FoundationOpNone" => Some(Self::FoundationOpNone), + "IOHPCJAJPPO_FoundationOpBuild" => Some(Self::FoundationOpBuild), + "IOHPCJAJPPO_FoundationOpDemolition" => Some(Self::FoundationOpDemolition), + "IOHPCJAJPPO_FoundationOpRebuild" => Some(Self::FoundationOpRebuild), + "IOHPCJAJPPO_FoundationOpRotate" => Some(Self::FoundationOpRotate), + "IOHPCJAJPPO_FoundationOpLock" => Some(Self::FoundationOpLock), + "IOHPCJAJPPO_FoundationOpUnlock" => Some(Self::FoundationOpUnlock), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Noipnepdipn { + EnterCustomDungeonNone = 0, + EnterCustomDungeonEdit = 1, + EnterCustomDungeonPlay = 2, + EnterCustomDungeonOfficial = 3, +} +impl Noipnepdipn { + /// 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 { + Noipnepdipn::EnterCustomDungeonNone => "NOIPNEPDIPN_EnterCustomDungeonNone", + Noipnepdipn::EnterCustomDungeonEdit => "NOIPNEPDIPN_EnterCustomDungeonEdit", + Noipnepdipn::EnterCustomDungeonPlay => "NOIPNEPDIPN_EnterCustomDungeonPlay", + Noipnepdipn::EnterCustomDungeonOfficial => { + "NOIPNEPDIPN_EnterCustomDungeonOfficial" + } + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "NOIPNEPDIPN_EnterCustomDungeonNone" => Some(Self::EnterCustomDungeonNone), + "NOIPNEPDIPN_EnterCustomDungeonEdit" => Some(Self::EnterCustomDungeonEdit), + "NOIPNEPDIPN_EnterCustomDungeonPlay" => Some(Self::EnterCustomDungeonPlay), + "NOIPNEPDIPN_EnterCustomDungeonOfficial" => { + Some(Self::EnterCustomDungeonOfficial) + } + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Mkphmapfemh { + Succ = 0, + TargetSceneCannotEnter = 1, + SelfMpUnavailable = 2, + OtherDataVersionNotLatest = 3, + DataVersionNotLatest = 4, +} +impl Mkphmapfemh { + /// 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 { + Mkphmapfemh::Succ => "MKPHMAPFEMH_Succ", + Mkphmapfemh::TargetSceneCannotEnter => "MKPHMAPFEMH_TargetSceneCannotEnter", + Mkphmapfemh::SelfMpUnavailable => "MKPHMAPFEMH_SelfMpUnavailable", + Mkphmapfemh::OtherDataVersionNotLatest => { + "MKPHMAPFEMH_OtherDataVersionNotLatest" + } + Mkphmapfemh::DataVersionNotLatest => "MKPHMAPFEMH_DataVersionNotLatest", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "MKPHMAPFEMH_Succ" => Some(Self::Succ), + "MKPHMAPFEMH_TargetSceneCannotEnter" => Some(Self::TargetSceneCannotEnter), + "MKPHMAPFEMH_SelfMpUnavailable" => Some(Self::SelfMpUnavailable), + "MKPHMAPFEMH_OtherDataVersionNotLatest" => { + Some(Self::OtherDataVersionNotLatest) + } + "MKPHMAPFEMH_DataVersionNotLatest" => Some(Self::DataVersionNotLatest), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Meoebdaimci { + ItemExceedLimitMsgDefault = 0, + ItemExceedLimitMsgText = 1, + ItemExceedLimitMsgDialog = 2, + ItemExceedLimitMsgDialogNonblock = 3, +} +impl Meoebdaimci { + /// 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 { + Meoebdaimci::ItemExceedLimitMsgDefault => { + "MEOEBDAIMCI_ItemExceedLimitMsgDefault" + } + Meoebdaimci::ItemExceedLimitMsgText => "MEOEBDAIMCI_ItemExceedLimitMsgText", + Meoebdaimci::ItemExceedLimitMsgDialog => { + "MEOEBDAIMCI_ItemExceedLimitMsgDialog" + } + Meoebdaimci::ItemExceedLimitMsgDialogNonblock => { + "MEOEBDAIMCI_ItemExceedLimitMsgDialogNonblock" + } + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "MEOEBDAIMCI_ItemExceedLimitMsgDefault" => { + Some(Self::ItemExceedLimitMsgDefault) + } + "MEOEBDAIMCI_ItemExceedLimitMsgText" => Some(Self::ItemExceedLimitMsgText), + "MEOEBDAIMCI_ItemExceedLimitMsgDialog" => { + Some(Self::ItemExceedLimitMsgDialog) + } + "MEOEBDAIMCI_ItemExceedLimitMsgDialogNonblock" => { + Some(Self::ItemExceedLimitMsgDialogNonblock) + } + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Bnmoikfjfaj { + ChangeHpDebtsNone = 0, + ChangeHpDebtsPay = 1, + ChangeHpDebtsPayFinish = 2, + ChangeHpDebtsClear = 21, + ChangeHpDebtsReduceAbility = 41, + ChangeHpDebtsAddAbility = 51, +} +impl Bnmoikfjfaj { + /// 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 { + Bnmoikfjfaj::ChangeHpDebtsNone => "BNMOIKFJFAJ_ChangeHpDebtsNone", + Bnmoikfjfaj::ChangeHpDebtsPay => "BNMOIKFJFAJ_ChangeHpDebtsPay", + Bnmoikfjfaj::ChangeHpDebtsPayFinish => "BNMOIKFJFAJ_ChangeHpDebtsPayFinish", + Bnmoikfjfaj::ChangeHpDebtsClear => "BNMOIKFJFAJ_ChangeHpDebtsClear", + Bnmoikfjfaj::ChangeHpDebtsReduceAbility => { + "BNMOIKFJFAJ_ChangeHpDebtsReduceAbility" + } + Bnmoikfjfaj::ChangeHpDebtsAddAbility => "BNMOIKFJFAJ_ChangeHpDebtsAddAbility", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "BNMOIKFJFAJ_ChangeHpDebtsNone" => Some(Self::ChangeHpDebtsNone), + "BNMOIKFJFAJ_ChangeHpDebtsPay" => Some(Self::ChangeHpDebtsPay), + "BNMOIKFJFAJ_ChangeHpDebtsPayFinish" => Some(Self::ChangeHpDebtsPayFinish), + "BNMOIKFJFAJ_ChangeHpDebtsClear" => Some(Self::ChangeHpDebtsClear), + "BNMOIKFJFAJ_ChangeHpDebtsReduceAbility" => { + Some(Self::ChangeHpDebtsReduceAbility) + } + "BNMOIKFJFAJ_ChangeHpDebtsAddAbility" => Some(Self::ChangeHpDebtsAddAbility), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Mkkpichlcgl { + DefaultValue = 0, + Mkkpichlcgl1 = 1, + Mkkpichlcgl2 = 2, + Mkkpichlcgl3 = 3, +} +impl Mkkpichlcgl { + /// 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 { + Mkkpichlcgl::DefaultValue => "MKKPICHLCGL_DefaultValue", + Mkkpichlcgl::Mkkpichlcgl1 => "MKKPICHLCGL__1", + Mkkpichlcgl::Mkkpichlcgl2 => "MKKPICHLCGL__2", + Mkkpichlcgl::Mkkpichlcgl3 => "MKKPICHLCGL__3", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "MKKPICHLCGL_DefaultValue" => Some(Self::DefaultValue), + "MKKPICHLCGL__1" => Some(Self::Mkkpichlcgl1), + "MKKPICHLCGL__2" => Some(Self::Mkkpichlcgl2), + "MKKPICHLCGL__3" => Some(Self::Mkkpichlcgl3), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum ProtEntityType { + ProtEntityNone = 0, + ProtEntityAvatar = 1, + ProtEntityMonster = 2, + ProtEntityNpc = 3, + ProtEntityGadget = 4, + ProtEntityRegion = 5, + ProtEntityWeapon = 6, + ProtEntityWeather = 7, + ProtEntityScene = 8, + ProtEntityTeam = 9, + ProtEntityMpLevel = 11, + ProtEntityPlayTeamEntity = 12, + ProtEntityEyePoint = 13, + ProtEntityMax = 14, +} +impl ProtEntityType { + /// 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 { + ProtEntityType::ProtEntityNone => "ProtEntityType_ProtEntityNone", + ProtEntityType::ProtEntityAvatar => "ProtEntityType_ProtEntityAvatar", + ProtEntityType::ProtEntityMonster => "ProtEntityType_ProtEntityMonster", + ProtEntityType::ProtEntityNpc => "ProtEntityType_ProtEntityNpc", + ProtEntityType::ProtEntityGadget => "ProtEntityType_ProtEntityGadget", + ProtEntityType::ProtEntityRegion => "ProtEntityType_ProtEntityRegion", + ProtEntityType::ProtEntityWeapon => "ProtEntityType_ProtEntityWeapon", + ProtEntityType::ProtEntityWeather => "ProtEntityType_ProtEntityWeather", + ProtEntityType::ProtEntityScene => "ProtEntityType_ProtEntityScene", + ProtEntityType::ProtEntityTeam => "ProtEntityType_ProtEntityTeam", + ProtEntityType::ProtEntityMpLevel => "ProtEntityType_ProtEntityMpLevel", + ProtEntityType::ProtEntityPlayTeamEntity => { + "ProtEntityType_ProtEntityPlayTeamEntity" + } + ProtEntityType::ProtEntityEyePoint => "ProtEntityType_ProtEntityEyePoint", + ProtEntityType::ProtEntityMax => "ProtEntityType_ProtEntityMax", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "ProtEntityType_ProtEntityNone" => Some(Self::ProtEntityNone), + "ProtEntityType_ProtEntityAvatar" => Some(Self::ProtEntityAvatar), + "ProtEntityType_ProtEntityMonster" => Some(Self::ProtEntityMonster), + "ProtEntityType_ProtEntityNpc" => Some(Self::ProtEntityNpc), + "ProtEntityType_ProtEntityGadget" => Some(Self::ProtEntityGadget), + "ProtEntityType_ProtEntityRegion" => Some(Self::ProtEntityRegion), + "ProtEntityType_ProtEntityWeapon" => Some(Self::ProtEntityWeapon), + "ProtEntityType_ProtEntityWeather" => Some(Self::ProtEntityWeather), + "ProtEntityType_ProtEntityScene" => Some(Self::ProtEntityScene), + "ProtEntityType_ProtEntityTeam" => Some(Self::ProtEntityTeam), + "ProtEntityType_ProtEntityMpLevel" => Some(Self::ProtEntityMpLevel), + "ProtEntityType_ProtEntityPlayTeamEntity" => { + Some(Self::ProtEntityPlayTeamEntity) + } + "ProtEntityType_ProtEntityEyePoint" => Some(Self::ProtEntityEyePoint), + "ProtEntityType_ProtEntityMax" => Some(Self::ProtEntityMax), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Jhhbgbphnkf { + EventTriggerNone = 0, + EventTriggerEnterForce = 1, +} +impl Jhhbgbphnkf { + /// 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 { + Jhhbgbphnkf::EventTriggerNone => "JHHBGBPHNKF_EventTriggerNone", + Jhhbgbphnkf::EventTriggerEnterForce => "JHHBGBPHNKF_EventTriggerEnterForce", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "JHHBGBPHNKF_EventTriggerNone" => Some(Self::EventTriggerNone), + "JHHBGBPHNKF_EventTriggerEnterForce" => Some(Self::EventTriggerEnterForce), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Nkkeodoboej { + AbilityNone = 0, + AbilityMetaModifierChange = 1, + AbilityMetaCommandModifierChangeRequest = 2, + AbilityMetaSpecialFloatArgument = 3, + AbilityMetaOverrideParam = 4, + AbilityMetaClearOverrideParam = 5, + AbilityMetaReinitOverridemap = 6, + AbilityMetaGlobalFloatValue = 7, + AbilityMetaClearGlobalFloatValue = 8, + AbilityMetaAbilityElementStrength = 9, + AbilityMetaAddOrGetAbilityAndTrigger = 10, + AbilityMetaSetKilledSetate = 11, + AbilityMetaSetAbilityTrigger = 12, + AbilityMetaAddNewAbility = 13, + AbilityMetaRemoveAbility = 14, + AbilityMetaSetModifierApplyEntity = 15, + AbilityMetaModifierDurabilityChange = 16, + AbilityMetaElementReactionVisual = 17, + AbilityMetaSetPoseParameter = 18, + AbilityMetaUpdateBaseReactionDamage = 19, + AbilityMetaTriggerElementReaction = 20, + AbilityMetaLoseHp = 21, + AbilityMetaDurabilityIsZero = 22, + AbilityMetaTriggerArkheReaction = 23, + AbilityMetaChangeNyxValue = 24, + AbilityActionTriggerAbility = 50, + AbilityActionSetCrashDamage = 51, + AbilityActionEffect = 52, + AbilityActionSummon = 53, + AbilityActionBlink = 54, + AbilityActionCreateGadget = 55, + AbilityActionApplyLevelModifier = 56, + AbilityActionGenerateElemBall = 57, + AbilityActionSetRandomOverrideMapValue = 58, + AbilityActionServerMonsterLog = 59, + AbilityActionCreateTile = 60, + AbilityActionDestroyTile = 61, + AbilityActionFireAfterImage = 62, + AbilityActionDeductStamina = 63, + AbilityActionHitEffect = 64, + AbilityActionSetBulletTrackTarget = 65, + AbilityActionFireworkEffect = 66, + AbilityActionLevelBankAddStuff = 67, + AbilityActionGetMaterialParamFloat = 68, + AbilityActionGetMaterialParamVector = 69, + AbilityActionSpectacleBuildRecreateGadget = 70, + AbilityMixinAvatarSteerByCamera = 100, + AbilityMixinMonsterDefend = 101, + AbilityMixinWindZone = 102, + AbilityMixinCostStamina = 103, + AbilityMixinEliteShield = 104, + AbilityMixinElementShield = 105, + AbilityMixinGlobalShield = 106, + AbilityMixinShieldBar = 107, + AbilityMixinWindSeedSpawner = 108, + AbilityMixinDoActionByElementReaction = 109, + AbilityMixinFieldEntityCountChange = 110, + AbilityMixinScenePropSync = 111, + AbilityMixinWidgetMpSupport = 112, + AbilityMixinDoActionBySelfModifierElementDurabilityRatio = 113, + AbilityMixinFireworksLauncher = 114, + AbilityMixinAttackResultCreateCount = 115, + AbilityMixinUgcTimeControl = 116, + AbilityMixinAvatarCombat = 117, + AbilityMixinDeathZoneRegionalPlayMixin = 118, + AbilityMixinUiInteract = 119, + AbilityMixinShootFromCamera = 120, + AbilityMixinEraseBrickActivity = 121, + AbilityMixinBreakout = 122, + AbilityMixinDamageLoan = 123, + AbilityMixinBroadcastGv = 124, + AbilityMixinReceiveGv = 125, + AbilityMixinRaycastSelectTarget = 126, + AbilityMixinEnergyCrystalTarget = 127, + AbilityMixinRotationFollowCamera = 128, + AbilityMixinBuoyantForce = 129, + AbilityMixinFilmfestBallGame = 130, + AbilityMixinCheckScanEntity = 131, + AbilityMixinTimeTrackPlayer = 133, + AbilityMixinPartFollow = 134, + AbilityMixinChangePhlogiston = 135, + AbilityMixinHumanDragonCollabPickPhlogistonBall = 136, + AbilityMixinFrequencyShieldBar = 137, +} +impl Nkkeodoboej { + /// 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 { + Nkkeodoboej::AbilityNone => "NKKEODOBOEJ_AbilityNone", + Nkkeodoboej::AbilityMetaModifierChange => { + "NKKEODOBOEJ_AbilityMetaModifierChange" + } + Nkkeodoboej::AbilityMetaCommandModifierChangeRequest => { + "NKKEODOBOEJ_AbilityMetaCommandModifierChangeRequest" + } + Nkkeodoboej::AbilityMetaSpecialFloatArgument => { + "NKKEODOBOEJ_AbilityMetaSpecialFloatArgument" + } + Nkkeodoboej::AbilityMetaOverrideParam => { + "NKKEODOBOEJ_AbilityMetaOverrideParam" + } + Nkkeodoboej::AbilityMetaClearOverrideParam => { + "NKKEODOBOEJ_AbilityMetaClearOverrideParam" + } + Nkkeodoboej::AbilityMetaReinitOverridemap => { + "NKKEODOBOEJ_AbilityMetaReinitOverridemap" + } + Nkkeodoboej::AbilityMetaGlobalFloatValue => { + "NKKEODOBOEJ_AbilityMetaGlobalFloatValue" + } + Nkkeodoboej::AbilityMetaClearGlobalFloatValue => { + "NKKEODOBOEJ_AbilityMetaClearGlobalFloatValue" + } + Nkkeodoboej::AbilityMetaAbilityElementStrength => { + "NKKEODOBOEJ_AbilityMetaAbilityElementStrength" + } + Nkkeodoboej::AbilityMetaAddOrGetAbilityAndTrigger => { + "NKKEODOBOEJ_AbilityMetaAddOrGetAbilityAndTrigger" + } + Nkkeodoboej::AbilityMetaSetKilledSetate => { + "NKKEODOBOEJ_AbilityMetaSetKilledSetate" + } + Nkkeodoboej::AbilityMetaSetAbilityTrigger => { + "NKKEODOBOEJ_AbilityMetaSetAbilityTrigger" + } + Nkkeodoboej::AbilityMetaAddNewAbility => { + "NKKEODOBOEJ_AbilityMetaAddNewAbility" + } + Nkkeodoboej::AbilityMetaRemoveAbility => { + "NKKEODOBOEJ_AbilityMetaRemoveAbility" + } + Nkkeodoboej::AbilityMetaSetModifierApplyEntity => { + "NKKEODOBOEJ_AbilityMetaSetModifierApplyEntity" + } + Nkkeodoboej::AbilityMetaModifierDurabilityChange => { + "NKKEODOBOEJ_AbilityMetaModifierDurabilityChange" + } + Nkkeodoboej::AbilityMetaElementReactionVisual => { + "NKKEODOBOEJ_AbilityMetaElementReactionVisual" + } + Nkkeodoboej::AbilityMetaSetPoseParameter => { + "NKKEODOBOEJ_AbilityMetaSetPoseParameter" + } + Nkkeodoboej::AbilityMetaUpdateBaseReactionDamage => { + "NKKEODOBOEJ_AbilityMetaUpdateBaseReactionDamage" + } + Nkkeodoboej::AbilityMetaTriggerElementReaction => { + "NKKEODOBOEJ_AbilityMetaTriggerElementReaction" + } + Nkkeodoboej::AbilityMetaLoseHp => "NKKEODOBOEJ_AbilityMetaLoseHp", + Nkkeodoboej::AbilityMetaDurabilityIsZero => { + "NKKEODOBOEJ_AbilityMetaDurabilityIsZero" + } + Nkkeodoboej::AbilityMetaTriggerArkheReaction => { + "NKKEODOBOEJ_AbilityMetaTriggerArkheReaction" + } + Nkkeodoboej::AbilityMetaChangeNyxValue => { + "NKKEODOBOEJ_AbilityMetaChangeNyxValue" + } + Nkkeodoboej::AbilityActionTriggerAbility => { + "NKKEODOBOEJ_AbilityActionTriggerAbility" + } + Nkkeodoboej::AbilityActionSetCrashDamage => { + "NKKEODOBOEJ_AbilityActionSetCrashDamage" + } + Nkkeodoboej::AbilityActionEffect => "NKKEODOBOEJ_AbilityActionEffect", + Nkkeodoboej::AbilityActionSummon => "NKKEODOBOEJ_AbilityActionSummon", + Nkkeodoboej::AbilityActionBlink => "NKKEODOBOEJ_AbilityActionBlink", + Nkkeodoboej::AbilityActionCreateGadget => { + "NKKEODOBOEJ_AbilityActionCreateGadget" + } + Nkkeodoboej::AbilityActionApplyLevelModifier => { + "NKKEODOBOEJ_AbilityActionApplyLevelModifier" + } + Nkkeodoboej::AbilityActionGenerateElemBall => { + "NKKEODOBOEJ_AbilityActionGenerateElemBall" + } + Nkkeodoboej::AbilityActionSetRandomOverrideMapValue => { + "NKKEODOBOEJ_AbilityActionSetRandomOverrideMapValue" + } + Nkkeodoboej::AbilityActionServerMonsterLog => { + "NKKEODOBOEJ_AbilityActionServerMonsterLog" + } + Nkkeodoboej::AbilityActionCreateTile => "NKKEODOBOEJ_AbilityActionCreateTile", + Nkkeodoboej::AbilityActionDestroyTile => { + "NKKEODOBOEJ_AbilityActionDestroyTile" + } + Nkkeodoboej::AbilityActionFireAfterImage => { + "NKKEODOBOEJ_AbilityActionFireAfterImage" + } + Nkkeodoboej::AbilityActionDeductStamina => { + "NKKEODOBOEJ_AbilityActionDeductStamina" + } + Nkkeodoboej::AbilityActionHitEffect => "NKKEODOBOEJ_AbilityActionHitEffect", + Nkkeodoboej::AbilityActionSetBulletTrackTarget => { + "NKKEODOBOEJ_AbilityActionSetBulletTrackTarget" + } + Nkkeodoboej::AbilityActionFireworkEffect => { + "NKKEODOBOEJ_AbilityActionFireworkEffect" + } + Nkkeodoboej::AbilityActionLevelBankAddStuff => { + "NKKEODOBOEJ_AbilityActionLevelBankAddStuff" + } + Nkkeodoboej::AbilityActionGetMaterialParamFloat => { + "NKKEODOBOEJ_AbilityActionGetMaterialParamFloat" + } + Nkkeodoboej::AbilityActionGetMaterialParamVector => { + "NKKEODOBOEJ_AbilityActionGetMaterialParamVector" + } + Nkkeodoboej::AbilityActionSpectacleBuildRecreateGadget => { + "NKKEODOBOEJ_AbilityActionSpectacleBuildRecreateGadget" + } + Nkkeodoboej::AbilityMixinAvatarSteerByCamera => { + "NKKEODOBOEJ_AbilityMixinAvatarSteerByCamera" + } + Nkkeodoboej::AbilityMixinMonsterDefend => { + "NKKEODOBOEJ_AbilityMixinMonsterDefend" + } + Nkkeodoboej::AbilityMixinWindZone => "NKKEODOBOEJ_AbilityMixinWindZone", + Nkkeodoboej::AbilityMixinCostStamina => "NKKEODOBOEJ_AbilityMixinCostStamina", + Nkkeodoboej::AbilityMixinEliteShield => "NKKEODOBOEJ_AbilityMixinEliteShield", + Nkkeodoboej::AbilityMixinElementShield => { + "NKKEODOBOEJ_AbilityMixinElementShield" + } + Nkkeodoboej::AbilityMixinGlobalShield => { + "NKKEODOBOEJ_AbilityMixinGlobalShield" + } + Nkkeodoboej::AbilityMixinShieldBar => "NKKEODOBOEJ_AbilityMixinShieldBar", + Nkkeodoboej::AbilityMixinWindSeedSpawner => { + "NKKEODOBOEJ_AbilityMixinWindSeedSpawner" + } + Nkkeodoboej::AbilityMixinDoActionByElementReaction => { + "NKKEODOBOEJ_AbilityMixinDoActionByElementReaction" + } + Nkkeodoboej::AbilityMixinFieldEntityCountChange => { + "NKKEODOBOEJ_AbilityMixinFieldEntityCountChange" + } + Nkkeodoboej::AbilityMixinScenePropSync => { + "NKKEODOBOEJ_AbilityMixinScenePropSync" + } + Nkkeodoboej::AbilityMixinWidgetMpSupport => { + "NKKEODOBOEJ_AbilityMixinWidgetMpSupport" + } + Nkkeodoboej::AbilityMixinDoActionBySelfModifierElementDurabilityRatio => { + "NKKEODOBOEJ_AbilityMixinDoActionBySelfModifierElementDurabilityRatio" + } + Nkkeodoboej::AbilityMixinFireworksLauncher => { + "NKKEODOBOEJ_AbilityMixinFireworksLauncher" + } + Nkkeodoboej::AbilityMixinAttackResultCreateCount => { + "NKKEODOBOEJ_AbilityMixinAttackResultCreateCount" + } + Nkkeodoboej::AbilityMixinUgcTimeControl => { + "NKKEODOBOEJ_AbilityMixinUgcTimeControl" + } + Nkkeodoboej::AbilityMixinAvatarCombat => { + "NKKEODOBOEJ_AbilityMixinAvatarCombat" + } + Nkkeodoboej::AbilityMixinDeathZoneRegionalPlayMixin => { + "NKKEODOBOEJ_AbilityMixinDeathZoneRegionalPlayMixin" + } + Nkkeodoboej::AbilityMixinUiInteract => "NKKEODOBOEJ_AbilityMixinUiInteract", + Nkkeodoboej::AbilityMixinShootFromCamera => { + "NKKEODOBOEJ_AbilityMixinShootFromCamera" + } + Nkkeodoboej::AbilityMixinEraseBrickActivity => { + "NKKEODOBOEJ_AbilityMixinEraseBrickActivity" + } + Nkkeodoboej::AbilityMixinBreakout => "NKKEODOBOEJ_AbilityMixinBreakout", + Nkkeodoboej::AbilityMixinDamageLoan => "NKKEODOBOEJ_AbilityMixinDamageLoan", + Nkkeodoboej::AbilityMixinBroadcastGv => "NKKEODOBOEJ_AbilityMixinBroadcastGv", + Nkkeodoboej::AbilityMixinReceiveGv => "NKKEODOBOEJ_AbilityMixinReceiveGv", + Nkkeodoboej::AbilityMixinRaycastSelectTarget => { + "NKKEODOBOEJ_AbilityMixinRaycastSelectTarget" + } + Nkkeodoboej::AbilityMixinEnergyCrystalTarget => { + "NKKEODOBOEJ_AbilityMixinEnergyCrystalTarget" + } + Nkkeodoboej::AbilityMixinRotationFollowCamera => { + "NKKEODOBOEJ_AbilityMixinRotationFollowCamera" + } + Nkkeodoboej::AbilityMixinBuoyantForce => { + "NKKEODOBOEJ_AbilityMixinBuoyantForce" + } + Nkkeodoboej::AbilityMixinFilmfestBallGame => { + "NKKEODOBOEJ_AbilityMixinFilmfestBallGame" + } + Nkkeodoboej::AbilityMixinCheckScanEntity => { + "NKKEODOBOEJ_AbilityMixinCheckScanEntity" + } + Nkkeodoboej::AbilityMixinTimeTrackPlayer => { + "NKKEODOBOEJ_AbilityMixinTimeTrackPlayer" + } + Nkkeodoboej::AbilityMixinPartFollow => "NKKEODOBOEJ_AbilityMixinPartFollow", + Nkkeodoboej::AbilityMixinChangePhlogiston => { + "NKKEODOBOEJ_AbilityMixinChangePhlogiston" + } + Nkkeodoboej::AbilityMixinHumanDragonCollabPickPhlogistonBall => { + "NKKEODOBOEJ_AbilityMixinHumanDragonCollabPickPhlogistonBall" + } + Nkkeodoboej::AbilityMixinFrequencyShieldBar => { + "NKKEODOBOEJ_AbilityMixinFrequencyShieldBar" + } + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "NKKEODOBOEJ_AbilityNone" => Some(Self::AbilityNone), + "NKKEODOBOEJ_AbilityMetaModifierChange" => { + Some(Self::AbilityMetaModifierChange) + } + "NKKEODOBOEJ_AbilityMetaCommandModifierChangeRequest" => { + Some(Self::AbilityMetaCommandModifierChangeRequest) + } + "NKKEODOBOEJ_AbilityMetaSpecialFloatArgument" => { + Some(Self::AbilityMetaSpecialFloatArgument) + } + "NKKEODOBOEJ_AbilityMetaOverrideParam" => { + Some(Self::AbilityMetaOverrideParam) + } + "NKKEODOBOEJ_AbilityMetaClearOverrideParam" => { + Some(Self::AbilityMetaClearOverrideParam) + } + "NKKEODOBOEJ_AbilityMetaReinitOverridemap" => { + Some(Self::AbilityMetaReinitOverridemap) + } + "NKKEODOBOEJ_AbilityMetaGlobalFloatValue" => { + Some(Self::AbilityMetaGlobalFloatValue) + } + "NKKEODOBOEJ_AbilityMetaClearGlobalFloatValue" => { + Some(Self::AbilityMetaClearGlobalFloatValue) + } + "NKKEODOBOEJ_AbilityMetaAbilityElementStrength" => { + Some(Self::AbilityMetaAbilityElementStrength) + } + "NKKEODOBOEJ_AbilityMetaAddOrGetAbilityAndTrigger" => { + Some(Self::AbilityMetaAddOrGetAbilityAndTrigger) + } + "NKKEODOBOEJ_AbilityMetaSetKilledSetate" => { + Some(Self::AbilityMetaSetKilledSetate) + } + "NKKEODOBOEJ_AbilityMetaSetAbilityTrigger" => { + Some(Self::AbilityMetaSetAbilityTrigger) + } + "NKKEODOBOEJ_AbilityMetaAddNewAbility" => { + Some(Self::AbilityMetaAddNewAbility) + } + "NKKEODOBOEJ_AbilityMetaRemoveAbility" => { + Some(Self::AbilityMetaRemoveAbility) + } + "NKKEODOBOEJ_AbilityMetaSetModifierApplyEntity" => { + Some(Self::AbilityMetaSetModifierApplyEntity) + } + "NKKEODOBOEJ_AbilityMetaModifierDurabilityChange" => { + Some(Self::AbilityMetaModifierDurabilityChange) + } + "NKKEODOBOEJ_AbilityMetaElementReactionVisual" => { + Some(Self::AbilityMetaElementReactionVisual) + } + "NKKEODOBOEJ_AbilityMetaSetPoseParameter" => { + Some(Self::AbilityMetaSetPoseParameter) + } + "NKKEODOBOEJ_AbilityMetaUpdateBaseReactionDamage" => { + Some(Self::AbilityMetaUpdateBaseReactionDamage) + } + "NKKEODOBOEJ_AbilityMetaTriggerElementReaction" => { + Some(Self::AbilityMetaTriggerElementReaction) + } + "NKKEODOBOEJ_AbilityMetaLoseHp" => Some(Self::AbilityMetaLoseHp), + "NKKEODOBOEJ_AbilityMetaDurabilityIsZero" => { + Some(Self::AbilityMetaDurabilityIsZero) + } + "NKKEODOBOEJ_AbilityMetaTriggerArkheReaction" => { + Some(Self::AbilityMetaTriggerArkheReaction) + } + "NKKEODOBOEJ_AbilityMetaChangeNyxValue" => { + Some(Self::AbilityMetaChangeNyxValue) + } + "NKKEODOBOEJ_AbilityActionTriggerAbility" => { + Some(Self::AbilityActionTriggerAbility) + } + "NKKEODOBOEJ_AbilityActionSetCrashDamage" => { + Some(Self::AbilityActionSetCrashDamage) + } + "NKKEODOBOEJ_AbilityActionEffect" => Some(Self::AbilityActionEffect), + "NKKEODOBOEJ_AbilityActionSummon" => Some(Self::AbilityActionSummon), + "NKKEODOBOEJ_AbilityActionBlink" => Some(Self::AbilityActionBlink), + "NKKEODOBOEJ_AbilityActionCreateGadget" => { + Some(Self::AbilityActionCreateGadget) + } + "NKKEODOBOEJ_AbilityActionApplyLevelModifier" => { + Some(Self::AbilityActionApplyLevelModifier) + } + "NKKEODOBOEJ_AbilityActionGenerateElemBall" => { + Some(Self::AbilityActionGenerateElemBall) + } + "NKKEODOBOEJ_AbilityActionSetRandomOverrideMapValue" => { + Some(Self::AbilityActionSetRandomOverrideMapValue) + } + "NKKEODOBOEJ_AbilityActionServerMonsterLog" => { + Some(Self::AbilityActionServerMonsterLog) + } + "NKKEODOBOEJ_AbilityActionCreateTile" => Some(Self::AbilityActionCreateTile), + "NKKEODOBOEJ_AbilityActionDestroyTile" => { + Some(Self::AbilityActionDestroyTile) + } + "NKKEODOBOEJ_AbilityActionFireAfterImage" => { + Some(Self::AbilityActionFireAfterImage) + } + "NKKEODOBOEJ_AbilityActionDeductStamina" => { + Some(Self::AbilityActionDeductStamina) + } + "NKKEODOBOEJ_AbilityActionHitEffect" => Some(Self::AbilityActionHitEffect), + "NKKEODOBOEJ_AbilityActionSetBulletTrackTarget" => { + Some(Self::AbilityActionSetBulletTrackTarget) + } + "NKKEODOBOEJ_AbilityActionFireworkEffect" => { + Some(Self::AbilityActionFireworkEffect) + } + "NKKEODOBOEJ_AbilityActionLevelBankAddStuff" => { + Some(Self::AbilityActionLevelBankAddStuff) + } + "NKKEODOBOEJ_AbilityActionGetMaterialParamFloat" => { + Some(Self::AbilityActionGetMaterialParamFloat) + } + "NKKEODOBOEJ_AbilityActionGetMaterialParamVector" => { + Some(Self::AbilityActionGetMaterialParamVector) + } + "NKKEODOBOEJ_AbilityActionSpectacleBuildRecreateGadget" => { + Some(Self::AbilityActionSpectacleBuildRecreateGadget) + } + "NKKEODOBOEJ_AbilityMixinAvatarSteerByCamera" => { + Some(Self::AbilityMixinAvatarSteerByCamera) + } + "NKKEODOBOEJ_AbilityMixinMonsterDefend" => { + Some(Self::AbilityMixinMonsterDefend) + } + "NKKEODOBOEJ_AbilityMixinWindZone" => Some(Self::AbilityMixinWindZone), + "NKKEODOBOEJ_AbilityMixinCostStamina" => Some(Self::AbilityMixinCostStamina), + "NKKEODOBOEJ_AbilityMixinEliteShield" => Some(Self::AbilityMixinEliteShield), + "NKKEODOBOEJ_AbilityMixinElementShield" => { + Some(Self::AbilityMixinElementShield) + } + "NKKEODOBOEJ_AbilityMixinGlobalShield" => { + Some(Self::AbilityMixinGlobalShield) + } + "NKKEODOBOEJ_AbilityMixinShieldBar" => Some(Self::AbilityMixinShieldBar), + "NKKEODOBOEJ_AbilityMixinWindSeedSpawner" => { + Some(Self::AbilityMixinWindSeedSpawner) + } + "NKKEODOBOEJ_AbilityMixinDoActionByElementReaction" => { + Some(Self::AbilityMixinDoActionByElementReaction) + } + "NKKEODOBOEJ_AbilityMixinFieldEntityCountChange" => { + Some(Self::AbilityMixinFieldEntityCountChange) + } + "NKKEODOBOEJ_AbilityMixinScenePropSync" => { + Some(Self::AbilityMixinScenePropSync) + } + "NKKEODOBOEJ_AbilityMixinWidgetMpSupport" => { + Some(Self::AbilityMixinWidgetMpSupport) + } + "NKKEODOBOEJ_AbilityMixinDoActionBySelfModifierElementDurabilityRatio" => { + Some(Self::AbilityMixinDoActionBySelfModifierElementDurabilityRatio) + } + "NKKEODOBOEJ_AbilityMixinFireworksLauncher" => { + Some(Self::AbilityMixinFireworksLauncher) + } + "NKKEODOBOEJ_AbilityMixinAttackResultCreateCount" => { + Some(Self::AbilityMixinAttackResultCreateCount) + } + "NKKEODOBOEJ_AbilityMixinUgcTimeControl" => { + Some(Self::AbilityMixinUgcTimeControl) + } + "NKKEODOBOEJ_AbilityMixinAvatarCombat" => { + Some(Self::AbilityMixinAvatarCombat) + } + "NKKEODOBOEJ_AbilityMixinDeathZoneRegionalPlayMixin" => { + Some(Self::AbilityMixinDeathZoneRegionalPlayMixin) + } + "NKKEODOBOEJ_AbilityMixinUiInteract" => Some(Self::AbilityMixinUiInteract), + "NKKEODOBOEJ_AbilityMixinShootFromCamera" => { + Some(Self::AbilityMixinShootFromCamera) + } + "NKKEODOBOEJ_AbilityMixinEraseBrickActivity" => { + Some(Self::AbilityMixinEraseBrickActivity) + } + "NKKEODOBOEJ_AbilityMixinBreakout" => Some(Self::AbilityMixinBreakout), + "NKKEODOBOEJ_AbilityMixinDamageLoan" => Some(Self::AbilityMixinDamageLoan), + "NKKEODOBOEJ_AbilityMixinBroadcastGv" => Some(Self::AbilityMixinBroadcastGv), + "NKKEODOBOEJ_AbilityMixinReceiveGv" => Some(Self::AbilityMixinReceiveGv), + "NKKEODOBOEJ_AbilityMixinRaycastSelectTarget" => { + Some(Self::AbilityMixinRaycastSelectTarget) + } + "NKKEODOBOEJ_AbilityMixinEnergyCrystalTarget" => { + Some(Self::AbilityMixinEnergyCrystalTarget) + } + "NKKEODOBOEJ_AbilityMixinRotationFollowCamera" => { + Some(Self::AbilityMixinRotationFollowCamera) + } + "NKKEODOBOEJ_AbilityMixinBuoyantForce" => { + Some(Self::AbilityMixinBuoyantForce) + } + "NKKEODOBOEJ_AbilityMixinFilmfestBallGame" => { + Some(Self::AbilityMixinFilmfestBallGame) + } + "NKKEODOBOEJ_AbilityMixinCheckScanEntity" => { + Some(Self::AbilityMixinCheckScanEntity) + } + "NKKEODOBOEJ_AbilityMixinTimeTrackPlayer" => { + Some(Self::AbilityMixinTimeTrackPlayer) + } + "NKKEODOBOEJ_AbilityMixinPartFollow" => Some(Self::AbilityMixinPartFollow), + "NKKEODOBOEJ_AbilityMixinChangePhlogiston" => { + Some(Self::AbilityMixinChangePhlogiston) + } + "NKKEODOBOEJ_AbilityMixinHumanDragonCollabPickPhlogistonBall" => { + Some(Self::AbilityMixinHumanDragonCollabPickPhlogistonBall) + } + "NKKEODOBOEJ_AbilityMixinFrequencyShieldBar" => { + Some(Self::AbilityMixinFrequencyShieldBar) + } + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Meeeclkccmd { + OpNone = 0, + OpActivate = 1, + OpDeactivate = 2, +} +impl Meeeclkccmd { + /// 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 { + Meeeclkccmd::OpNone => "MEEECLKCCMD_OpNone", + Meeeclkccmd::OpActivate => "MEEECLKCCMD_OpActivate", + Meeeclkccmd::OpDeactivate => "MEEECLKCCMD_OpDeactivate", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "MEEECLKCCMD_OpNone" => Some(Self::OpNone), + "MEEECLKCCMD_OpActivate" => Some(Self::OpActivate), + "MEEECLKCCMD_OpDeactivate" => Some(Self::OpDeactivate), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Hgolgnfbdhm { + Edit = 0, + SelfPass = 1, + Published = 2, +} +impl Hgolgnfbdhm { + /// 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 { + Hgolgnfbdhm::Edit => "HGOLGNFBDHM_Edit", + Hgolgnfbdhm::SelfPass => "HGOLGNFBDHM_SelfPass", + Hgolgnfbdhm::Published => "HGOLGNFBDHM_Published", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "HGOLGNFBDHM_Edit" => Some(Self::Edit), + "HGOLGNFBDHM_SelfPass" => Some(Self::SelfPass), + "HGOLGNFBDHM_Published" => Some(Self::Published), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Nlkamgeknni { + StatusFail = 0, + StatusSucc = 1, + StatusPartial = 2, +} +impl Nlkamgeknni { + /// 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 { + Nlkamgeknni::StatusFail => "NLKAMGEKNNI_StatusFail", + Nlkamgeknni::StatusSucc => "NLKAMGEKNNI_StatusSucc", + Nlkamgeknni::StatusPartial => "NLKAMGEKNNI_StatusPartial", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "NLKAMGEKNNI_StatusFail" => Some(Self::StatusFail), + "NLKAMGEKNNI_StatusSucc" => Some(Self::StatusSucc), + "NLKAMGEKNNI_StatusPartial" => Some(Self::StatusPartial), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Meldmegflld { + GcgActionNone = 0, + GcgActionSpecialPhase = 1, + GcgActionNextPhase = 2, + GcgActionDraw = 3, + GcgActionRedraw = 4, + GcgActionSelectOnstage = 5, + GcgActionRoll = 6, + GcgActionReroll = 7, + GcgActionAttack = 8, + GcgActionPlayCard = 9, + GcgActionPass = 10, + GcgActionReboot = 11, + GcgActionGameOver = 12, + GcgActionTrigger = 13, + GcgActionPhaseExit = 14, + GcgActionCustom = 15, + GcgActionNotifyCost = 16, + GcgActionAfterOperation = 17, + GcgActionUseSkill = 18, + GcgActionNotifySkillPreview = 19, + GcgActionPreviewAttack = 20, + GcgActionPreviewAfterAttack = 21, + GcgActionSendMessage = 22, + GcgActionWaitingCharacter = 23, + GcgActionTriggerSkill = 24, + GcgActionBeforeNextOperation = 25, + GcgActionRemoveCharacterCard = 26, + GcgActionOnstageCheck = 27, + GcgActionRecordBeforeOperationDiceNum = 28, + GcgActionCreateAutoOperation = 29, + GcgActionStartControllerTimer = 30, + GcgActionUseVehicleSkill = 31, + GcgActionPreviewUseVehicleSkill = 32, +} +impl Meldmegflld { + /// 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 { + Meldmegflld::GcgActionNone => "MELDMEGFLLD_GcgActionNone", + Meldmegflld::GcgActionSpecialPhase => "MELDMEGFLLD_GcgActionSpecialPhase", + Meldmegflld::GcgActionNextPhase => "MELDMEGFLLD_GcgActionNextPhase", + Meldmegflld::GcgActionDraw => "MELDMEGFLLD_GcgActionDraw", + Meldmegflld::GcgActionRedraw => "MELDMEGFLLD_GcgActionRedraw", + Meldmegflld::GcgActionSelectOnstage => "MELDMEGFLLD_GcgActionSelectOnstage", + Meldmegflld::GcgActionRoll => "MELDMEGFLLD_GcgActionRoll", + Meldmegflld::GcgActionReroll => "MELDMEGFLLD_GcgActionReroll", + Meldmegflld::GcgActionAttack => "MELDMEGFLLD_GcgActionAttack", + Meldmegflld::GcgActionPlayCard => "MELDMEGFLLD_GcgActionPlayCard", + Meldmegflld::GcgActionPass => "MELDMEGFLLD_GcgActionPass", + Meldmegflld::GcgActionReboot => "MELDMEGFLLD_GcgActionReboot", + Meldmegflld::GcgActionGameOver => "MELDMEGFLLD_GcgActionGameOver", + Meldmegflld::GcgActionTrigger => "MELDMEGFLLD_GcgActionTrigger", + Meldmegflld::GcgActionPhaseExit => "MELDMEGFLLD_GcgActionPhaseExit", + Meldmegflld::GcgActionCustom => "MELDMEGFLLD_GcgActionCustom", + Meldmegflld::GcgActionNotifyCost => "MELDMEGFLLD_GcgActionNotifyCost", + Meldmegflld::GcgActionAfterOperation => "MELDMEGFLLD_GcgActionAfterOperation", + Meldmegflld::GcgActionUseSkill => "MELDMEGFLLD_GcgActionUseSkill", + Meldmegflld::GcgActionNotifySkillPreview => { + "MELDMEGFLLD_GcgActionNotifySkillPreview" + } + Meldmegflld::GcgActionPreviewAttack => "MELDMEGFLLD_GcgActionPreviewAttack", + Meldmegflld::GcgActionPreviewAfterAttack => { + "MELDMEGFLLD_GcgActionPreviewAfterAttack" + } + Meldmegflld::GcgActionSendMessage => "MELDMEGFLLD_GcgActionSendMessage", + Meldmegflld::GcgActionWaitingCharacter => { + "MELDMEGFLLD_GcgActionWaitingCharacter" + } + Meldmegflld::GcgActionTriggerSkill => "MELDMEGFLLD_GcgActionTriggerSkill", + Meldmegflld::GcgActionBeforeNextOperation => { + "MELDMEGFLLD_GcgActionBeforeNextOperation" + } + Meldmegflld::GcgActionRemoveCharacterCard => { + "MELDMEGFLLD_GcgActionRemoveCharacterCard" + } + Meldmegflld::GcgActionOnstageCheck => "MELDMEGFLLD_GcgActionOnstageCheck", + Meldmegflld::GcgActionRecordBeforeOperationDiceNum => { + "MELDMEGFLLD_GcgActionRecordBeforeOperationDiceNum" + } + Meldmegflld::GcgActionCreateAutoOperation => { + "MELDMEGFLLD_GcgActionCreateAutoOperation" + } + Meldmegflld::GcgActionStartControllerTimer => { + "MELDMEGFLLD_GcgActionStartControllerTimer" + } + Meldmegflld::GcgActionUseVehicleSkill => { + "MELDMEGFLLD_GcgActionUseVehicleSkill" + } + Meldmegflld::GcgActionPreviewUseVehicleSkill => { + "MELDMEGFLLD_GcgActionPreviewUseVehicleSkill" + } + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "MELDMEGFLLD_GcgActionNone" => Some(Self::GcgActionNone), + "MELDMEGFLLD_GcgActionSpecialPhase" => Some(Self::GcgActionSpecialPhase), + "MELDMEGFLLD_GcgActionNextPhase" => Some(Self::GcgActionNextPhase), + "MELDMEGFLLD_GcgActionDraw" => Some(Self::GcgActionDraw), + "MELDMEGFLLD_GcgActionRedraw" => Some(Self::GcgActionRedraw), + "MELDMEGFLLD_GcgActionSelectOnstage" => Some(Self::GcgActionSelectOnstage), + "MELDMEGFLLD_GcgActionRoll" => Some(Self::GcgActionRoll), + "MELDMEGFLLD_GcgActionReroll" => Some(Self::GcgActionReroll), + "MELDMEGFLLD_GcgActionAttack" => Some(Self::GcgActionAttack), + "MELDMEGFLLD_GcgActionPlayCard" => Some(Self::GcgActionPlayCard), + "MELDMEGFLLD_GcgActionPass" => Some(Self::GcgActionPass), + "MELDMEGFLLD_GcgActionReboot" => Some(Self::GcgActionReboot), + "MELDMEGFLLD_GcgActionGameOver" => Some(Self::GcgActionGameOver), + "MELDMEGFLLD_GcgActionTrigger" => Some(Self::GcgActionTrigger), + "MELDMEGFLLD_GcgActionPhaseExit" => Some(Self::GcgActionPhaseExit), + "MELDMEGFLLD_GcgActionCustom" => Some(Self::GcgActionCustom), + "MELDMEGFLLD_GcgActionNotifyCost" => Some(Self::GcgActionNotifyCost), + "MELDMEGFLLD_GcgActionAfterOperation" => Some(Self::GcgActionAfterOperation), + "MELDMEGFLLD_GcgActionUseSkill" => Some(Self::GcgActionUseSkill), + "MELDMEGFLLD_GcgActionNotifySkillPreview" => { + Some(Self::GcgActionNotifySkillPreview) + } + "MELDMEGFLLD_GcgActionPreviewAttack" => Some(Self::GcgActionPreviewAttack), + "MELDMEGFLLD_GcgActionPreviewAfterAttack" => { + Some(Self::GcgActionPreviewAfterAttack) + } + "MELDMEGFLLD_GcgActionSendMessage" => Some(Self::GcgActionSendMessage), + "MELDMEGFLLD_GcgActionWaitingCharacter" => { + Some(Self::GcgActionWaitingCharacter) + } + "MELDMEGFLLD_GcgActionTriggerSkill" => Some(Self::GcgActionTriggerSkill), + "MELDMEGFLLD_GcgActionBeforeNextOperation" => { + Some(Self::GcgActionBeforeNextOperation) + } + "MELDMEGFLLD_GcgActionRemoveCharacterCard" => { + Some(Self::GcgActionRemoveCharacterCard) + } + "MELDMEGFLLD_GcgActionOnstageCheck" => Some(Self::GcgActionOnstageCheck), + "MELDMEGFLLD_GcgActionRecordBeforeOperationDiceNum" => { + Some(Self::GcgActionRecordBeforeOperationDiceNum) + } + "MELDMEGFLLD_GcgActionCreateAutoOperation" => { + Some(Self::GcgActionCreateAutoOperation) + } + "MELDMEGFLLD_GcgActionStartControllerTimer" => { + Some(Self::GcgActionStartControllerTimer) + } + "MELDMEGFLLD_GcgActionUseVehicleSkill" => { + Some(Self::GcgActionUseVehicleSkill) + } + "MELDMEGFLLD_GcgActionPreviewUseVehicleSkill" => { + Some(Self::GcgActionPreviewUseVehicleSkill) + } + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Nhlcoopkjbl { + MailCollectibleUnkonw = 0, + MailNotCollectible = 1, + MailCollectibleUncollected = 2, + MailCollectibleCollected = 3, +} +impl Nhlcoopkjbl { + /// 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 { + Nhlcoopkjbl::MailCollectibleUnkonw => "NHLCOOPKJBL_MailCollectibleUnkonw", + Nhlcoopkjbl::MailNotCollectible => "NHLCOOPKJBL_MailNotCollectible", + Nhlcoopkjbl::MailCollectibleUncollected => { + "NHLCOOPKJBL_MailCollectibleUncollected" + } + Nhlcoopkjbl::MailCollectibleCollected => { + "NHLCOOPKJBL_MailCollectibleCollected" + } + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "NHLCOOPKJBL_MailCollectibleUnkonw" => Some(Self::MailCollectibleUnkonw), + "NHLCOOPKJBL_MailNotCollectible" => Some(Self::MailNotCollectible), + "NHLCOOPKJBL_MailCollectibleUncollected" => { + Some(Self::MailCollectibleUncollected) + } + "NHLCOOPKJBL_MailCollectibleCollected" => { + Some(Self::MailCollectibleCollected) + } + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Jjhggdcjhji { + UgcRecordUsageNone = 0, + UgcRecordUsageImport = 1, + UgcRecordUsagePlay = 2, + UgcRecordUsageTrial = 3, + UgcRecordUsageCompare = 4, +} +impl Jjhggdcjhji { + /// 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 { + Jjhggdcjhji::UgcRecordUsageNone => "JJHGGDCJHJI_UgcRecordUsageNone", + Jjhggdcjhji::UgcRecordUsageImport => "JJHGGDCJHJI_UgcRecordUsageImport", + Jjhggdcjhji::UgcRecordUsagePlay => "JJHGGDCJHJI_UgcRecordUsagePlay", + Jjhggdcjhji::UgcRecordUsageTrial => "JJHGGDCJHJI_UgcRecordUsageTrial", + Jjhggdcjhji::UgcRecordUsageCompare => "JJHGGDCJHJI_UgcRecordUsageCompare", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "JJHGGDCJHJI_UgcRecordUsageNone" => Some(Self::UgcRecordUsageNone), + "JJHGGDCJHJI_UgcRecordUsageImport" => Some(Self::UgcRecordUsageImport), + "JJHGGDCJHJI_UgcRecordUsagePlay" => Some(Self::UgcRecordUsagePlay), + "JJHGGDCJHJI_UgcRecordUsageTrial" => Some(Self::UgcRecordUsageTrial), + "JJHGGDCJHJI_UgcRecordUsageCompare" => Some(Self::UgcRecordUsageCompare), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Elkbkgfhaol { + TypeNone = 0, + TypePack = 1, + TypeEvent = 2, +} +impl Elkbkgfhaol { + /// 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 { + Elkbkgfhaol::TypeNone => "ELKBKGFHAOL_TypeNone", + Elkbkgfhaol::TypePack => "ELKBKGFHAOL_TypePack", + Elkbkgfhaol::TypeEvent => "ELKBKGFHAOL_TypeEvent", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "ELKBKGFHAOL_TypeNone" => Some(Self::TypeNone), + "ELKBKGFHAOL_TypePack" => Some(Self::TypePack), + "ELKBKGFHAOL_TypeEvent" => Some(Self::TypeEvent), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Bheiacalnaf { + Close = 0, + CondNotMeet = 1, + CondMeet = 2, + Accept = 3, +} +impl Bheiacalnaf { + /// 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 { + Bheiacalnaf::Close => "BHEIACALNAF_Close", + Bheiacalnaf::CondNotMeet => "BHEIACALNAF_CondNotMeet", + Bheiacalnaf::CondMeet => "BHEIACALNAF_CondMeet", + Bheiacalnaf::Accept => "BHEIACALNAF_Accept", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "BHEIACALNAF_Close" => Some(Self::Close), + "BHEIACALNAF_CondNotMeet" => Some(Self::CondNotMeet), + "BHEIACALNAF_CondMeet" => Some(Self::CondMeet), + "BHEIACALNAF_Accept" => Some(Self::Accept), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Hmocjieppll { + ActionTypeNone = 0, + ActionTypePlayerMove = 1, +} +impl Hmocjieppll { + /// 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 { + Hmocjieppll::ActionTypeNone => "HMOCJIEPPLL_ActionTypeNone", + Hmocjieppll::ActionTypePlayerMove => "HMOCJIEPPLL_ActionTypePlayerMove", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "HMOCJIEPPLL_ActionTypeNone" => Some(Self::ActionTypeNone), + "HMOCJIEPPLL_ActionTypePlayerMove" => Some(Self::ActionTypePlayerMove), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Gbjfmenjkne { + None = 0, + Fail = 1, + Succ = 2, + Pause = 3, +} +impl Gbjfmenjkne { + /// 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 { + Gbjfmenjkne::None => "GBJFMENJKNE_None", + Gbjfmenjkne::Fail => "GBJFMENJKNE_Fail", + Gbjfmenjkne::Succ => "GBJFMENJKNE_Succ", + Gbjfmenjkne::Pause => "GBJFMENJKNE_Pause", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "GBJFMENJKNE_None" => Some(Self::None), + "GBJFMENJKNE_Fail" => Some(Self::Fail), + "GBJFMENJKNE_Succ" => Some(Self::Succ), + "GBJFMENJKNE_Pause" => Some(Self::Pause), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Bbbemdapogh { + PropChangeNone = 0, + PropChangeStatueRecover = 1, + PropChangeEnergyBall = 2, + PropChangeAbility = 3, + PropChangeLevelup = 4, + PropChangeItem = 5, + PropChangeAvatarCard = 6, + PropChangeCityLevelup = 7, + PropChangeAvatarUpgrade = 8, + PropChangeAvatarPromote = 9, + PropChangePlayerAddExp = 10, + PropChangeFinishQuest = 11, + PropChangeGm = 12, + PropChangeManualAdjustWorldLevel = 13, +} +impl Bbbemdapogh { + /// 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 { + Bbbemdapogh::PropChangeNone => "BBBEMDAPOGH_PropChangeNone", + Bbbemdapogh::PropChangeStatueRecover => "BBBEMDAPOGH_PropChangeStatueRecover", + Bbbemdapogh::PropChangeEnergyBall => "BBBEMDAPOGH_PropChangeEnergyBall", + Bbbemdapogh::PropChangeAbility => "BBBEMDAPOGH_PropChangeAbility", + Bbbemdapogh::PropChangeLevelup => "BBBEMDAPOGH_PropChangeLevelup", + Bbbemdapogh::PropChangeItem => "BBBEMDAPOGH_PropChangeItem", + Bbbemdapogh::PropChangeAvatarCard => "BBBEMDAPOGH_PropChangeAvatarCard", + Bbbemdapogh::PropChangeCityLevelup => "BBBEMDAPOGH_PropChangeCityLevelup", + Bbbemdapogh::PropChangeAvatarUpgrade => "BBBEMDAPOGH_PropChangeAvatarUpgrade", + Bbbemdapogh::PropChangeAvatarPromote => "BBBEMDAPOGH_PropChangeAvatarPromote", + Bbbemdapogh::PropChangePlayerAddExp => "BBBEMDAPOGH_PropChangePlayerAddExp", + Bbbemdapogh::PropChangeFinishQuest => "BBBEMDAPOGH_PropChangeFinishQuest", + Bbbemdapogh::PropChangeGm => "BBBEMDAPOGH_PropChangeGm", + Bbbemdapogh::PropChangeManualAdjustWorldLevel => { + "BBBEMDAPOGH_PropChangeManualAdjustWorldLevel" + } + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "BBBEMDAPOGH_PropChangeNone" => Some(Self::PropChangeNone), + "BBBEMDAPOGH_PropChangeStatueRecover" => Some(Self::PropChangeStatueRecover), + "BBBEMDAPOGH_PropChangeEnergyBall" => Some(Self::PropChangeEnergyBall), + "BBBEMDAPOGH_PropChangeAbility" => Some(Self::PropChangeAbility), + "BBBEMDAPOGH_PropChangeLevelup" => Some(Self::PropChangeLevelup), + "BBBEMDAPOGH_PropChangeItem" => Some(Self::PropChangeItem), + "BBBEMDAPOGH_PropChangeAvatarCard" => Some(Self::PropChangeAvatarCard), + "BBBEMDAPOGH_PropChangeCityLevelup" => Some(Self::PropChangeCityLevelup), + "BBBEMDAPOGH_PropChangeAvatarUpgrade" => Some(Self::PropChangeAvatarUpgrade), + "BBBEMDAPOGH_PropChangeAvatarPromote" => Some(Self::PropChangeAvatarPromote), + "BBBEMDAPOGH_PropChangePlayerAddExp" => Some(Self::PropChangePlayerAddExp), + "BBBEMDAPOGH_PropChangeFinishQuest" => Some(Self::PropChangeFinishQuest), + "BBBEMDAPOGH_PropChangeGm" => Some(Self::PropChangeGm), + "BBBEMDAPOGH_PropChangeManualAdjustWorldLevel" => { + Some(Self::PropChangeManualAdjustWorldLevel) + } + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Nmjpfhhjdan { + MatchNone = 0, + MatchFinish = 1, + MatchPlayerCancel = 2, + MatchTimeout = 3, + MatchPlayerConfirm = 4, + MatchFailed = 5, + MatchSystemError = 6, + MatchInterrupted = 7, + MatchMpUnavailable = 8, + MatchConfirmTimeout = 9, +} +impl Nmjpfhhjdan { + /// 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 { + Nmjpfhhjdan::MatchNone => "NMJPFHHJDAN_MatchNone", + Nmjpfhhjdan::MatchFinish => "NMJPFHHJDAN_MatchFinish", + Nmjpfhhjdan::MatchPlayerCancel => "NMJPFHHJDAN_MatchPlayerCancel", + Nmjpfhhjdan::MatchTimeout => "NMJPFHHJDAN_MatchTimeout", + Nmjpfhhjdan::MatchPlayerConfirm => "NMJPFHHJDAN_MatchPlayerConfirm", + Nmjpfhhjdan::MatchFailed => "NMJPFHHJDAN_MatchFailed", + Nmjpfhhjdan::MatchSystemError => "NMJPFHHJDAN_MatchSystemError", + Nmjpfhhjdan::MatchInterrupted => "NMJPFHHJDAN_MatchInterrupted", + Nmjpfhhjdan::MatchMpUnavailable => "NMJPFHHJDAN_MatchMpUnavailable", + Nmjpfhhjdan::MatchConfirmTimeout => "NMJPFHHJDAN_MatchConfirmTimeout", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "NMJPFHHJDAN_MatchNone" => Some(Self::MatchNone), + "NMJPFHHJDAN_MatchFinish" => Some(Self::MatchFinish), + "NMJPFHHJDAN_MatchPlayerCancel" => Some(Self::MatchPlayerCancel), + "NMJPFHHJDAN_MatchTimeout" => Some(Self::MatchTimeout), + "NMJPFHHJDAN_MatchPlayerConfirm" => Some(Self::MatchPlayerConfirm), + "NMJPFHHJDAN_MatchFailed" => Some(Self::MatchFailed), + "NMJPFHHJDAN_MatchSystemError" => Some(Self::MatchSystemError), + "NMJPFHHJDAN_MatchInterrupted" => Some(Self::MatchInterrupted), + "NMJPFHHJDAN_MatchMpUnavailable" => Some(Self::MatchMpUnavailable), + "NMJPFHHJDAN_MatchConfirmTimeout" => Some(Self::MatchConfirmTimeout), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Edgimhghgpa { + RentSucc = 0, + RentLimit = 1, + RentRepeated = 2, +} +impl Edgimhghgpa { + /// 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 { + Edgimhghgpa::RentSucc => "EDGIMHGHGPA_RentSucc", + Edgimhghgpa::RentLimit => "EDGIMHGHGPA_RentLimit", + Edgimhghgpa::RentRepeated => "EDGIMHGHGPA_RentRepeated", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "EDGIMHGHGPA_RentSucc" => Some(Self::RentSucc), + "EDGIMHGHGPA_RentLimit" => Some(Self::RentLimit), + "EDGIMHGHGPA_RentRepeated" => Some(Self::RentRepeated), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Pmobconjbef { + Level = 0, + Quest = 1, +} +impl Pmobconjbef { + /// 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 { + Pmobconjbef::Level => "PMOBCONJBEF_Level", + Pmobconjbef::Quest => "PMOBCONJBEF_Quest", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "PMOBCONJBEF_Level" => Some(Self::Level), + "PMOBCONJBEF_Quest" => Some(Self::Quest), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Jdfkbdohhni { + RegionSearchNone = 0, + RegionSearchUnstarted = 1, + RegionSearchStarted = 2, + RegionSearchWaitReward = 3, + RegionSearchFinished = 4, +} +impl Jdfkbdohhni { + /// 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 { + Jdfkbdohhni::RegionSearchNone => "JDFKBDOHHNI_RegionSearchNone", + Jdfkbdohhni::RegionSearchUnstarted => "JDFKBDOHHNI_RegionSearchUnstarted", + Jdfkbdohhni::RegionSearchStarted => "JDFKBDOHHNI_RegionSearchStarted", + Jdfkbdohhni::RegionSearchWaitReward => "JDFKBDOHHNI_RegionSearchWaitReward", + Jdfkbdohhni::RegionSearchFinished => "JDFKBDOHHNI_RegionSearchFinished", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "JDFKBDOHHNI_RegionSearchNone" => Some(Self::RegionSearchNone), + "JDFKBDOHHNI_RegionSearchUnstarted" => Some(Self::RegionSearchUnstarted), + "JDFKBDOHHNI_RegionSearchStarted" => Some(Self::RegionSearchStarted), + "JDFKBDOHHNI_RegionSearchWaitReward" => Some(Self::RegionSearchWaitReward), + "JDFKBDOHHNI_RegionSearchFinished" => Some(Self::RegionSearchFinished), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Dplhebckkgg { + ReceiveOutput = 0, + StopForge = 1, +} +impl Dplhebckkgg { + /// 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 { + Dplhebckkgg::ReceiveOutput => "DPLHEBCKKGG_ReceiveOutput", + Dplhebckkgg::StopForge => "DPLHEBCKKGG_StopForge", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "DPLHEBCKKGG_ReceiveOutput" => Some(Self::ReceiveOutput), + "DPLHEBCKKGG_StopForge" => Some(Self::StopForge), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Ijjojmpijkc { + MpSettingNoEnter = 0, + MpSettingEnterFreely = 1, + MpSettingEnterAfterApply = 2, +} +impl Ijjojmpijkc { + /// 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 { + Ijjojmpijkc::MpSettingNoEnter => "IJJOJMPIJKC_MpSettingNoEnter", + Ijjojmpijkc::MpSettingEnterFreely => "IJJOJMPIJKC_MpSettingEnterFreely", + Ijjojmpijkc::MpSettingEnterAfterApply => { + "IJJOJMPIJKC_MpSettingEnterAfterApply" + } + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "IJJOJMPIJKC_MpSettingNoEnter" => Some(Self::MpSettingNoEnter), + "IJJOJMPIJKC_MpSettingEnterFreely" => Some(Self::MpSettingEnterFreely), + "IJJOJMPIJKC_MpSettingEnterAfterApply" => { + Some(Self::MpSettingEnterAfterApply) + } + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Adfnpmillop { + GcgPerformInvalid = 0, + GcgPerformCardExchange = 1, + GcgPerformFirstHand = 2, + GcgPerformReroll = 3, + GcgPreformCostRevise = 4, + GcgPerformRedraw = 5, + GcgPerformHistory = 6, + GcgPerformBeforeHenshin = 7, +} +impl Adfnpmillop { + /// 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 { + Adfnpmillop::GcgPerformInvalid => "ADFNPMILLOP_GcgPerformInvalid", + Adfnpmillop::GcgPerformCardExchange => "ADFNPMILLOP_GcgPerformCardExchange", + Adfnpmillop::GcgPerformFirstHand => "ADFNPMILLOP_GcgPerformFirstHand", + Adfnpmillop::GcgPerformReroll => "ADFNPMILLOP_GcgPerformReroll", + Adfnpmillop::GcgPreformCostRevise => "ADFNPMILLOP_GcgPreformCostRevise", + Adfnpmillop::GcgPerformRedraw => "ADFNPMILLOP_GcgPerformRedraw", + Adfnpmillop::GcgPerformHistory => "ADFNPMILLOP_GcgPerformHistory", + Adfnpmillop::GcgPerformBeforeHenshin => "ADFNPMILLOP_GcgPerformBeforeHenshin", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "ADFNPMILLOP_GcgPerformInvalid" => Some(Self::GcgPerformInvalid), + "ADFNPMILLOP_GcgPerformCardExchange" => Some(Self::GcgPerformCardExchange), + "ADFNPMILLOP_GcgPerformFirstHand" => Some(Self::GcgPerformFirstHand), + "ADFNPMILLOP_GcgPerformReroll" => Some(Self::GcgPerformReroll), + "ADFNPMILLOP_GcgPreformCostRevise" => Some(Self::GcgPreformCostRevise), + "ADFNPMILLOP_GcgPerformRedraw" => Some(Self::GcgPerformRedraw), + "ADFNPMILLOP_GcgPerformHistory" => Some(Self::GcgPerformHistory), + "ADFNPMILLOP_GcgPerformBeforeHenshin" => Some(Self::GcgPerformBeforeHenshin), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Cdkllhkmokd { + Invalid = 0, + KickByHost = 1, + BackToMyWorld = 2, + HomeBlocked = 3, + HomeInEditMode = 4, + ByMuip = 5, + CurModuleClosed = 6, +} +impl Cdkllhkmokd { + /// 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 { + Cdkllhkmokd::Invalid => "CDKLLHKMOKD_Invalid", + Cdkllhkmokd::KickByHost => "CDKLLHKMOKD_KickByHost", + Cdkllhkmokd::BackToMyWorld => "CDKLLHKMOKD_BackToMyWorld", + Cdkllhkmokd::HomeBlocked => "CDKLLHKMOKD_HomeBlocked", + Cdkllhkmokd::HomeInEditMode => "CDKLLHKMOKD_HomeInEditMode", + Cdkllhkmokd::ByMuip => "CDKLLHKMOKD_ByMuip", + Cdkllhkmokd::CurModuleClosed => "CDKLLHKMOKD_CurModuleClosed", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "CDKLLHKMOKD_Invalid" => Some(Self::Invalid), + "CDKLLHKMOKD_KickByHost" => Some(Self::KickByHost), + "CDKLLHKMOKD_BackToMyWorld" => Some(Self::BackToMyWorld), + "CDKLLHKMOKD_HomeBlocked" => Some(Self::HomeBlocked), + "CDKLLHKMOKD_HomeInEditMode" => Some(Self::HomeInEditMode), + "CDKLLHKMOKD_ByMuip" => Some(Self::ByMuip), + "CDKLLHKMOKD_CurModuleClosed" => Some(Self::CurModuleClosed), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Gfilbkbgmaf { + Attach = 0, + Detach = 1, +} +impl Gfilbkbgmaf { + /// 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 { + Gfilbkbgmaf::Attach => "GFILBKBGMAF_Attach", + Gfilbkbgmaf::Detach => "GFILBKBGMAF_Detach", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "GFILBKBGMAF_Attach" => Some(Self::Attach), + "GFILBKBGMAF_Detach" => Some(Self::Detach), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Edegmklfifi { + None = 0, + Pack = 1, + Plant = 2, +} +impl Edegmklfifi { + /// 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 { + Edegmklfifi::None => "EDEGMKLFIFI_None", + Edegmklfifi::Pack => "EDEGMKLFIFI_Pack", + Edegmklfifi::Plant => "EDEGMKLFIFI_Plant", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "EDEGMKLFIFI_None" => Some(Self::None), + "EDEGMKLFIFI_Pack" => Some(Self::Pack), + "EDEGMKLFIFI_Plant" => Some(Self::Plant), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Pehcgoekbdg { + SandwormLevelNotOpen = 0, + SandwormLevelPreQuest = 1, + SandwormLevelStart = 2, + SandwormLevelSequelQuest = 3, +} +impl Pehcgoekbdg { + /// 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 { + Pehcgoekbdg::SandwormLevelNotOpen => "PEHCGOEKBDG_SandwormLevelNotOpen", + Pehcgoekbdg::SandwormLevelPreQuest => "PEHCGOEKBDG_SandwormLevelPreQuest", + Pehcgoekbdg::SandwormLevelStart => "PEHCGOEKBDG_SandwormLevelStart", + Pehcgoekbdg::SandwormLevelSequelQuest => { + "PEHCGOEKBDG_SandwormLevelSequelQuest" + } + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "PEHCGOEKBDG_SandwormLevelNotOpen" => Some(Self::SandwormLevelNotOpen), + "PEHCGOEKBDG_SandwormLevelPreQuest" => Some(Self::SandwormLevelPreQuest), + "PEHCGOEKBDG_SandwormLevelStart" => Some(Self::SandwormLevelStart), + "PEHCGOEKBDG_SandwormLevelSequelQuest" => { + Some(Self::SandwormLevelSequelQuest) + } + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Pbjbnapeoed { + ExpeditionNone = 0, + ExpeditionStarted = 1, + ExpeditionFinished = 2, + ExpeditionRewarded = 3, + ExpeditionLocked = 4, +} +impl Pbjbnapeoed { + /// 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 { + Pbjbnapeoed::ExpeditionNone => "PBJBNAPEOED_ExpeditionNone", + Pbjbnapeoed::ExpeditionStarted => "PBJBNAPEOED_ExpeditionStarted", + Pbjbnapeoed::ExpeditionFinished => "PBJBNAPEOED_ExpeditionFinished", + Pbjbnapeoed::ExpeditionRewarded => "PBJBNAPEOED_ExpeditionRewarded", + Pbjbnapeoed::ExpeditionLocked => "PBJBNAPEOED_ExpeditionLocked", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "PBJBNAPEOED_ExpeditionNone" => Some(Self::ExpeditionNone), + "PBJBNAPEOED_ExpeditionStarted" => Some(Self::ExpeditionStarted), + "PBJBNAPEOED_ExpeditionFinished" => Some(Self::ExpeditionFinished), + "PBJBNAPEOED_ExpeditionRewarded" => Some(Self::ExpeditionRewarded), + "PBJBNAPEOED_ExpeditionLocked" => Some(Self::ExpeditionLocked), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum PlayerDieType { + PlayerDieNone = 0, + PlayerDieKillByMonster = 1, + PlayerDieKillByGear = 2, + PlayerDieFall = 3, + PlayerDieDrawn = 4, + PlayerDieAbyss = 5, + PlayerDieGm = 6, + PlayerDieClimateCold = 7, + PlayerDieStormLighting = 8, + PlayerDieDirtyWaterErosion = 9, + PlayerDieLiquidPhlogiston = 10, +} +impl PlayerDieType { + /// 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 { + PlayerDieType::PlayerDieNone => "PlayerDieType_PlayerDieNone", + PlayerDieType::PlayerDieKillByMonster => { + "PlayerDieType_PlayerDieKillByMonster" + } + PlayerDieType::PlayerDieKillByGear => "PlayerDieType_PlayerDieKillByGear", + PlayerDieType::PlayerDieFall => "PlayerDieType_PlayerDieFall", + PlayerDieType::PlayerDieDrawn => "PlayerDieType_PlayerDieDrawn", + PlayerDieType::PlayerDieAbyss => "PlayerDieType_PlayerDieAbyss", + PlayerDieType::PlayerDieGm => "PlayerDieType_PlayerDieGm", + PlayerDieType::PlayerDieClimateCold => "PlayerDieType_PlayerDieClimateCold", + PlayerDieType::PlayerDieStormLighting => { + "PlayerDieType_PlayerDieStormLighting" + } + PlayerDieType::PlayerDieDirtyWaterErosion => { + "PlayerDieType_PlayerDieDirtyWaterErosion" + } + PlayerDieType::PlayerDieLiquidPhlogiston => { + "PlayerDieType_PlayerDieLiquidPhlogiston" + } + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "PlayerDieType_PlayerDieNone" => Some(Self::PlayerDieNone), + "PlayerDieType_PlayerDieKillByMonster" => Some(Self::PlayerDieKillByMonster), + "PlayerDieType_PlayerDieKillByGear" => Some(Self::PlayerDieKillByGear), + "PlayerDieType_PlayerDieFall" => Some(Self::PlayerDieFall), + "PlayerDieType_PlayerDieDrawn" => Some(Self::PlayerDieDrawn), + "PlayerDieType_PlayerDieAbyss" => Some(Self::PlayerDieAbyss), + "PlayerDieType_PlayerDieGm" => Some(Self::PlayerDieGm), + "PlayerDieType_PlayerDieClimateCold" => Some(Self::PlayerDieClimateCold), + "PlayerDieType_PlayerDieStormLighting" => Some(Self::PlayerDieStormLighting), + "PlayerDieType_PlayerDieDirtyWaterErosion" => { + Some(Self::PlayerDieDirtyWaterErosion) + } + "PlayerDieType_PlayerDieLiquidPhlogiston" => { + Some(Self::PlayerDieLiquidPhlogiston) + } + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Ihacnpjbldi { + GcgZoneInvalid = 0, + GcgZoneDeck = 1, + GcgZoneHand = 2, + GcgZoneCharacter = 3, + GcgZoneModify = 4, + GcgZoneSummon = 5, + GcgZoneAssist = 7, + GcgZoneOnstage = 8, + GcgZoneRule = 9, +} +impl Ihacnpjbldi { + /// 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 { + Ihacnpjbldi::GcgZoneInvalid => "IHACNPJBLDI_GcgZoneInvalid", + Ihacnpjbldi::GcgZoneDeck => "IHACNPJBLDI_GcgZoneDeck", + Ihacnpjbldi::GcgZoneHand => "IHACNPJBLDI_GcgZoneHand", + Ihacnpjbldi::GcgZoneCharacter => "IHACNPJBLDI_GcgZoneCharacter", + Ihacnpjbldi::GcgZoneModify => "IHACNPJBLDI_GcgZoneModify", + Ihacnpjbldi::GcgZoneSummon => "IHACNPJBLDI_GcgZoneSummon", + Ihacnpjbldi::GcgZoneAssist => "IHACNPJBLDI_GcgZoneAssist", + Ihacnpjbldi::GcgZoneOnstage => "IHACNPJBLDI_GcgZoneOnstage", + Ihacnpjbldi::GcgZoneRule => "IHACNPJBLDI_GcgZoneRule", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "IHACNPJBLDI_GcgZoneInvalid" => Some(Self::GcgZoneInvalid), + "IHACNPJBLDI_GcgZoneDeck" => Some(Self::GcgZoneDeck), + "IHACNPJBLDI_GcgZoneHand" => Some(Self::GcgZoneHand), + "IHACNPJBLDI_GcgZoneCharacter" => Some(Self::GcgZoneCharacter), + "IHACNPJBLDI_GcgZoneModify" => Some(Self::GcgZoneModify), + "IHACNPJBLDI_GcgZoneSummon" => Some(Self::GcgZoneSummon), + "IHACNPJBLDI_GcgZoneAssist" => Some(Self::GcgZoneAssist), + "IHACNPJBLDI_GcgZoneOnstage" => Some(Self::GcgZoneOnstage), + "IHACNPJBLDI_GcgZoneRule" => Some(Self::GcgZoneRule), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum AvatarType { + None = 0, + Formal = 1, + Trial = 2, + Mirror = 3, +} +impl AvatarType { + /// 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 { + AvatarType::None => "AVATAR_TYPE_NONE", + AvatarType::Formal => "AVATAR_TYPE_FORMAL", + AvatarType::Trial => "AVATAR_TYPE_TRIAL", + AvatarType::Mirror => "AVATAR_TYPE_MIRROR", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "AVATAR_TYPE_NONE" => Some(Self::None), + "AVATAR_TYPE_FORMAL" => Some(Self::Formal), + "AVATAR_TYPE_TRIAL" => Some(Self::Trial), + "AVATAR_TYPE_MIRROR" => Some(Self::Mirror), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Jiidngfkheb { + None = 0, + SnapShot = 1, + Init = 2, + BallScore = 3, + Shoot = 4, + Effect = 5, +} +impl Jiidngfkheb { + /// 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 { + Jiidngfkheb::None => "JIIDNGFKHEB_None", + Jiidngfkheb::SnapShot => "JIIDNGFKHEB_SnapShot", + Jiidngfkheb::Init => "JIIDNGFKHEB_Init", + Jiidngfkheb::BallScore => "JIIDNGFKHEB_BallScore", + Jiidngfkheb::Shoot => "JIIDNGFKHEB_Shoot", + Jiidngfkheb::Effect => "JIIDNGFKHEB_Effect", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "JIIDNGFKHEB_None" => Some(Self::None), + "JIIDNGFKHEB_SnapShot" => Some(Self::SnapShot), + "JIIDNGFKHEB_Init" => Some(Self::Init), + "JIIDNGFKHEB_BallScore" => Some(Self::BallScore), + "JIIDNGFKHEB_Shoot" => Some(Self::Shoot), + "JIIDNGFKHEB_Effect" => Some(Self::Effect), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Dickjkioiop { + None = 0, + Theme = 1, + Falling = 2, + Track = 3, + Connection = 4, + Fever = 5, + Background = 6, + ThemeFollow = 7, + Instrument = 8, +} +impl Dickjkioiop { + /// 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 { + Dickjkioiop::None => "DICKJKIOIOP_None", + Dickjkioiop::Theme => "DICKJKIOIOP_Theme", + Dickjkioiop::Falling => "DICKJKIOIOP_Falling", + Dickjkioiop::Track => "DICKJKIOIOP_Track", + Dickjkioiop::Connection => "DICKJKIOIOP_Connection", + Dickjkioiop::Fever => "DICKJKIOIOP_Fever", + Dickjkioiop::Background => "DICKJKIOIOP_Background", + Dickjkioiop::ThemeFollow => "DICKJKIOIOP_ThemeFollow", + Dickjkioiop::Instrument => "DICKJKIOIOP_Instrument", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "DICKJKIOIOP_None" => Some(Self::None), + "DICKJKIOIOP_Theme" => Some(Self::Theme), + "DICKJKIOIOP_Falling" => Some(Self::Falling), + "DICKJKIOIOP_Track" => Some(Self::Track), + "DICKJKIOIOP_Connection" => Some(Self::Connection), + "DICKJKIOIOP_Fever" => Some(Self::Fever), + "DICKJKIOIOP_Background" => Some(Self::Background), + "DICKJKIOIOP_ThemeFollow" => Some(Self::ThemeFollow), + "DICKJKIOIOP_Instrument" => Some(Self::Instrument), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Jailcnefodi { + None = 0, + FormalMirror = 1, + TrialMirror = 2, + RentMirror = 3, +} +impl Jailcnefodi { + /// 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 { + Jailcnefodi::None => "JAILCNEFODI_None", + Jailcnefodi::FormalMirror => "JAILCNEFODI_FormalMirror", + Jailcnefodi::TrialMirror => "JAILCNEFODI_TrialMirror", + Jailcnefodi::RentMirror => "JAILCNEFODI_RentMirror", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "JAILCNEFODI_None" => Some(Self::None), + "JAILCNEFODI_FormalMirror" => Some(Self::FormalMirror), + "JAILCNEFODI_TrialMirror" => Some(Self::TrialMirror), + "JAILCNEFODI_RentMirror" => Some(Self::RentMirror), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Mgjhmbjagap { + GcgSkillHpChangeNone = 0, + GcgSkillHpChangeDamage = 1, + GcgSkillHpChangeHeal = 2, +} +impl Mgjhmbjagap { + /// 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 { + Mgjhmbjagap::GcgSkillHpChangeNone => "MGJHMBJAGAP_GcgSkillHpChangeNone", + Mgjhmbjagap::GcgSkillHpChangeDamage => "MGJHMBJAGAP_GcgSkillHpChangeDamage", + Mgjhmbjagap::GcgSkillHpChangeHeal => "MGJHMBJAGAP_GcgSkillHpChangeHeal", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "MGJHMBJAGAP_GcgSkillHpChangeNone" => Some(Self::GcgSkillHpChangeNone), + "MGJHMBJAGAP_GcgSkillHpChangeDamage" => Some(Self::GcgSkillHpChangeDamage), + "MGJHMBJAGAP_GcgSkillHpChangeHeal" => Some(Self::GcgSkillHpChangeHeal), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Hdjecbnmhli { + None = 0, + OceanCurrent = 1, +} +impl Hdjecbnmhli { + /// 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 { + Hdjecbnmhli::None => "HDJECBNMHLI_None", + Hdjecbnmhli::OceanCurrent => "HDJECBNMHLI_OceanCurrent", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "HDJECBNMHLI_None" => Some(Self::None), + "HDJECBNMHLI_OceanCurrent" => Some(Self::OceanCurrent), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Jhhnlpaamin { + KeepRotX = 0, + KeepRotXy = 1, +} +impl Jhhnlpaamin { + /// 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 { + Jhhnlpaamin::KeepRotX => "JHHNLPAAMIN_KeepRotX", + Jhhnlpaamin::KeepRotXy => "JHHNLPAAMIN_KeepRotXy", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "JHHNLPAAMIN_KeepRotX" => Some(Self::KeepRotX), + "JHHNLPAAMIN_KeepRotXy" => Some(Self::KeepRotXy), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Ceocjhphedc { + TransmitNone = 0, + TransmitQuest = 1, +} +impl Ceocjhphedc { + /// 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 { + Ceocjhphedc::TransmitNone => "CEOCJHPHEDC_TransmitNone", + Ceocjhphedc::TransmitQuest => "CEOCJHPHEDC_TransmitQuest", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "CEOCJHPHEDC_TransmitNone" => Some(Self::TransmitNone), + "CEOCJHPHEDC_TransmitQuest" => Some(Self::TransmitQuest), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Mckmnakkakb { + CompoundBoostTakeStatusNone = 0, + CompoundBoostTakeStatusBoostOnly = 1, + CompoundBoostTakeStatusBoostAndTake = 2, + CompoundBoostTakeStatusBagFull = 3, +} +impl Mckmnakkakb { + /// 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 { + Mckmnakkakb::CompoundBoostTakeStatusNone => { + "MCKMNAKKAKB_CompoundBoostTakeStatusNone" + } + Mckmnakkakb::CompoundBoostTakeStatusBoostOnly => { + "MCKMNAKKAKB_CompoundBoostTakeStatusBoostOnly" + } + Mckmnakkakb::CompoundBoostTakeStatusBoostAndTake => { + "MCKMNAKKAKB_CompoundBoostTakeStatusBoostAndTake" + } + Mckmnakkakb::CompoundBoostTakeStatusBagFull => { + "MCKMNAKKAKB_CompoundBoostTakeStatusBagFull" + } + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "MCKMNAKKAKB_CompoundBoostTakeStatusNone" => { + Some(Self::CompoundBoostTakeStatusNone) + } + "MCKMNAKKAKB_CompoundBoostTakeStatusBoostOnly" => { + Some(Self::CompoundBoostTakeStatusBoostOnly) + } + "MCKMNAKKAKB_CompoundBoostTakeStatusBoostAndTake" => { + Some(Self::CompoundBoostTakeStatusBoostAndTake) + } + "MCKMNAKKAKB_CompoundBoostTakeStatusBagFull" => { + Some(Self::CompoundBoostTakeStatusBagFull) + } + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Cmdeepdjoga { + GcgDiceSideInvalid = 0, + GcgDiceSideCryo = 1, + GcgDiceSideHydro = 2, + GcgDiceSidePyro = 3, + GcgDiceSideElectro = 4, + GcgDiceSideGeo = 5, + GcgDiceSideDendro = 6, + GcgDiceSideAnemo = 7, + GcgDiceSidePaimon = 8, +} +impl Cmdeepdjoga { + /// 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 { + Cmdeepdjoga::GcgDiceSideInvalid => "CMDEEPDJOGA_GcgDiceSideInvalid", + Cmdeepdjoga::GcgDiceSideCryo => "CMDEEPDJOGA_GcgDiceSideCryo", + Cmdeepdjoga::GcgDiceSideHydro => "CMDEEPDJOGA_GcgDiceSideHydro", + Cmdeepdjoga::GcgDiceSidePyro => "CMDEEPDJOGA_GcgDiceSidePyro", + Cmdeepdjoga::GcgDiceSideElectro => "CMDEEPDJOGA_GcgDiceSideElectro", + Cmdeepdjoga::GcgDiceSideGeo => "CMDEEPDJOGA_GcgDiceSideGeo", + Cmdeepdjoga::GcgDiceSideDendro => "CMDEEPDJOGA_GcgDiceSideDendro", + Cmdeepdjoga::GcgDiceSideAnemo => "CMDEEPDJOGA_GcgDiceSideAnemo", + Cmdeepdjoga::GcgDiceSidePaimon => "CMDEEPDJOGA_GcgDiceSidePaimon", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "CMDEEPDJOGA_GcgDiceSideInvalid" => Some(Self::GcgDiceSideInvalid), + "CMDEEPDJOGA_GcgDiceSideCryo" => Some(Self::GcgDiceSideCryo), + "CMDEEPDJOGA_GcgDiceSideHydro" => Some(Self::GcgDiceSideHydro), + "CMDEEPDJOGA_GcgDiceSidePyro" => Some(Self::GcgDiceSidePyro), + "CMDEEPDJOGA_GcgDiceSideElectro" => Some(Self::GcgDiceSideElectro), + "CMDEEPDJOGA_GcgDiceSideGeo" => Some(Self::GcgDiceSideGeo), + "CMDEEPDJOGA_GcgDiceSideDendro" => Some(Self::GcgDiceSideDendro), + "CMDEEPDJOGA_GcgDiceSideAnemo" => Some(Self::GcgDiceSideAnemo), + "CMDEEPDJOGA_GcgDiceSidePaimon" => Some(Self::GcgDiceSidePaimon), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum PlayerLogoutReason { + Disconnect = 0, + ClientReq = 1, + Timeout = 2, + AdminReq = 3, + ServerClose = 4, + GmClear = 5, + PlayerTransfer = 6, + ClientChecksumInvalid = 7, + MuipMoveSaveWait = 8, +} +impl PlayerLogoutReason { + /// 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 { + PlayerLogoutReason::Disconnect => "PlayerLogoutReason_Disconnect", + PlayerLogoutReason::ClientReq => "PlayerLogoutReason_ClientReq", + PlayerLogoutReason::Timeout => "PlayerLogoutReason_Timeout", + PlayerLogoutReason::AdminReq => "PlayerLogoutReason_AdminReq", + PlayerLogoutReason::ServerClose => "PlayerLogoutReason_ServerClose", + PlayerLogoutReason::GmClear => "PlayerLogoutReason_GmClear", + PlayerLogoutReason::PlayerTransfer => "PlayerLogoutReason_PlayerTransfer", + PlayerLogoutReason::ClientChecksumInvalid => { + "PlayerLogoutReason_ClientChecksumInvalid" + } + PlayerLogoutReason::MuipMoveSaveWait => "PlayerLogoutReason_MuipMoveSaveWait", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "PlayerLogoutReason_Disconnect" => Some(Self::Disconnect), + "PlayerLogoutReason_ClientReq" => Some(Self::ClientReq), + "PlayerLogoutReason_Timeout" => Some(Self::Timeout), + "PlayerLogoutReason_AdminReq" => Some(Self::AdminReq), + "PlayerLogoutReason_ServerClose" => Some(Self::ServerClose), + "PlayerLogoutReason_GmClear" => Some(Self::GmClear), + "PlayerLogoutReason_PlayerTransfer" => Some(Self::PlayerTransfer), + "PlayerLogoutReason_ClientChecksumInvalid" => { + Some(Self::ClientChecksumInvalid) + } + "PlayerLogoutReason_MuipMoveSaveWait" => Some(Self::MuipMoveSaveWait), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Cfpdoelblnj { + StatusFail = 0, + StatusSucc = 1, + StatusPartial = 2, +} +impl Cfpdoelblnj { + /// 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 { + Cfpdoelblnj::StatusFail => "CFPDOELBLNJ_StatusFail", + Cfpdoelblnj::StatusSucc => "CFPDOELBLNJ_StatusSucc", + Cfpdoelblnj::StatusPartial => "CFPDOELBLNJ_StatusPartial", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "CFPDOELBLNJ_StatusFail" => Some(Self::StatusFail), + "CFPDOELBLNJ_StatusSucc" => Some(Self::StatusSucc), + "CFPDOELBLNJ_StatusPartial" => Some(Self::StatusPartial), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Ihokgokpllo { + None = 0, + Starred = 1, + Official = 2, + Template = 3, +} +impl Ihokgokpllo { + /// 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 { + Ihokgokpllo::None => "IHOKGOKPLLO_None", + Ihokgokpllo::Starred => "IHOKGOKPLLO_Starred", + Ihokgokpllo::Official => "IHOKGOKPLLO_Official", + Ihokgokpllo::Template => "IHOKGOKPLLO_Template", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "IHOKGOKPLLO_None" => Some(Self::None), + "IHOKGOKPLLO_Starred" => Some(Self::Starred), + "IHOKGOKPLLO_Official" => Some(Self::Official), + "IHOKGOKPLLO_Template" => Some(Self::Template), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Jaiddkdbmem { + Idle = 0, + ChangingAvatar = 1, + Ready = 2, +} +impl Jaiddkdbmem { + /// 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 { + Jaiddkdbmem::Idle => "JAIDDKDBMEM_Idle", + Jaiddkdbmem::ChangingAvatar => "JAIDDKDBMEM_ChangingAvatar", + Jaiddkdbmem::Ready => "JAIDDKDBMEM_Ready", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "JAIDDKDBMEM_Idle" => Some(Self::Idle), + "JAIDDKDBMEM_ChangingAvatar" => Some(Self::ChangingAvatar), + "JAIDDKDBMEM_Ready" => Some(Self::Ready), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Jibfhhklaoj { + ServerLogNone = 0, + ServerLogAbility = 1, + ServerLogLevel = 2, + ServerLogEntity = 3, + ServerLogLua = 4, + ServerLogDailytask = 5, +} +impl Jibfhhklaoj { + /// 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 { + Jibfhhklaoj::ServerLogNone => "JIBFHHKLAOJ_ServerLogNone", + Jibfhhklaoj::ServerLogAbility => "JIBFHHKLAOJ_ServerLogAbility", + Jibfhhklaoj::ServerLogLevel => "JIBFHHKLAOJ_ServerLogLevel", + Jibfhhklaoj::ServerLogEntity => "JIBFHHKLAOJ_ServerLogEntity", + Jibfhhklaoj::ServerLogLua => "JIBFHHKLAOJ_ServerLogLua", + Jibfhhklaoj::ServerLogDailytask => "JIBFHHKLAOJ_ServerLogDailytask", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "JIBFHHKLAOJ_ServerLogNone" => Some(Self::ServerLogNone), + "JIBFHHKLAOJ_ServerLogAbility" => Some(Self::ServerLogAbility), + "JIBFHHKLAOJ_ServerLogLevel" => Some(Self::ServerLogLevel), + "JIBFHHKLAOJ_ServerLogEntity" => Some(Self::ServerLogEntity), + "JIBFHHKLAOJ_ServerLogLua" => Some(Self::ServerLogLua), + "JIBFHHKLAOJ_ServerLogDailytask" => Some(Self::ServerLogDailytask), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Gcjhlblippj { + InBattleMechanicusStageNone = 0, + InBattleMechanicusStageBuild = 1, + InBattleMechanicusStageCardFlip = 2, + InBattleMechanicusStageKill = 3, +} +impl Gcjhlblippj { + /// 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 { + Gcjhlblippj::InBattleMechanicusStageNone => { + "GCJHLBLIPPJ_InBattleMechanicusStageNone" + } + Gcjhlblippj::InBattleMechanicusStageBuild => { + "GCJHLBLIPPJ_InBattleMechanicusStageBuild" + } + Gcjhlblippj::InBattleMechanicusStageCardFlip => { + "GCJHLBLIPPJ_InBattleMechanicusStageCardFlip" + } + Gcjhlblippj::InBattleMechanicusStageKill => { + "GCJHLBLIPPJ_InBattleMechanicusStageKill" + } + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "GCJHLBLIPPJ_InBattleMechanicusStageNone" => { + Some(Self::InBattleMechanicusStageNone) + } + "GCJHLBLIPPJ_InBattleMechanicusStageBuild" => { + Some(Self::InBattleMechanicusStageBuild) + } + "GCJHLBLIPPJ_InBattleMechanicusStageCardFlip" => { + Some(Self::InBattleMechanicusStageCardFlip) + } + "GCJHLBLIPPJ_InBattleMechanicusStageKill" => { + Some(Self::InBattleMechanicusStageKill) + } + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum StoreType { + StoreNone = 0, + StorePack = 1, + StoreDepot = 2, +} +impl StoreType { + /// 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 { + StoreType::StoreNone => "StoreType_StoreNone", + StoreType::StorePack => "StoreType_StorePack", + StoreType::StoreDepot => "StoreType_StoreDepot", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "StoreType_StoreNone" => Some(Self::StoreNone), + "StoreType_StorePack" => Some(Self::StorePack), + "StoreType_StoreDepot" => Some(Self::StoreDepot), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Pemmkckgpcp { + Added = 0, + Removed = 1, +} +impl Pemmkckgpcp { + /// 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 { + Pemmkckgpcp::Added => "PEMMKCKGPCP_Added", + Pemmkckgpcp::Removed => "PEMMKCKGPCP_Removed", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "PEMMKCKGPCP_Added" => Some(Self::Added), + "PEMMKCKGPCP_Removed" => Some(Self::Removed), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Jgdodfjcang { + AuditNone = 0, + AuditWaiting = 1, + AuditFailed = 2, +} +impl Jgdodfjcang { + /// 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 { + Jgdodfjcang::AuditNone => "JGDODFJCANG_AuditNone", + Jgdodfjcang::AuditWaiting => "JGDODFJCANG_AuditWaiting", + Jgdodfjcang::AuditFailed => "JGDODFJCANG_AuditFailed", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "JGDODFJCANG_AuditNone" => Some(Self::AuditNone), + "JGDODFJCANG_AuditWaiting" => Some(Self::AuditWaiting), + "JGDODFJCANG_AuditFailed" => Some(Self::AuditFailed), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Eoniaegppec { + MsgUnknown = 0, + MsgBlockRefreshCountdown = 1, + MsgAvatarReviveByStatue = 2, + MsgDailyTaskRewardMaxNum = 3, + MsgRoutineTypeNotOpen = 4, + MsgRoutineTypeRewardMaxNum = 5, +} +impl Eoniaegppec { + /// 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 { + Eoniaegppec::MsgUnknown => "EONIAEGPPEC_MsgUnknown", + Eoniaegppec::MsgBlockRefreshCountdown => { + "EONIAEGPPEC_MsgBlockRefreshCountdown" + } + Eoniaegppec::MsgAvatarReviveByStatue => "EONIAEGPPEC_MsgAvatarReviveByStatue", + Eoniaegppec::MsgDailyTaskRewardMaxNum => { + "EONIAEGPPEC_MsgDailyTaskRewardMaxNum" + } + Eoniaegppec::MsgRoutineTypeNotOpen => "EONIAEGPPEC_MsgRoutineTypeNotOpen", + Eoniaegppec::MsgRoutineTypeRewardMaxNum => { + "EONIAEGPPEC_MsgRoutineTypeRewardMaxNum" + } + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "EONIAEGPPEC_MsgUnknown" => Some(Self::MsgUnknown), + "EONIAEGPPEC_MsgBlockRefreshCountdown" => { + Some(Self::MsgBlockRefreshCountdown) + } + "EONIAEGPPEC_MsgAvatarReviveByStatue" => Some(Self::MsgAvatarReviveByStatue), + "EONIAEGPPEC_MsgDailyTaskRewardMaxNum" => { + Some(Self::MsgDailyTaskRewardMaxNum) + } + "EONIAEGPPEC_MsgRoutineTypeNotOpen" => Some(Self::MsgRoutineTypeNotOpen), + "EONIAEGPPEC_MsgRoutineTypeRewardMaxNum" => { + Some(Self::MsgRoutineTypeRewardMaxNum) + } + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Hgagmbjdhfg { + BrickBreakerStagePrepare = 0, + BrickBreakerStagePick = 1, + BrickBreakerStageGame = 2, + BrickBreakerStagePlay = 3, + BrickBreakerStageSettle = 4, +} +impl Hgagmbjdhfg { + /// 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 { + Hgagmbjdhfg::BrickBreakerStagePrepare => { + "HGAGMBJDHFG_BrickBreakerStagePrepare" + } + Hgagmbjdhfg::BrickBreakerStagePick => "HGAGMBJDHFG_BrickBreakerStagePick", + Hgagmbjdhfg::BrickBreakerStageGame => "HGAGMBJDHFG_BrickBreakerStageGame", + Hgagmbjdhfg::BrickBreakerStagePlay => "HGAGMBJDHFG_BrickBreakerStagePlay", + Hgagmbjdhfg::BrickBreakerStageSettle => "HGAGMBJDHFG_BrickBreakerStageSettle", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "HGAGMBJDHFG_BrickBreakerStagePrepare" => { + Some(Self::BrickBreakerStagePrepare) + } + "HGAGMBJDHFG_BrickBreakerStagePick" => Some(Self::BrickBreakerStagePick), + "HGAGMBJDHFG_BrickBreakerStageGame" => Some(Self::BrickBreakerStageGame), + "HGAGMBJDHFG_BrickBreakerStagePlay" => Some(Self::BrickBreakerStagePlay), + "HGAGMBJDHFG_BrickBreakerStageSettle" => Some(Self::BrickBreakerStageSettle), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Igbmhjdnidc { + Inner = 0, + TileBound = 1, + TileBoundUnconnect = 2, + TileBoundOveride = 3, +} +impl Igbmhjdnidc { + /// 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 { + Igbmhjdnidc::Inner => "IGBMHJDNIDC_Inner", + Igbmhjdnidc::TileBound => "IGBMHJDNIDC_TileBound", + Igbmhjdnidc::TileBoundUnconnect => "IGBMHJDNIDC_TileBoundUnconnect", + Igbmhjdnidc::TileBoundOveride => "IGBMHJDNIDC_TileBoundOveride", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "IGBMHJDNIDC_Inner" => Some(Self::Inner), + "IGBMHJDNIDC_TileBound" => Some(Self::TileBound), + "IGBMHJDNIDC_TileBoundUnconnect" => Some(Self::TileBoundUnconnect), + "IGBMHJDNIDC_TileBoundOveride" => Some(Self::TileBoundOveride), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Ohgcdmmlnok { + HitColliderInvalid = 0, + HitColliderHitBox = 1, + HitColliderWetHitBox = 2, + HitColliderHeadBox = 3, +} +impl Ohgcdmmlnok { + /// 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 { + Ohgcdmmlnok::HitColliderInvalid => "OHGCDMMLNOK_HitColliderInvalid", + Ohgcdmmlnok::HitColliderHitBox => "OHGCDMMLNOK_HitColliderHitBox", + Ohgcdmmlnok::HitColliderWetHitBox => "OHGCDMMLNOK_HitColliderWetHitBox", + Ohgcdmmlnok::HitColliderHeadBox => "OHGCDMMLNOK_HitColliderHeadBox", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "OHGCDMMLNOK_HitColliderInvalid" => Some(Self::HitColliderInvalid), + "OHGCDMMLNOK_HitColliderHitBox" => Some(Self::HitColliderHitBox), + "OHGCDMMLNOK_HitColliderWetHitBox" => Some(Self::HitColliderWetHitBox), + "OHGCDMMLNOK_HitColliderHeadBox" => Some(Self::HitColliderHeadBox), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Mialgmhklbl { + DungeonCandidateAvatarTypeNone = 0, + DungeonCandidateAvatarTypeFormal = 1, + DungeonCandidateAvatarTypeUgc = 2, +} +impl Mialgmhklbl { + /// 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 { + Mialgmhklbl::DungeonCandidateAvatarTypeNone => { + "MIALGMHKLBL_DungeonCandidateAvatarTypeNone" + } + Mialgmhklbl::DungeonCandidateAvatarTypeFormal => { + "MIALGMHKLBL_DungeonCandidateAvatarTypeFormal" + } + Mialgmhklbl::DungeonCandidateAvatarTypeUgc => { + "MIALGMHKLBL_DungeonCandidateAvatarTypeUgc" + } + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "MIALGMHKLBL_DungeonCandidateAvatarTypeNone" => { + Some(Self::DungeonCandidateAvatarTypeNone) + } + "MIALGMHKLBL_DungeonCandidateAvatarTypeFormal" => { + Some(Self::DungeonCandidateAvatarTypeFormal) + } + "MIALGMHKLBL_DungeonCandidateAvatarTypeUgc" => { + Some(Self::DungeonCandidateAvatarTypeUgc) + } + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Nncopldhcpb { + None = 0, + Layout = 1, +} +impl Nncopldhcpb { + /// 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 { + Nncopldhcpb::None => "NNCOPLDHCPB_None", + Nncopldhcpb::Layout => "NNCOPLDHCPB_Layout", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "NNCOPLDHCPB_None" => Some(Self::None), + "NNCOPLDHCPB_Layout" => Some(Self::Layout), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Jgjlfaeigaj { + MissionInvalid = 0, + MissionUnfinished = 1, + MissionFinished = 2, + MissionPointTaken = 3, +} +impl Jgjlfaeigaj { + /// 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 { + Jgjlfaeigaj::MissionInvalid => "JGJLFAEIGAJ_MissionInvalid", + Jgjlfaeigaj::MissionUnfinished => "JGJLFAEIGAJ_MissionUnfinished", + Jgjlfaeigaj::MissionFinished => "JGJLFAEIGAJ_MissionFinished", + Jgjlfaeigaj::MissionPointTaken => "JGJLFAEIGAJ_MissionPointTaken", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "JGJLFAEIGAJ_MissionInvalid" => Some(Self::MissionInvalid), + "JGJLFAEIGAJ_MissionUnfinished" => Some(Self::MissionUnfinished), + "JGJLFAEIGAJ_MissionFinished" => Some(Self::MissionFinished), + "JGJLFAEIGAJ_MissionPointTaken" => Some(Self::MissionPointTaken), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Ajopcffcfdd { + WispCageStateNotExist = 0, + WispCageStateCreated = 1, + WispCageStateMaterialDelivered = 2, + WispCageStateNotTakeReward = 3, +} +impl Ajopcffcfdd { + /// 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 { + Ajopcffcfdd::WispCageStateNotExist => "AJOPCFFCFDD_WispCageStateNotExist", + Ajopcffcfdd::WispCageStateCreated => "AJOPCFFCFDD_WispCageStateCreated", + Ajopcffcfdd::WispCageStateMaterialDelivered => { + "AJOPCFFCFDD_WispCageStateMaterialDelivered" + } + Ajopcffcfdd::WispCageStateNotTakeReward => { + "AJOPCFFCFDD_WispCageStateNotTakeReward" + } + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "AJOPCFFCFDD_WispCageStateNotExist" => Some(Self::WispCageStateNotExist), + "AJOPCFFCFDD_WispCageStateCreated" => Some(Self::WispCageStateCreated), + "AJOPCFFCFDD_WispCageStateMaterialDelivered" => { + Some(Self::WispCageStateMaterialDelivered) + } + "AJOPCFFCFDD_WispCageStateNotTakeReward" => { + Some(Self::WispCageStateNotTakeReward) + } + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Jjpmgejnaao { + DraftFailUnknown = 0, + DraftActivityNotOpen = 1, + DraftActivityPlayNotOpen = 2, + DraftSceneNotMeet = 3, + DraftWorldNotMeet = 4, + DraftPlayLimitNotMeet = 5, + DraftActivityConfigNotFound = 6, +} +impl Jjpmgejnaao { + /// 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 { + Jjpmgejnaao::DraftFailUnknown => "JJPMGEJNAAO_DraftFailUnknown", + Jjpmgejnaao::DraftActivityNotOpen => "JJPMGEJNAAO_DraftActivityNotOpen", + Jjpmgejnaao::DraftActivityPlayNotOpen => { + "JJPMGEJNAAO_DraftActivityPlayNotOpen" + } + Jjpmgejnaao::DraftSceneNotMeet => "JJPMGEJNAAO_DraftSceneNotMeet", + Jjpmgejnaao::DraftWorldNotMeet => "JJPMGEJNAAO_DraftWorldNotMeet", + Jjpmgejnaao::DraftPlayLimitNotMeet => "JJPMGEJNAAO_DraftPlayLimitNotMeet", + Jjpmgejnaao::DraftActivityConfigNotFound => { + "JJPMGEJNAAO_DraftActivityConfigNotFound" + } + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "JJPMGEJNAAO_DraftFailUnknown" => Some(Self::DraftFailUnknown), + "JJPMGEJNAAO_DraftActivityNotOpen" => Some(Self::DraftActivityNotOpen), + "JJPMGEJNAAO_DraftActivityPlayNotOpen" => { + Some(Self::DraftActivityPlayNotOpen) + } + "JJPMGEJNAAO_DraftSceneNotMeet" => Some(Self::DraftSceneNotMeet), + "JJPMGEJNAAO_DraftWorldNotMeet" => Some(Self::DraftWorldNotMeet), + "JJPMGEJNAAO_DraftPlayLimitNotMeet" => Some(Self::DraftPlayLimitNotMeet), + "JJPMGEJNAAO_DraftActivityConfigNotFound" => { + Some(Self::DraftActivityConfigNotFound) + } + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Gbnikbfhhkp { + VersionNone = 0, + V50 = 1, +} +impl Gbnikbfhhkp { + /// 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 { + Gbnikbfhhkp::VersionNone => "GBNIKBFHHKP_VersionNone", + Gbnikbfhhkp::V50 => "GBNIKBFHHKP_V50", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "GBNIKBFHHKP_VersionNone" => Some(Self::VersionNone), + "GBNIKBFHHKP_V50" => Some(Self::V50), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Dmbnnbhbpbi { + GcgSettleOptNone = 0, + GcgSettleOptExit = 1, + GcgSettleOptContinue = 2, + GcgSettleOptRestart = 3, +} +impl Dmbnnbhbpbi { + /// 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 { + Dmbnnbhbpbi::GcgSettleOptNone => "DMBNNBHBPBI_GcgSettleOptNone", + Dmbnnbhbpbi::GcgSettleOptExit => "DMBNNBHBPBI_GcgSettleOptExit", + Dmbnnbhbpbi::GcgSettleOptContinue => "DMBNNBHBPBI_GcgSettleOptContinue", + Dmbnnbhbpbi::GcgSettleOptRestart => "DMBNNBHBPBI_GcgSettleOptRestart", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "DMBNNBHBPBI_GcgSettleOptNone" => Some(Self::GcgSettleOptNone), + "DMBNNBHBPBI_GcgSettleOptExit" => Some(Self::GcgSettleOptExit), + "DMBNNBHBPBI_GcgSettleOptContinue" => Some(Self::GcgSettleOptContinue), + "DMBNNBHBPBI_GcgSettleOptRestart" => Some(Self::GcgSettleOptRestart), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Gmamcpbhicj { + None = 0, + Giveup = 1, + Timeout = 2, + LeaveRegion = 3, + LeaveScene = 4, + CrossWeek = 5, + AvatarDie = 6, +} +impl Gmamcpbhicj { + /// 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 { + Gmamcpbhicj::None => "GMAMCPBHICJ_None", + Gmamcpbhicj::Giveup => "GMAMCPBHICJ_Giveup", + Gmamcpbhicj::Timeout => "GMAMCPBHICJ_Timeout", + Gmamcpbhicj::LeaveRegion => "GMAMCPBHICJ_LeaveRegion", + Gmamcpbhicj::LeaveScene => "GMAMCPBHICJ_LeaveScene", + Gmamcpbhicj::CrossWeek => "GMAMCPBHICJ_CrossWeek", + Gmamcpbhicj::AvatarDie => "GMAMCPBHICJ_AvatarDie", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "GMAMCPBHICJ_None" => Some(Self::None), + "GMAMCPBHICJ_Giveup" => Some(Self::Giveup), + "GMAMCPBHICJ_Timeout" => Some(Self::Timeout), + "GMAMCPBHICJ_LeaveRegion" => Some(Self::LeaveRegion), + "GMAMCPBHICJ_LeaveScene" => Some(Self::LeaveScene), + "GMAMCPBHICJ_CrossWeek" => Some(Self::CrossWeek), + "GMAMCPBHICJ_AvatarDie" => Some(Self::AvatarDie), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Hdpdhdlphae { + None = 0, + DestoryVehcile = 1, + EnterScene = 2, + LeaveScene = 3, + ActiveVehcile = 4, + EnterVehicle = 5, + SpeedCheck = 6, + Gm = 7, + UseWidgetTp = 8, + UseWidgetNotTp = 9, + GalleryVehcileNotTp = 10, + QuestExec = 11, +} +impl Hdpdhdlphae { + /// 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 { + Hdpdhdlphae::None => "HDPDHDLPHAE_None", + Hdpdhdlphae::DestoryVehcile => "HDPDHDLPHAE_DestoryVehcile", + Hdpdhdlphae::EnterScene => "HDPDHDLPHAE_EnterScene", + Hdpdhdlphae::LeaveScene => "HDPDHDLPHAE_LeaveScene", + Hdpdhdlphae::ActiveVehcile => "HDPDHDLPHAE_ActiveVehcile", + Hdpdhdlphae::EnterVehicle => "HDPDHDLPHAE_EnterVehicle", + Hdpdhdlphae::SpeedCheck => "HDPDHDLPHAE_SpeedCheck", + Hdpdhdlphae::Gm => "HDPDHDLPHAE_Gm", + Hdpdhdlphae::UseWidgetTp => "HDPDHDLPHAE_UseWidgetTp", + Hdpdhdlphae::UseWidgetNotTp => "HDPDHDLPHAE_UseWidgetNotTp", + Hdpdhdlphae::GalleryVehcileNotTp => "HDPDHDLPHAE_GalleryVehcileNotTp", + Hdpdhdlphae::QuestExec => "HDPDHDLPHAE_QuestExec", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "HDPDHDLPHAE_None" => Some(Self::None), + "HDPDHDLPHAE_DestoryVehcile" => Some(Self::DestoryVehcile), + "HDPDHDLPHAE_EnterScene" => Some(Self::EnterScene), + "HDPDHDLPHAE_LeaveScene" => Some(Self::LeaveScene), + "HDPDHDLPHAE_ActiveVehcile" => Some(Self::ActiveVehcile), + "HDPDHDLPHAE_EnterVehicle" => Some(Self::EnterVehicle), + "HDPDHDLPHAE_SpeedCheck" => Some(Self::SpeedCheck), + "HDPDHDLPHAE_Gm" => Some(Self::Gm), + "HDPDHDLPHAE_UseWidgetTp" => Some(Self::UseWidgetTp), + "HDPDHDLPHAE_UseWidgetNotTp" => Some(Self::UseWidgetNotTp), + "HDPDHDLPHAE_GalleryVehcileNotTp" => Some(Self::GalleryVehcileNotTp), + "HDPDHDLPHAE_QuestExec" => Some(Self::QuestExec), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Mbmckhfkokf { + DieOptNone = 0, + DieOptReplay = 1, + DieOptCancel = 2, + DieOptRevive = 3, +} +impl Mbmckhfkokf { + /// 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 { + Mbmckhfkokf::DieOptNone => "MBMCKHFKOKF_DieOptNone", + Mbmckhfkokf::DieOptReplay => "MBMCKHFKOKF_DieOptReplay", + Mbmckhfkokf::DieOptCancel => "MBMCKHFKOKF_DieOptCancel", + Mbmckhfkokf::DieOptRevive => "MBMCKHFKOKF_DieOptRevive", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "MBMCKHFKOKF_DieOptNone" => Some(Self::DieOptNone), + "MBMCKHFKOKF_DieOptReplay" => Some(Self::DieOptReplay), + "MBMCKHFKOKF_DieOptCancel" => Some(Self::DieOptCancel), + "MBMCKHFKOKF_DieOptRevive" => Some(Self::DieOptRevive), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Gbagjcpbjhm { + None = 0, + Dungeon = 1, + Room = 2, +} +impl Gbagjcpbjhm { + /// 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 { + Gbagjcpbjhm::None => "GBAGJCPBJHM_None", + Gbagjcpbjhm::Dungeon => "GBAGJCPBJHM_Dungeon", + Gbagjcpbjhm::Room => "GBAGJCPBJHM_Room", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "GBAGJCPBJHM_None" => Some(Self::None), + "GBAGJCPBJHM_Dungeon" => Some(Self::Dungeon), + "GBAGJCPBJHM_Room" => Some(Self::Room), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Chjbbpjbkdc { + None = 0, + ReadySelectAvatar = 1, + ReadySelectCard = 2, + ReadyEnterFight = 3, + AllFinish = 4, +} +impl Chjbbpjbkdc { + /// 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 { + Chjbbpjbkdc::None => "CHJBBPJBKDC_None", + Chjbbpjbkdc::ReadySelectAvatar => "CHJBBPJBKDC_ReadySelectAvatar", + Chjbbpjbkdc::ReadySelectCard => "CHJBBPJBKDC_ReadySelectCard", + Chjbbpjbkdc::ReadyEnterFight => "CHJBBPJBKDC_ReadyEnterFight", + Chjbbpjbkdc::AllFinish => "CHJBBPJBKDC_AllFinish", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "CHJBBPJBKDC_None" => Some(Self::None), + "CHJBBPJBKDC_ReadySelectAvatar" => Some(Self::ReadySelectAvatar), + "CHJBBPJBKDC_ReadySelectCard" => Some(Self::ReadySelectCard), + "CHJBBPJBKDC_ReadyEnterFight" => Some(Self::ReadyEnterFight), + "CHJBBPJBKDC_AllFinish" => Some(Self::AllFinish), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum GadgetBornType { + GadgetBornNone = 0, + GadgetBornInAir = 1, + GadgetBornPlayer = 2, + GadgetBornMonsterHit = 3, + GadgetBornMonsterDie = 4, + GadgetBornGadget = 5, + GadgetBornGround = 6, +} +impl GadgetBornType { + /// 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 { + GadgetBornType::GadgetBornNone => "GadgetBornType_GadgetBornNone", + GadgetBornType::GadgetBornInAir => "GadgetBornType_GadgetBornInAir", + GadgetBornType::GadgetBornPlayer => "GadgetBornType_GadgetBornPlayer", + GadgetBornType::GadgetBornMonsterHit => "GadgetBornType_GadgetBornMonsterHit", + GadgetBornType::GadgetBornMonsterDie => "GadgetBornType_GadgetBornMonsterDie", + GadgetBornType::GadgetBornGadget => "GadgetBornType_GadgetBornGadget", + GadgetBornType::GadgetBornGround => "GadgetBornType_GadgetBornGround", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "GadgetBornType_GadgetBornNone" => Some(Self::GadgetBornNone), + "GadgetBornType_GadgetBornInAir" => Some(Self::GadgetBornInAir), + "GadgetBornType_GadgetBornPlayer" => Some(Self::GadgetBornPlayer), + "GadgetBornType_GadgetBornMonsterHit" => Some(Self::GadgetBornMonsterHit), + "GadgetBornType_GadgetBornMonsterDie" => Some(Self::GadgetBornMonsterDie), + "GadgetBornType_GadgetBornGadget" => Some(Self::GadgetBornGadget), + "GadgetBornType_GadgetBornGround" => Some(Self::GadgetBornGround), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Dljmgiamglf { + PlaySoundNone = 0, + PlaySoundStart = 1, + PlaySoundStop = 2, +} +impl Dljmgiamglf { + /// 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 { + Dljmgiamglf::PlaySoundNone => "DLJMGIAMGLF_PlaySoundNone", + Dljmgiamglf::PlaySoundStart => "DLJMGIAMGLF_PlaySoundStart", + Dljmgiamglf::PlaySoundStop => "DLJMGIAMGLF_PlaySoundStop", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "DLJMGIAMGLF_PlaySoundNone" => Some(Self::PlaySoundNone), + "DLJMGIAMGLF_PlaySoundStart" => Some(Self::PlaySoundStart), + "DLJMGIAMGLF_PlaySoundStop" => Some(Self::PlaySoundStop), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Cfaiijnnlbp { + CombatNone = 0, + CombatEvtBeingHit = 1, + CombatAnimatorStateChanged = 2, + CombatFaceToDir = 3, + CombatSetAttackTarget = 4, + CombatRushMove = 5, + CombatAnimatorParameterChanged = 6, + EntityMove = 7, + SyncEntityPosition = 8, + CombatSteerMotionInfo = 9, + CombatForceSetPosInfo = 10, + CombatCompensatePosDiff = 11, + CombatMonsterDoBlink = 12, + CombatFixedRushMove = 13, + CombatSyncTransform = 14, + CombatLightCoreMove = 15, + CombatBeingHealedNtf = 16, + CombatSkillAnchorPositionNtf = 17, + CombatGrapplingHookMove = 18, + CombatSpecialMotionInfo = 19, + CombatFixedAvatarFlashMove = 20, + CombatMultiOverrideAnim = 21, + CombatDebugSyncMotion = 22, +} +impl Cfaiijnnlbp { + /// 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 { + Cfaiijnnlbp::CombatNone => "CFAIIJNNLBP_CombatNone", + Cfaiijnnlbp::CombatEvtBeingHit => "CFAIIJNNLBP_CombatEvtBeingHit", + Cfaiijnnlbp::CombatAnimatorStateChanged => { + "CFAIIJNNLBP_CombatAnimatorStateChanged" + } + Cfaiijnnlbp::CombatFaceToDir => "CFAIIJNNLBP_CombatFaceToDir", + Cfaiijnnlbp::CombatSetAttackTarget => "CFAIIJNNLBP_CombatSetAttackTarget", + Cfaiijnnlbp::CombatRushMove => "CFAIIJNNLBP_CombatRushMove", + Cfaiijnnlbp::CombatAnimatorParameterChanged => { + "CFAIIJNNLBP_CombatAnimatorParameterChanged" + } + Cfaiijnnlbp::EntityMove => "CFAIIJNNLBP_EntityMove", + Cfaiijnnlbp::SyncEntityPosition => "CFAIIJNNLBP_SyncEntityPosition", + Cfaiijnnlbp::CombatSteerMotionInfo => "CFAIIJNNLBP_CombatSteerMotionInfo", + Cfaiijnnlbp::CombatForceSetPosInfo => "CFAIIJNNLBP_CombatForceSetPosInfo", + Cfaiijnnlbp::CombatCompensatePosDiff => "CFAIIJNNLBP_CombatCompensatePosDiff", + Cfaiijnnlbp::CombatMonsterDoBlink => "CFAIIJNNLBP_CombatMonsterDoBlink", + Cfaiijnnlbp::CombatFixedRushMove => "CFAIIJNNLBP_CombatFixedRushMove", + Cfaiijnnlbp::CombatSyncTransform => "CFAIIJNNLBP_CombatSyncTransform", + Cfaiijnnlbp::CombatLightCoreMove => "CFAIIJNNLBP_CombatLightCoreMove", + Cfaiijnnlbp::CombatBeingHealedNtf => "CFAIIJNNLBP_CombatBeingHealedNtf", + Cfaiijnnlbp::CombatSkillAnchorPositionNtf => { + "CFAIIJNNLBP_CombatSkillAnchorPositionNtf" + } + Cfaiijnnlbp::CombatGrapplingHookMove => "CFAIIJNNLBP_CombatGrapplingHookMove", + Cfaiijnnlbp::CombatSpecialMotionInfo => "CFAIIJNNLBP_CombatSpecialMotionInfo", + Cfaiijnnlbp::CombatFixedAvatarFlashMove => { + "CFAIIJNNLBP_CombatFixedAvatarFlashMove" + } + Cfaiijnnlbp::CombatMultiOverrideAnim => "CFAIIJNNLBP_CombatMultiOverrideAnim", + Cfaiijnnlbp::CombatDebugSyncMotion => "CFAIIJNNLBP_CombatDebugSyncMotion", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "CFAIIJNNLBP_CombatNone" => Some(Self::CombatNone), + "CFAIIJNNLBP_CombatEvtBeingHit" => Some(Self::CombatEvtBeingHit), + "CFAIIJNNLBP_CombatAnimatorStateChanged" => { + Some(Self::CombatAnimatorStateChanged) + } + "CFAIIJNNLBP_CombatFaceToDir" => Some(Self::CombatFaceToDir), + "CFAIIJNNLBP_CombatSetAttackTarget" => Some(Self::CombatSetAttackTarget), + "CFAIIJNNLBP_CombatRushMove" => Some(Self::CombatRushMove), + "CFAIIJNNLBP_CombatAnimatorParameterChanged" => { + Some(Self::CombatAnimatorParameterChanged) + } + "CFAIIJNNLBP_EntityMove" => Some(Self::EntityMove), + "CFAIIJNNLBP_SyncEntityPosition" => Some(Self::SyncEntityPosition), + "CFAIIJNNLBP_CombatSteerMotionInfo" => Some(Self::CombatSteerMotionInfo), + "CFAIIJNNLBP_CombatForceSetPosInfo" => Some(Self::CombatForceSetPosInfo), + "CFAIIJNNLBP_CombatCompensatePosDiff" => Some(Self::CombatCompensatePosDiff), + "CFAIIJNNLBP_CombatMonsterDoBlink" => Some(Self::CombatMonsterDoBlink), + "CFAIIJNNLBP_CombatFixedRushMove" => Some(Self::CombatFixedRushMove), + "CFAIIJNNLBP_CombatSyncTransform" => Some(Self::CombatSyncTransform), + "CFAIIJNNLBP_CombatLightCoreMove" => Some(Self::CombatLightCoreMove), + "CFAIIJNNLBP_CombatBeingHealedNtf" => Some(Self::CombatBeingHealedNtf), + "CFAIIJNNLBP_CombatSkillAnchorPositionNtf" => { + Some(Self::CombatSkillAnchorPositionNtf) + } + "CFAIIJNNLBP_CombatGrapplingHookMove" => Some(Self::CombatGrapplingHookMove), + "CFAIIJNNLBP_CombatSpecialMotionInfo" => Some(Self::CombatSpecialMotionInfo), + "CFAIIJNNLBP_CombatFixedAvatarFlashMove" => { + Some(Self::CombatFixedAvatarFlashMove) + } + "CFAIIJNNLBP_CombatMultiOverrideAnim" => Some(Self::CombatMultiOverrideAnim), + "CFAIIJNNLBP_CombatDebugSyncMotion" => Some(Self::CombatDebugSyncMotion), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Pfbjfdjflpp { + AreaPlayNone = 0, + AreaPlayClimate = 1, + AreaPlayRegionalPlay = 2, +} +impl Pfbjfdjflpp { + /// 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 { + Pfbjfdjflpp::AreaPlayNone => "PFBJFDJFLPP_AreaPlayNone", + Pfbjfdjflpp::AreaPlayClimate => "PFBJFDJFLPP_AreaPlayClimate", + Pfbjfdjflpp::AreaPlayRegionalPlay => "PFBJFDJFLPP_AreaPlayRegionalPlay", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "PFBJFDJFLPP_AreaPlayNone" => Some(Self::AreaPlayNone), + "PFBJFDJFLPP_AreaPlayClimate" => Some(Self::AreaPlayClimate), + "PFBJFDJFLPP_AreaPlayRegionalPlay" => Some(Self::AreaPlayRegionalPlay), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Hhaafihndjo { + QuitFocusDefault = 0, + QuitFocusMutual = 1, +} +impl Hhaafihndjo { + /// 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 { + Hhaafihndjo::QuitFocusDefault => "HHAAFIHNDJO_QuitFocusDefault", + Hhaafihndjo::QuitFocusMutual => "HHAAFIHNDJO_QuitFocusMutual", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "HHAAFIHNDJO_QuitFocusDefault" => Some(Self::QuitFocusDefault), + "HHAAFIHNDJO_QuitFocusMutual" => Some(Self::QuitFocusMutual), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Gghihdpmjgm { + EffigyChallengeV4RestartEndReasonNone = 0, + EffigyChallengeV4RestartEndReasonTimeout = 1, + EffigyChallengeV4RestartEndReasonReject = 2, +} +impl Gghihdpmjgm { + /// 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 { + Gghihdpmjgm::EffigyChallengeV4RestartEndReasonNone => { + "GGHIHDPMJGM_EffigyChallengeV4RestartEndReasonNone" + } + Gghihdpmjgm::EffigyChallengeV4RestartEndReasonTimeout => { + "GGHIHDPMJGM_EffigyChallengeV4RestartEndReasonTimeout" + } + Gghihdpmjgm::EffigyChallengeV4RestartEndReasonReject => { + "GGHIHDPMJGM_EffigyChallengeV4RestartEndReasonReject" + } + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "GGHIHDPMJGM_EffigyChallengeV4RestartEndReasonNone" => { + Some(Self::EffigyChallengeV4RestartEndReasonNone) + } + "GGHIHDPMJGM_EffigyChallengeV4RestartEndReasonTimeout" => { + Some(Self::EffigyChallengeV4RestartEndReasonTimeout) + } + "GGHIHDPMJGM_EffigyChallengeV4RestartEndReasonReject" => { + Some(Self::EffigyChallengeV4RestartEndReasonReject) + } + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Fogemdkjjcn { + FishNoRewardNone = 0, + FishNoRewardActivityLimit = 1, + FishNoRewardBagLimit = 2, + FishNoRewardPoolLimit = 3, +} +impl Fogemdkjjcn { + /// 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 { + Fogemdkjjcn::FishNoRewardNone => "FOGEMDKJJCN_FishNoRewardNone", + Fogemdkjjcn::FishNoRewardActivityLimit => { + "FOGEMDKJJCN_FishNoRewardActivityLimit" + } + Fogemdkjjcn::FishNoRewardBagLimit => "FOGEMDKJJCN_FishNoRewardBagLimit", + Fogemdkjjcn::FishNoRewardPoolLimit => "FOGEMDKJJCN_FishNoRewardPoolLimit", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "FOGEMDKJJCN_FishNoRewardNone" => Some(Self::FishNoRewardNone), + "FOGEMDKJJCN_FishNoRewardActivityLimit" => { + Some(Self::FishNoRewardActivityLimit) + } + "FOGEMDKJJCN_FishNoRewardBagLimit" => Some(Self::FishNoRewardBagLimit), + "FOGEMDKJJCN_FishNoRewardPoolLimit" => Some(Self::FishNoRewardPoolLimit), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Chbmdhgnfhg { + Invalid = 0, + HostNoOtherPlayer = 1, + KickByHost = 2, + BackToMyWorld = 3, + KickByHostLogout = 4, + KickByHostBlock = 5, + BeBlocked = 6, + KickByHostEnterHome = 7, + HostSceneInvalid = 8, + KickByPlay = 9, + KickByIslandPartyGalleryStartFailed = 10, +} +impl Chbmdhgnfhg { + /// 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 { + Chbmdhgnfhg::Invalid => "CHBMDHGNFHG_Invalid", + Chbmdhgnfhg::HostNoOtherPlayer => "CHBMDHGNFHG_HostNoOtherPlayer", + Chbmdhgnfhg::KickByHost => "CHBMDHGNFHG_KickByHost", + Chbmdhgnfhg::BackToMyWorld => "CHBMDHGNFHG_BackToMyWorld", + Chbmdhgnfhg::KickByHostLogout => "CHBMDHGNFHG_KickByHostLogout", + Chbmdhgnfhg::KickByHostBlock => "CHBMDHGNFHG_KickByHostBlock", + Chbmdhgnfhg::BeBlocked => "CHBMDHGNFHG_BeBlocked", + Chbmdhgnfhg::KickByHostEnterHome => "CHBMDHGNFHG_KickByHostEnterHome", + Chbmdhgnfhg::HostSceneInvalid => "CHBMDHGNFHG_HostSceneInvalid", + Chbmdhgnfhg::KickByPlay => "CHBMDHGNFHG_KickByPlay", + Chbmdhgnfhg::KickByIslandPartyGalleryStartFailed => { + "CHBMDHGNFHG_KickByIslandPartyGalleryStartFailed" + } + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "CHBMDHGNFHG_Invalid" => Some(Self::Invalid), + "CHBMDHGNFHG_HostNoOtherPlayer" => Some(Self::HostNoOtherPlayer), + "CHBMDHGNFHG_KickByHost" => Some(Self::KickByHost), + "CHBMDHGNFHG_BackToMyWorld" => Some(Self::BackToMyWorld), + "CHBMDHGNFHG_KickByHostLogout" => Some(Self::KickByHostLogout), + "CHBMDHGNFHG_KickByHostBlock" => Some(Self::KickByHostBlock), + "CHBMDHGNFHG_BeBlocked" => Some(Self::BeBlocked), + "CHBMDHGNFHG_KickByHostEnterHome" => Some(Self::KickByHostEnterHome), + "CHBMDHGNFHG_HostSceneInvalid" => Some(Self::HostSceneInvalid), + "CHBMDHGNFHG_KickByPlay" => Some(Self::KickByPlay), + "CHBMDHGNFHG_KickByIslandPartyGalleryStartFailed" => { + Some(Self::KickByIslandPartyGalleryStartFailed) + } + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Fcfbaddhheo { + NeedConfirm = 0, + Refuse = 1, + Direct = 2, +} +impl Fcfbaddhheo { + /// 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 { + Fcfbaddhheo::NeedConfirm => "FCFBADDHHEO_NeedConfirm", + Fcfbaddhheo::Refuse => "FCFBADDHHEO_Refuse", + Fcfbaddhheo::Direct => "FCFBADDHHEO_Direct", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "FCFBADDHHEO_NeedConfirm" => Some(Self::NeedConfirm), + "FCFBADDHHEO_Refuse" => Some(Self::Refuse), + "FCFBADDHHEO_Direct" => Some(Self::Direct), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Dlfmncpnfii { + GcgHintNone = 0, + GcgHintGameNotFound = 1, +} +impl Dlfmncpnfii { + /// 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 { + Dlfmncpnfii::GcgHintNone => "DLFMNCPNFII_GcgHintNone", + Dlfmncpnfii::GcgHintGameNotFound => "DLFMNCPNFII_GcgHintGameNotFound", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "DLFMNCPNFII_GcgHintNone" => Some(Self::GcgHintNone), + "DLFMNCPNFII_GcgHintGameNotFound" => Some(Self::GcgHintGameNotFound), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum AvatarExpeditionState { + AvatarExpeditionNone = 0, + AvatarExpeditionDoing = 1, + AvatarExpeditionFinishWaitReward = 2, + AvatarExpeditionCallbackWaitReward = 3, + AvatarExpeditionLocked = 4, +} +impl AvatarExpeditionState { + /// 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 { + AvatarExpeditionState::AvatarExpeditionNone => { + "AvatarExpeditionState_AvatarExpeditionNone" + } + AvatarExpeditionState::AvatarExpeditionDoing => { + "AvatarExpeditionState_AvatarExpeditionDoing" + } + AvatarExpeditionState::AvatarExpeditionFinishWaitReward => { + "AvatarExpeditionState_AvatarExpeditionFinishWaitReward" + } + AvatarExpeditionState::AvatarExpeditionCallbackWaitReward => { + "AvatarExpeditionState_AvatarExpeditionCallbackWaitReward" + } + AvatarExpeditionState::AvatarExpeditionLocked => { + "AvatarExpeditionState_AvatarExpeditionLocked" + } + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "AvatarExpeditionState_AvatarExpeditionNone" => { + Some(Self::AvatarExpeditionNone) + } + "AvatarExpeditionState_AvatarExpeditionDoing" => { + Some(Self::AvatarExpeditionDoing) + } + "AvatarExpeditionState_AvatarExpeditionFinishWaitReward" => { + Some(Self::AvatarExpeditionFinishWaitReward) + } + "AvatarExpeditionState_AvatarExpeditionCallbackWaitReward" => { + Some(Self::AvatarExpeditionCallbackWaitReward) + } + "AvatarExpeditionState_AvatarExpeditionLocked" => { + Some(Self::AvatarExpeditionLocked) + } + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Bnnpldljknj { + ChangeHpNone = 0, + ChangeHpSubAvatar = 1, + ChangeHpSubMonster = 2, + ChangeHpSubGear = 3, + ChangeHpSubEnvir = 4, + ChangeHpSubFall = 5, + ChangeHpSubDrawn = 6, + ChangeHpSubAbyss = 7, + ChangeHpSubAbility = 8, + ChangeHpSubSummon = 9, + ChangeHpSubScript = 10, + ChangeHpSubGm = 11, + ChangeHpSubKillSelf = 12, + ChangeHpSubClimateCold = 13, + ChangeHpSubStormLightning = 14, + ChangeHpSubKillServerGadget = 15, + ChangeHpSubReplace = 16, + ChangeHpSubPlayerLeave = 17, + ChangeHpAttackByEnergy = 18, + ChangeHpAttackByRecycle = 19, + ChangeHpSubPlayerBack = 20, + ChangeHpSubUgc = 21, + ChangeHpSubDirtyWaterErosion = 22, + ChangeHpSubDestroySelf = 23, + ChangeHpSubLiquidPhlogiston = 24, + ChangeHpSubNataTransfer = 25, + ChangeHpByLua = 51, + ChangeHpAddAbility = 101, + ChangeHpAddItem = 102, + ChangeHpAddRevive = 103, + ChangeHpAddUpgrade = 104, + ChangeHpAddStatue = 105, + ChangeHpAddBackground = 106, + ChangeHpAddGm = 107, + ChangeHpAddTrialAvatarActivity = 108, + ChangeHpAddRouguelikeSpring = 109, + ChangeHpAddEffigyChallengeV5 = 110, +} +impl Bnnpldljknj { + /// 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 { + Bnnpldljknj::ChangeHpNone => "BNNPLDLJKNJ_ChangeHpNone", + Bnnpldljknj::ChangeHpSubAvatar => "BNNPLDLJKNJ_ChangeHpSubAvatar", + Bnnpldljknj::ChangeHpSubMonster => "BNNPLDLJKNJ_ChangeHpSubMonster", + Bnnpldljknj::ChangeHpSubGear => "BNNPLDLJKNJ_ChangeHpSubGear", + Bnnpldljknj::ChangeHpSubEnvir => "BNNPLDLJKNJ_ChangeHpSubEnvir", + Bnnpldljknj::ChangeHpSubFall => "BNNPLDLJKNJ_ChangeHpSubFall", + Bnnpldljknj::ChangeHpSubDrawn => "BNNPLDLJKNJ_ChangeHpSubDrawn", + Bnnpldljknj::ChangeHpSubAbyss => "BNNPLDLJKNJ_ChangeHpSubAbyss", + Bnnpldljknj::ChangeHpSubAbility => "BNNPLDLJKNJ_ChangeHpSubAbility", + Bnnpldljknj::ChangeHpSubSummon => "BNNPLDLJKNJ_ChangeHpSubSummon", + Bnnpldljknj::ChangeHpSubScript => "BNNPLDLJKNJ_ChangeHpSubScript", + Bnnpldljknj::ChangeHpSubGm => "BNNPLDLJKNJ_ChangeHpSubGm", + Bnnpldljknj::ChangeHpSubKillSelf => "BNNPLDLJKNJ_ChangeHpSubKillSelf", + Bnnpldljknj::ChangeHpSubClimateCold => "BNNPLDLJKNJ_ChangeHpSubClimateCold", + Bnnpldljknj::ChangeHpSubStormLightning => { + "BNNPLDLJKNJ_ChangeHpSubStormLightning" + } + Bnnpldljknj::ChangeHpSubKillServerGadget => { + "BNNPLDLJKNJ_ChangeHpSubKillServerGadget" + } + Bnnpldljknj::ChangeHpSubReplace => "BNNPLDLJKNJ_ChangeHpSubReplace", + Bnnpldljknj::ChangeHpSubPlayerLeave => "BNNPLDLJKNJ_ChangeHpSubPlayerLeave", + Bnnpldljknj::ChangeHpAttackByEnergy => "BNNPLDLJKNJ_ChangeHpAttackByEnergy", + Bnnpldljknj::ChangeHpAttackByRecycle => "BNNPLDLJKNJ_ChangeHpAttackByRecycle", + Bnnpldljknj::ChangeHpSubPlayerBack => "BNNPLDLJKNJ_ChangeHpSubPlayerBack", + Bnnpldljknj::ChangeHpSubUgc => "BNNPLDLJKNJ_ChangeHpSubUgc", + Bnnpldljknj::ChangeHpSubDirtyWaterErosion => { + "BNNPLDLJKNJ_ChangeHpSubDirtyWaterErosion" + } + Bnnpldljknj::ChangeHpSubDestroySelf => "BNNPLDLJKNJ_ChangeHpSubDestroySelf", + Bnnpldljknj::ChangeHpSubLiquidPhlogiston => { + "BNNPLDLJKNJ_ChangeHpSubLiquidPhlogiston" + } + Bnnpldljknj::ChangeHpSubNataTransfer => "BNNPLDLJKNJ_ChangeHpSubNataTransfer", + Bnnpldljknj::ChangeHpByLua => "BNNPLDLJKNJ_ChangeHpByLua", + Bnnpldljknj::ChangeHpAddAbility => "BNNPLDLJKNJ_ChangeHpAddAbility", + Bnnpldljknj::ChangeHpAddItem => "BNNPLDLJKNJ_ChangeHpAddItem", + Bnnpldljknj::ChangeHpAddRevive => "BNNPLDLJKNJ_ChangeHpAddRevive", + Bnnpldljknj::ChangeHpAddUpgrade => "BNNPLDLJKNJ_ChangeHpAddUpgrade", + Bnnpldljknj::ChangeHpAddStatue => "BNNPLDLJKNJ_ChangeHpAddStatue", + Bnnpldljknj::ChangeHpAddBackground => "BNNPLDLJKNJ_ChangeHpAddBackground", + Bnnpldljknj::ChangeHpAddGm => "BNNPLDLJKNJ_ChangeHpAddGm", + Bnnpldljknj::ChangeHpAddTrialAvatarActivity => { + "BNNPLDLJKNJ_ChangeHpAddTrialAvatarActivity" + } + Bnnpldljknj::ChangeHpAddRouguelikeSpring => { + "BNNPLDLJKNJ_ChangeHpAddRouguelikeSpring" + } + Bnnpldljknj::ChangeHpAddEffigyChallengeV5 => { + "BNNPLDLJKNJ_ChangeHpAddEffigyChallengeV5" + } + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "BNNPLDLJKNJ_ChangeHpNone" => Some(Self::ChangeHpNone), + "BNNPLDLJKNJ_ChangeHpSubAvatar" => Some(Self::ChangeHpSubAvatar), + "BNNPLDLJKNJ_ChangeHpSubMonster" => Some(Self::ChangeHpSubMonster), + "BNNPLDLJKNJ_ChangeHpSubGear" => Some(Self::ChangeHpSubGear), + "BNNPLDLJKNJ_ChangeHpSubEnvir" => Some(Self::ChangeHpSubEnvir), + "BNNPLDLJKNJ_ChangeHpSubFall" => Some(Self::ChangeHpSubFall), + "BNNPLDLJKNJ_ChangeHpSubDrawn" => Some(Self::ChangeHpSubDrawn), + "BNNPLDLJKNJ_ChangeHpSubAbyss" => Some(Self::ChangeHpSubAbyss), + "BNNPLDLJKNJ_ChangeHpSubAbility" => Some(Self::ChangeHpSubAbility), + "BNNPLDLJKNJ_ChangeHpSubSummon" => Some(Self::ChangeHpSubSummon), + "BNNPLDLJKNJ_ChangeHpSubScript" => Some(Self::ChangeHpSubScript), + "BNNPLDLJKNJ_ChangeHpSubGm" => Some(Self::ChangeHpSubGm), + "BNNPLDLJKNJ_ChangeHpSubKillSelf" => Some(Self::ChangeHpSubKillSelf), + "BNNPLDLJKNJ_ChangeHpSubClimateCold" => Some(Self::ChangeHpSubClimateCold), + "BNNPLDLJKNJ_ChangeHpSubStormLightning" => { + Some(Self::ChangeHpSubStormLightning) + } + "BNNPLDLJKNJ_ChangeHpSubKillServerGadget" => { + Some(Self::ChangeHpSubKillServerGadget) + } + "BNNPLDLJKNJ_ChangeHpSubReplace" => Some(Self::ChangeHpSubReplace), + "BNNPLDLJKNJ_ChangeHpSubPlayerLeave" => Some(Self::ChangeHpSubPlayerLeave), + "BNNPLDLJKNJ_ChangeHpAttackByEnergy" => Some(Self::ChangeHpAttackByEnergy), + "BNNPLDLJKNJ_ChangeHpAttackByRecycle" => Some(Self::ChangeHpAttackByRecycle), + "BNNPLDLJKNJ_ChangeHpSubPlayerBack" => Some(Self::ChangeHpSubPlayerBack), + "BNNPLDLJKNJ_ChangeHpSubUgc" => Some(Self::ChangeHpSubUgc), + "BNNPLDLJKNJ_ChangeHpSubDirtyWaterErosion" => { + Some(Self::ChangeHpSubDirtyWaterErosion) + } + "BNNPLDLJKNJ_ChangeHpSubDestroySelf" => Some(Self::ChangeHpSubDestroySelf), + "BNNPLDLJKNJ_ChangeHpSubLiquidPhlogiston" => { + Some(Self::ChangeHpSubLiquidPhlogiston) + } + "BNNPLDLJKNJ_ChangeHpSubNataTransfer" => Some(Self::ChangeHpSubNataTransfer), + "BNNPLDLJKNJ_ChangeHpByLua" => Some(Self::ChangeHpByLua), + "BNNPLDLJKNJ_ChangeHpAddAbility" => Some(Self::ChangeHpAddAbility), + "BNNPLDLJKNJ_ChangeHpAddItem" => Some(Self::ChangeHpAddItem), + "BNNPLDLJKNJ_ChangeHpAddRevive" => Some(Self::ChangeHpAddRevive), + "BNNPLDLJKNJ_ChangeHpAddUpgrade" => Some(Self::ChangeHpAddUpgrade), + "BNNPLDLJKNJ_ChangeHpAddStatue" => Some(Self::ChangeHpAddStatue), + "BNNPLDLJKNJ_ChangeHpAddBackground" => Some(Self::ChangeHpAddBackground), + "BNNPLDLJKNJ_ChangeHpAddGm" => Some(Self::ChangeHpAddGm), + "BNNPLDLJKNJ_ChangeHpAddTrialAvatarActivity" => { + Some(Self::ChangeHpAddTrialAvatarActivity) + } + "BNNPLDLJKNJ_ChangeHpAddRouguelikeSpring" => { + Some(Self::ChangeHpAddRouguelikeSpring) + } + "BNNPLDLJKNJ_ChangeHpAddEffigyChallengeV5" => { + Some(Self::ChangeHpAddEffigyChallengeV5) + } + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Bojmbiemcjc { + PlayerJudge = 0, + SceneCannotEnter = 1, + PlayerCannotEnterMp = 2, + SystemJudge = 3, + AllowEnterPlayerFull = 4, + WorldLevelLowerThanHost = 5, + HostInMatch = 6, + PlayerInBlacklist = 7, + PsPlayerNotAcceptOthers = 8, + HostIsBlocked = 9, + OtherDataVersionNotLatest = 10, + DataVersionNotLatest = 11, + PlayerNotInPlayerWorld = 12, + MaxPlayer = 13, +} +impl Bojmbiemcjc { + /// 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 { + Bojmbiemcjc::PlayerJudge => "BOJMBIEMCJC_PlayerJudge", + Bojmbiemcjc::SceneCannotEnter => "BOJMBIEMCJC_SceneCannotEnter", + Bojmbiemcjc::PlayerCannotEnterMp => "BOJMBIEMCJC_PlayerCannotEnterMp", + Bojmbiemcjc::SystemJudge => "BOJMBIEMCJC_SystemJudge", + Bojmbiemcjc::AllowEnterPlayerFull => "BOJMBIEMCJC_AllowEnterPlayerFull", + Bojmbiemcjc::WorldLevelLowerThanHost => "BOJMBIEMCJC_WorldLevelLowerThanHost", + Bojmbiemcjc::HostInMatch => "BOJMBIEMCJC_HostInMatch", + Bojmbiemcjc::PlayerInBlacklist => "BOJMBIEMCJC_PlayerInBlacklist", + Bojmbiemcjc::PsPlayerNotAcceptOthers => "BOJMBIEMCJC_PsPlayerNotAcceptOthers", + Bojmbiemcjc::HostIsBlocked => "BOJMBIEMCJC_HostIsBlocked", + Bojmbiemcjc::OtherDataVersionNotLatest => { + "BOJMBIEMCJC_OtherDataVersionNotLatest" + } + Bojmbiemcjc::DataVersionNotLatest => "BOJMBIEMCJC_DataVersionNotLatest", + Bojmbiemcjc::PlayerNotInPlayerWorld => "BOJMBIEMCJC_PlayerNotInPlayerWorld", + Bojmbiemcjc::MaxPlayer => "BOJMBIEMCJC_MaxPlayer", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "BOJMBIEMCJC_PlayerJudge" => Some(Self::PlayerJudge), + "BOJMBIEMCJC_SceneCannotEnter" => Some(Self::SceneCannotEnter), + "BOJMBIEMCJC_PlayerCannotEnterMp" => Some(Self::PlayerCannotEnterMp), + "BOJMBIEMCJC_SystemJudge" => Some(Self::SystemJudge), + "BOJMBIEMCJC_AllowEnterPlayerFull" => Some(Self::AllowEnterPlayerFull), + "BOJMBIEMCJC_WorldLevelLowerThanHost" => Some(Self::WorldLevelLowerThanHost), + "BOJMBIEMCJC_HostInMatch" => Some(Self::HostInMatch), + "BOJMBIEMCJC_PlayerInBlacklist" => Some(Self::PlayerInBlacklist), + "BOJMBIEMCJC_PsPlayerNotAcceptOthers" => Some(Self::PsPlayerNotAcceptOthers), + "BOJMBIEMCJC_HostIsBlocked" => Some(Self::HostIsBlocked), + "BOJMBIEMCJC_OtherDataVersionNotLatest" => { + Some(Self::OtherDataVersionNotLatest) + } + "BOJMBIEMCJC_DataVersionNotLatest" => Some(Self::DataVersionNotLatest), + "BOJMBIEMCJC_PlayerNotInPlayerWorld" => Some(Self::PlayerNotInPlayerWorld), + "BOJMBIEMCJC_MaxPlayer" => Some(Self::MaxPlayer), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Mclklllbaif { + PlayerJudge = 0, + PlayerEnterOptionRefuse = 1, + PlayerEnterOptionDirect = 2, + SystemJudge = 3, + HostInMatch = 4, + PsPlayerNotAcceptOthers = 5, + OpenStateNotOpen = 6, + HostInEditMode = 7, + PriorCheck = 8, + PlayerOffline = 9, +} +impl Mclklllbaif { + /// 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 { + Mclklllbaif::PlayerJudge => "MCLKLLLBAIF_PlayerJudge", + Mclklllbaif::PlayerEnterOptionRefuse => "MCLKLLLBAIF_PlayerEnterOptionRefuse", + Mclklllbaif::PlayerEnterOptionDirect => "MCLKLLLBAIF_PlayerEnterOptionDirect", + Mclklllbaif::SystemJudge => "MCLKLLLBAIF_SystemJudge", + Mclklllbaif::HostInMatch => "MCLKLLLBAIF_HostInMatch", + Mclklllbaif::PsPlayerNotAcceptOthers => "MCLKLLLBAIF_PsPlayerNotAcceptOthers", + Mclklllbaif::OpenStateNotOpen => "MCLKLLLBAIF_OpenStateNotOpen", + Mclklllbaif::HostInEditMode => "MCLKLLLBAIF_HostInEditMode", + Mclklllbaif::PriorCheck => "MCLKLLLBAIF_PriorCheck", + Mclklllbaif::PlayerOffline => "MCLKLLLBAIF_PlayerOffline", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "MCLKLLLBAIF_PlayerJudge" => Some(Self::PlayerJudge), + "MCLKLLLBAIF_PlayerEnterOptionRefuse" => Some(Self::PlayerEnterOptionRefuse), + "MCLKLLLBAIF_PlayerEnterOptionDirect" => Some(Self::PlayerEnterOptionDirect), + "MCLKLLLBAIF_SystemJudge" => Some(Self::SystemJudge), + "MCLKLLLBAIF_HostInMatch" => Some(Self::HostInMatch), + "MCLKLLLBAIF_PsPlayerNotAcceptOthers" => Some(Self::PsPlayerNotAcceptOthers), + "MCLKLLLBAIF_OpenStateNotOpen" => Some(Self::OpenStateNotOpen), + "MCLKLLLBAIF_HostInEditMode" => Some(Self::HostInEditMode), + "MCLKLLLBAIF_PriorCheck" => Some(Self::PriorCheck), + "MCLKLLLBAIF_PlayerOffline" => Some(Self::PlayerOffline), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Boedelijagb { + None = 0, + Transculent = 1, +} +impl Boedelijagb { + /// 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 { + Boedelijagb::None => "BOEDELIJAGB_None", + Boedelijagb::Transculent => "BOEDELIJAGB_Transculent", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "BOEDELIJAGB_None" => Some(Self::None), + "BOEDELIJAGB_Transculent" => Some(Self::Transculent), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Jmhjpmmamdc { + None = 0, + SwitchControl = 1, + ShootTimeout = 2, + RunningTimeout = 3, + RunningReconnect = 4, +} +impl Jmhjpmmamdc { + /// 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 { + Jmhjpmmamdc::None => "JMHJPMMAMDC_None", + Jmhjpmmamdc::SwitchControl => "JMHJPMMAMDC_SwitchControl", + Jmhjpmmamdc::ShootTimeout => "JMHJPMMAMDC_ShootTimeout", + Jmhjpmmamdc::RunningTimeout => "JMHJPMMAMDC_RunningTimeout", + Jmhjpmmamdc::RunningReconnect => "JMHJPMMAMDC_RunningReconnect", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "JMHJPMMAMDC_None" => Some(Self::None), + "JMHJPMMAMDC_SwitchControl" => Some(Self::SwitchControl), + "JMHJPMMAMDC_ShootTimeout" => Some(Self::ShootTimeout), + "JMHJPMMAMDC_RunningTimeout" => Some(Self::RunningTimeout), + "JMHJPMMAMDC_RunningReconnect" => Some(Self::RunningReconnect), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Fkiehceffhe { + ReasonNone = 0, + ReasonGameMax = 1, + ReasonClientVersionNotLastest = 2, + ReasonResourceNotComplete = 3, + ReasonTimeout = 4, + ReasonOpponentClientVersionNotLastest = 5, +} +impl Fkiehceffhe { + /// 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 { + Fkiehceffhe::ReasonNone => "FKIEHCEFFHE_ReasonNone", + Fkiehceffhe::ReasonGameMax => "FKIEHCEFFHE_ReasonGameMax", + Fkiehceffhe::ReasonClientVersionNotLastest => { + "FKIEHCEFFHE_ReasonClientVersionNotLastest" + } + Fkiehceffhe::ReasonResourceNotComplete => { + "FKIEHCEFFHE_ReasonResourceNotComplete" + } + Fkiehceffhe::ReasonTimeout => "FKIEHCEFFHE_ReasonTimeout", + Fkiehceffhe::ReasonOpponentClientVersionNotLastest => { + "FKIEHCEFFHE_ReasonOpponentClientVersionNotLastest" + } + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "FKIEHCEFFHE_ReasonNone" => Some(Self::ReasonNone), + "FKIEHCEFFHE_ReasonGameMax" => Some(Self::ReasonGameMax), + "FKIEHCEFFHE_ReasonClientVersionNotLastest" => { + Some(Self::ReasonClientVersionNotLastest) + } + "FKIEHCEFFHE_ReasonResourceNotComplete" => { + Some(Self::ReasonResourceNotComplete) + } + "FKIEHCEFFHE_ReasonTimeout" => Some(Self::ReasonTimeout), + "FKIEHCEFFHE_ReasonOpponentClientVersionNotLastest" => { + Some(Self::ReasonOpponentClientVersionNotLastest) + } + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Fblkbbkfenl { + None = 0, + Succ = 1, + Fail = 2, +} +impl Fblkbbkfenl { + /// 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 { + Fblkbbkfenl::None => "FBLKBBKFENL_None", + Fblkbbkfenl::Succ => "FBLKBBKFENL_Succ", + Fblkbbkfenl::Fail => "FBLKBBKFENL_Fail", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "FBLKBBKFENL_None" => Some(Self::None), + "FBLKBBKFENL_Succ" => Some(Self::Succ), + "FBLKBBKFENL_Fail" => Some(Self::Fail), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Nmfdmilhgpo { + InteractNone = 0, + InteractPickItem = 1, + InteractGather = 2, + InteractOpenChest = 3, + InteractOpenStatue = 4, + InteractConsum = 5, + InteractMpPlayReward = 6, + InteractView = 7, + InteractGeneralReward = 8, + InteractMiracleRing = 9, + InteractFoundation = 10, + InteractEchoShell = 11, + InteractHomeGather = 12, + InteractEnvAnimal = 13, + InteractQuestGadget = 14, + InteractUiInteract = 15, + InteractDeshretObelisk = 16, +} +impl Nmfdmilhgpo { + /// 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 { + Nmfdmilhgpo::InteractNone => "NMFDMILHGPO_InteractNone", + Nmfdmilhgpo::InteractPickItem => "NMFDMILHGPO_InteractPickItem", + Nmfdmilhgpo::InteractGather => "NMFDMILHGPO_InteractGather", + Nmfdmilhgpo::InteractOpenChest => "NMFDMILHGPO_InteractOpenChest", + Nmfdmilhgpo::InteractOpenStatue => "NMFDMILHGPO_InteractOpenStatue", + Nmfdmilhgpo::InteractConsum => "NMFDMILHGPO_InteractConsum", + Nmfdmilhgpo::InteractMpPlayReward => "NMFDMILHGPO_InteractMpPlayReward", + Nmfdmilhgpo::InteractView => "NMFDMILHGPO_InteractView", + Nmfdmilhgpo::InteractGeneralReward => "NMFDMILHGPO_InteractGeneralReward", + Nmfdmilhgpo::InteractMiracleRing => "NMFDMILHGPO_InteractMiracleRing", + Nmfdmilhgpo::InteractFoundation => "NMFDMILHGPO_InteractFoundation", + Nmfdmilhgpo::InteractEchoShell => "NMFDMILHGPO_InteractEchoShell", + Nmfdmilhgpo::InteractHomeGather => "NMFDMILHGPO_InteractHomeGather", + Nmfdmilhgpo::InteractEnvAnimal => "NMFDMILHGPO_InteractEnvAnimal", + Nmfdmilhgpo::InteractQuestGadget => "NMFDMILHGPO_InteractQuestGadget", + Nmfdmilhgpo::InteractUiInteract => "NMFDMILHGPO_InteractUiInteract", + Nmfdmilhgpo::InteractDeshretObelisk => "NMFDMILHGPO_InteractDeshretObelisk", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "NMFDMILHGPO_InteractNone" => Some(Self::InteractNone), + "NMFDMILHGPO_InteractPickItem" => Some(Self::InteractPickItem), + "NMFDMILHGPO_InteractGather" => Some(Self::InteractGather), + "NMFDMILHGPO_InteractOpenChest" => Some(Self::InteractOpenChest), + "NMFDMILHGPO_InteractOpenStatue" => Some(Self::InteractOpenStatue), + "NMFDMILHGPO_InteractConsum" => Some(Self::InteractConsum), + "NMFDMILHGPO_InteractMpPlayReward" => Some(Self::InteractMpPlayReward), + "NMFDMILHGPO_InteractView" => Some(Self::InteractView), + "NMFDMILHGPO_InteractGeneralReward" => Some(Self::InteractGeneralReward), + "NMFDMILHGPO_InteractMiracleRing" => Some(Self::InteractMiracleRing), + "NMFDMILHGPO_InteractFoundation" => Some(Self::InteractFoundation), + "NMFDMILHGPO_InteractEchoShell" => Some(Self::InteractEchoShell), + "NMFDMILHGPO_InteractHomeGather" => Some(Self::InteractHomeGather), + "NMFDMILHGPO_InteractEnvAnimal" => Some(Self::InteractEnvAnimal), + "NMFDMILHGPO_InteractQuestGadget" => Some(Self::InteractQuestGadget), + "NMFDMILHGPO_InteractUiInteract" => Some(Self::InteractUiInteract), + "NMFDMILHGPO_InteractDeshretObelisk" => Some(Self::InteractDeshretObelisk), + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Nacddokhdhd { + MarkTipsDungeonElementTrial = 0, +} +impl Nacddokhdhd { + /// 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 { + Nacddokhdhd::MarkTipsDungeonElementTrial => { + "NACDDOKHDHD_MarkTipsDungeonElementTrial" + } + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "NACDDOKHDHD_MarkTipsDungeonElementTrial" => { + Some(Self::MarkTipsDungeonElementTrial) + } + _ => None, + } + } +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Retcode { + RetSucc = 0, + RetFail = -1, + RetSvrError = 1, + RetUnknownError = 2, + RetFrequent = 3, + RetNodeForwardError = 4, + RetNotFoundConfig = 5, + RetSystemBusy = 6, + RetGmUidBind = 7, + RetForbidden = 8, + RetStopRegister = 10, + RetStopServer = 11, + RetAccountVeirfyError = 12, + RetAccountFreeze = 13, + RetRepeatLogin = 14, + RetClientVersionError = 15, + RetTokenError = 16, + RetAccountNotExist = 17, + RetWaitOtherLogin = 18, + RetAnotherLogin = 19, + RetClientForceUpdate = 20, + RetBlackUid = 21, + RetLoginDbFail = 22, + RetLoginInitFail = 23, + RetMysqlDuplicate = 24, + RetMaxPlayer = 25, + RetAntiAddict = 26, + RetPsPlayerWithoutOnlineId = 27, + RetOnlineIdNotFound = 28, + RetOnlneIdNotMatch = 29, + RetRegisterIsFull = 30, + RetChecksumInvalid = 31, + RetBlackRegisterIp = 32, + RetExceedRegisterRate = 33, + RetUnknownPlatform = 34, + RetTokenParamError = 35, + RetAntiOfflineError = 36, + RetBlackLoginIp = 37, + RetGetTokenSessionHasUid = 38, + RetEnvironmentError = 39, + RetCheckClientVersionHashFail = 40, + RetMinorRegisterFobidden = 41, + RetSecurityLibraryError = 42, + RetGateTicketCheckError = 43, + RetProtoMixVersionNotMatch = 44, + RetAccountTypeStopRegister = 45, + RetAvatarInCd = 101, + RetAvatarNotAlive = 102, + RetAvatarNotOnScene = 103, + RetCanNotFindAvatar = 104, + RetCanNotDelCurAvatar = 105, + RetDuplicateAvatar = 106, + RetAvatarIsSameOne = 107, + RetAvatarLevelLessThan = 108, + RetAvatarCanNotChangeElement = 109, + RetAvatarBreakLevelLessThan = 110, + RetAvatarOnMaxBreakLevel = 111, + RetAvatarIdAlreadyExist = 112, + RetAvatarNotDead = 113, + RetAvatarIsReviving = 114, + RetAvatarIdError = 115, + RetRepeatSetPlayerBornData = 116, + RetPlayerLevelLessThan = 117, + RetAvatarLimitLevelError = 118, + RetCurAvatarNotAlive = 119, + RetCanNotFindTeam = 120, + RetCanNotFindCurTeam = 121, + RetAvatarNotExistInTeam = 122, + RetCanNotRemoveCurAvatarFromTeam = 123, + RetCanNotUseReviveItemForCurAvatar = 124, + RetTeamCostExceedLimit = 125, + RetTeamAvatarInExpedition = 126, + RetTeamCanNotChoseReplaceUse = 127, + RetAvatarInCombat = 128, + RetPlayerTimeLocked = 129, + RetNicknameUtf8Error = 130, + RetNicknameTooLong = 131, + RetNicknameWordIllegal = 132, + RetNicknameTooManyDigits = 133, + RetNicknameIsEmpty = 134, + RetNicknameMonthlyLimit = 135, + RetNicknameNotChanged = 136, + RetPlayerNotOnline = 140, + RetOpenStateNotOpen = 141, + RetFeatureClosed = 142, + RetAvatarExpeditionAvatarDie = 152, + RetAvatarExpeditionCountLimit = 153, + RetAvatarExpeditionMainForbid = 154, + RetAvatarExpeditionTrialForbid = 155, + RetTeamNameIllegal = 156, + RetIsNotInStandby = 157, + RetIsInDungeon = 158, + RetIsInLockAvatarQuest = 159, + RetIsUsingTrialAvatar = 160, + RetIsUsingTempAvatar = 161, + RetNotHasFlycloak = 162, + RetFetterRewardAlreadyGot = 163, + RetFetterRewardLevelNotEnough = 164, + RetWorldLevelAdjustMinLevel = 165, + RetWorldLevelAdjustCd = 166, + RetNotHasCostume = 167, + RetCostumeAvatarError = 168, + RetFlycloakPlatformTypeErr = 169, + RetInTransfer = 170, + RetIsInLockAvatar = 171, + RetFullBackupTeam = 172, + RetBackupTeamIdNotValid = 173, + RetBackupTeamIsCurTeam = 174, + RetAvatarRenameInCd = 175, + RetAvatarRenameInAudit = 176, + RetAvatarRenameInIpBlackList = 177, + RetTeamAvatarIsLocked = 178, + RetPlayerHasTrialAvatar = 179, + RetAvatarExpeditionSlotNotEnough = 180, + RetAvatarExpeditionNoAvatarCanTakeReward = 181, + RetAvatarUpgradeItemExpOverflow = 182, + RetAsyncWordFilterInCd = 183, + RetNotHasTraceEffect = 184, + RetTraceEffectAvatarError = 185, + RetPlayerTimeLockedByQuest = 186, + RetFloatError = 201, + RetNpcNotExist = 301, + RetNpcTooFar = 302, + RetNotCurrentTalk = 303, + RetNpcCreateFail = 304, + RetNpcMoveFail = 305, + RetQuestNotExist = 401, + RetQuestIsFail = 402, + RetQuestContentError = 403, + RetBargainNotActivated = 404, + RetBargainFinished = 405, + RetInferenceAssociateWordError = 406, + RetInferenceSubmitWordNoConclusion = 407, + RetSubmitQuestEventsNotRight = 408, + RetConfirmContinueMutualQuestCondFailed = 409, + RetConfirmContinueMutualOccupiedFailed = 410, + RetQuestFocusModeInCd = 416, + RetQuestInFocusMode = 417, + RetQuestNotInFocusMode = 418, + RetParentQuestCannotStartFocus = 419, + RetParentQuestNotExist = 420, + RetBanOpearateFocus = 421, + RetQuestFocusAnyGalleryStarted = 422, + RetQuestFocusUsingInformalAvatar = 423, + RetQuestFocusOpenstateOff = 424, + RetPointNotUnlocked = 501, + RetPointTooFar = 502, + RetPointAlreayUnlocked = 503, + RetEntityNotExist = 504, + RetEnterSceneFail = 505, + RetPlayerIsEnterScene = 506, + RetCityMaxLevel = 507, + RetAreaLocked = 508, + RetJoinOtherWait = 509, + RetWeatherAreaNotFound = 510, + RetWeatherIsLocked = 511, + RetNotInSelfScene = 512, + RetGroupNotExist = 513, + RetMarkNameIllegal = 514, + RetMarkAlreadyExists = 515, + RetMarkOverflow = 516, + RetMarkNotExists = 517, + RetMarkUnknownType = 518, + RetMarkNameTooLong = 519, + RetDistanceLong = 520, + RetEnterSceneTokenInvalid = 521, + RetNotInWorldScene = 522, + RetAnyGalleryStarted = 523, + RetGalleryNotStart = 524, + RetGalleryInterruptOnlyOnSingleMode = 525, + RetGalleryCannotInterrupt = 526, + RetGalleryWorldNotMeet = 527, + RetGallerySceneNotMeet = 528, + RetCurPlayCannotTransfer = 529, + RetCantUseWidgetInHomeScene = 530, + RetSceneGroupNotMatch = 531, + RetPosRotInvalid = 551, + RetMarkInvalidSceneId = 552, + RetInvalidSceneToUseAnchorPoint = 553, + RetEnterHomeSceneFail = 554, + RetCurSceneIsNull = 555, + RetGroupIdError = 556, + RetGalleryInterruptNotOwner = 557, + RetNoSpringInArea = 558, + RetAreaNotInScene = 559, + RetInvalidCityId = 560, + RetInvalidSceneId = 561, + RetDestSceneIsNotAllow = 562, + RetLevelTagSwitchInCd = 563, + RetLevelTagAlreadyExist = 564, + RetInvalidAreaId = 565, + RetGalleryOngoingForbid = 566, + RetNotInPlayerWorld = 567, + RetMapLayerGroupAlreadyShown = 568, + RetInvalidMapLayer = 569, + RetGalleryRepeatStart = 570, + RetNotInPlayerScene = 571, + RetEnterDungeonNotInValidDungeon = 572, + RetItemNotExist = 601, + RetPackExceedMaxWeight = 602, + RetItemNotDropable = 603, + RetItemNotUsable = 604, + RetItemInvalidUseCount = 605, + RetItemInvalidDropCount = 606, + RetItemAlreadyExist = 607, + RetItemInCooldown = 608, + RetItemCountNotEnough = 609, + RetItemInvalidTarget = 610, + RetRecipeNotExist = 611, + RetRecipeLocked = 612, + RetRecipeUnlocked = 613, + RetCompoundQueueFull = 614, + RetCompoundNotFinish = 615, + RetMailItemNotGet = 616, + RetItemExceedLimit = 617, + RetAvatarCanNotUse = 618, + RetItemNeedPlayerLevel = 619, + RetRecipeNotAutoQte = 620, + RetCompoundBusyQueue = 621, + RetNeedMoreScoin = 622, + RetSkillDepotNotFound = 623, + RetHcoinNotEnough = 624, + RetScoinNotEnough = 625, + RetHcoinExceedLimit = 626, + RetScoinExceedLimit = 627, + RetMailExpired = 628, + RetRewardHasTaken = 629, + RetCombineCountTooLarge = 630, + RetGivingItemWrong = 631, + RetGivingIsFinished = 632, + RetGivingNotActived = 633, + RetForgeQueueFull = 634, + RetForgeQueueCapacity = 635, + RetForgeQueueNotFound = 636, + RetForgeQueueEmpty = 637, + RetNotSupportItem = 638, + RetItemEmpty = 639, + RetVirtualExceedLimit = 640, + RetMaterialExceedLimit = 641, + RetEquipExceedLimit = 642, + RetItemShouldHaveNoLevel = 643, + RetWeaponPromoteLevelExceedLimit = 644, + RetWeaponLevelInvalid = 645, + RetUnknowItemType = 646, + RetItemCountIsZero = 647, + RetItemIsExpired = 648, + RetItemExceedOutputLimit = 649, + RetEquipLevelHigher = 650, + RetEquipCanNotWakeOffWeapon = 651, + RetEquipHasBeenWeared = 652, + RetEquipWearedCannotDrop = 653, + RetAwakenLevelMax = 654, + RetMcoinNotEnough = 655, + RetMcoinExceedLimit = 656, + RetBatchSetEquipLockStateCd = 657, + RetResinNotEnough = 660, + RetResinExceedLimit = 661, + RetResinOpenstateOff = 662, + RetResinBoughtCountExceeded = 663, + RetResinCardDailyRewardHasTaken = 664, + RetResinCardExpired = 665, + RetAvatarCanNotCook = 666, + RetAttachAvatarCd = 667, + RetAutoRecoverOpenstateOff = 668, + RetAutoRecoverBoughtCountExceeded = 669, + RetResinGainFailed = 670, + RetWidgetOrnamentsTypeError = 671, + RetAllTargetSatiationFull = 672, + RetForgeWorldLevelNotMatch = 673, + RetForgePointNotEnough = 674, + RetWidgetAnchorPointFull = 675, + RetWidgetAnchorPointNotFound = 676, + RetAllBonfireExceedMaxCount = 677, + RetBonfireExceedMaxCount = 678, + RetLunchBoxDataError = 679, + RetInvalidQuickUseWidget = 680, + RetInvalidReplaceResinCount = 681, + RetPrevDetectedGatherNotFound = 682, + RetGotAllOneoffGahter = 683, + RetInvalidWidgetMaterialId = 684, + RetWidgetDetectorNoHintToClear = 685, + RetWidgetAlreadyWithinNearbyRadius = 686, + RetWidgetClientCollectorNeedPoints = 687, + RetWidgetInCombat = 688, + RetWidgetNotSetQuickUse = 689, + RetAlreadyAttachWidget = 690, + RetEquipIsLocked = 691, + RetForgeIsLocked = 692, + RetCombineIsLocked = 693, + RetForgeOutputStackLimit = 694, + RetAlreadyDettachWidget = 695, + RetGadgetBuilderExceedMaxCount = 696, + RetReunionPrivilegeResinTypeIsNormal = 697, + RetBonusCountExceedDoubleLimit = 698, + RetReliquaryDecomposeParamError = 699, + RetItemCombineCountNotEnough = 700, + RetGoodsNotExist = 701, + RetGoodsMaterialNotEnough = 702, + RetGoodsNotInTime = 703, + RetGoodsBuyNumNotEnough = 704, + RetGoodsBuyNumError = 705, + RetShopNotOpen = 706, + RetShopContentNotMatch = 707, + RetShopBatchBuyShopLimit = 708, + RetShopBatchBuyCountLimit = 709, + RetGoodsPreconditionNotSatisfied = 710, + RetChatForbidden = 798, + RetChatCd = 799, + RetChatFrequently = 800, + RetGadgetNotExist = 801, + RetGadgetNotInteractive = 802, + RetGadgetNotGatherable = 803, + RetChestIsLocked = 804, + RetGadgetCreateFail = 805, + RetWorktopOptionNotExist = 806, + RetGadgetStatueNotActive = 807, + RetGadgetStatueOpened = 808, + RetBossChestNoQualification = 809, + RetBossChestLifeTimeOver = 810, + RetBossChestWeekNumLimit = 811, + RetBossChestGuestWorldLevel = 812, + RetBossChestHasTaken = 813, + RetBlossomChestNoQualification = 814, + RetBlossomChestLifeTimeOver = 815, + RetBlossomChestHasTaken = 816, + RetBlossomChestGuestWorldLevel = 817, + RetMpPlayRewardNoQualification = 818, + RetMpPlayRewardHasTaken = 819, + RetGeneralRewardNoQualification = 820, + RetGeneralRewardLifeTimeOver = 821, + RetGeneralRewardHasTaken = 822, + RetGadgetNotVehicle = 823, + RetVehicleSlotOccupied = 824, + RetNotInVehicle = 825, + RetCreateVehicleInCd = 826, + RetCreateVehiclePosInvalid = 827, + RetVehiclePointNotUnlock = 828, + RetGadgetInteractCondNotMeet = 829, + RetGadgetInteractParamError = 830, + RetGadgetCustomCombinationInvalid = 831, + RetDeshretObeliskDuplicateInteract = 832, + RetDeshretObeliskNoAvailChest = 833, + RetVehicleSorushNotReplace = 834, + RetVehicleSorushNotUnload = 835, + RetVehicleSorushStateNotMatch = 836, + RetGivingNotInMyWorld = 837, + RetGivingIsFrozen = 838, + RetActivityClose = 860, + RetActivityItemError = 861, + RetActivityContributionNotEnough = 862, + RetSeaLampPhaseNotFinish = 863, + RetSeaLampFlyNumLimit = 864, + RetSeaLampFlyLampWordIllegal = 865, + RetActivityWatcherRewardTaken = 866, + RetActivityWatcherRewardNotFinished = 867, + RetSalesmanAlreadyDelivered = 868, + RetSalesmanRewardCountNotEnough = 869, + RetSalesmanPositionInvalid = 870, + RetDeliverNotFinishAllQuest = 871, + RetDeliverAlreadyTakeDailyReward = 872, + RetAsterProgressExceedLimit = 873, + RetAsterCreditExceedLimit = 874, + RetAsterTokenExceedLimit = 875, + RetAsterCreditNotEnough = 876, + RetAsterTokenNotEnough = 877, + RetAsterSpecialRewardHasTaken = 878, + RetFlightGroupActivityNotStarted = 879, + RetAsterMidPreviousBattleNotFinished = 880, + RetDragonSpineShimmeringEssenceExceedLimit = 881, + RetDragonSpineWarmEssenceExceedLimit = 882, + RetDragonSpineWondrousEssenceExceedLimit = 883, + RetDragonSpineShimmeringEssenceNotEnough = 884, + RetDragonSpineWarmEssenceNotEnough = 885, + RetDragonSpineWondrousEssenceNotEnough = 886, + RetEffigyFirstPassRewardHasTaken = 891, + RetEffigyRewardHasTaken = 892, + RetTreasureMapAddTokenExceedLimit = 893, + RetTreasureMapTokenNotEnought = 894, + RetSeaLampCoinExceedLimit = 895, + RetSeaLampCoinNotEnough = 896, + RetSeaLampPopularityExceedLimit = 897, + RetActivityAvatarRewardNotOpen = 898, + RetActivityAvatarRewardHasTaken = 899, + RetArenaActivityAlreadyStarted = 900, + RetTalentAlreayUnlocked = 901, + RetPrevTalentNotUnlocked = 902, + RetBigTalentPointNotEnough = 903, + RetSmallTalentPointNotEnough = 904, + RetProudSkillAlreadyGot = 905, + RetPrevProudSkillNotGet = 906, + RetProudSkillMaxLevel = 907, + RetCandidateSkillDepotIdNotFind = 910, + RetSkillDepotIsTheSame = 911, + RetMonsterNotExist = 1001, + RetMonsterCreateFail = 1002, + RetDungeonEnterFail = 1101, + RetDungeonQuitFail = 1102, + RetDungeonEnterExceedDayCount = 1103, + RetDungeonReviveExceedMaxCount = 1104, + RetDungeonReviveFail = 1105, + RetDungeonNotSucceed = 1106, + RetDungeonCanNotCancel = 1107, + RetDestDungeonSettled = 1108, + RetDungeonCandidateTeamIsFull = 1109, + RetDungeonCandidateTeamIsDismiss = 1110, + RetDungeonCandidateTeamNotAllReady = 1111, + RetDungeonCandidateTeamHasRepeatAvatar = 1112, + RetDungeonCandidateNotSingelPass = 1113, + RetDungeonReplayNeedAllPlayerDie = 1114, + RetDungeonReplayHasReviveCount = 1115, + RetDungeonOthersLeave = 1116, + RetDungeonEnterLevelLimit = 1117, + RetDungeonCannotEnterPlotInMp = 1118, + RetDungeonDropSubfieldLimit = 1119, + RetDungeonBeInvitePlayerAvatarAllDie = 1120, + RetDungeonCannotKick = 1121, + RetDungeonCandidateTeamSomeoneLevelLimit = 1122, + RetDungeonInForceQuit = 1123, + RetDungeonGuestQuitDungeon = 1124, + RetDungeonTicketFail = 1125, + RetCurDungeonSettled = 1126, + RetCurDungeonNotPlot = 1127, + RetCurDungeonNotAllowSwitchTeam = 1128, + RetDungeonEnteredByCandidateTeam = 1129, + RetDungeonSwitchTeamBannedByPlay = 1130, + RetDungeonEnterTeamInternalError = 1131, + RetDungeonEnterTeamSomeoneLevelLimit = 1132, + RetDungeonEnterTeamSomeoneNotInSceneTeam = 1133, + RetMpNotInMyWorld = 1201, + RetMpInMpMode = 1202, + RetMpSceneIsFull = 1203, + RetMpModeNotAvailable = 1204, + RetMpPlayerNotEnterable = 1205, + RetMpQuestBlockMp = 1206, + RetMpInRoomScene = 1207, + RetMpWorldIsFull = 1208, + RetMpPlayerNotAllowEnter = 1209, + RetMpPlayerDisconnected = 1210, + RetMpNotInMpMode = 1211, + RetMpOwnerNotEnter = 1212, + RetMpAllowEnterPlayerFull = 1213, + RetMpTargetPlayerInTransfer = 1214, + RetMpTargetEnteringOther = 1215, + RetMpOtherEntering = 1216, + RetMpEnterMainPlayerInPlot = 1217, + RetMpNotPsPlayer = 1218, + RetMpPlayNotActive = 1219, + RetMpPlayRemainRewards = 1220, + RetMpPlayNoReward = 1221, + RetMpOpenStateFail = 1223, + RetMpPlayerInBlacklist = 1224, + RetMpReplyTimeout = 1225, + RetMpIsBlock = 1226, + RetMpEnterMainPlayerInMpPlay = 1227, + RetMpInMpPlayBattle = 1228, + RetMpGuestHasRewardRemained = 1229, + RetMpQuitMpInvalid = 1230, + RetMpOtherDataVersionNotLatest = 1231, + RetMpDataVersionNotLatest = 1232, + RetMpCurWorldNotEnterable = 1233, + RetMpAnyGalleryStarted = 1234, + RetMpHasActiveDraft = 1235, + RetMpPlayerInDungeon = 1236, + RetMpMatchFull = 1237, + RetMpMatchLimit = 1238, + RetMpMatchInPunish = 1239, + RetMpIsInMultistage = 1240, + RetMpMatchPlayNotOpen = 1241, + RetMpOnlyMpWithPsPlayer = 1242, + RetMpGuestLoadingFirstEnter = 1243, + RetMpSummerTimeSprintBoatOngoing = 1244, + RetMpBlitzRushParkourChallengeOngoing = 1245, + RetMpMusicGameOngoing = 1246, + RetMpInMpingMode = 1247, + RetMpOwnerInSingleScene = 1248, + RetMpInSingleScene = 1249, + RetMpReplyNoValidAvatar = 1250, + RetMpIsNotInTransferGuard = 1251, + RetMpCannotExecGivingInSingleModeQuest = 1252, + RetMpEffigyChallengeV4InPrepare = 1253, + RetMpShuffleBoardOngoing = 1254, + RetMpFlightGearOngoing = 1255, + RetMpToyBattleQteOngoing = 1256, + RetMpPaintingRepairOngoing = 1257, + RetMpFishblasterOngoing = 1258, + RetMpGuestMatchCondNotMeet = 1259, + RetMailParaErr = 1301, + RetMailMaxNum = 1302, + RetMailItemNumExceed = 1303, + RetMailTitleLenExceed = 1304, + RetMailContentLenExceed = 1305, + RetMailSenderLenExceed = 1306, + RetMailParsePacketFail = 1307, + RetOfflineMsgMaxNum = 1308, + RetOfflineMsgSameTicket = 1309, + RetMailExcelMailTypeError = 1310, + RetMailCannotSendMcoin = 1311, + RetMailHcoinExceedLimit = 1312, + RetMailScoinExceedLimit = 1313, + RetMailMaterialIdInvalid = 1314, + RetMailAvatarExceedLimit = 1315, + RetMailGachaTicketEtcExceedLimit = 1316, + RetMailItemExceedCehuaLimit = 1317, + RetMailSpaceOrRestNumNotEnough = 1318, + RetMailTicketIsEmpty = 1319, + RetMailTransactionIsEmpty = 1320, + RetMailDeleteCollected = 1321, + RetMailCollectionIsFull = 1322, + RetMailTitleCharacterLenExceed = 1323, + RetMailTitleEmpty = 1324, + RetMailContentEmpty = 1325, + RetMailSenderEmpty = 1326, + RetDailyTaskNotFinish = 1330, + RetDailyTaksHasTaken = 1331, + RetSocialOfflineMsgNumExceed = 1332, + RetDailyTaskFilterCityNotOpen = 1333, + RetDailyAttendanceNotOpen = 1334, + RetDailyAttendanceRewardMax = 1335, + RetGachaInavailable = 1401, + RetGachaRandomNotMatch = 1402, + RetGachaScheduleNotMatch = 1403, + RetGachaInvalidTimes = 1404, + RetGachaCostItemNotEnough = 1405, + RetGachaTimesLimit = 1406, + RetGachaWishSameItem = 1407, + RetGachaWishInvalidItem = 1408, + RetGachaMinorsTimesLimit = 1409, + RetGachaGeneralTimesLimit = 1410, + RetGachaWishIsNeededBeforeGacha = 1411, + RetInvestigaitonNotInProgress = 1501, + RetInvestigaitonUncomplete = 1502, + RetInvestigaitonRewardTaken = 1503, + RetInvestigaitonTargetStateError = 1504, + RetPushTipsNotFound = 1505, + RetSignInRecordNotFound = 1506, + RetAlreadyHaveSignedIn = 1507, + RetSignInCondNotSatisfied = 1508, + RetBonusActivityNotUnrewarded = 1509, + RetSignInRewarded = 1510, + RetTowerNotOpen = 1521, + RetTowerHaveDailyRecord = 1522, + RetTowerNotRecord = 1523, + RetTowerHaveRecord = 1524, + RetTowerTeamNumError = 1525, + RetTowerFloorNotOpen = 1526, + RetTowerNoFloorStarRecord = 1527, + RetAlreadyHasTowerBuff = 1528, + RetDuplicateEnterLevel = 1529, + RetNotInTowerLevel = 1530, + RetInTowerLevel = 1531, + RetTowerPrevFloorNotFinish = 1532, + RetTowerStarNotEnough = 1533, + RetBattlePassNoSchedule = 1541, + RetBattlePassHasBuyed = 1542, + RetBattlePassLevelOverflow = 1543, + RetBattlePassProductExpired = 1544, + RetMatchHostQuit = 1561, + RetMatchAlreadyInMatch = 1562, + RetMatchNotInMatch = 1563, + RetMatchApplyingEnterMp = 1564, + RetMatchIncorrectScene = 1565, + RetWidgetTreasureSpotNotFound = 1581, + RetWidgetTreasureEntityExists = 1582, + RetWidgetTreasureSpotFarAway = 1583, + RetWidgetTreasureFinishedToday = 1584, + RetWidgetQuickUseReqParamError = 1585, + RetWidgetCameraScanIdError = 1586, + RetWidgetNotActive = 1587, + RetWidgetFeatherNotActive = 1588, + RetWidgetFeatherGadgetTooFarAway = 1589, + RetWidgetCaptureAnimalNotExist = 1590, + RetWidgetCaptureAnimalDropBagLimit = 1591, + RetWidgetCaptureAnimalCanNotCapture = 1592, + RetWidgetSkyCrystalAllCollected = 1593, + RetWidgetSkyCrystalHintAlreadyExist = 1594, + RetWidgetSkyCrystalNotFound = 1595, + RetWidgetSkyCrystalNoHintToClear = 1596, + RetWidgetLightStoneEnergyNotEnough = 1597, + RetWidgetToyCrystalEnergyNotEnough = 1598, + RetWidgetLightStoneLevelNotEnough = 1599, + RetWidgetQuickSlotNotInWidgetPanel = 1600, + RetRoleCombatNotRecord = 1601, + RetRoleCombatCoinExceedLimit = 1602, + RetRoleCombatCoinNotEnough = 1603, + RetRoleCombatLevelNotMeet = 1604, + RetRoleCombatTowerNotMeet = 1605, + RetRoleCombatScheduleNotMeet = 1606, + RetRoleCombatReqFriendRentAvatarFrequently = 1617, + RetRoleCombatReqTrialAvatarFrequently = 1618, + RetRoleCombatRefreshCountNotEnough = 1619, + RetRoleCombatQuestNotMeet = 1620, + RetInRoleCombatDungeon = 1621, + RetInRoleCombatDungeonByUseItem = 1622, + RetRoleCombatRentAvatarNotFound = 1623, + RetRoleCombatCardHasBlocked = 1624, + RetCharMasterKeyExceedLimit = 1631, + RetCharMasterKeyNotEnough = 1632, + RetCharMasterPreviewInCd = 1633, + RetUidNotExist = 2001, + RetParseBinError = 2002, + RetAccountInfoNotExist = 2003, + RetOrderInfoNotExist = 2004, + RetSnapshotIndexError = 2005, + RetMailHasBeenSent = 2006, + RetProductNotExist = 2007, + RetUnfinishOrder = 2008, + RetIdNotExist = 2009, + RetOrderTradeEarly = 2010, + RetOrderFinished = 2011, + RetGameserverVersionWrong = 2012, + RetOfflineOpFullLength = 2013, + RetConcertProductObtainLimit = 2014, + RetConcertProductTicketDuplicated = 2015, + RetConcertProductTicketEmpty = 2016, + RetRedisModified = 5001, + RetRedisUidNotExist = 5002, + RetPathfindingDataNotExist = 6001, + RetPathfindingDestinationNotExist = 6002, + RetPathfindingErrorScene = 6003, + RetPathfindingSceneDataLoading = 6004, + RetTothemoonErrorScene = 6301, + RetTothemoonPlayerNotExist = 6302, + RetFriendCountExceeded = 7001, + RetPlayerNotExist = 7002, + RetAlreadySentAddRequest = 7003, + RetAskFriendListFull = 7004, + RetPlayerAlreadyIsFriend = 7005, + RetPlayerNotAskFriend = 7006, + RetTargetFriendCountExceed = 7007, + RetNotFriend = 7008, + RetBirthdayCannotBeSetTwice = 7009, + RetCannotAddSelfFriend = 7010, + RetSignatureIllegal = 7011, + RetPsPlayerCannotAddFriends = 7012, + RetPsPlayerCannotRemoveFriends = 7013, + RetNameCardNotUnlocked = 7014, + RetAlreadyInBlacklist = 7015, + RetPsPaleyrsCannotAddBlacklist = 7016, + RetPlayerBlacklistFull = 7017, + RetPlayerNotInBlacklist = 7018, + RetBlacklistPlayerCannotAddFriend = 7019, + RetInTargetBlacklist = 7020, + RetCannotAddTargetFriend = 7021, + RetBirthdayFormatError = 7022, + RetOnlineIdNotExists = 7023, + RetFirstShareRewardHasTaken = 7024, + RetPsPlayerCannotRemoveBlacklist = 7025, + RetReportCd = 7026, + RetReportContentIllegal = 7027, + RetRemarkWordIllegal = 7028, + RetRemarkTooLong = 7029, + RetRemarkUtf8Error = 7030, + RetRemarkIsEmpty = 7031, + RetAskAddFriendCd = 7032, + RetShowAvatarInfoNotExist = 7033, + RetPlayerNotShowAvatar = 7034, + RetSocialUpdateShowListRepeatId = 7035, + RetPsnIdNotFound = 7036, + RetEmojiCollectionNumExceedLimit = 7037, + RetRemarkEmpty = 7038, + RetInTargetPsnBlacklist = 7039, + RetSignatureNotChanged = 7040, + RetSignatureMonthlyLimit = 7041, + RetReqFriendAvatarFrequently = 7042, + RetPsnGetPlayerSocialDetailFail = 7043, + RetProfilePictureNotUnlocked = 7044, + RetOfferingNotOpen = 7081, + RetOfferingLevelLimit = 7082, + RetOfferingLevelNotReach = 7083, + RetOfferingLevelHasTaken = 7084, + RetOfferingPariSearchNotOpen = 7085, + RetOfferingPariNotFinish = 7086, + RetOfferingPariFinishRewardHasTaken = 7087, + RetOfferingPariSearchAllFinish = 7088, + RetOfferingPariNoFinishReward = 7089, + RetCityReputationNotOpen = 7101, + RetCityReputationLevelTaken = 7102, + RetCityReputationLevelNotReach = 7103, + RetCityReputationParentQuestTaken = 7104, + RetCityReputationParentQuestUnfinish = 7105, + RetCityReputationAcceptRequest = 7106, + RetCityReputationNotAcceptRequest = 7107, + RetCityReputationAcceptRequestLimit = 7108, + RetCityReputationEntranceNotOpen = 7109, + RetCityReputationTakenRequestReward = 7110, + RetCityReputationSwitchClose = 7111, + RetCityReputationEntraceSwitchClose = 7112, + RetCityReputationTakenExploreReward = 7113, + RetCityReputationExploreNotReach = 7114, + RetTribalReputationNotOpen = 7115, + RetTribalReputationLevelTaken = 7116, + RetTribalReputationLevelNotReach = 7117, + RetTribalReputationTakenExploreReward = 7118, + RetTribalReputationExploreNotReach = 7119, + RetTribalReputationParentQuestTaken = 7201, + RetTribalReputationParentQuestUnfinish = 7202, + RetCityReputationNotOpenTribal = 7203, + RetCityReputationNoTheDonation = 7204, + RetCityReputationDonationFinished = 7205, + RetCityReputationDonationLimit = 7206, + RetCityReputationTotalRewardTaken = 7207, + RetCityReputationTotalRewardNotReach = 7208, + RetMechanicusNotOpen = 7120, + RetMechanicusGearUnlock = 7121, + RetMechanicusGearLock = 7122, + RetMechanicusGearLevelLimit = 7123, + RetMechanicusCoinNotEnough = 7124, + RetMechanicusNoSequence = 7125, + RetMechanicusSequenceLimitLevel = 7126, + RetMechanicusSequenceLimitOpen = 7127, + RetMechanicusDifficultNotSupport = 7128, + RetMechanicusTicketNotEnough = 7129, + RetMechanicusTeachNotFinish = 7130, + RetMechanicusTeachFinished = 7131, + RetMechanicusPrevDifficultLevelBlock = 7132, + RetMechanicusPlayerLimit = 7133, + RetMechanicusPunishTime = 7134, + RetMechanicusSwitchClose = 7135, + RetMechanicusBattleNotInDungeon = 7150, + RetMechanicusBattlePlayNotFound = 7151, + RetMechanicusBattleDuplicatePickCard = 7152, + RetMechanicusBattlePlayerNotInPlay = 7153, + RetMechanicusBattleCardNotAvailable = 7154, + RetMechanicusBattleNotInCardStage = 7155, + RetMechanicusBattleCardIsWaiting = 7156, + RetMechanicusBattleCardAllConfirmed = 7157, + RetMechanicusBattleCardAlreadyConfirmed = 7158, + RetMechanicusBattleCardConfirmedByOther = 7159, + RetMechanicusBattleCardNotEnoughPoints = 7160, + RetMechanicusBattleCardAlreadySkipped = 7161, + RetLegendaryKeyNotEnough = 8001, + RetLegendaryKeyExceedLimit = 8002, + RetDailyTaskNotEnoughToRedeem = 8003, + RetPersonalLineOpenStateOff = 8004, + RetPersonalLineLevelNotEnough = 8005, + RetPersonalLineNotOpen = 8006, + RetPersonalLinePreQuestNotFinish = 8007, + RetHuntingAlreadyFinishOfferLimit = 8201, + RetHuntingHasUnfinishedOffer = 8202, + RetHuntingFailedOfferNotCdReady = 8203, + RetHuntingNotTakeOffer = 8204, + RetHuntingCannotTakeTwice = 8205, + RetRpivateChatInvalidContentType = 8901, + RetPrivateChatTargetIsNotFriend = 8902, + RetPrivateChatContentNotSupported = 8903, + RetPrivateChatContentTooLong = 8904, + RetPrivateChatPullTooFast = 8905, + RetPrivateChatRepeatRead = 8906, + RetPrivateChatReadNotFriend = 8907, + RetReunionFinished = 9001, + RetReunionNotActivated = 9002, + RetReunionAlreadyTakeFirstReward = 9003, + RetReunionSignInRewarded = 9004, + RetReunionWatcherRewarded = 9005, + RetReunionWatcherNotFinish = 9006, + RetReunionMissionRewarded = 9007, + RetReunionMissionNotFinish = 9008, + RetReunionWatcherRewardNotUnlocked = 9009, + RetBlessingContentClosed = 9101, + RetBlessingNotActive = 9102, + RetBlessingNotTodayEntity = 9103, + RetBlessingEntityExceedScanNumLimit = 9104, + RetBlessingDailyScanNumExceedLimit = 9105, + RetBlessingRedeemRewardNumExceedLimit = 9106, + RetBlessingRedeemPicNumNotEnough = 9107, + RetBlessingPicNotEnough = 9108, + RetBlessingPicHasReceived = 9109, + RetBlessingTargetRecvNumExceed = 9110, + RetFleurFairCreditExceedLimit = 9111, + RetFleurFairCreditNotEnough = 9112, + RetFleurFairTokenExceedLimit = 9113, + RetFleurFairTokenNotEnough = 9114, + RetFleurFairMinigameNotOpen = 9115, + RetFleurFairMusicGameDifficultyNotUnlock = 9116, + RetFleurFairDungeonLocked = 9117, + RetFleurFairDungeonPunishTime = 9118, + RetFleurFairOnlyOwnerCanRestartMinigam = 9119, + RetWaterSpiritCoinExceedLimit = 9120, + RetWaterSpiritCoinNotEnough = 9121, + RetRegionSearchNoSearch = 9122, + RetRegionSearchStateError = 9123, + RetBlessingGiveNumInvalid = 9124, + RetBlessingNoGroupOrOwner = 9125, + RetChannellerSlabLoopDungeonStageNotOpen = 9130, + RetChannellerSlabLoopDungeonNotOpen = 9131, + RetChannellerSlabLoopDungeonFirstPassRewardHasTaken = 9132, + RetChannellerSlabLoopDungeonScoreRewardHasTaken = 9133, + RetChannellerSlabInvalidOneOffDungeon = 9134, + RetChannellerSlabOneOffDungeonDone = 9135, + RetChannellerSlabOneOffDungeonStageNotOpen = 9136, + RetChannellerSlabTokenExceedLimit = 9137, + RetChannellerSlabTokenNotEnough = 9138, + RetChannellerSlabPlayerNotInOneOffDungeon = 9139, + RetMistTrialSelectCharacterNumNotEnough = 9150, + RetMistTrialAlreadyUsingTrialAvatar = 9151, + RetHideAndSeekPlayNotOpen = 9160, + RetHideAndSeekPlayMapNotOpen = 9161, + RetHideAndSeekPlayMapNotChosen = 9162, + RetSummerTimeDraftWoordExceedLimit = 9170, + RetSummerTimeDraftWoordNotEnough = 9171, + RetSummerTimeMiniHarpastumExceedLimit = 9172, + RetSummerTimeMiniHarpastumnotEnough = 9173, + RetBounceConjuringCoinExceedLimit = 9180, + RetBounceConjuringCoinNotEnough = 9181, + RetChessTeachMapFinished = 9183, + RetChessTeachMapUnfinished = 9184, + RetChessCoinExceedLimit = 9185, + RetChessCoinNotEnough = 9186, + RetChessInPunishTime = 9187, + RetChessPrevMapUnfinished = 9188, + RetChessMapLocked = 9189, + RetBlitzRushNotOpen = 9192, + RetBlitzRushDungeonNotOpen = 9193, + RetBlitzRushCoinAExceedLimit = 9194, + RetBlitzRushCoinBExceedLimit = 9195, + RetBlitzRushCoinANotEnough = 9196, + RetBlitzRushCoinBNotEnough = 9197, + RetMiracleRingValueNotEnough = 9201, + RetMiracleRingCd = 9202, + RetMiracleRingRewardNotTaken = 9203, + RetMiracleRingNotDeliver = 9204, + RetMiracleRingDeliverExceed = 9205, + RetMiracleRingHasCreated = 9206, + RetMiracleRingHasNotCreated = 9207, + RetMiracleRingNotYours = 9208, + RetGadgetFoundationUnauthorized = 9251, + RetGadgetFoundationSceneNotFound = 9252, + RetGadgetFoundationNotInInitState = 9253, + RetGadgetFoundationBildingPointNotEnought = 9254, + RetGadgetFoundationNotInBuiltState = 9255, + RetGadgetFoundationOpNotSupported = 9256, + RetGadgetFoundationReqPlayerNotInScene = 9257, + RetGadgetFoundationLockedByAnotherPlayer = 9258, + RetGadgetFoundationNotLocked = 9259, + RetGadgetFoundationDuplicateLock = 9260, + RetGadgetFoundationPlayerNotFound = 9261, + RetGadgetFoundationPlayerGearNotFound = 9262, + RetGadgetFoundationRotaionDisabled = 9263, + RetGadgetFoundationReachDungeonGearLimit = 9264, + RetGadgetFoundationReachSingleGearLimit = 9265, + RetGadgetFoundationRotationOnGoing = 9266, + RetOpActivityBonusNotFound = 9301, + RetOpActivityNotOpen = 9302, + RetMultistagePlayPlayerNotInScene = 9501, + RetMultistagePlayNotFound = 9502, + RetMultistagePlayInOtherStage = 9503, + RetCoopChapterNotOpen = 9601, + RetCoopCondNotMeet = 9602, + RetCoopPointLocked = 9603, + RetCoopNotHaveProgress = 9604, + RetCoopRewardHasTaken = 9605, + RetDraftHasActiveDraft = 9651, + RetDraftNotInMyWorld = 9652, + RetDraftNotSupportMp = 9653, + RetDraftPlayerNotEnough = 9654, + RetDraftIncorrectScene = 9655, + RetDraftOtherPlayerEntering = 9656, + RetDraftGuestIsTransferring = 9657, + RetDraftGuestNotInDraftScene = 9658, + RetDraftInviteOverTime = 9659, + RetDraftTwiceConfirmOverTimer = 9660, + RetDraftGuestNotInWorldScene = 9661, + RetHomeUnkown = 9701, + RetHomeInvalidClientParam = 9702, + RetHomeTargePlayerHasNoHome = 9703, + RetHomeNotOnline = 9704, + RetHomePlayerFull = 9705, + RetHomeBlocked = 9706, + RetHomeAlreadyInTargetHomeWorld = 9707, + RetHomeInEditMode = 9708, + RetHomeNotInEditMode = 9709, + RetHomeHasGuest = 9710, + RetHomeCantEnterByInEditMode = 9711, + RetHomeClientParamInvalid = 9712, + RetHomePlayerNotInHomeWorld = 9713, + RetHomePlayerNotInSelfHomeWorld = 9714, + RetHomeNotFoundInMem = 9715, + RetHomePlayerInHomeRoomScene = 9716, + RetHomeHomeRefuseGuestEnter = 9717, + RetHomeOwnerRefuseToEnterHome = 9718, + RetHomeOwnerOffline = 9719, + RetHomeFurnitureExceedLimit = 9720, + RetHomeFurnitureCountNotEnough = 9721, + RetHomeInTryEnterProcess = 9722, + RetHomeAlreadyInTargetScene = 9723, + RetHomeCoinExceedLimit = 9724, + RetHomeCoinNotEnough = 9725, + RetHomeModuleNotUnlocked = 9726, + RetHomeCurModuleClosed = 9727, + RetHomeFurnitureSuiteNotUnlocked = 9728, + RetHomeInMatch = 9729, + RetHomeInCombat = 9730, + RetHomeEditModeCd = 9731, + RetHomeUpdateFurnitureCd = 9732, + RetHomeBlockFurnitureLimit = 9733, + RetHomeNotSupport = 9734, + RetHomeStateNotOpen = 9735, + RetHomeTargetStateNotOpen = 9736, + RetHomeApplyEnterOtherHomeFail = 9737, + RetHomeSaveNoMainHouse = 9738, + RetHomeInDungeon = 9739, + RetHomeAnyGalleryStarted = 9740, + RetHomeQuestBlockHome = 9741, + RetHomeWaitingPriorCheck = 9742, + RetHomePersistentCheckFail = 9743, + RetHomeFindOnlineHomeFail = 9744, + RetHomeJoinSceneFail = 9745, + RetHomeMaxPlayer = 9746, + RetHomeInTransfer = 9747, + RetHomeAnyHomeGalleryStarted = 9748, + RetHomeCanNotEnterInAudit = 9749, + RetFurnitureMakeIndexError = 9750, + RetFurnitureMakeLocked = 9751, + RetFurnitureMakeConfigError = 9752, + RetFurnitureMakeSlotFull = 9753, + RetFurnitureMakeAddFurnitureFail = 9754, + RetFurnitureMakeUnfinish = 9755, + RetFurnitureMakeIsFinish = 9756, + RetFurnitureMakeNotInCorrectHome = 9757, + RetFurnitureMakeNoCount = 9758, + RetFurnitureMakeAccelerateLimit = 9759, + RetFurnitureMakeNoMakeData = 9760, + RetHomeLimitedShopClose = 9761, + RetHomeAvatarNotShow = 9762, + RetHomeEventCondNotSatisfied = 9763, + RetHomeInvalidArrangeAnimalParam = 9764, + RetHomeInvalidArrangeNpcParam = 9765, + RetHomeInvalidArrangeSuiteParam = 9766, + RetHomeInvalidArrangeMainHouseParam = 9767, + RetHomeAvatarStateNotOpen = 9768, + RetHomePlantFieldNotEmpty = 9769, + RetHomePlantFieldEmpty = 9770, + RetHomePlantFieldTypeError = 9771, + RetHomePlantTimeNotEnough = 9772, + RetHomePlantSubFieldNumNotEnough = 9773, + RetHomePlantFieldParamError = 9774, + RetHomeFurnitureGuidError = 9775, + RetHomeFurnitureArrangeLimit = 9776, + RetHomeFishFarmingLimit = 9777, + RetHomeFishCountNotEnough = 9778, + RetHomeFurnitureCostLimit = 9779, + RetHomeCustomFurnitureInvalid = 9780, + RetHomeInvalidArrangeGroupParam = 9781, + RetHomeFurnitureArrangeGroupLimit = 9782, + RetHomePictureFrameCoopCgGenderError = 9783, + RetHomePictureFrameCoopCgNotUnlock = 9784, + RetHomeFurnitureCannotArrange = 9785, + RetHomeFurnitureInDuplicateSuite = 9786, + RetHomeFurnitureCustomSuiteTooSmall = 9787, + RetHomeFurnitureCustomSuiteTooBig = 9788, + RetHomeFurnitureSuiteExceedLimit = 9789, + RetHomeFurnitureCustomSuiteExceedLimit = 9790, + RetHomeFurnitureCustomSuiteInvalidSurfaceType = 9791, + RetHomeBgmIdNotFound = 9792, + RetHomeBgmNotUnlocked = 9793, + RetHomeBgmFurnitureNotFound = 9794, + RetHomeBgmNotSupportByCurScene = 9795, + RetHomeLimitedShopGoodsDisable = 9796, + RetHomeWorldWoodMaterialEmpty = 9797, + RetHomeWorldWoodMaterialNotFound = 9798, + RetHomeWorldWoodMaterialCountInvalid = 9799, + RetHomeWorldWoodExchangeExceedLimit = 9800, + RetHomeBlueprintSearchSelf = 9801, + RetHomeBlueprintShareCodeInvalid = 9802, + RetHomeBlueprintNotExist = 9803, + RetHomeBlueprintSlotHasExistShareCode = 9804, + RetHomeBlueprintSlotNotExistShareCode = 9805, + RetHomeBlueprintCanNotCreateInAudit = 9806, + RetHomeBlockNotUnlocked = 9807, + RetHomeBlueprintCreateCd = 9808, + RetHomeBlueprintSetOptionCd = 9809, + RetHomeBlueprintNotAllowFriendCopy = 9810, + RetHomeFurniturePosUnderDieY = 9811, + RetHomeBlueprintGenShareCodeFail = 9812, + RetHomeBlueprintSearchCd = 9813, + RetHomeBlueprintPreviewCd = 9814, + RetHomeBlueprintPreviewSceneNotMatch = 9815, + RetHomeBlueprintSlotFull = 9816, + RetHomeBlueprintOwnerRejectCopy = 9817, + RetHomeBlueprintSaveToSlotCd = 9818, + RetHomeBlueprintReplyTimeout = 9819, + RetSumoActivityStageNotOpen = 10000, + RetSumoActivitySwitchTeamInCd = 10001, + RetSumoActivityTeamNumIncorrect = 10002, + RetLunaRiteActivityAreaIdError = 10004, + RetLunaRiteActivityBattleNotFinish = 10005, + RetLunaRiteActivityAlreadySacrifice = 10006, + RetLunaRiteActivityAlreadyTakeReward = 10007, + RetLunaRiteActivitySacrificeNotEnough = 10008, + RetLunaRiteActivitySearchingCondNotMeet = 10009, + RetDigGadgetConfigIdNotMatch = 10015, + RetDigFindNearestPosFail = 10016, + RetMusicGameLevelNotOpen = 10021, + RetMusicGameLevelNotUnlock = 10022, + RetMusicGameLevelNotStarted = 10023, + RetMusicGameLevelConfigNotFound = 10024, + RetMusicGameLevelIdNotMatch = 10025, + RetRoguelikeCoinANotEnough = 10031, + RetRoguelikeCoinBNotEnough = 10032, + RetRoguelikeCoinCNotEnough = 10033, + RetRoguelikeCoinAExceedLimit = 10034, + RetRoguelikeCoinBExceedLimit = 10035, + RetRoguelikeCoinCExceedLimit = 10036, + RetRoguelikeRuneCountNotEnough = 10037, + RetRoguelikeNotInRogueDungeon = 10038, + RetRoguelikeCellNotFound = 10039, + RetRoguelikeCellTypeIncorrect = 10040, + RetRoguelikeCellAlreadyFinished = 10041, + RetRoguelikeDungeonHaveUnfinishedProgress = 10042, + RetRoguelikeStageNotFinished = 10043, + RetRoguelikeStageFirstPassRewardHasTaken = 10045, + RetRoguelikeActivityContentClosed = 10046, + RetRoguelikeDungeonPreQuestNotFinished = 10047, + RetRoguelikeDungeonNotOpen = 10048, + RetRoguelikeSprintIsBanned = 10049, + RetRoguelikeDungeonPreStageNotFinished = 10050, + RetRoguelikeAllAvatarDieCannotResume = 10051, + RetPlantFlowerAlreadyTakeSeed = 10056, + RetPlantFlowerFriendHaveFlowerLimit = 10057, + RetPlantFlowerCanGiveFlowerNotEnough = 10058, + RetPlantFlowerWishFlowerKindsLimit = 10059, + RetPlantFlowerHaveFlowerNotEnough = 10060, + RetPlantFlowerFlowerCombinationInvalid = 10061, + RetHachiDungeonNotValid = 10052, + RetHachiDungeonStageNotOpen = 10053, + RetHachiDungeonTeammateNotPass = 10054, + RetWinterCampCoinANotEnough = 10071, + RetWinterCampCoinBNotEnough = 10072, + RetWinterCampCoinAExceedLimit = 10073, + RetWinterCampCoinBExceedLimit = 10074, + RetWinterCampWishIdInvalid = 10075, + RetWinterCampNotFoundRecvItemData = 10076, + RetWinterCampFriendItemCountOverflow = 10077, + RetWinterCampSelectItemDataInvalid = 10078, + RetWinterCampItemListEmpty = 10079, + RetWinterCampRewardAlreadyTaken = 10080, + RetWinterCampStageNotFinish = 10081, + RetWinterCampGadgetInvalid = 10082, + RetLanternRiteCoinANotEnough = 10090, + RetLanternRiteCoinBNotEnough = 10091, + RetLanternRiteCoinCNotEnough = 10092, + RetLanternRiteCoinAExceedLimit = 10093, + RetLanternRiteCoinBExceedLimit = 10094, + RetLanternRiteCoinCExceedLimit = 10095, + RetLanternRiteProjectionContentClosed = 10096, + RetLanternRiteProjectionCanNotStart = 10097, + RetLanternRiteDungeonNotOpen = 10098, + RetLanternRiteHasTakenSkinReward = 10099, + RetLanternRiteNotFinishedSkinWatchers = 10100, + RetLanternRiteFireworksContentClosed = 10101, + RetLanternRiteFireworksChallengeNotStart = 10102, + RetLanternRiteFireworksReformParamError = 10103, + RetLanternRiteFireworksReformSkillLock = 10104, + RetLanternRiteFireworksReformStaminaNotEnough = 10105, + RetPotionActivityStageNotOpen = 10110, + RetPotionActivityLevelHavePass = 10111, + RetPotionActivityTeamNumIncorrect = 10112, + RetPotionActivityAvatarInCd = 10113, + RetPotionActivityBuffInCd = 10114, + RetIrodoriPoetryInvalidLineId = 10120, + RetIrodoriPoetryInvalidThemeId = 10121, + RetIrodoriPoetryNotGetAllInspiration = 10122, + RetIrodoriPoetryInspirationReachLimie = 10123, + RetIrodoriPoetryEntityAlreadyScanned = 10124, + RetActivityBannerAlreadyCleared = 10300, + RetIrodoriChessNotOpen = 10301, + RetIrodoriChessLevelNotOpen = 10302, + RetIrodoriChessMapNotOpen = 10303, + RetIrodoriChessMapCardAlreadyEquiped = 10304, + RetIrodoriChessEquipCardExceedLimit = 10305, + RetIrodoriChessMapCardNotEquiped = 10306, + RetIrodoriChessEnterFailCardExceedLimit = 10307, + RetActivityFriendHaveGiftLimit = 10310, + RetGachaActivityHaveRewardLimit = 10315, + RetGachaActivityHaveRobotLimit = 10316, + RetSummerTimeV2CoinExceedLimit = 10317, + RetSummerTimeV2CoinNotEnough = 10318, + RetSummerTimeV2DungeonStageNotOpen = 10319, + RetSummerTimeV2PrevDungeonNotComplete = 10320, + RetRogueDiaryAvatarDeath = 10350, + RetRogueDiaryAvatarTired = 10351, + RetRogueDiaryAvatarDuplicated = 10352, + RetRogueDiaryCoinNotEnough = 10353, + RetRogueDiaryVirtualCoinExceedLimit = 10354, + RetRogueDiaryVirtualCoinNotEnough = 10355, + RetRogueDiaryContentClosed = 10366, + RetGravenInnocenceCoinANotEnough = 10380, + RetGravenInnocenceCoinBNotEnough = 10381, + RetGravenInnocenceCoinAExceedLimit = 10382, + RetGravenInnocenceCoinBExceedLimit = 10383, + RetIslandPartyStageNotOpen = 10371, + RetWindFieldStageNotOpen = 10390, + RetVintageContentClosed = 10396, + RetVintageStoreContentFinished = 10397, + RetVintageStoreAttrTooSmall = 10398, + RetVintageStoreAttrTooLarge = 10399, + RetVintageStoreContentInterrupt = 10400, + RetVintageVirtualCoinNotEnough = 10401, + RetVintageStoreAttrLessThanZero = 10402, + RetFungusFighterCaptureCoinNotEnough = 10406, + RetFungusFighterTrainingCoinNotEnough = 10407, + RetFungusFighterCaptureCoinExceedLimit = 10408, + RetFungusFighterTrainingCoinExceedLimit = 10409, + RetFungusFighterContentClosed = 10410, + RetFungusFighterPlotStageNotOpen = 10411, + RetFungusFighterFungusIdConfigNotValid = 10412, + RetFungusFighterFungusNotCultivated = 10413, + RetFungusFighterTrainingDungeonNotOpen = 10414, + RetEffigyChallengeV2CoinNotEnough = 10427, + RetEffigyChallengeV2CoinExceedLimit = 10428, + RetCharAmusementStageNotOpen = 10436, + RetCoinCollectLevelNotOpen = 10446, + RetCoinCollectNotEquipWidget = 10447, + RetCoinCollectSceneNotMatch = 10448, + RetCoinCollectCantEnterMpMode = 10449, + RetCoinCollectPlayerNumFail = 10450, + RetBrickBreakerPlayerNumFail = 10456, + RetBrickBreakerStageNotUnlock = 10457, + RetBrickBreakerNormalLevelNotFinish = 10458, + RetBrickBreakerPreLevelNotFinish = 10459, + RetBrickBreakerPreStageNotFinish = 10460, + RetBrickBreakerWorldLevelNotUnlock = 10461, + RetBrickBreakerDungeonLevelNotUnlock = 10462, + RetBrickBreakerCoinNotEnough = 10463, + RetBrickBreakerCoinExceedLimit = 10464, + RetTeamchainWorldInMpMode = 10466, + RetLanV3BoatPlayerNumNotValid = 10481, + RetLanV3BoatPlayNotOpen = 10482, + RetLanV3BoatNotInWorldScene = 10483, + RetFleurFairV2PacmanPlayNotOpen = 10500, + RetFleurFairV2PacmanPlayerNumIncorrect = 10501, + RetFleurFairV2CoinNotEnough = 10502, + RetFleurFairV2CoinExceedLimit = 10503, + RetAkaFesRhythmLevelNotOpen = 10521, + RetAkaFesRhythmGalleryInitFail = 10522, + RetAkaFesRhythmNotInExpectedDungeon = 10533, + RetAkaFesReasoningLevelNotOpen = 10531, + RetAkaFesAstrolabeLevelNotOpen = 10541, + RetAkaFesAstrolabePreLevelNotFinish = 10542, + RetEffigyChallengeV4LevelNotOpen = 10551, + RetEffigyChallengeV4GuestNotReady = 10552, + RetEffigyChallengeV4DuplicateAvatar = 10553, + RetJourneyActivityPickParamError = 10561, + RetJourneyActivityPickCondNotMeet = 10562, + RetJourneyActivityCoinNotEnough = 10563, + RetJourneyActivityCoinExceedLimit = 10564, + RetPoetryFesPitchPotStageNotOpen = 10571, + RetFilmfesBallGamePlayerCountNotEnough = 10591, + RetMpFilmfestShootingOngoing = 10592, + RetFilmfesBallGameIsLocked = 10593, + RetTreasureHuntV4CoinNotEnough = 10611, + RetTreasureHuntV4CoinExceedLimit = 10612, + RetLostSamachurlSneakLevelNotOpen = 10631, + RetLostSamachurlBossLevelNotOpen = 10632, + RetLanV4PartyLionPlayerCountNotEnough = 10641, + RetLanV4PartyLionLevelNotOpen = 10642, + RetActivityContentClosed = 10901, + RetActivityClientPlayBanMp = 10902, + RetActivityClientPlayFrequencyError = 10903, + RetActivityClientPlayOtherPlayIsRunning = 10904, + RetActivityClientPlayDuplicateStart = 10905, + RetNotInFishing = 11001, + RetFishStateError = 11002, + RetFishBaitLimit = 11003, + RetFishingMaxDistance = 11004, + RetFishingInCombat = 11005, + RetFishingBattleTooShort = 11006, + RetFishGoneAway = 11007, + RetCanNotEditOtherDungeon = 11051, + RetCustomDungeonDismatch = 11052, + RetNoCustomDungeonData = 11053, + RetBuildCustomDungeonFail = 11054, + RetCustomDungeonRoomCheckFail = 11055, + RetCustomDungeonSaveMayFail = 11056, + RetNotInCustomDungeon = 11057, + RetCustomDungeonInternalFail = 11058, + RetCustomDungeonCanNotTry = 11059, + RetCustomDungeonNoStartRoom = 11060, + RetCustomDungeonNoRoomData = 11061, + RetCustomDungeonSaveTooFrequent = 11062, + RetCustomDungeonNotSelfPass = 11063, + RetCustomDungeonLackCoin = 11064, + RetCustomDungeonNoFinishBrick = 11065, + RetCustomDungeonMultiFinish = 11066, + RetCustomDungeonNotPublished = 11067, + RetCustomDungeonFullStore = 11068, + RetCustomDungeonStoreRepeat = 11069, + RetCustomDungeonCanNotStoreSelf = 11070, + RetCustomDungeonNotSaveSucc = 11071, + RetCustomDungeonCanNotLikeSelf = 11072, + RetCustomDungeonNotFound = 11073, + RetCustomDungeonInvalidSetting = 11074, + RetCustomDungeonNoFinishSetting = 11075, + RetCustomDungeonSaveNothing = 11076, + RetCustomDungeonNotInGroup = 11077, + RetCustomDungeonNotOfficial = 11078, + RetCustomDungeonLifeNumError = 11079, + RetCustomDungeonNoOpenRoom = 11080, + RetCustomDungeonBrickExceedLimit = 11081, + RetCustomDungeonOfficialNotUnlock = 11082, + RetCanNotEditOfficialSetting = 11083, + RetCustomDungeonBanPublish = 11084, + RetCustomDungeonCanNotReplay = 11085, + RetCustomDungeonNotOpenGroup = 11086, + RetCustomDungeonMaxEditNum = 11087, + RetCustomDungeonCanNotOutStuck = 11088, + RetCustomDungeonMaxTag = 11089, + RetCustomDungeonInvalidTag = 11090, + RetCustomDungeonMaxCost = 11091, + RetCustomDungeonRequestTooFrequent = 11092, + RetCustomDungeonNotOpen = 11093, + RetShareCdIdError = 11101, + RetShareCdIndexError = 11102, + RetShareCdInCd = 11103, + RetShareCdTokenNotEnough = 11104, + RetUgcDismatch = 11151, + RetUgcDataNotFound = 11152, + RetUgcBriefNotFound = 11153, + RetUgcDisabled = 11154, + RetUgcLimited = 11155, + RetUgcLocked = 11156, + RetUgcNotAuth = 11157, + RetUgcNotOpen = 11158, + RetUgcBanPublish = 11159, + RetUgcMusicExceedLimit = 11160, + RetUgcMusicSaveTooFrequent = 11161, + RetUgcMusicStoreFull = 11162, + RetUgcMusicStoreRepeat = 11163, + RetUgcMusicStoreTooFrequent = 11164, + RetUgcMusicSearchNotFound = 11165, + RetUgcMusicLikeTooFrequent = 11166, + RetUgcMusicRecommendTooFrequent = 11167, + RetUgcMusicImportNotAllow = 11168, + RetUgcMusicImportNotFound = 11169, + RetUgcMusicSetOptionTooFrequent = 11170, + RetUgcMusicImportTooFrequent = 11171, + RetUgcMusicGenShareCodeFail = 11172, + RetUgcMusicCancelStoreRepeat = 11173, + RetCompoundBoostItemNotExist = 11201, + RetCompoundBoostTargetNotExist = 11202, + RetQuickHitTreeEmptyTrees = 11211, + RetCompoundNoFinishCanTake = 11221, + RetForgeNoFinishCanTake = 11226, + RetGcgFindGameModeFail = 12000, + RetGcgOperationParamError = 12001, + RetGcgGameNotRunning = 12002, + RetGcgOpNotAllow = 12003, + RetGcgOpNotMatchPhase = 12004, + RetGcgSelectHandCardGuidError = 12005, + RetGcgDiceIndexInvalid = 12006, + RetGcgCharacterGuidInvalid = 12007, + RetGcgCharacterAlreadyDie = 12008, + RetGcgCharacterAlreadyOnStage = 12009, + RetGcgCharacterForbiddenAttack = 12010, + RetGcgSelectDiceNotMatch = 12011, + RetGcgFindSkillFail = 12012, + RetGcgSkillCanNotActiveUse = 12013, + RetGcgEnergyNotEnough = 12014, + RetGcgPlayCardTargetNotMatch = 12015, + RetGcgPlayCardZoneCannotAdd = 12016, + RetGcgRebootSelectDiceInvalid = 12017, + RetGcgRebootSelectCardInvalid = 12018, + RetGcgPlayCardConditionCheckFail = 12019, + RetGcgPlayCardParamInvalid = 12020, + RetGcgMaxGame = 12021, + RetGcgSendPacketFail = 12022, + RetGcgAlreadySettle = 12023, + RetGcgPlayCardLegendAlreadyUsed = 12024, + RetGcgCostLegendNotEnough = 12025, + RetGcgWatchInBlackList = 12026, + RetGcgWatchForbidSwitch = 12027, + RetGcgWatchAlreadyJoined = 12028, + RetGcgWatchKickNoSpectator = 12029, + RetGcgWatchTargetNotInDuel = 12030, + RetGcgWatchTargetNotFriend = 12031, + RetGcgWatchTargetPsnOnly = 12032, + RetGcgWatchForbidBusinessType = 12033, + RetGcgWatchOptionRefuse = 12034, + RetGcgWatchNoPlayer = 12035, + RetGcgWatchTargetStateNotOpen = 12036, + RetGcgWatchSpectatorLimit = 12037, + RetGcgWatchForbiddenWatchGame = 12038, + RetGcgWatchNotSpectator = 12039, + RetGcgWatchAlreadyInDuel = 12040, + RetGcgWatchClientDataVersoinForbid = 12041, + RetGcgSkillNotVehicleSkill = 12042, + RetGcgSkillCheckConditionFail = 12043, + RetGcgVehicleSkillCheckConditionFail = 12044, + RetGcgCoinExceedLimit = 12101, + RetGcgCoinNotEnough = 12102, + RetGcgNotInSelfWorld = 12103, + RetGcgAlreadyInDuel = 12104, + RetGcgNotInPlayerWorld = 12105, + RetGcgGalleryStarted = 12106, + RetGcgInviteTargetIsSelf = 12107, + RetGcgInviteTargetNotInWorld = 12108, + RetGcgApplyInviteNotAllow = 12109, + RetGcgApplyInviteTimeout = 12110, + RetGcgCurDeckInvalid = 12111, + RetGcgNeedResourceComplete = 12112, + RetGcgOpponentPlayerIsSelf = 12113, + RetGcgGameIdInvalid = 12114, + RetGcgMatchInPunish = 12115, + RetGcgSettleStillInDuel = 12116, + RetGcgSettleNotInDungeon = 12117, + RetGcgUnsupportSettleOption = 12118, + RetGcgNotInGcgDungeon = 12119, + RetGcgWorldLevelLocked = 12120, + RetGcgBossLevelLocked = 12121, + RetGcgNotInTavern = 12122, + RetGcgWeekNpcNotExist = 12123, + RetGcgEnterGameFrequent = 12124, + RetGcgBreakLevelQuestNotUnfinished = 12125, + RetGcgGuideLevelAlreadyFinished = 12126, + RetGcgLevelCannotRestart = 12127, + RetGcgTargetCheckEnterFail = 12128, + RetGcgAlreadyInDungeon = 12129, + RetGcgBackDuelNoGame = 12130, + RetGcgConstLevelLocked = 12131, + RetGcgQuestIdError = 12132, + RetGcgQuestNeedUnfinished = 12133, + RetGcgInMatch = 12134, + RetGcgDataVersionNotLatest = 12135, + RetGcgInviteTargetEnterGameFrequent = 12136, + RetGcgInviteTargetNeedResourceComplete = 12137, + RetGcgInviteTargetSceneIsNull = 12138, + RetGcgInviteTargetInTransfer = 12139, + RetGcgInviteTargetDataVersionNotLatest = 12140, + RetGcgInviteTargetCurDeckInvalid = 12141, + RetGcgClientDataVersionNotMatch = 12142, + RetGcgClientDataVersoinForbid = 12143, + RetGcgMpCantMatch = 12144, + RetGcgInviteTargetStateNotOpen = 12145, + RetGcgCreateTimeOut = 12146, + RetGcgBanMatch = 12147, + RetGcgBanInvite = 12148, + RetGcgTargetBanInvite = 12149, + RetGcgInviteAlreadyInvite = 12150, + RetGcgFestivalModeNotOpen = 12151, + RetGcgTargetFestivalModeNotOpen = 12152, + RetGcgBackDuelPsToOther = 12153, + RetGcgBackDuelOtherToPs = 12154, + RetGcgWeekRewardLimit = 12155, + RetGcgFestivalModeInPick = 12156, + RetGcgDsDeckLocked = 12201, + RetGcgDsDeckNameInvalid = 12202, + RetGcgDsDeckCharCardNumInvalid = 12204, + RetGcgDsDeckCardNumInvalid = 12205, + RetGcgDsCardNumExceedLimit = 12206, + RetGcgDsDeckInvalid = 12207, + RetGcgDsCardIdInvalid = 12208, + RetGcgDsCardFaceAlreadyUnlock = 12209, + RetGcgDsCardFaceIsLock = 12210, + RetGcgDsFieldLock = 12211, + RetGcgDsFieldAlreadyUnlock = 12212, + RetGcgDsFieldIdInvalid = 12213, + RetGcgDsCardBackLocked = 12214, + RetGcgDsCardBackAlreadyUnlock = 12215, + RetGcgDsCardBackIdInvalid = 12216, + RetGcgDsCardFaceIdInvalid = 12217, + RetGcgDsDeckNameIllegal = 12218, + RetGcgDsDeckSaveCd = 12219, + RetGcgDsDeckChangeNameCd = 12220, + RetGcgMatchDeckInvalid = 12221, + RetGcgDsDeckAlreadyUnlocked = 12222, + RetGcgDsAtLeastOneDeck = 12223, + RetGcgDsDeckCodeIllegal = 12224, + RetGcgDsDeckCodeCd = 12225, + RetGcgTcCharacternotMatchLevel = 12251, + RetGcgTcMustInSelfWorld = 12252, + RetGcgTcMustInTavern = 12253, + RetGcgTcAlreadyInGame = 12254, + RetGcgTcAlreadyInMatch = 12255, + RetGcgTcUnlockCharacterQuestNotFinish = 12256, + RetGcgTcLevelLocked = 12257, + RetGcgTcNoInviteData = 12258, + RetGcgTcCurDeckInvalid = 12259, + RetGcgTcCondQuest = 12260, + RetGcgLevelRewardLevelError = 12301, + RetGcgLevelRewardAlreadyTaken = 12302, + RetGcgLevelRewardNoReward = 12303, + RetGcgNotInReplayDungeon = 12311, + RetGcgInvalidReplay = 12312, + RetGcgSetFavoriteLimitNum = 12313, + RetGcgReplayExpire = 12314, + RetGcgReplayDungeonSettled = 12315, + RetGcgPickCurUidNotMatch = 12331, + RetGcgPickSelectParamError = 12332, + RetGcgPickConfirmError = 12333, + RetGcgPickBackNoGame = 12334, + RetGcgArenaScheduleInactive = 12341, + RetGcgArenaScheduleNotMatch = 12342, + RetGcgArenaDeckNotSet = 12343, + RetGcgArenaDeckInvalid = 12344, + RetGcgArenaInChallengeCannotSetDeck = 12345, + RetGcgArenaStartChallengeInMpMode = 12346, + RetGcgArenaStartMatchInMpMode = 12347, + RetUgcDungeonInDungeon = 13001, + RetUgcDungeonRoomNumLimit = 13002, + RetUgcDungeonNotInEditState = 13003, + RetUgcDungeonNotInEditDungeon = 13004, + RetUgcDungeonNotExist = 13005, + RetUgcDungeonNotSave = 13006, + RetUgcDungeonScoreCondtionButNoMonster = 13007, + RetUgcDungeonScoreCondtionButNoCoin = 13008, + RetUgcDungeonScoreCondtionButNoChest = 13009, + RetUgcDungeonScoreCondtionButNoRoomSettle = 13010, + RetUgcDungeonTargetScoreExceedLimit = 13011, + RetUgcDungeonTimeSettleTargetScoreNotZero = 13012, + RetUgcDungeonAllowAvatarNotEnough = 13013, + RetUgcDungeonHeartBloodWhileMonsterDeploy = 13014, + RetUgcDungeonRoomNoExitGadget = 13015, + RetUgcDungeonRoomHostEnterGadgetNum = 13016, + RetUgcDungeonRoomGuestEnterGadgetNotEnough = 13017, + RetUgcDungeonRoomSettingCoinNumTooLarge = 13018, + RetUgcDungeonRoomSettingMonsterNumTooLarge = 13019, + RetUgcDungeonRoomSettingNoSettleConfig = 13020, + RetUgcDungeonRoomSwitchInviteInProcess = 13021, + RetUgcDungeonRoomDeploymentCostLimit = 13022, + RetUgcDungeonRoomTriggerDuplicateGuid = 13023, + RetUgcDungeonRoomTriggerParamError = 13024, + RetUgcDungeonScoreSettleTargetScoreZero = 13025, + RetUgcDungeonStateCanNotAudit = 13026, + RetUgcDungeonAuditVersionNotMatch = 13027, + RetUgcDungeonInAudit = 13028, + RetUgcDungeonStateCanNotPublish = 13029, + RetUgcDungeonRequestTooFrequent = 13030, + RetUgcDungeonCanNotPublishNoEdit = 13031, + RetUgcDungeonNotAllowImport = 13032, + RetUgcDungeonImportRoomHasMonster = 13033, + RetUgcDungeonSearchNotExist = 13034, + RetUgcDungeonRoomSwitchLastRoom = 13035, + RetUgcDungeonRoomGadgetNumLimit = 13036, + RetUgcDungeonRoomMonsterNumLimit = 13037, + RetUgcDungeonNoTrialSuccRecord = 13038, + RetUgcDungeonNumLimit = 13039, + RetUgcDungeonInEditDungeon = 13040, + RetUgcDungeonNotInDungeon = 13041, + RetUgcDungeonChangeSettingTooFrequent = 13042, + RetUgcDungeonNotOwner = 13043, + RetUgcDungeonNotPublished = 13044, + RetUgcDungeonShareCodeGenFail = 13045, + RetUgcDungeonRoomLimit = 13046, + RetUgcDungeonShareCodeInvalid = 13047, + RetUgcDungeonRoomSuiteNumLimit = 13048, + RetUgcDungeonTowerHasBeenPurchased = 13101, + RetUgcDungeonPlayerAddItemOverStack = 13102, + RetUgcDungeonPlayerTowerLevelUpLimited = 13103, + RetUgcDungeonPlayerConsumeItemNotEnough = 13104, + RetUgcDungeonPlayerTowerAlreadyLevelUp = 13105, + RetUgcDungeonPlayerUgcTargetIsNotExist = 13106, + RetUgcDungeonPlayerUgcTargetIsNotActive = 13107, + RetUgcDungeonCheckLayoutFailed = 13108, + RetUgcDungeonPlayerTowerAlreadyRemoved = 13109, + RetUgcDungeonPlayerAddItemOverLimit = 13110, + RetUgcDungeonPlayerGrantAvatarOverLimit = 13111, + RetUgcDungeonDuplicateStar = 13131, + RetUgcDungeonCancelStarNotExist = 13132, + RetUgcDungeonStarReachLimit = 13133, + RetUgcDungeonInternalFail = 13134, + RetUgcDungeonPlayerPublishBanned = 13135, + RetUgcDungeonCustomEditIsNotOpen = 13151, + RetUgcDungeonOfficialLevelIsNotOpen = 13152, + RetUgcDungeonTemplateImportIsNotOpen = 13153, + RetTargetShootingLevelNotOpen = 13161, + RetTargetShootingPlayerNumNotValid = 13162, + RetTargetShootingPlayNotOpen = 13163, + RetTargetShootingConfigNotFound = 13164, + RetShuffleBoardLevelNotOpen = 13172, + RetShuffleBoardNotInPenumbraScene = 13173, + RetShuffleBoardLevelMismatch = 13174, + RetShuffleBoardAlreadyPlaying = 13175, + RetRaffleTicketInvalidBonusId = 13176, + RetRaffleTicketPrerequisiteNotMet = 13177, + RetRaffleTicketNotEnough = 13178, + RetFlightGearLevelNotOpen = 13191, + RetFlightGearInMpMode = 13192, + RetAnimalViewAvatarIsClosingToAnimal = 13212, + RetAnimalViewNotEquipWidget = 13213, + RetCombinePointNotEnough = 13221, + RetToyBattleCurrentLevelNotOpen = 13251, + RetToyBattleCurrentNotPlaying = 13252, + RetFontaineGatherInvalidGatherTracking = 13261, + RetFontaineGatherInvalidMonsterTracking = 13262, + RetFishblasterLevelNotOpen = 13271, + RetFishblasterNotInRightScene = 13272, + RetFishblasterLevelMismatch = 13273, + RetFishblasterAlreadyPlaying = 13274, + RetGoalChallengeStageNotOpen = 13281, + RetGoalChallengeInvalidTeam = 13282, + RetAlchemySimCoinNotEnough = 13291, + RetAlchemySimCropExceedLimit = 13292, + RetAlchemySimFarmlandSameCrop = 13293, + RetAlchemySimCropNoHarvestableLand = 13294, + RetAlchemySimCropNotEnough = 13295, + RetAlchemySimCropNotUnlocked = 13296, + RetAlchemySimFarmlandNotReady = 13297, + RetAlchemySimCropRankMax = 13298, + RetAlchemySimFarmlandIsNotHarvested = 13299, + RetAlchemySimTechTreeAlreadyUnlocked = 13300, + RetAlchemySimPotionNotExist = 13301, + RetAlchemySimNotInTargetExam = 13302, + RetAlchemySimRoundAlchemyCountOver = 13303, + RetAlchemySimInternalLogicError = 13304, + RetAlchemySimCropOnForbiddenPos = 13305, + RetAlchemySimCropOverlapOverLimit = 13306, + RetAlchemySimPuzzleRateNotEnough = 13307, + RetAlchemySimPotionCantUpgrade = 13308, + RetAlchemySimExamCountNotEnough = 13309, + RetAlchemySimTechTreeNotAllowed = 13310, + RetAlchemySimCropNoRipenLand = 13311, + RetAlchemySimUnfinishQuest = 13312, + RetAlchemySimInvalidRoundState = 13313, + RetAlchemySimCropUpgradeExpOverflow = 13314, + RetAlchemySimCropUpgradeNotUnlocked = 13315, + RetAlchemySimFinishRoundFrequency = 13316, + RetAlchemySimTemplateAlchemyNotUnlocked = 13317, + RetCatcafeLayoutStageNotRight = 13351, + RetCatcafeLayoutNotRight = 13352, + RetStaminaFightIsInOtherDungeon = 13371, + RetEffigyChallengeV5LevelNotOpen = 13381, + RetEffigyChallengeV5InvalidSupport = 13382, + RetEffigyChallengeV5InvalidPlayerNum = 13383, + RetEffigyChallengeV5InCombat = 13384, + RetEffigyChallengeV5InvalidScene = 13385, + RetBlueprintSlotNotFound = 13401, + RetFurnitureSuiteIdInvalid = 13402, + RetWishlistBatchOperateOutOfLimit = 13403, + RetHideAndSeekV4GameNotOpen = 13411, + RetHideAndSeekV4PlayMapNotChosen = 13412, + RetHideAndSeekV4PlayerCountNotEnough = 13413, + RetHideAndSeekV4PlayMapNotOpen = 13414, + RetWatergunLevelNotOpen = 13431, + RetAcrobaticsBattleStageNotOpen = 13441, + RetAcrobaticsBattleInvalidTeam = 13442, + RetMonsterVsMonsterLevelNotOpen = 13451, + RetRechargeDiskLevelNotOpen = 13471, + RetRechargeDiskInvalidLevelBuild = 13472, + RetRechargeDiskCurSceneInvalid = 13473, + RetActivityPreviewTrialInCd = 13478, + RetBirdBallMpLevelNotOpen = 13481, + RetBirdBallDraftPlayerNumInvalid = 13482, + RetFairyTalesLotterAreaIsNotOpen = 13491, + RetFairyTalesLotterLeftCntNotEnough = 13492, + RetFairyTalesToyTotalLeftCntNotEnough = 13493, + RetFairyTalesWishToyTypeOverLimit = 13494, + RetFairyTalesToyCustomGadgetContentInvalid = 13495, + RetFairyTalesCombatLevelNotOpen = 13496, + RetFairyTalesTicketPrerequisiteNotMet = 13497, + RetFairyTalesTicketNotEnough = 13498, + RetActivityTeamInvalidSize = 13551, + RetActivityInvalidTrialAvatar = 13552, + RetActivityForbiddenTrialAvatar = 13553, + RetRenameInvalidQuestState = 13571, + RetRenameConflicted = 13572, + RetReliquaryOfferPurchaseVersionIdxError = 13591, + RetReliquaryOfferVersionTimesLimit = 13592, + RetReliquaryOfferProgressNotEnough = 13593, + RetReliquaryOfferProgressOverLimit = 13594, + RetReliquaryPurchaseSuiteTimesOverLimit = 13595, +} +impl Retcode { + /// 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 { + Retcode::RetSucc => "RetSucc", + Retcode::RetFail => "RetFail", + Retcode::RetSvrError => "RetSvrError", + Retcode::RetUnknownError => "RetUnknownError", + Retcode::RetFrequent => "RetFrequent", + Retcode::RetNodeForwardError => "RetNodeForwardError", + Retcode::RetNotFoundConfig => "RetNotFoundConfig", + Retcode::RetSystemBusy => "RetSystemBusy", + Retcode::RetGmUidBind => "RetGmUidBind", + Retcode::RetForbidden => "RetForbidden", + Retcode::RetStopRegister => "RetStopRegister", + Retcode::RetStopServer => "RetStopServer", + Retcode::RetAccountVeirfyError => "RetAccountVeirfyError", + Retcode::RetAccountFreeze => "RetAccountFreeze", + Retcode::RetRepeatLogin => "RetRepeatLogin", + Retcode::RetClientVersionError => "RetClientVersionError", + Retcode::RetTokenError => "RetTokenError", + Retcode::RetAccountNotExist => "RetAccountNotExist", + Retcode::RetWaitOtherLogin => "RetWaitOtherLogin", + Retcode::RetAnotherLogin => "RetAnotherLogin", + Retcode::RetClientForceUpdate => "RetClientForceUpdate", + Retcode::RetBlackUid => "RetBlackUid", + Retcode::RetLoginDbFail => "RetLoginDbFail", + Retcode::RetLoginInitFail => "RetLoginInitFail", + Retcode::RetMysqlDuplicate => "RetMysqlDuplicate", + Retcode::RetMaxPlayer => "RetMaxPlayer", + Retcode::RetAntiAddict => "RetAntiAddict", + Retcode::RetPsPlayerWithoutOnlineId => "RetPsPlayerWithoutOnlineId", + Retcode::RetOnlineIdNotFound => "RetOnlineIdNotFound", + Retcode::RetOnlneIdNotMatch => "RetOnlneIdNotMatch", + Retcode::RetRegisterIsFull => "RetRegisterIsFull", + Retcode::RetChecksumInvalid => "RetChecksumInvalid", + Retcode::RetBlackRegisterIp => "RetBlackRegisterIp", + Retcode::RetExceedRegisterRate => "RetExceedRegisterRate", + Retcode::RetUnknownPlatform => "RetUnknownPlatform", + Retcode::RetTokenParamError => "RetTokenParamError", + Retcode::RetAntiOfflineError => "RetAntiOfflineError", + Retcode::RetBlackLoginIp => "RetBlackLoginIp", + Retcode::RetGetTokenSessionHasUid => "RetGetTokenSessionHasUid", + Retcode::RetEnvironmentError => "RetEnvironmentError", + Retcode::RetCheckClientVersionHashFail => "RetCheckClientVersionHashFail", + Retcode::RetMinorRegisterFobidden => "RetMinorRegisterFobidden", + Retcode::RetSecurityLibraryError => "RetSecurityLibraryError", + Retcode::RetGateTicketCheckError => "RetGateTicketCheckError", + Retcode::RetProtoMixVersionNotMatch => "RetProtoMixVersionNotMatch", + Retcode::RetAccountTypeStopRegister => "RetAccountTypeStopRegister", + Retcode::RetAvatarInCd => "RetAvatarInCd", + Retcode::RetAvatarNotAlive => "RetAvatarNotAlive", + Retcode::RetAvatarNotOnScene => "RetAvatarNotOnScene", + Retcode::RetCanNotFindAvatar => "RetCanNotFindAvatar", + Retcode::RetCanNotDelCurAvatar => "RetCanNotDelCurAvatar", + Retcode::RetDuplicateAvatar => "RetDuplicateAvatar", + Retcode::RetAvatarIsSameOne => "RetAvatarIsSameOne", + Retcode::RetAvatarLevelLessThan => "RetAvatarLevelLessThan", + Retcode::RetAvatarCanNotChangeElement => "RetAvatarCanNotChangeElement", + Retcode::RetAvatarBreakLevelLessThan => "RetAvatarBreakLevelLessThan", + Retcode::RetAvatarOnMaxBreakLevel => "RetAvatarOnMaxBreakLevel", + Retcode::RetAvatarIdAlreadyExist => "RetAvatarIdAlreadyExist", + Retcode::RetAvatarNotDead => "RetAvatarNotDead", + Retcode::RetAvatarIsReviving => "RetAvatarIsReviving", + Retcode::RetAvatarIdError => "RetAvatarIdError", + Retcode::RetRepeatSetPlayerBornData => "RetRepeatSetPlayerBornData", + Retcode::RetPlayerLevelLessThan => "RetPlayerLevelLessThan", + Retcode::RetAvatarLimitLevelError => "RetAvatarLimitLevelError", + Retcode::RetCurAvatarNotAlive => "RetCurAvatarNotAlive", + Retcode::RetCanNotFindTeam => "RetCanNotFindTeam", + Retcode::RetCanNotFindCurTeam => "RetCanNotFindCurTeam", + Retcode::RetAvatarNotExistInTeam => "RetAvatarNotExistInTeam", + Retcode::RetCanNotRemoveCurAvatarFromTeam => { + "RetCanNotRemoveCurAvatarFromTeam" + } + Retcode::RetCanNotUseReviveItemForCurAvatar => { + "RetCanNotUseReviveItemForCurAvatar" + } + Retcode::RetTeamCostExceedLimit => "RetTeamCostExceedLimit", + Retcode::RetTeamAvatarInExpedition => "RetTeamAvatarInExpedition", + Retcode::RetTeamCanNotChoseReplaceUse => "RetTeamCanNotChoseReplaceUse", + Retcode::RetAvatarInCombat => "RetAvatarInCombat", + Retcode::RetPlayerTimeLocked => "RetPlayerTimeLocked", + Retcode::RetNicknameUtf8Error => "RetNicknameUtf8Error", + Retcode::RetNicknameTooLong => "RetNicknameTooLong", + Retcode::RetNicknameWordIllegal => "RetNicknameWordIllegal", + Retcode::RetNicknameTooManyDigits => "RetNicknameTooManyDigits", + Retcode::RetNicknameIsEmpty => "RetNicknameIsEmpty", + Retcode::RetNicknameMonthlyLimit => "RetNicknameMonthlyLimit", + Retcode::RetNicknameNotChanged => "RetNicknameNotChanged", + Retcode::RetPlayerNotOnline => "RetPlayerNotOnline", + Retcode::RetOpenStateNotOpen => "RetOpenStateNotOpen", + Retcode::RetFeatureClosed => "RetFeatureClosed", + Retcode::RetAvatarExpeditionAvatarDie => "RetAvatarExpeditionAvatarDie", + Retcode::RetAvatarExpeditionCountLimit => "RetAvatarExpeditionCountLimit", + Retcode::RetAvatarExpeditionMainForbid => "RetAvatarExpeditionMainForbid", + Retcode::RetAvatarExpeditionTrialForbid => "RetAvatarExpeditionTrialForbid", + Retcode::RetTeamNameIllegal => "RetTeamNameIllegal", + Retcode::RetIsNotInStandby => "RetIsNotInStandby", + Retcode::RetIsInDungeon => "RetIsInDungeon", + Retcode::RetIsInLockAvatarQuest => "RetIsInLockAvatarQuest", + Retcode::RetIsUsingTrialAvatar => "RetIsUsingTrialAvatar", + Retcode::RetIsUsingTempAvatar => "RetIsUsingTempAvatar", + Retcode::RetNotHasFlycloak => "RetNotHasFlycloak", + Retcode::RetFetterRewardAlreadyGot => "RetFetterRewardAlreadyGot", + Retcode::RetFetterRewardLevelNotEnough => "RetFetterRewardLevelNotEnough", + Retcode::RetWorldLevelAdjustMinLevel => "RetWorldLevelAdjustMinLevel", + Retcode::RetWorldLevelAdjustCd => "RetWorldLevelAdjustCd", + Retcode::RetNotHasCostume => "RetNotHasCostume", + Retcode::RetCostumeAvatarError => "RetCostumeAvatarError", + Retcode::RetFlycloakPlatformTypeErr => "RetFlycloakPlatformTypeErr", + Retcode::RetInTransfer => "RetInTransfer", + Retcode::RetIsInLockAvatar => "RetIsInLockAvatar", + Retcode::RetFullBackupTeam => "RetFullBackupTeam", + Retcode::RetBackupTeamIdNotValid => "RetBackupTeamIdNotValid", + Retcode::RetBackupTeamIsCurTeam => "RetBackupTeamIsCurTeam", + Retcode::RetAvatarRenameInCd => "RetAvatarRenameInCd", + Retcode::RetAvatarRenameInAudit => "RetAvatarRenameInAudit", + Retcode::RetAvatarRenameInIpBlackList => "RetAvatarRenameInIpBlackList", + Retcode::RetTeamAvatarIsLocked => "RetTeamAvatarIsLocked", + Retcode::RetPlayerHasTrialAvatar => "RetPlayerHasTrialAvatar", + Retcode::RetAvatarExpeditionSlotNotEnough => { + "RetAvatarExpeditionSlotNotEnough" + } + Retcode::RetAvatarExpeditionNoAvatarCanTakeReward => { + "RetAvatarExpeditionNoAvatarCanTakeReward" + } + Retcode::RetAvatarUpgradeItemExpOverflow => "RetAvatarUpgradeItemExpOverflow", + Retcode::RetAsyncWordFilterInCd => "RetAsyncWordFilterInCd", + Retcode::RetNotHasTraceEffect => "RetNotHasTraceEffect", + Retcode::RetTraceEffectAvatarError => "RetTraceEffectAvatarError", + Retcode::RetPlayerTimeLockedByQuest => "RetPlayerTimeLockedByQuest", + Retcode::RetFloatError => "RetFloatError", + Retcode::RetNpcNotExist => "RetNpcNotExist", + Retcode::RetNpcTooFar => "RetNpcTooFar", + Retcode::RetNotCurrentTalk => "RetNotCurrentTalk", + Retcode::RetNpcCreateFail => "RetNpcCreateFail", + Retcode::RetNpcMoveFail => "RetNpcMoveFail", + Retcode::RetQuestNotExist => "RetQuestNotExist", + Retcode::RetQuestIsFail => "RetQuestIsFail", + Retcode::RetQuestContentError => "RetQuestContentError", + Retcode::RetBargainNotActivated => "RetBargainNotActivated", + Retcode::RetBargainFinished => "RetBargainFinished", + Retcode::RetInferenceAssociateWordError => "RetInferenceAssociateWordError", + Retcode::RetInferenceSubmitWordNoConclusion => { + "RetInferenceSubmitWordNoConclusion" + } + Retcode::RetSubmitQuestEventsNotRight => "RetSubmitQuestEventsNotRight", + Retcode::RetConfirmContinueMutualQuestCondFailed => { + "RetConfirmContinueMutualQuestCondFailed" + } + Retcode::RetConfirmContinueMutualOccupiedFailed => { + "RetConfirmContinueMutualOccupiedFailed" + } + Retcode::RetQuestFocusModeInCd => "RetQuestFocusModeInCd", + Retcode::RetQuestInFocusMode => "RetQuestInFocusMode", + Retcode::RetQuestNotInFocusMode => "RetQuestNotInFocusMode", + Retcode::RetParentQuestCannotStartFocus => "RetParentQuestCannotStartFocus", + Retcode::RetParentQuestNotExist => "RetParentQuestNotExist", + Retcode::RetBanOpearateFocus => "RetBanOpearateFocus", + Retcode::RetQuestFocusAnyGalleryStarted => "RetQuestFocusAnyGalleryStarted", + Retcode::RetQuestFocusUsingInformalAvatar => { + "RetQuestFocusUsingInformalAvatar" + } + Retcode::RetQuestFocusOpenstateOff => "RetQuestFocusOpenstateOff", + Retcode::RetPointNotUnlocked => "RetPointNotUnlocked", + Retcode::RetPointTooFar => "RetPointTooFar", + Retcode::RetPointAlreayUnlocked => "RetPointAlreayUnlocked", + Retcode::RetEntityNotExist => "RetEntityNotExist", + Retcode::RetEnterSceneFail => "RetEnterSceneFail", + Retcode::RetPlayerIsEnterScene => "RetPlayerIsEnterScene", + Retcode::RetCityMaxLevel => "RetCityMaxLevel", + Retcode::RetAreaLocked => "RetAreaLocked", + Retcode::RetJoinOtherWait => "RetJoinOtherWait", + Retcode::RetWeatherAreaNotFound => "RetWeatherAreaNotFound", + Retcode::RetWeatherIsLocked => "RetWeatherIsLocked", + Retcode::RetNotInSelfScene => "RetNotInSelfScene", + Retcode::RetGroupNotExist => "RetGroupNotExist", + Retcode::RetMarkNameIllegal => "RetMarkNameIllegal", + Retcode::RetMarkAlreadyExists => "RetMarkAlreadyExists", + Retcode::RetMarkOverflow => "RetMarkOverflow", + Retcode::RetMarkNotExists => "RetMarkNotExists", + Retcode::RetMarkUnknownType => "RetMarkUnknownType", + Retcode::RetMarkNameTooLong => "RetMarkNameTooLong", + Retcode::RetDistanceLong => "RetDistanceLong", + Retcode::RetEnterSceneTokenInvalid => "RetEnterSceneTokenInvalid", + Retcode::RetNotInWorldScene => "RetNotInWorldScene", + Retcode::RetAnyGalleryStarted => "RetAnyGalleryStarted", + Retcode::RetGalleryNotStart => "RetGalleryNotStart", + Retcode::RetGalleryInterruptOnlyOnSingleMode => { + "RetGalleryInterruptOnlyOnSingleMode" + } + Retcode::RetGalleryCannotInterrupt => "RetGalleryCannotInterrupt", + Retcode::RetGalleryWorldNotMeet => "RetGalleryWorldNotMeet", + Retcode::RetGallerySceneNotMeet => "RetGallerySceneNotMeet", + Retcode::RetCurPlayCannotTransfer => "RetCurPlayCannotTransfer", + Retcode::RetCantUseWidgetInHomeScene => "RetCantUseWidgetInHomeScene", + Retcode::RetSceneGroupNotMatch => "RetSceneGroupNotMatch", + Retcode::RetPosRotInvalid => "RetPosRotInvalid", + Retcode::RetMarkInvalidSceneId => "RetMarkInvalidSceneId", + Retcode::RetInvalidSceneToUseAnchorPoint => "RetInvalidSceneToUseAnchorPoint", + Retcode::RetEnterHomeSceneFail => "RetEnterHomeSceneFail", + Retcode::RetCurSceneIsNull => "RetCurSceneIsNull", + Retcode::RetGroupIdError => "RetGroupIdError", + Retcode::RetGalleryInterruptNotOwner => "RetGalleryInterruptNotOwner", + Retcode::RetNoSpringInArea => "RetNoSpringInArea", + Retcode::RetAreaNotInScene => "RetAreaNotInScene", + Retcode::RetInvalidCityId => "RetInvalidCityId", + Retcode::RetInvalidSceneId => "RetInvalidSceneId", + Retcode::RetDestSceneIsNotAllow => "RetDestSceneIsNotAllow", + Retcode::RetLevelTagSwitchInCd => "RetLevelTagSwitchInCd", + Retcode::RetLevelTagAlreadyExist => "RetLevelTagAlreadyExist", + Retcode::RetInvalidAreaId => "RetInvalidAreaId", + Retcode::RetGalleryOngoingForbid => "RetGalleryOngoingForbid", + Retcode::RetNotInPlayerWorld => "RetNotInPlayerWorld", + Retcode::RetMapLayerGroupAlreadyShown => "RetMapLayerGroupAlreadyShown", + Retcode::RetInvalidMapLayer => "RetInvalidMapLayer", + Retcode::RetGalleryRepeatStart => "RetGalleryRepeatStart", + Retcode::RetNotInPlayerScene => "RetNotInPlayerScene", + Retcode::RetEnterDungeonNotInValidDungeon => { + "RetEnterDungeonNotInValidDungeon" + } + Retcode::RetItemNotExist => "RetItemNotExist", + Retcode::RetPackExceedMaxWeight => "RetPackExceedMaxWeight", + Retcode::RetItemNotDropable => "RetItemNotDropable", + Retcode::RetItemNotUsable => "RetItemNotUsable", + Retcode::RetItemInvalidUseCount => "RetItemInvalidUseCount", + Retcode::RetItemInvalidDropCount => "RetItemInvalidDropCount", + Retcode::RetItemAlreadyExist => "RetItemAlreadyExist", + Retcode::RetItemInCooldown => "RetItemInCooldown", + Retcode::RetItemCountNotEnough => "RetItemCountNotEnough", + Retcode::RetItemInvalidTarget => "RetItemInvalidTarget", + Retcode::RetRecipeNotExist => "RetRecipeNotExist", + Retcode::RetRecipeLocked => "RetRecipeLocked", + Retcode::RetRecipeUnlocked => "RetRecipeUnlocked", + Retcode::RetCompoundQueueFull => "RetCompoundQueueFull", + Retcode::RetCompoundNotFinish => "RetCompoundNotFinish", + Retcode::RetMailItemNotGet => "RetMailItemNotGet", + Retcode::RetItemExceedLimit => "RetItemExceedLimit", + Retcode::RetAvatarCanNotUse => "RetAvatarCanNotUse", + Retcode::RetItemNeedPlayerLevel => "RetItemNeedPlayerLevel", + Retcode::RetRecipeNotAutoQte => "RetRecipeNotAutoQte", + Retcode::RetCompoundBusyQueue => "RetCompoundBusyQueue", + Retcode::RetNeedMoreScoin => "RetNeedMoreScoin", + Retcode::RetSkillDepotNotFound => "RetSkillDepotNotFound", + Retcode::RetHcoinNotEnough => "RetHcoinNotEnough", + Retcode::RetScoinNotEnough => "RetScoinNotEnough", + Retcode::RetHcoinExceedLimit => "RetHcoinExceedLimit", + Retcode::RetScoinExceedLimit => "RetScoinExceedLimit", + Retcode::RetMailExpired => "RetMailExpired", + Retcode::RetRewardHasTaken => "RetRewardHasTaken", + Retcode::RetCombineCountTooLarge => "RetCombineCountTooLarge", + Retcode::RetGivingItemWrong => "RetGivingItemWrong", + Retcode::RetGivingIsFinished => "RetGivingIsFinished", + Retcode::RetGivingNotActived => "RetGivingNotActived", + Retcode::RetForgeQueueFull => "RetForgeQueueFull", + Retcode::RetForgeQueueCapacity => "RetForgeQueueCapacity", + Retcode::RetForgeQueueNotFound => "RetForgeQueueNotFound", + Retcode::RetForgeQueueEmpty => "RetForgeQueueEmpty", + Retcode::RetNotSupportItem => "RetNotSupportItem", + Retcode::RetItemEmpty => "RetItemEmpty", + Retcode::RetVirtualExceedLimit => "RetVirtualExceedLimit", + Retcode::RetMaterialExceedLimit => "RetMaterialExceedLimit", + Retcode::RetEquipExceedLimit => "RetEquipExceedLimit", + Retcode::RetItemShouldHaveNoLevel => "RetItemShouldHaveNoLevel", + Retcode::RetWeaponPromoteLevelExceedLimit => { + "RetWeaponPromoteLevelExceedLimit" + } + Retcode::RetWeaponLevelInvalid => "RetWeaponLevelInvalid", + Retcode::RetUnknowItemType => "RetUnknowItemType", + Retcode::RetItemCountIsZero => "RetItemCountIsZero", + Retcode::RetItemIsExpired => "RetItemIsExpired", + Retcode::RetItemExceedOutputLimit => "RetItemExceedOutputLimit", + Retcode::RetEquipLevelHigher => "RetEquipLevelHigher", + Retcode::RetEquipCanNotWakeOffWeapon => "RetEquipCanNotWakeOffWeapon", + Retcode::RetEquipHasBeenWeared => "RetEquipHasBeenWeared", + Retcode::RetEquipWearedCannotDrop => "RetEquipWearedCannotDrop", + Retcode::RetAwakenLevelMax => "RetAwakenLevelMax", + Retcode::RetMcoinNotEnough => "RetMcoinNotEnough", + Retcode::RetMcoinExceedLimit => "RetMcoinExceedLimit", + Retcode::RetBatchSetEquipLockStateCd => "RetBatchSetEquipLockStateCd", + Retcode::RetResinNotEnough => "RetResinNotEnough", + Retcode::RetResinExceedLimit => "RetResinExceedLimit", + Retcode::RetResinOpenstateOff => "RetResinOpenstateOff", + Retcode::RetResinBoughtCountExceeded => "RetResinBoughtCountExceeded", + Retcode::RetResinCardDailyRewardHasTaken => "RetResinCardDailyRewardHasTaken", + Retcode::RetResinCardExpired => "RetResinCardExpired", + Retcode::RetAvatarCanNotCook => "RetAvatarCanNotCook", + Retcode::RetAttachAvatarCd => "RetAttachAvatarCd", + Retcode::RetAutoRecoverOpenstateOff => "RetAutoRecoverOpenstateOff", + Retcode::RetAutoRecoverBoughtCountExceeded => { + "RetAutoRecoverBoughtCountExceeded" + } + Retcode::RetResinGainFailed => "RetResinGainFailed", + Retcode::RetWidgetOrnamentsTypeError => "RetWidgetOrnamentsTypeError", + Retcode::RetAllTargetSatiationFull => "RetAllTargetSatiationFull", + Retcode::RetForgeWorldLevelNotMatch => "RetForgeWorldLevelNotMatch", + Retcode::RetForgePointNotEnough => "RetForgePointNotEnough", + Retcode::RetWidgetAnchorPointFull => "RetWidgetAnchorPointFull", + Retcode::RetWidgetAnchorPointNotFound => "RetWidgetAnchorPointNotFound", + Retcode::RetAllBonfireExceedMaxCount => "RetAllBonfireExceedMaxCount", + Retcode::RetBonfireExceedMaxCount => "RetBonfireExceedMaxCount", + Retcode::RetLunchBoxDataError => "RetLunchBoxDataError", + Retcode::RetInvalidQuickUseWidget => "RetInvalidQuickUseWidget", + Retcode::RetInvalidReplaceResinCount => "RetInvalidReplaceResinCount", + Retcode::RetPrevDetectedGatherNotFound => "RetPrevDetectedGatherNotFound", + Retcode::RetGotAllOneoffGahter => "RetGotAllOneoffGahter", + Retcode::RetInvalidWidgetMaterialId => "RetInvalidWidgetMaterialId", + Retcode::RetWidgetDetectorNoHintToClear => "RetWidgetDetectorNoHintToClear", + Retcode::RetWidgetAlreadyWithinNearbyRadius => { + "RetWidgetAlreadyWithinNearbyRadius" + } + Retcode::RetWidgetClientCollectorNeedPoints => { + "RetWidgetClientCollectorNeedPoints" + } + Retcode::RetWidgetInCombat => "RetWidgetInCombat", + Retcode::RetWidgetNotSetQuickUse => "RetWidgetNotSetQuickUse", + Retcode::RetAlreadyAttachWidget => "RetAlreadyAttachWidget", + Retcode::RetEquipIsLocked => "RetEquipIsLocked", + Retcode::RetForgeIsLocked => "RetForgeIsLocked", + Retcode::RetCombineIsLocked => "RetCombineIsLocked", + Retcode::RetForgeOutputStackLimit => "RetForgeOutputStackLimit", + Retcode::RetAlreadyDettachWidget => "RetAlreadyDettachWidget", + Retcode::RetGadgetBuilderExceedMaxCount => "RetGadgetBuilderExceedMaxCount", + Retcode::RetReunionPrivilegeResinTypeIsNormal => { + "RetReunionPrivilegeResinTypeIsNormal" + } + Retcode::RetBonusCountExceedDoubleLimit => "RetBonusCountExceedDoubleLimit", + Retcode::RetReliquaryDecomposeParamError => "RetReliquaryDecomposeParamError", + Retcode::RetItemCombineCountNotEnough => "RetItemCombineCountNotEnough", + Retcode::RetGoodsNotExist => "RetGoodsNotExist", + Retcode::RetGoodsMaterialNotEnough => "RetGoodsMaterialNotEnough", + Retcode::RetGoodsNotInTime => "RetGoodsNotInTime", + Retcode::RetGoodsBuyNumNotEnough => "RetGoodsBuyNumNotEnough", + Retcode::RetGoodsBuyNumError => "RetGoodsBuyNumError", + Retcode::RetShopNotOpen => "RetShopNotOpen", + Retcode::RetShopContentNotMatch => "RetShopContentNotMatch", + Retcode::RetShopBatchBuyShopLimit => "RetShopBatchBuyShopLimit", + Retcode::RetShopBatchBuyCountLimit => "RetShopBatchBuyCountLimit", + Retcode::RetGoodsPreconditionNotSatisfied => { + "RetGoodsPreconditionNotSatisfied" + } + Retcode::RetChatForbidden => "RetChatForbidden", + Retcode::RetChatCd => "RetChatCd", + Retcode::RetChatFrequently => "RetChatFrequently", + Retcode::RetGadgetNotExist => "RetGadgetNotExist", + Retcode::RetGadgetNotInteractive => "RetGadgetNotInteractive", + Retcode::RetGadgetNotGatherable => "RetGadgetNotGatherable", + Retcode::RetChestIsLocked => "RetChestIsLocked", + Retcode::RetGadgetCreateFail => "RetGadgetCreateFail", + Retcode::RetWorktopOptionNotExist => "RetWorktopOptionNotExist", + Retcode::RetGadgetStatueNotActive => "RetGadgetStatueNotActive", + Retcode::RetGadgetStatueOpened => "RetGadgetStatueOpened", + Retcode::RetBossChestNoQualification => "RetBossChestNoQualification", + Retcode::RetBossChestLifeTimeOver => "RetBossChestLifeTimeOver", + Retcode::RetBossChestWeekNumLimit => "RetBossChestWeekNumLimit", + Retcode::RetBossChestGuestWorldLevel => "RetBossChestGuestWorldLevel", + Retcode::RetBossChestHasTaken => "RetBossChestHasTaken", + Retcode::RetBlossomChestNoQualification => "RetBlossomChestNoQualification", + Retcode::RetBlossomChestLifeTimeOver => "RetBlossomChestLifeTimeOver", + Retcode::RetBlossomChestHasTaken => "RetBlossomChestHasTaken", + Retcode::RetBlossomChestGuestWorldLevel => "RetBlossomChestGuestWorldLevel", + Retcode::RetMpPlayRewardNoQualification => "RetMpPlayRewardNoQualification", + Retcode::RetMpPlayRewardHasTaken => "RetMpPlayRewardHasTaken", + Retcode::RetGeneralRewardNoQualification => "RetGeneralRewardNoQualification", + Retcode::RetGeneralRewardLifeTimeOver => "RetGeneralRewardLifeTimeOver", + Retcode::RetGeneralRewardHasTaken => "RetGeneralRewardHasTaken", + Retcode::RetGadgetNotVehicle => "RetGadgetNotVehicle", + Retcode::RetVehicleSlotOccupied => "RetVehicleSlotOccupied", + Retcode::RetNotInVehicle => "RetNotInVehicle", + Retcode::RetCreateVehicleInCd => "RetCreateVehicleInCd", + Retcode::RetCreateVehiclePosInvalid => "RetCreateVehiclePosInvalid", + Retcode::RetVehiclePointNotUnlock => "RetVehiclePointNotUnlock", + Retcode::RetGadgetInteractCondNotMeet => "RetGadgetInteractCondNotMeet", + Retcode::RetGadgetInteractParamError => "RetGadgetInteractParamError", + Retcode::RetGadgetCustomCombinationInvalid => { + "RetGadgetCustomCombinationInvalid" + } + Retcode::RetDeshretObeliskDuplicateInteract => { + "RetDeshretObeliskDuplicateInteract" + } + Retcode::RetDeshretObeliskNoAvailChest => "RetDeshretObeliskNoAvailChest", + Retcode::RetVehicleSorushNotReplace => "RetVehicleSorushNotReplace", + Retcode::RetVehicleSorushNotUnload => "RetVehicleSorushNotUnload", + Retcode::RetVehicleSorushStateNotMatch => "RetVehicleSorushStateNotMatch", + Retcode::RetGivingNotInMyWorld => "RetGivingNotInMyWorld", + Retcode::RetGivingIsFrozen => "RetGivingIsFrozen", + Retcode::RetActivityClose => "RetActivityClose", + Retcode::RetActivityItemError => "RetActivityItemError", + Retcode::RetActivityContributionNotEnough => { + "RetActivityContributionNotEnough" + } + Retcode::RetSeaLampPhaseNotFinish => "RetSeaLampPhaseNotFinish", + Retcode::RetSeaLampFlyNumLimit => "RetSeaLampFlyNumLimit", + Retcode::RetSeaLampFlyLampWordIllegal => "RetSeaLampFlyLampWordIllegal", + Retcode::RetActivityWatcherRewardTaken => "RetActivityWatcherRewardTaken", + Retcode::RetActivityWatcherRewardNotFinished => { + "RetActivityWatcherRewardNotFinished" + } + Retcode::RetSalesmanAlreadyDelivered => "RetSalesmanAlreadyDelivered", + Retcode::RetSalesmanRewardCountNotEnough => "RetSalesmanRewardCountNotEnough", + Retcode::RetSalesmanPositionInvalid => "RetSalesmanPositionInvalid", + Retcode::RetDeliverNotFinishAllQuest => "RetDeliverNotFinishAllQuest", + Retcode::RetDeliverAlreadyTakeDailyReward => { + "RetDeliverAlreadyTakeDailyReward" + } + Retcode::RetAsterProgressExceedLimit => "RetAsterProgressExceedLimit", + Retcode::RetAsterCreditExceedLimit => "RetAsterCreditExceedLimit", + Retcode::RetAsterTokenExceedLimit => "RetAsterTokenExceedLimit", + Retcode::RetAsterCreditNotEnough => "RetAsterCreditNotEnough", + Retcode::RetAsterTokenNotEnough => "RetAsterTokenNotEnough", + Retcode::RetAsterSpecialRewardHasTaken => "RetAsterSpecialRewardHasTaken", + Retcode::RetFlightGroupActivityNotStarted => { + "RetFlightGroupActivityNotStarted" + } + Retcode::RetAsterMidPreviousBattleNotFinished => { + "RetAsterMidPreviousBattleNotFinished" + } + Retcode::RetDragonSpineShimmeringEssenceExceedLimit => { + "RetDragonSpineShimmeringEssenceExceedLimit" + } + Retcode::RetDragonSpineWarmEssenceExceedLimit => { + "RetDragonSpineWarmEssenceExceedLimit" + } + Retcode::RetDragonSpineWondrousEssenceExceedLimit => { + "RetDragonSpineWondrousEssenceExceedLimit" + } + Retcode::RetDragonSpineShimmeringEssenceNotEnough => { + "RetDragonSpineShimmeringEssenceNotEnough" + } + Retcode::RetDragonSpineWarmEssenceNotEnough => { + "RetDragonSpineWarmEssenceNotEnough" + } + Retcode::RetDragonSpineWondrousEssenceNotEnough => { + "RetDragonSpineWondrousEssenceNotEnough" + } + Retcode::RetEffigyFirstPassRewardHasTaken => { + "RetEffigyFirstPassRewardHasTaken" + } + Retcode::RetEffigyRewardHasTaken => "RetEffigyRewardHasTaken", + Retcode::RetTreasureMapAddTokenExceedLimit => { + "RetTreasureMapAddTokenExceedLimit" + } + Retcode::RetTreasureMapTokenNotEnought => "RetTreasureMapTokenNotEnought", + Retcode::RetSeaLampCoinExceedLimit => "RetSeaLampCoinExceedLimit", + Retcode::RetSeaLampCoinNotEnough => "RetSeaLampCoinNotEnough", + Retcode::RetSeaLampPopularityExceedLimit => "RetSeaLampPopularityExceedLimit", + Retcode::RetActivityAvatarRewardNotOpen => "RetActivityAvatarRewardNotOpen", + Retcode::RetActivityAvatarRewardHasTaken => "RetActivityAvatarRewardHasTaken", + Retcode::RetArenaActivityAlreadyStarted => "RetArenaActivityAlreadyStarted", + Retcode::RetTalentAlreayUnlocked => "RetTalentAlreayUnlocked", + Retcode::RetPrevTalentNotUnlocked => "RetPrevTalentNotUnlocked", + Retcode::RetBigTalentPointNotEnough => "RetBigTalentPointNotEnough", + Retcode::RetSmallTalentPointNotEnough => "RetSmallTalentPointNotEnough", + Retcode::RetProudSkillAlreadyGot => "RetProudSkillAlreadyGot", + Retcode::RetPrevProudSkillNotGet => "RetPrevProudSkillNotGet", + Retcode::RetProudSkillMaxLevel => "RetProudSkillMaxLevel", + Retcode::RetCandidateSkillDepotIdNotFind => "RetCandidateSkillDepotIdNotFind", + Retcode::RetSkillDepotIsTheSame => "RetSkillDepotIsTheSame", + Retcode::RetMonsterNotExist => "RetMonsterNotExist", + Retcode::RetMonsterCreateFail => "RetMonsterCreateFail", + Retcode::RetDungeonEnterFail => "RetDungeonEnterFail", + Retcode::RetDungeonQuitFail => "RetDungeonQuitFail", + Retcode::RetDungeonEnterExceedDayCount => "RetDungeonEnterExceedDayCount", + Retcode::RetDungeonReviveExceedMaxCount => "RetDungeonReviveExceedMaxCount", + Retcode::RetDungeonReviveFail => "RetDungeonReviveFail", + Retcode::RetDungeonNotSucceed => "RetDungeonNotSucceed", + Retcode::RetDungeonCanNotCancel => "RetDungeonCanNotCancel", + Retcode::RetDestDungeonSettled => "RetDestDungeonSettled", + Retcode::RetDungeonCandidateTeamIsFull => "RetDungeonCandidateTeamIsFull", + Retcode::RetDungeonCandidateTeamIsDismiss => { + "RetDungeonCandidateTeamIsDismiss" + } + Retcode::RetDungeonCandidateTeamNotAllReady => { + "RetDungeonCandidateTeamNotAllReady" + } + Retcode::RetDungeonCandidateTeamHasRepeatAvatar => { + "RetDungeonCandidateTeamHasRepeatAvatar" + } + Retcode::RetDungeonCandidateNotSingelPass => { + "RetDungeonCandidateNotSingelPass" + } + Retcode::RetDungeonReplayNeedAllPlayerDie => { + "RetDungeonReplayNeedAllPlayerDie" + } + Retcode::RetDungeonReplayHasReviveCount => "RetDungeonReplayHasReviveCount", + Retcode::RetDungeonOthersLeave => "RetDungeonOthersLeave", + Retcode::RetDungeonEnterLevelLimit => "RetDungeonEnterLevelLimit", + Retcode::RetDungeonCannotEnterPlotInMp => "RetDungeonCannotEnterPlotInMp", + Retcode::RetDungeonDropSubfieldLimit => "RetDungeonDropSubfieldLimit", + Retcode::RetDungeonBeInvitePlayerAvatarAllDie => { + "RetDungeonBeInvitePlayerAvatarAllDie" + } + Retcode::RetDungeonCannotKick => "RetDungeonCannotKick", + Retcode::RetDungeonCandidateTeamSomeoneLevelLimit => { + "RetDungeonCandidateTeamSomeoneLevelLimit" + } + Retcode::RetDungeonInForceQuit => "RetDungeonInForceQuit", + Retcode::RetDungeonGuestQuitDungeon => "RetDungeonGuestQuitDungeon", + Retcode::RetDungeonTicketFail => "RetDungeonTicketFail", + Retcode::RetCurDungeonSettled => "RetCurDungeonSettled", + Retcode::RetCurDungeonNotPlot => "RetCurDungeonNotPlot", + Retcode::RetCurDungeonNotAllowSwitchTeam => "RetCurDungeonNotAllowSwitchTeam", + Retcode::RetDungeonEnteredByCandidateTeam => { + "RetDungeonEnteredByCandidateTeam" + } + Retcode::RetDungeonSwitchTeamBannedByPlay => { + "RetDungeonSwitchTeamBannedByPlay" + } + Retcode::RetDungeonEnterTeamInternalError => { + "RetDungeonEnterTeamInternalError" + } + Retcode::RetDungeonEnterTeamSomeoneLevelLimit => { + "RetDungeonEnterTeamSomeoneLevelLimit" + } + Retcode::RetDungeonEnterTeamSomeoneNotInSceneTeam => { + "RetDungeonEnterTeamSomeoneNotInSceneTeam" + } + Retcode::RetMpNotInMyWorld => "RetMpNotInMyWorld", + Retcode::RetMpInMpMode => "RetMpInMpMode", + Retcode::RetMpSceneIsFull => "RetMpSceneIsFull", + Retcode::RetMpModeNotAvailable => "RetMpModeNotAvailable", + Retcode::RetMpPlayerNotEnterable => "RetMpPlayerNotEnterable", + Retcode::RetMpQuestBlockMp => "RetMpQuestBlockMp", + Retcode::RetMpInRoomScene => "RetMpInRoomScene", + Retcode::RetMpWorldIsFull => "RetMpWorldIsFull", + Retcode::RetMpPlayerNotAllowEnter => "RetMpPlayerNotAllowEnter", + Retcode::RetMpPlayerDisconnected => "RetMpPlayerDisconnected", + Retcode::RetMpNotInMpMode => "RetMpNotInMpMode", + Retcode::RetMpOwnerNotEnter => "RetMpOwnerNotEnter", + Retcode::RetMpAllowEnterPlayerFull => "RetMpAllowEnterPlayerFull", + Retcode::RetMpTargetPlayerInTransfer => "RetMpTargetPlayerInTransfer", + Retcode::RetMpTargetEnteringOther => "RetMpTargetEnteringOther", + Retcode::RetMpOtherEntering => "RetMpOtherEntering", + Retcode::RetMpEnterMainPlayerInPlot => "RetMpEnterMainPlayerInPlot", + Retcode::RetMpNotPsPlayer => "RetMpNotPsPlayer", + Retcode::RetMpPlayNotActive => "RetMpPlayNotActive", + Retcode::RetMpPlayRemainRewards => "RetMpPlayRemainRewards", + Retcode::RetMpPlayNoReward => "RetMpPlayNoReward", + Retcode::RetMpOpenStateFail => "RetMpOpenStateFail", + Retcode::RetMpPlayerInBlacklist => "RetMpPlayerInBlacklist", + Retcode::RetMpReplyTimeout => "RetMpReplyTimeout", + Retcode::RetMpIsBlock => "RetMpIsBlock", + Retcode::RetMpEnterMainPlayerInMpPlay => "RetMpEnterMainPlayerInMpPlay", + Retcode::RetMpInMpPlayBattle => "RetMpInMpPlayBattle", + Retcode::RetMpGuestHasRewardRemained => "RetMpGuestHasRewardRemained", + Retcode::RetMpQuitMpInvalid => "RetMpQuitMpInvalid", + Retcode::RetMpOtherDataVersionNotLatest => "RetMpOtherDataVersionNotLatest", + Retcode::RetMpDataVersionNotLatest => "RetMpDataVersionNotLatest", + Retcode::RetMpCurWorldNotEnterable => "RetMpCurWorldNotEnterable", + Retcode::RetMpAnyGalleryStarted => "RetMpAnyGalleryStarted", + Retcode::RetMpHasActiveDraft => "RetMpHasActiveDraft", + Retcode::RetMpPlayerInDungeon => "RetMpPlayerInDungeon", + Retcode::RetMpMatchFull => "RetMpMatchFull", + Retcode::RetMpMatchLimit => "RetMpMatchLimit", + Retcode::RetMpMatchInPunish => "RetMpMatchInPunish", + Retcode::RetMpIsInMultistage => "RetMpIsInMultistage", + Retcode::RetMpMatchPlayNotOpen => "RetMpMatchPlayNotOpen", + Retcode::RetMpOnlyMpWithPsPlayer => "RetMpOnlyMpWithPsPlayer", + Retcode::RetMpGuestLoadingFirstEnter => "RetMpGuestLoadingFirstEnter", + Retcode::RetMpSummerTimeSprintBoatOngoing => { + "RetMpSummerTimeSprintBoatOngoing" + } + Retcode::RetMpBlitzRushParkourChallengeOngoing => { + "RetMpBlitzRushParkourChallengeOngoing" + } + Retcode::RetMpMusicGameOngoing => "RetMpMusicGameOngoing", + Retcode::RetMpInMpingMode => "RetMpInMpingMode", + Retcode::RetMpOwnerInSingleScene => "RetMpOwnerInSingleScene", + Retcode::RetMpInSingleScene => "RetMpInSingleScene", + Retcode::RetMpReplyNoValidAvatar => "RetMpReplyNoValidAvatar", + Retcode::RetMpIsNotInTransferGuard => "RetMpIsNotInTransferGuard", + Retcode::RetMpCannotExecGivingInSingleModeQuest => { + "RetMpCannotExecGivingInSingleModeQuest" + } + Retcode::RetMpEffigyChallengeV4InPrepare => "RetMpEffigyChallengeV4InPrepare", + Retcode::RetMpShuffleBoardOngoing => "RetMpShuffleBoardOngoing", + Retcode::RetMpFlightGearOngoing => "RetMpFlightGearOngoing", + Retcode::RetMpToyBattleQteOngoing => "RetMpToyBattleQteOngoing", + Retcode::RetMpPaintingRepairOngoing => "RetMpPaintingRepairOngoing", + Retcode::RetMpFishblasterOngoing => "RetMpFishblasterOngoing", + Retcode::RetMpGuestMatchCondNotMeet => "RetMpGuestMatchCondNotMeet", + Retcode::RetMailParaErr => "RetMailParaErr", + Retcode::RetMailMaxNum => "RetMailMaxNum", + Retcode::RetMailItemNumExceed => "RetMailItemNumExceed", + Retcode::RetMailTitleLenExceed => "RetMailTitleLenExceed", + Retcode::RetMailContentLenExceed => "RetMailContentLenExceed", + Retcode::RetMailSenderLenExceed => "RetMailSenderLenExceed", + Retcode::RetMailParsePacketFail => "RetMailParsePacketFail", + Retcode::RetOfflineMsgMaxNum => "RetOfflineMsgMaxNum", + Retcode::RetOfflineMsgSameTicket => "RetOfflineMsgSameTicket", + Retcode::RetMailExcelMailTypeError => "RetMailExcelMailTypeError", + Retcode::RetMailCannotSendMcoin => "RetMailCannotSendMcoin", + Retcode::RetMailHcoinExceedLimit => "RetMailHcoinExceedLimit", + Retcode::RetMailScoinExceedLimit => "RetMailScoinExceedLimit", + Retcode::RetMailMaterialIdInvalid => "RetMailMaterialIdInvalid", + Retcode::RetMailAvatarExceedLimit => "RetMailAvatarExceedLimit", + Retcode::RetMailGachaTicketEtcExceedLimit => { + "RetMailGachaTicketEtcExceedLimit" + } + Retcode::RetMailItemExceedCehuaLimit => "RetMailItemExceedCehuaLimit", + Retcode::RetMailSpaceOrRestNumNotEnough => "RetMailSpaceOrRestNumNotEnough", + Retcode::RetMailTicketIsEmpty => "RetMailTicketIsEmpty", + Retcode::RetMailTransactionIsEmpty => "RetMailTransactionIsEmpty", + Retcode::RetMailDeleteCollected => "RetMailDeleteCollected", + Retcode::RetMailCollectionIsFull => "RetMailCollectionIsFull", + Retcode::RetMailTitleCharacterLenExceed => "RetMailTitleCharacterLenExceed", + Retcode::RetMailTitleEmpty => "RetMailTitleEmpty", + Retcode::RetMailContentEmpty => "RetMailContentEmpty", + Retcode::RetMailSenderEmpty => "RetMailSenderEmpty", + Retcode::RetDailyTaskNotFinish => "RetDailyTaskNotFinish", + Retcode::RetDailyTaksHasTaken => "RetDailyTaksHasTaken", + Retcode::RetSocialOfflineMsgNumExceed => "RetSocialOfflineMsgNumExceed", + Retcode::RetDailyTaskFilterCityNotOpen => "RetDailyTaskFilterCityNotOpen", + Retcode::RetDailyAttendanceNotOpen => "RetDailyAttendanceNotOpen", + Retcode::RetDailyAttendanceRewardMax => "RetDailyAttendanceRewardMax", + Retcode::RetGachaInavailable => "RetGachaInavailable", + Retcode::RetGachaRandomNotMatch => "RetGachaRandomNotMatch", + Retcode::RetGachaScheduleNotMatch => "RetGachaScheduleNotMatch", + Retcode::RetGachaInvalidTimes => "RetGachaInvalidTimes", + Retcode::RetGachaCostItemNotEnough => "RetGachaCostItemNotEnough", + Retcode::RetGachaTimesLimit => "RetGachaTimesLimit", + Retcode::RetGachaWishSameItem => "RetGachaWishSameItem", + Retcode::RetGachaWishInvalidItem => "RetGachaWishInvalidItem", + Retcode::RetGachaMinorsTimesLimit => "RetGachaMinorsTimesLimit", + Retcode::RetGachaGeneralTimesLimit => "RetGachaGeneralTimesLimit", + Retcode::RetGachaWishIsNeededBeforeGacha => "RetGachaWishIsNeededBeforeGacha", + Retcode::RetInvestigaitonNotInProgress => "RetInvestigaitonNotInProgress", + Retcode::RetInvestigaitonUncomplete => "RetInvestigaitonUncomplete", + Retcode::RetInvestigaitonRewardTaken => "RetInvestigaitonRewardTaken", + Retcode::RetInvestigaitonTargetStateError => { + "RetInvestigaitonTargetStateError" + } + Retcode::RetPushTipsNotFound => "RetPushTipsNotFound", + Retcode::RetSignInRecordNotFound => "RetSignInRecordNotFound", + Retcode::RetAlreadyHaveSignedIn => "RetAlreadyHaveSignedIn", + Retcode::RetSignInCondNotSatisfied => "RetSignInCondNotSatisfied", + Retcode::RetBonusActivityNotUnrewarded => "RetBonusActivityNotUnrewarded", + Retcode::RetSignInRewarded => "RetSignInRewarded", + Retcode::RetTowerNotOpen => "RetTowerNotOpen", + Retcode::RetTowerHaveDailyRecord => "RetTowerHaveDailyRecord", + Retcode::RetTowerNotRecord => "RetTowerNotRecord", + Retcode::RetTowerHaveRecord => "RetTowerHaveRecord", + Retcode::RetTowerTeamNumError => "RetTowerTeamNumError", + Retcode::RetTowerFloorNotOpen => "RetTowerFloorNotOpen", + Retcode::RetTowerNoFloorStarRecord => "RetTowerNoFloorStarRecord", + Retcode::RetAlreadyHasTowerBuff => "RetAlreadyHasTowerBuff", + Retcode::RetDuplicateEnterLevel => "RetDuplicateEnterLevel", + Retcode::RetNotInTowerLevel => "RetNotInTowerLevel", + Retcode::RetInTowerLevel => "RetInTowerLevel", + Retcode::RetTowerPrevFloorNotFinish => "RetTowerPrevFloorNotFinish", + Retcode::RetTowerStarNotEnough => "RetTowerStarNotEnough", + Retcode::RetBattlePassNoSchedule => "RetBattlePassNoSchedule", + Retcode::RetBattlePassHasBuyed => "RetBattlePassHasBuyed", + Retcode::RetBattlePassLevelOverflow => "RetBattlePassLevelOverflow", + Retcode::RetBattlePassProductExpired => "RetBattlePassProductExpired", + Retcode::RetMatchHostQuit => "RetMatchHostQuit", + Retcode::RetMatchAlreadyInMatch => "RetMatchAlreadyInMatch", + Retcode::RetMatchNotInMatch => "RetMatchNotInMatch", + Retcode::RetMatchApplyingEnterMp => "RetMatchApplyingEnterMp", + Retcode::RetMatchIncorrectScene => "RetMatchIncorrectScene", + Retcode::RetWidgetTreasureSpotNotFound => "RetWidgetTreasureSpotNotFound", + Retcode::RetWidgetTreasureEntityExists => "RetWidgetTreasureEntityExists", + Retcode::RetWidgetTreasureSpotFarAway => "RetWidgetTreasureSpotFarAway", + Retcode::RetWidgetTreasureFinishedToday => "RetWidgetTreasureFinishedToday", + Retcode::RetWidgetQuickUseReqParamError => "RetWidgetQuickUseReqParamError", + Retcode::RetWidgetCameraScanIdError => "RetWidgetCameraScanIdError", + Retcode::RetWidgetNotActive => "RetWidgetNotActive", + Retcode::RetWidgetFeatherNotActive => "RetWidgetFeatherNotActive", + Retcode::RetWidgetFeatherGadgetTooFarAway => { + "RetWidgetFeatherGadgetTooFarAway" + } + Retcode::RetWidgetCaptureAnimalNotExist => "RetWidgetCaptureAnimalNotExist", + Retcode::RetWidgetCaptureAnimalDropBagLimit => { + "RetWidgetCaptureAnimalDropBagLimit" + } + Retcode::RetWidgetCaptureAnimalCanNotCapture => { + "RetWidgetCaptureAnimalCanNotCapture" + } + Retcode::RetWidgetSkyCrystalAllCollected => "RetWidgetSkyCrystalAllCollected", + Retcode::RetWidgetSkyCrystalHintAlreadyExist => { + "RetWidgetSkyCrystalHintAlreadyExist" + } + Retcode::RetWidgetSkyCrystalNotFound => "RetWidgetSkyCrystalNotFound", + Retcode::RetWidgetSkyCrystalNoHintToClear => { + "RetWidgetSkyCrystalNoHintToClear" + } + Retcode::RetWidgetLightStoneEnergyNotEnough => { + "RetWidgetLightStoneEnergyNotEnough" + } + Retcode::RetWidgetToyCrystalEnergyNotEnough => { + "RetWidgetToyCrystalEnergyNotEnough" + } + Retcode::RetWidgetLightStoneLevelNotEnough => { + "RetWidgetLightStoneLevelNotEnough" + } + Retcode::RetWidgetQuickSlotNotInWidgetPanel => { + "RetWidgetQuickSlotNotInWidgetPanel" + } + Retcode::RetRoleCombatNotRecord => "RetRoleCombatNotRecord", + Retcode::RetRoleCombatCoinExceedLimit => "RetRoleCombatCoinExceedLimit", + Retcode::RetRoleCombatCoinNotEnough => "RetRoleCombatCoinNotEnough", + Retcode::RetRoleCombatLevelNotMeet => "RetRoleCombatLevelNotMeet", + Retcode::RetRoleCombatTowerNotMeet => "RetRoleCombatTowerNotMeet", + Retcode::RetRoleCombatScheduleNotMeet => "RetRoleCombatScheduleNotMeet", + Retcode::RetRoleCombatReqFriendRentAvatarFrequently => { + "RetRoleCombatReqFriendRentAvatarFrequently" + } + Retcode::RetRoleCombatReqTrialAvatarFrequently => { + "RetRoleCombatReqTrialAvatarFrequently" + } + Retcode::RetRoleCombatRefreshCountNotEnough => { + "RetRoleCombatRefreshCountNotEnough" + } + Retcode::RetRoleCombatQuestNotMeet => "RetRoleCombatQuestNotMeet", + Retcode::RetInRoleCombatDungeon => "RetInRoleCombatDungeon", + Retcode::RetInRoleCombatDungeonByUseItem => "RetInRoleCombatDungeonByUseItem", + Retcode::RetRoleCombatRentAvatarNotFound => "RetRoleCombatRentAvatarNotFound", + Retcode::RetRoleCombatCardHasBlocked => "RetRoleCombatCardHasBlocked", + Retcode::RetCharMasterKeyExceedLimit => "RetCharMasterKeyExceedLimit", + Retcode::RetCharMasterKeyNotEnough => "RetCharMasterKeyNotEnough", + Retcode::RetCharMasterPreviewInCd => "RetCharMasterPreviewInCd", + Retcode::RetUidNotExist => "RetUidNotExist", + Retcode::RetParseBinError => "RetParseBinError", + Retcode::RetAccountInfoNotExist => "RetAccountInfoNotExist", + Retcode::RetOrderInfoNotExist => "RetOrderInfoNotExist", + Retcode::RetSnapshotIndexError => "RetSnapshotIndexError", + Retcode::RetMailHasBeenSent => "RetMailHasBeenSent", + Retcode::RetProductNotExist => "RetProductNotExist", + Retcode::RetUnfinishOrder => "RetUnfinishOrder", + Retcode::RetIdNotExist => "RetIdNotExist", + Retcode::RetOrderTradeEarly => "RetOrderTradeEarly", + Retcode::RetOrderFinished => "RetOrderFinished", + Retcode::RetGameserverVersionWrong => "RetGameserverVersionWrong", + Retcode::RetOfflineOpFullLength => "RetOfflineOpFullLength", + Retcode::RetConcertProductObtainLimit => "RetConcertProductObtainLimit", + Retcode::RetConcertProductTicketDuplicated => { + "RetConcertProductTicketDuplicated" + } + Retcode::RetConcertProductTicketEmpty => "RetConcertProductTicketEmpty", + Retcode::RetRedisModified => "RetRedisModified", + Retcode::RetRedisUidNotExist => "RetRedisUidNotExist", + Retcode::RetPathfindingDataNotExist => "RetPathfindingDataNotExist", + Retcode::RetPathfindingDestinationNotExist => { + "RetPathfindingDestinationNotExist" + } + Retcode::RetPathfindingErrorScene => "RetPathfindingErrorScene", + Retcode::RetPathfindingSceneDataLoading => "RetPathfindingSceneDataLoading", + Retcode::RetTothemoonErrorScene => "RetTothemoonErrorScene", + Retcode::RetTothemoonPlayerNotExist => "RetTothemoonPlayerNotExist", + Retcode::RetFriendCountExceeded => "RetFriendCountExceeded", + Retcode::RetPlayerNotExist => "RetPlayerNotExist", + Retcode::RetAlreadySentAddRequest => "RetAlreadySentAddRequest", + Retcode::RetAskFriendListFull => "RetAskFriendListFull", + Retcode::RetPlayerAlreadyIsFriend => "RetPlayerAlreadyIsFriend", + Retcode::RetPlayerNotAskFriend => "RetPlayerNotAskFriend", + Retcode::RetTargetFriendCountExceed => "RetTargetFriendCountExceed", + Retcode::RetNotFriend => "RetNotFriend", + Retcode::RetBirthdayCannotBeSetTwice => "RetBirthdayCannotBeSetTwice", + Retcode::RetCannotAddSelfFriend => "RetCannotAddSelfFriend", + Retcode::RetSignatureIllegal => "RetSignatureIllegal", + Retcode::RetPsPlayerCannotAddFriends => "RetPsPlayerCannotAddFriends", + Retcode::RetPsPlayerCannotRemoveFriends => "RetPsPlayerCannotRemoveFriends", + Retcode::RetNameCardNotUnlocked => "RetNameCardNotUnlocked", + Retcode::RetAlreadyInBlacklist => "RetAlreadyInBlacklist", + Retcode::RetPsPaleyrsCannotAddBlacklist => "RetPsPaleyrsCannotAddBlacklist", + Retcode::RetPlayerBlacklistFull => "RetPlayerBlacklistFull", + Retcode::RetPlayerNotInBlacklist => "RetPlayerNotInBlacklist", + Retcode::RetBlacklistPlayerCannotAddFriend => { + "RetBlacklistPlayerCannotAddFriend" + } + Retcode::RetInTargetBlacklist => "RetInTargetBlacklist", + Retcode::RetCannotAddTargetFriend => "RetCannotAddTargetFriend", + Retcode::RetBirthdayFormatError => "RetBirthdayFormatError", + Retcode::RetOnlineIdNotExists => "RetOnlineIdNotExists", + Retcode::RetFirstShareRewardHasTaken => "RetFirstShareRewardHasTaken", + Retcode::RetPsPlayerCannotRemoveBlacklist => { + "RetPsPlayerCannotRemoveBlacklist" + } + Retcode::RetReportCd => "RetReportCd", + Retcode::RetReportContentIllegal => "RetReportContentIllegal", + Retcode::RetRemarkWordIllegal => "RetRemarkWordIllegal", + Retcode::RetRemarkTooLong => "RetRemarkTooLong", + Retcode::RetRemarkUtf8Error => "RetRemarkUtf8Error", + Retcode::RetRemarkIsEmpty => "RetRemarkIsEmpty", + Retcode::RetAskAddFriendCd => "RetAskAddFriendCd", + Retcode::RetShowAvatarInfoNotExist => "RetShowAvatarInfoNotExist", + Retcode::RetPlayerNotShowAvatar => "RetPlayerNotShowAvatar", + Retcode::RetSocialUpdateShowListRepeatId => "RetSocialUpdateShowListRepeatId", + Retcode::RetPsnIdNotFound => "RetPsnIdNotFound", + Retcode::RetEmojiCollectionNumExceedLimit => { + "RetEmojiCollectionNumExceedLimit" + } + Retcode::RetRemarkEmpty => "RetRemarkEmpty", + Retcode::RetInTargetPsnBlacklist => "RetInTargetPsnBlacklist", + Retcode::RetSignatureNotChanged => "RetSignatureNotChanged", + Retcode::RetSignatureMonthlyLimit => "RetSignatureMonthlyLimit", + Retcode::RetReqFriendAvatarFrequently => "RetReqFriendAvatarFrequently", + Retcode::RetPsnGetPlayerSocialDetailFail => "RetPsnGetPlayerSocialDetailFail", + Retcode::RetProfilePictureNotUnlocked => "RetProfilePictureNotUnlocked", + Retcode::RetOfferingNotOpen => "RetOfferingNotOpen", + Retcode::RetOfferingLevelLimit => "RetOfferingLevelLimit", + Retcode::RetOfferingLevelNotReach => "RetOfferingLevelNotReach", + Retcode::RetOfferingLevelHasTaken => "RetOfferingLevelHasTaken", + Retcode::RetOfferingPariSearchNotOpen => "RetOfferingPariSearchNotOpen", + Retcode::RetOfferingPariNotFinish => "RetOfferingPariNotFinish", + Retcode::RetOfferingPariFinishRewardHasTaken => { + "RetOfferingPariFinishRewardHasTaken" + } + Retcode::RetOfferingPariSearchAllFinish => "RetOfferingPariSearchAllFinish", + Retcode::RetOfferingPariNoFinishReward => "RetOfferingPariNoFinishReward", + Retcode::RetCityReputationNotOpen => "RetCityReputationNotOpen", + Retcode::RetCityReputationLevelTaken => "RetCityReputationLevelTaken", + Retcode::RetCityReputationLevelNotReach => "RetCityReputationLevelNotReach", + Retcode::RetCityReputationParentQuestTaken => { + "RetCityReputationParentQuestTaken" + } + Retcode::RetCityReputationParentQuestUnfinish => { + "RetCityReputationParentQuestUnfinish" + } + Retcode::RetCityReputationAcceptRequest => "RetCityReputationAcceptRequest", + Retcode::RetCityReputationNotAcceptRequest => { + "RetCityReputationNotAcceptRequest" + } + Retcode::RetCityReputationAcceptRequestLimit => { + "RetCityReputationAcceptRequestLimit" + } + Retcode::RetCityReputationEntranceNotOpen => { + "RetCityReputationEntranceNotOpen" + } + Retcode::RetCityReputationTakenRequestReward => { + "RetCityReputationTakenRequestReward" + } + Retcode::RetCityReputationSwitchClose => "RetCityReputationSwitchClose", + Retcode::RetCityReputationEntraceSwitchClose => { + "RetCityReputationEntraceSwitchClose" + } + Retcode::RetCityReputationTakenExploreReward => { + "RetCityReputationTakenExploreReward" + } + Retcode::RetCityReputationExploreNotReach => { + "RetCityReputationExploreNotReach" + } + Retcode::RetTribalReputationNotOpen => "RetTribalReputationNotOpen", + Retcode::RetTribalReputationLevelTaken => "RetTribalReputationLevelTaken", + Retcode::RetTribalReputationLevelNotReach => { + "RetTribalReputationLevelNotReach" + } + Retcode::RetTribalReputationTakenExploreReward => { + "RetTribalReputationTakenExploreReward" + } + Retcode::RetTribalReputationExploreNotReach => { + "RetTribalReputationExploreNotReach" + } + Retcode::RetTribalReputationParentQuestTaken => { + "RetTribalReputationParentQuestTaken" + } + Retcode::RetTribalReputationParentQuestUnfinish => { + "RetTribalReputationParentQuestUnfinish" + } + Retcode::RetCityReputationNotOpenTribal => "RetCityReputationNotOpenTribal", + Retcode::RetCityReputationNoTheDonation => "RetCityReputationNoTheDonation", + Retcode::RetCityReputationDonationFinished => { + "RetCityReputationDonationFinished" + } + Retcode::RetCityReputationDonationLimit => "RetCityReputationDonationLimit", + Retcode::RetCityReputationTotalRewardTaken => { + "RetCityReputationTotalRewardTaken" + } + Retcode::RetCityReputationTotalRewardNotReach => { + "RetCityReputationTotalRewardNotReach" + } + Retcode::RetMechanicusNotOpen => "RetMechanicusNotOpen", + Retcode::RetMechanicusGearUnlock => "RetMechanicusGearUnlock", + Retcode::RetMechanicusGearLock => "RetMechanicusGearLock", + Retcode::RetMechanicusGearLevelLimit => "RetMechanicusGearLevelLimit", + Retcode::RetMechanicusCoinNotEnough => "RetMechanicusCoinNotEnough", + Retcode::RetMechanicusNoSequence => "RetMechanicusNoSequence", + Retcode::RetMechanicusSequenceLimitLevel => "RetMechanicusSequenceLimitLevel", + Retcode::RetMechanicusSequenceLimitOpen => "RetMechanicusSequenceLimitOpen", + Retcode::RetMechanicusDifficultNotSupport => { + "RetMechanicusDifficultNotSupport" + } + Retcode::RetMechanicusTicketNotEnough => "RetMechanicusTicketNotEnough", + Retcode::RetMechanicusTeachNotFinish => "RetMechanicusTeachNotFinish", + Retcode::RetMechanicusTeachFinished => "RetMechanicusTeachFinished", + Retcode::RetMechanicusPrevDifficultLevelBlock => { + "RetMechanicusPrevDifficultLevelBlock" + } + Retcode::RetMechanicusPlayerLimit => "RetMechanicusPlayerLimit", + Retcode::RetMechanicusPunishTime => "RetMechanicusPunishTime", + Retcode::RetMechanicusSwitchClose => "RetMechanicusSwitchClose", + Retcode::RetMechanicusBattleNotInDungeon => "RetMechanicusBattleNotInDungeon", + Retcode::RetMechanicusBattlePlayNotFound => "RetMechanicusBattlePlayNotFound", + Retcode::RetMechanicusBattleDuplicatePickCard => { + "RetMechanicusBattleDuplicatePickCard" + } + Retcode::RetMechanicusBattlePlayerNotInPlay => { + "RetMechanicusBattlePlayerNotInPlay" + } + Retcode::RetMechanicusBattleCardNotAvailable => { + "RetMechanicusBattleCardNotAvailable" + } + Retcode::RetMechanicusBattleNotInCardStage => { + "RetMechanicusBattleNotInCardStage" + } + Retcode::RetMechanicusBattleCardIsWaiting => { + "RetMechanicusBattleCardIsWaiting" + } + Retcode::RetMechanicusBattleCardAllConfirmed => { + "RetMechanicusBattleCardAllConfirmed" + } + Retcode::RetMechanicusBattleCardAlreadyConfirmed => { + "RetMechanicusBattleCardAlreadyConfirmed" + } + Retcode::RetMechanicusBattleCardConfirmedByOther => { + "RetMechanicusBattleCardConfirmedByOther" + } + Retcode::RetMechanicusBattleCardNotEnoughPoints => { + "RetMechanicusBattleCardNotEnoughPoints" + } + Retcode::RetMechanicusBattleCardAlreadySkipped => { + "RetMechanicusBattleCardAlreadySkipped" + } + Retcode::RetLegendaryKeyNotEnough => "RetLegendaryKeyNotEnough", + Retcode::RetLegendaryKeyExceedLimit => "RetLegendaryKeyExceedLimit", + Retcode::RetDailyTaskNotEnoughToRedeem => "RetDailyTaskNotEnoughToRedeem", + Retcode::RetPersonalLineOpenStateOff => "RetPersonalLineOpenStateOff", + Retcode::RetPersonalLineLevelNotEnough => "RetPersonalLineLevelNotEnough", + Retcode::RetPersonalLineNotOpen => "RetPersonalLineNotOpen", + Retcode::RetPersonalLinePreQuestNotFinish => { + "RetPersonalLinePreQuestNotFinish" + } + Retcode::RetHuntingAlreadyFinishOfferLimit => { + "RetHuntingAlreadyFinishOfferLimit" + } + Retcode::RetHuntingHasUnfinishedOffer => "RetHuntingHasUnfinishedOffer", + Retcode::RetHuntingFailedOfferNotCdReady => "RetHuntingFailedOfferNotCdReady", + Retcode::RetHuntingNotTakeOffer => "RetHuntingNotTakeOffer", + Retcode::RetHuntingCannotTakeTwice => "RetHuntingCannotTakeTwice", + Retcode::RetRpivateChatInvalidContentType => { + "RetRpivateChatInvalidContentType" + } + Retcode::RetPrivateChatTargetIsNotFriend => "RetPrivateChatTargetIsNotFriend", + Retcode::RetPrivateChatContentNotSupported => { + "RetPrivateChatContentNotSupported" + } + Retcode::RetPrivateChatContentTooLong => "RetPrivateChatContentTooLong", + Retcode::RetPrivateChatPullTooFast => "RetPrivateChatPullTooFast", + Retcode::RetPrivateChatRepeatRead => "RetPrivateChatRepeatRead", + Retcode::RetPrivateChatReadNotFriend => "RetPrivateChatReadNotFriend", + Retcode::RetReunionFinished => "RetReunionFinished", + Retcode::RetReunionNotActivated => "RetReunionNotActivated", + Retcode::RetReunionAlreadyTakeFirstReward => { + "RetReunionAlreadyTakeFirstReward" + } + Retcode::RetReunionSignInRewarded => "RetReunionSignInRewarded", + Retcode::RetReunionWatcherRewarded => "RetReunionWatcherRewarded", + Retcode::RetReunionWatcherNotFinish => "RetReunionWatcherNotFinish", + Retcode::RetReunionMissionRewarded => "RetReunionMissionRewarded", + Retcode::RetReunionMissionNotFinish => "RetReunionMissionNotFinish", + Retcode::RetReunionWatcherRewardNotUnlocked => { + "RetReunionWatcherRewardNotUnlocked" + } + Retcode::RetBlessingContentClosed => "RetBlessingContentClosed", + Retcode::RetBlessingNotActive => "RetBlessingNotActive", + Retcode::RetBlessingNotTodayEntity => "RetBlessingNotTodayEntity", + Retcode::RetBlessingEntityExceedScanNumLimit => { + "RetBlessingEntityExceedScanNumLimit" + } + Retcode::RetBlessingDailyScanNumExceedLimit => { + "RetBlessingDailyScanNumExceedLimit" + } + Retcode::RetBlessingRedeemRewardNumExceedLimit => { + "RetBlessingRedeemRewardNumExceedLimit" + } + Retcode::RetBlessingRedeemPicNumNotEnough => { + "RetBlessingRedeemPicNumNotEnough" + } + Retcode::RetBlessingPicNotEnough => "RetBlessingPicNotEnough", + Retcode::RetBlessingPicHasReceived => "RetBlessingPicHasReceived", + Retcode::RetBlessingTargetRecvNumExceed => "RetBlessingTargetRecvNumExceed", + Retcode::RetFleurFairCreditExceedLimit => "RetFleurFairCreditExceedLimit", + Retcode::RetFleurFairCreditNotEnough => "RetFleurFairCreditNotEnough", + Retcode::RetFleurFairTokenExceedLimit => "RetFleurFairTokenExceedLimit", + Retcode::RetFleurFairTokenNotEnough => "RetFleurFairTokenNotEnough", + Retcode::RetFleurFairMinigameNotOpen => "RetFleurFairMinigameNotOpen", + Retcode::RetFleurFairMusicGameDifficultyNotUnlock => { + "RetFleurFairMusicGameDifficultyNotUnlock" + } + Retcode::RetFleurFairDungeonLocked => "RetFleurFairDungeonLocked", + Retcode::RetFleurFairDungeonPunishTime => "RetFleurFairDungeonPunishTime", + Retcode::RetFleurFairOnlyOwnerCanRestartMinigam => { + "RetFleurFairOnlyOwnerCanRestartMinigam" + } + Retcode::RetWaterSpiritCoinExceedLimit => "RetWaterSpiritCoinExceedLimit", + Retcode::RetWaterSpiritCoinNotEnough => "RetWaterSpiritCoinNotEnough", + Retcode::RetRegionSearchNoSearch => "RetRegionSearchNoSearch", + Retcode::RetRegionSearchStateError => "RetRegionSearchStateError", + Retcode::RetBlessingGiveNumInvalid => "RetBlessingGiveNumInvalid", + Retcode::RetBlessingNoGroupOrOwner => "RetBlessingNoGroupOrOwner", + Retcode::RetChannellerSlabLoopDungeonStageNotOpen => { + "RetChannellerSlabLoopDungeonStageNotOpen" + } + Retcode::RetChannellerSlabLoopDungeonNotOpen => { + "RetChannellerSlabLoopDungeonNotOpen" + } + Retcode::RetChannellerSlabLoopDungeonFirstPassRewardHasTaken => { + "RetChannellerSlabLoopDungeonFirstPassRewardHasTaken" + } + Retcode::RetChannellerSlabLoopDungeonScoreRewardHasTaken => { + "RetChannellerSlabLoopDungeonScoreRewardHasTaken" + } + Retcode::RetChannellerSlabInvalidOneOffDungeon => { + "RetChannellerSlabInvalidOneOffDungeon" + } + Retcode::RetChannellerSlabOneOffDungeonDone => { + "RetChannellerSlabOneOffDungeonDone" + } + Retcode::RetChannellerSlabOneOffDungeonStageNotOpen => { + "RetChannellerSlabOneOffDungeonStageNotOpen" + } + Retcode::RetChannellerSlabTokenExceedLimit => { + "RetChannellerSlabTokenExceedLimit" + } + Retcode::RetChannellerSlabTokenNotEnough => "RetChannellerSlabTokenNotEnough", + Retcode::RetChannellerSlabPlayerNotInOneOffDungeon => { + "RetChannellerSlabPlayerNotInOneOffDungeon" + } + Retcode::RetMistTrialSelectCharacterNumNotEnough => { + "RetMistTrialSelectCharacterNumNotEnough" + } + Retcode::RetMistTrialAlreadyUsingTrialAvatar => { + "RetMistTrialAlreadyUsingTrialAvatar" + } + Retcode::RetHideAndSeekPlayNotOpen => "RetHideAndSeekPlayNotOpen", + Retcode::RetHideAndSeekPlayMapNotOpen => "RetHideAndSeekPlayMapNotOpen", + Retcode::RetHideAndSeekPlayMapNotChosen => "RetHideAndSeekPlayMapNotChosen", + Retcode::RetSummerTimeDraftWoordExceedLimit => { + "RetSummerTimeDraftWoordExceedLimit" + } + Retcode::RetSummerTimeDraftWoordNotEnough => { + "RetSummerTimeDraftWoordNotEnough" + } + Retcode::RetSummerTimeMiniHarpastumExceedLimit => { + "RetSummerTimeMiniHarpastumExceedLimit" + } + Retcode::RetSummerTimeMiniHarpastumnotEnough => { + "RetSummerTimeMiniHarpastumnotEnough" + } + Retcode::RetBounceConjuringCoinExceedLimit => { + "RetBounceConjuringCoinExceedLimit" + } + Retcode::RetBounceConjuringCoinNotEnough => "RetBounceConjuringCoinNotEnough", + Retcode::RetChessTeachMapFinished => "RetChessTeachMapFinished", + Retcode::RetChessTeachMapUnfinished => "RetChessTeachMapUnfinished", + Retcode::RetChessCoinExceedLimit => "RetChessCoinExceedLimit", + Retcode::RetChessCoinNotEnough => "RetChessCoinNotEnough", + Retcode::RetChessInPunishTime => "RetChessInPunishTime", + Retcode::RetChessPrevMapUnfinished => "RetChessPrevMapUnfinished", + Retcode::RetChessMapLocked => "RetChessMapLocked", + Retcode::RetBlitzRushNotOpen => "RetBlitzRushNotOpen", + Retcode::RetBlitzRushDungeonNotOpen => "RetBlitzRushDungeonNotOpen", + Retcode::RetBlitzRushCoinAExceedLimit => "RetBlitzRushCoinAExceedLimit", + Retcode::RetBlitzRushCoinBExceedLimit => "RetBlitzRushCoinBExceedLimit", + Retcode::RetBlitzRushCoinANotEnough => "RetBlitzRushCoinANotEnough", + Retcode::RetBlitzRushCoinBNotEnough => "RetBlitzRushCoinBNotEnough", + Retcode::RetMiracleRingValueNotEnough => "RetMiracleRingValueNotEnough", + Retcode::RetMiracleRingCd => "RetMiracleRingCd", + Retcode::RetMiracleRingRewardNotTaken => "RetMiracleRingRewardNotTaken", + Retcode::RetMiracleRingNotDeliver => "RetMiracleRingNotDeliver", + Retcode::RetMiracleRingDeliverExceed => "RetMiracleRingDeliverExceed", + Retcode::RetMiracleRingHasCreated => "RetMiracleRingHasCreated", + Retcode::RetMiracleRingHasNotCreated => "RetMiracleRingHasNotCreated", + Retcode::RetMiracleRingNotYours => "RetMiracleRingNotYours", + Retcode::RetGadgetFoundationUnauthorized => "RetGadgetFoundationUnauthorized", + Retcode::RetGadgetFoundationSceneNotFound => { + "RetGadgetFoundationSceneNotFound" + } + Retcode::RetGadgetFoundationNotInInitState => { + "RetGadgetFoundationNotInInitState" + } + Retcode::RetGadgetFoundationBildingPointNotEnought => { + "RetGadgetFoundationBildingPointNotEnought" + } + Retcode::RetGadgetFoundationNotInBuiltState => { + "RetGadgetFoundationNotInBuiltState" + } + Retcode::RetGadgetFoundationOpNotSupported => { + "RetGadgetFoundationOpNotSupported" + } + Retcode::RetGadgetFoundationReqPlayerNotInScene => { + "RetGadgetFoundationReqPlayerNotInScene" + } + Retcode::RetGadgetFoundationLockedByAnotherPlayer => { + "RetGadgetFoundationLockedByAnotherPlayer" + } + Retcode::RetGadgetFoundationNotLocked => "RetGadgetFoundationNotLocked", + Retcode::RetGadgetFoundationDuplicateLock => { + "RetGadgetFoundationDuplicateLock" + } + Retcode::RetGadgetFoundationPlayerNotFound => { + "RetGadgetFoundationPlayerNotFound" + } + Retcode::RetGadgetFoundationPlayerGearNotFound => { + "RetGadgetFoundationPlayerGearNotFound" + } + Retcode::RetGadgetFoundationRotaionDisabled => { + "RetGadgetFoundationRotaionDisabled" + } + Retcode::RetGadgetFoundationReachDungeonGearLimit => { + "RetGadgetFoundationReachDungeonGearLimit" + } + Retcode::RetGadgetFoundationReachSingleGearLimit => { + "RetGadgetFoundationReachSingleGearLimit" + } + Retcode::RetGadgetFoundationRotationOnGoing => { + "RetGadgetFoundationRotationOnGoing" + } + Retcode::RetOpActivityBonusNotFound => "RetOpActivityBonusNotFound", + Retcode::RetOpActivityNotOpen => "RetOpActivityNotOpen", + Retcode::RetMultistagePlayPlayerNotInScene => { + "RetMultistagePlayPlayerNotInScene" + } + Retcode::RetMultistagePlayNotFound => "RetMultistagePlayNotFound", + Retcode::RetMultistagePlayInOtherStage => "RetMultistagePlayInOtherStage", + Retcode::RetCoopChapterNotOpen => "RetCoopChapterNotOpen", + Retcode::RetCoopCondNotMeet => "RetCoopCondNotMeet", + Retcode::RetCoopPointLocked => "RetCoopPointLocked", + Retcode::RetCoopNotHaveProgress => "RetCoopNotHaveProgress", + Retcode::RetCoopRewardHasTaken => "RetCoopRewardHasTaken", + Retcode::RetDraftHasActiveDraft => "RetDraftHasActiveDraft", + Retcode::RetDraftNotInMyWorld => "RetDraftNotInMyWorld", + Retcode::RetDraftNotSupportMp => "RetDraftNotSupportMp", + Retcode::RetDraftPlayerNotEnough => "RetDraftPlayerNotEnough", + Retcode::RetDraftIncorrectScene => "RetDraftIncorrectScene", + Retcode::RetDraftOtherPlayerEntering => "RetDraftOtherPlayerEntering", + Retcode::RetDraftGuestIsTransferring => "RetDraftGuestIsTransferring", + Retcode::RetDraftGuestNotInDraftScene => "RetDraftGuestNotInDraftScene", + Retcode::RetDraftInviteOverTime => "RetDraftInviteOverTime", + Retcode::RetDraftTwiceConfirmOverTimer => "RetDraftTwiceConfirmOverTimer", + Retcode::RetDraftGuestNotInWorldScene => "RetDraftGuestNotInWorldScene", + Retcode::RetHomeUnkown => "RetHomeUnkown", + Retcode::RetHomeInvalidClientParam => "RetHomeInvalidClientParam", + Retcode::RetHomeTargePlayerHasNoHome => "RetHomeTargePlayerHasNoHome", + Retcode::RetHomeNotOnline => "RetHomeNotOnline", + Retcode::RetHomePlayerFull => "RetHomePlayerFull", + Retcode::RetHomeBlocked => "RetHomeBlocked", + Retcode::RetHomeAlreadyInTargetHomeWorld => "RetHomeAlreadyInTargetHomeWorld", + Retcode::RetHomeInEditMode => "RetHomeInEditMode", + Retcode::RetHomeNotInEditMode => "RetHomeNotInEditMode", + Retcode::RetHomeHasGuest => "RetHomeHasGuest", + Retcode::RetHomeCantEnterByInEditMode => "RetHomeCantEnterByInEditMode", + Retcode::RetHomeClientParamInvalid => "RetHomeClientParamInvalid", + Retcode::RetHomePlayerNotInHomeWorld => "RetHomePlayerNotInHomeWorld", + Retcode::RetHomePlayerNotInSelfHomeWorld => "RetHomePlayerNotInSelfHomeWorld", + Retcode::RetHomeNotFoundInMem => "RetHomeNotFoundInMem", + Retcode::RetHomePlayerInHomeRoomScene => "RetHomePlayerInHomeRoomScene", + Retcode::RetHomeHomeRefuseGuestEnter => "RetHomeHomeRefuseGuestEnter", + Retcode::RetHomeOwnerRefuseToEnterHome => "RetHomeOwnerRefuseToEnterHome", + Retcode::RetHomeOwnerOffline => "RetHomeOwnerOffline", + Retcode::RetHomeFurnitureExceedLimit => "RetHomeFurnitureExceedLimit", + Retcode::RetHomeFurnitureCountNotEnough => "RetHomeFurnitureCountNotEnough", + Retcode::RetHomeInTryEnterProcess => "RetHomeInTryEnterProcess", + Retcode::RetHomeAlreadyInTargetScene => "RetHomeAlreadyInTargetScene", + Retcode::RetHomeCoinExceedLimit => "RetHomeCoinExceedLimit", + Retcode::RetHomeCoinNotEnough => "RetHomeCoinNotEnough", + Retcode::RetHomeModuleNotUnlocked => "RetHomeModuleNotUnlocked", + Retcode::RetHomeCurModuleClosed => "RetHomeCurModuleClosed", + Retcode::RetHomeFurnitureSuiteNotUnlocked => { + "RetHomeFurnitureSuiteNotUnlocked" + } + Retcode::RetHomeInMatch => "RetHomeInMatch", + Retcode::RetHomeInCombat => "RetHomeInCombat", + Retcode::RetHomeEditModeCd => "RetHomeEditModeCd", + Retcode::RetHomeUpdateFurnitureCd => "RetHomeUpdateFurnitureCd", + Retcode::RetHomeBlockFurnitureLimit => "RetHomeBlockFurnitureLimit", + Retcode::RetHomeNotSupport => "RetHomeNotSupport", + Retcode::RetHomeStateNotOpen => "RetHomeStateNotOpen", + Retcode::RetHomeTargetStateNotOpen => "RetHomeTargetStateNotOpen", + Retcode::RetHomeApplyEnterOtherHomeFail => "RetHomeApplyEnterOtherHomeFail", + Retcode::RetHomeSaveNoMainHouse => "RetHomeSaveNoMainHouse", + Retcode::RetHomeInDungeon => "RetHomeInDungeon", + Retcode::RetHomeAnyGalleryStarted => "RetHomeAnyGalleryStarted", + Retcode::RetHomeQuestBlockHome => "RetHomeQuestBlockHome", + Retcode::RetHomeWaitingPriorCheck => "RetHomeWaitingPriorCheck", + Retcode::RetHomePersistentCheckFail => "RetHomePersistentCheckFail", + Retcode::RetHomeFindOnlineHomeFail => "RetHomeFindOnlineHomeFail", + Retcode::RetHomeJoinSceneFail => "RetHomeJoinSceneFail", + Retcode::RetHomeMaxPlayer => "RetHomeMaxPlayer", + Retcode::RetHomeInTransfer => "RetHomeInTransfer", + Retcode::RetHomeAnyHomeGalleryStarted => "RetHomeAnyHomeGalleryStarted", + Retcode::RetHomeCanNotEnterInAudit => "RetHomeCanNotEnterInAudit", + Retcode::RetFurnitureMakeIndexError => "RetFurnitureMakeIndexError", + Retcode::RetFurnitureMakeLocked => "RetFurnitureMakeLocked", + Retcode::RetFurnitureMakeConfigError => "RetFurnitureMakeConfigError", + Retcode::RetFurnitureMakeSlotFull => "RetFurnitureMakeSlotFull", + Retcode::RetFurnitureMakeAddFurnitureFail => { + "RetFurnitureMakeAddFurnitureFail" + } + Retcode::RetFurnitureMakeUnfinish => "RetFurnitureMakeUnfinish", + Retcode::RetFurnitureMakeIsFinish => "RetFurnitureMakeIsFinish", + Retcode::RetFurnitureMakeNotInCorrectHome => { + "RetFurnitureMakeNotInCorrectHome" + } + Retcode::RetFurnitureMakeNoCount => "RetFurnitureMakeNoCount", + Retcode::RetFurnitureMakeAccelerateLimit => "RetFurnitureMakeAccelerateLimit", + Retcode::RetFurnitureMakeNoMakeData => "RetFurnitureMakeNoMakeData", + Retcode::RetHomeLimitedShopClose => "RetHomeLimitedShopClose", + Retcode::RetHomeAvatarNotShow => "RetHomeAvatarNotShow", + Retcode::RetHomeEventCondNotSatisfied => "RetHomeEventCondNotSatisfied", + Retcode::RetHomeInvalidArrangeAnimalParam => { + "RetHomeInvalidArrangeAnimalParam" + } + Retcode::RetHomeInvalidArrangeNpcParam => "RetHomeInvalidArrangeNpcParam", + Retcode::RetHomeInvalidArrangeSuiteParam => "RetHomeInvalidArrangeSuiteParam", + Retcode::RetHomeInvalidArrangeMainHouseParam => { + "RetHomeInvalidArrangeMainHouseParam" + } + Retcode::RetHomeAvatarStateNotOpen => "RetHomeAvatarStateNotOpen", + Retcode::RetHomePlantFieldNotEmpty => "RetHomePlantFieldNotEmpty", + Retcode::RetHomePlantFieldEmpty => "RetHomePlantFieldEmpty", + Retcode::RetHomePlantFieldTypeError => "RetHomePlantFieldTypeError", + Retcode::RetHomePlantTimeNotEnough => "RetHomePlantTimeNotEnough", + Retcode::RetHomePlantSubFieldNumNotEnough => { + "RetHomePlantSubFieldNumNotEnough" + } + Retcode::RetHomePlantFieldParamError => "RetHomePlantFieldParamError", + Retcode::RetHomeFurnitureGuidError => "RetHomeFurnitureGuidError", + Retcode::RetHomeFurnitureArrangeLimit => "RetHomeFurnitureArrangeLimit", + Retcode::RetHomeFishFarmingLimit => "RetHomeFishFarmingLimit", + Retcode::RetHomeFishCountNotEnough => "RetHomeFishCountNotEnough", + Retcode::RetHomeFurnitureCostLimit => "RetHomeFurnitureCostLimit", + Retcode::RetHomeCustomFurnitureInvalid => "RetHomeCustomFurnitureInvalid", + Retcode::RetHomeInvalidArrangeGroupParam => "RetHomeInvalidArrangeGroupParam", + Retcode::RetHomeFurnitureArrangeGroupLimit => { + "RetHomeFurnitureArrangeGroupLimit" + } + Retcode::RetHomePictureFrameCoopCgGenderError => { + "RetHomePictureFrameCoopCgGenderError" + } + Retcode::RetHomePictureFrameCoopCgNotUnlock => { + "RetHomePictureFrameCoopCgNotUnlock" + } + Retcode::RetHomeFurnitureCannotArrange => "RetHomeFurnitureCannotArrange", + Retcode::RetHomeFurnitureInDuplicateSuite => { + "RetHomeFurnitureInDuplicateSuite" + } + Retcode::RetHomeFurnitureCustomSuiteTooSmall => { + "RetHomeFurnitureCustomSuiteTooSmall" + } + Retcode::RetHomeFurnitureCustomSuiteTooBig => { + "RetHomeFurnitureCustomSuiteTooBig" + } + Retcode::RetHomeFurnitureSuiteExceedLimit => { + "RetHomeFurnitureSuiteExceedLimit" + } + Retcode::RetHomeFurnitureCustomSuiteExceedLimit => { + "RetHomeFurnitureCustomSuiteExceedLimit" + } + Retcode::RetHomeFurnitureCustomSuiteInvalidSurfaceType => { + "RetHomeFurnitureCustomSuiteInvalidSurfaceType" + } + Retcode::RetHomeBgmIdNotFound => "RetHomeBgmIdNotFound", + Retcode::RetHomeBgmNotUnlocked => "RetHomeBgmNotUnlocked", + Retcode::RetHomeBgmFurnitureNotFound => "RetHomeBgmFurnitureNotFound", + Retcode::RetHomeBgmNotSupportByCurScene => "RetHomeBgmNotSupportByCurScene", + Retcode::RetHomeLimitedShopGoodsDisable => "RetHomeLimitedShopGoodsDisable", + Retcode::RetHomeWorldWoodMaterialEmpty => "RetHomeWorldWoodMaterialEmpty", + Retcode::RetHomeWorldWoodMaterialNotFound => { + "RetHomeWorldWoodMaterialNotFound" + } + Retcode::RetHomeWorldWoodMaterialCountInvalid => { + "RetHomeWorldWoodMaterialCountInvalid" + } + Retcode::RetHomeWorldWoodExchangeExceedLimit => { + "RetHomeWorldWoodExchangeExceedLimit" + } + Retcode::RetHomeBlueprintSearchSelf => "RetHomeBlueprintSearchSelf", + Retcode::RetHomeBlueprintShareCodeInvalid => { + "RetHomeBlueprintShareCodeInvalid" + } + Retcode::RetHomeBlueprintNotExist => "RetHomeBlueprintNotExist", + Retcode::RetHomeBlueprintSlotHasExistShareCode => { + "RetHomeBlueprintSlotHasExistShareCode" + } + Retcode::RetHomeBlueprintSlotNotExistShareCode => { + "RetHomeBlueprintSlotNotExistShareCode" + } + Retcode::RetHomeBlueprintCanNotCreateInAudit => { + "RetHomeBlueprintCanNotCreateInAudit" + } + Retcode::RetHomeBlockNotUnlocked => "RetHomeBlockNotUnlocked", + Retcode::RetHomeBlueprintCreateCd => "RetHomeBlueprintCreateCd", + Retcode::RetHomeBlueprintSetOptionCd => "RetHomeBlueprintSetOptionCd", + Retcode::RetHomeBlueprintNotAllowFriendCopy => { + "RetHomeBlueprintNotAllowFriendCopy" + } + Retcode::RetHomeFurniturePosUnderDieY => "RetHomeFurniturePosUnderDieY", + Retcode::RetHomeBlueprintGenShareCodeFail => { + "RetHomeBlueprintGenShareCodeFail" + } + Retcode::RetHomeBlueprintSearchCd => "RetHomeBlueprintSearchCd", + Retcode::RetHomeBlueprintPreviewCd => "RetHomeBlueprintPreviewCd", + Retcode::RetHomeBlueprintPreviewSceneNotMatch => { + "RetHomeBlueprintPreviewSceneNotMatch" + } + Retcode::RetHomeBlueprintSlotFull => "RetHomeBlueprintSlotFull", + Retcode::RetHomeBlueprintOwnerRejectCopy => "RetHomeBlueprintOwnerRejectCopy", + Retcode::RetHomeBlueprintSaveToSlotCd => "RetHomeBlueprintSaveToSlotCd", + Retcode::RetHomeBlueprintReplyTimeout => "RetHomeBlueprintReplyTimeout", + Retcode::RetSumoActivityStageNotOpen => "RetSumoActivityStageNotOpen", + Retcode::RetSumoActivitySwitchTeamInCd => "RetSumoActivitySwitchTeamInCd", + Retcode::RetSumoActivityTeamNumIncorrect => "RetSumoActivityTeamNumIncorrect", + Retcode::RetLunaRiteActivityAreaIdError => "RetLunaRiteActivityAreaIdError", + Retcode::RetLunaRiteActivityBattleNotFinish => { + "RetLunaRiteActivityBattleNotFinish" + } + Retcode::RetLunaRiteActivityAlreadySacrifice => { + "RetLunaRiteActivityAlreadySacrifice" + } + Retcode::RetLunaRiteActivityAlreadyTakeReward => { + "RetLunaRiteActivityAlreadyTakeReward" + } + Retcode::RetLunaRiteActivitySacrificeNotEnough => { + "RetLunaRiteActivitySacrificeNotEnough" + } + Retcode::RetLunaRiteActivitySearchingCondNotMeet => { + "RetLunaRiteActivitySearchingCondNotMeet" + } + Retcode::RetDigGadgetConfigIdNotMatch => "RetDigGadgetConfigIdNotMatch", + Retcode::RetDigFindNearestPosFail => "RetDigFindNearestPosFail", + Retcode::RetMusicGameLevelNotOpen => "RetMusicGameLevelNotOpen", + Retcode::RetMusicGameLevelNotUnlock => "RetMusicGameLevelNotUnlock", + Retcode::RetMusicGameLevelNotStarted => "RetMusicGameLevelNotStarted", + Retcode::RetMusicGameLevelConfigNotFound => "RetMusicGameLevelConfigNotFound", + Retcode::RetMusicGameLevelIdNotMatch => "RetMusicGameLevelIdNotMatch", + Retcode::RetRoguelikeCoinANotEnough => "RetRoguelikeCoinANotEnough", + Retcode::RetRoguelikeCoinBNotEnough => "RetRoguelikeCoinBNotEnough", + Retcode::RetRoguelikeCoinCNotEnough => "RetRoguelikeCoinCNotEnough", + Retcode::RetRoguelikeCoinAExceedLimit => "RetRoguelikeCoinAExceedLimit", + Retcode::RetRoguelikeCoinBExceedLimit => "RetRoguelikeCoinBExceedLimit", + Retcode::RetRoguelikeCoinCExceedLimit => "RetRoguelikeCoinCExceedLimit", + Retcode::RetRoguelikeRuneCountNotEnough => "RetRoguelikeRuneCountNotEnough", + Retcode::RetRoguelikeNotInRogueDungeon => "RetRoguelikeNotInRogueDungeon", + Retcode::RetRoguelikeCellNotFound => "RetRoguelikeCellNotFound", + Retcode::RetRoguelikeCellTypeIncorrect => "RetRoguelikeCellTypeIncorrect", + Retcode::RetRoguelikeCellAlreadyFinished => "RetRoguelikeCellAlreadyFinished", + Retcode::RetRoguelikeDungeonHaveUnfinishedProgress => { + "RetRoguelikeDungeonHaveUnfinishedProgress" + } + Retcode::RetRoguelikeStageNotFinished => "RetRoguelikeStageNotFinished", + Retcode::RetRoguelikeStageFirstPassRewardHasTaken => { + "RetRoguelikeStageFirstPassRewardHasTaken" + } + Retcode::RetRoguelikeActivityContentClosed => { + "RetRoguelikeActivityContentClosed" + } + Retcode::RetRoguelikeDungeonPreQuestNotFinished => { + "RetRoguelikeDungeonPreQuestNotFinished" + } + Retcode::RetRoguelikeDungeonNotOpen => "RetRoguelikeDungeonNotOpen", + Retcode::RetRoguelikeSprintIsBanned => "RetRoguelikeSprintIsBanned", + Retcode::RetRoguelikeDungeonPreStageNotFinished => { + "RetRoguelikeDungeonPreStageNotFinished" + } + Retcode::RetRoguelikeAllAvatarDieCannotResume => { + "RetRoguelikeAllAvatarDieCannotResume" + } + Retcode::RetPlantFlowerAlreadyTakeSeed => "RetPlantFlowerAlreadyTakeSeed", + Retcode::RetPlantFlowerFriendHaveFlowerLimit => { + "RetPlantFlowerFriendHaveFlowerLimit" + } + Retcode::RetPlantFlowerCanGiveFlowerNotEnough => { + "RetPlantFlowerCanGiveFlowerNotEnough" + } + Retcode::RetPlantFlowerWishFlowerKindsLimit => { + "RetPlantFlowerWishFlowerKindsLimit" + } + Retcode::RetPlantFlowerHaveFlowerNotEnough => { + "RetPlantFlowerHaveFlowerNotEnough" + } + Retcode::RetPlantFlowerFlowerCombinationInvalid => { + "RetPlantFlowerFlowerCombinationInvalid" + } + Retcode::RetHachiDungeonNotValid => "RetHachiDungeonNotValid", + Retcode::RetHachiDungeonStageNotOpen => "RetHachiDungeonStageNotOpen", + Retcode::RetHachiDungeonTeammateNotPass => "RetHachiDungeonTeammateNotPass", + Retcode::RetWinterCampCoinANotEnough => "RetWinterCampCoinANotEnough", + Retcode::RetWinterCampCoinBNotEnough => "RetWinterCampCoinBNotEnough", + Retcode::RetWinterCampCoinAExceedLimit => "RetWinterCampCoinAExceedLimit", + Retcode::RetWinterCampCoinBExceedLimit => "RetWinterCampCoinBExceedLimit", + Retcode::RetWinterCampWishIdInvalid => "RetWinterCampWishIdInvalid", + Retcode::RetWinterCampNotFoundRecvItemData => { + "RetWinterCampNotFoundRecvItemData" + } + Retcode::RetWinterCampFriendItemCountOverflow => { + "RetWinterCampFriendItemCountOverflow" + } + Retcode::RetWinterCampSelectItemDataInvalid => { + "RetWinterCampSelectItemDataInvalid" + } + Retcode::RetWinterCampItemListEmpty => "RetWinterCampItemListEmpty", + Retcode::RetWinterCampRewardAlreadyTaken => "RetWinterCampRewardAlreadyTaken", + Retcode::RetWinterCampStageNotFinish => "RetWinterCampStageNotFinish", + Retcode::RetWinterCampGadgetInvalid => "RetWinterCampGadgetInvalid", + Retcode::RetLanternRiteCoinANotEnough => "RetLanternRiteCoinANotEnough", + Retcode::RetLanternRiteCoinBNotEnough => "RetLanternRiteCoinBNotEnough", + Retcode::RetLanternRiteCoinCNotEnough => "RetLanternRiteCoinCNotEnough", + Retcode::RetLanternRiteCoinAExceedLimit => "RetLanternRiteCoinAExceedLimit", + Retcode::RetLanternRiteCoinBExceedLimit => "RetLanternRiteCoinBExceedLimit", + Retcode::RetLanternRiteCoinCExceedLimit => "RetLanternRiteCoinCExceedLimit", + Retcode::RetLanternRiteProjectionContentClosed => { + "RetLanternRiteProjectionContentClosed" + } + Retcode::RetLanternRiteProjectionCanNotStart => { + "RetLanternRiteProjectionCanNotStart" + } + Retcode::RetLanternRiteDungeonNotOpen => "RetLanternRiteDungeonNotOpen", + Retcode::RetLanternRiteHasTakenSkinReward => { + "RetLanternRiteHasTakenSkinReward" + } + Retcode::RetLanternRiteNotFinishedSkinWatchers => { + "RetLanternRiteNotFinishedSkinWatchers" + } + Retcode::RetLanternRiteFireworksContentClosed => { + "RetLanternRiteFireworksContentClosed" + } + Retcode::RetLanternRiteFireworksChallengeNotStart => { + "RetLanternRiteFireworksChallengeNotStart" + } + Retcode::RetLanternRiteFireworksReformParamError => { + "RetLanternRiteFireworksReformParamError" + } + Retcode::RetLanternRiteFireworksReformSkillLock => { + "RetLanternRiteFireworksReformSkillLock" + } + Retcode::RetLanternRiteFireworksReformStaminaNotEnough => { + "RetLanternRiteFireworksReformStaminaNotEnough" + } + Retcode::RetPotionActivityStageNotOpen => "RetPotionActivityStageNotOpen", + Retcode::RetPotionActivityLevelHavePass => "RetPotionActivityLevelHavePass", + Retcode::RetPotionActivityTeamNumIncorrect => { + "RetPotionActivityTeamNumIncorrect" + } + Retcode::RetPotionActivityAvatarInCd => "RetPotionActivityAvatarInCd", + Retcode::RetPotionActivityBuffInCd => "RetPotionActivityBuffInCd", + Retcode::RetIrodoriPoetryInvalidLineId => "RetIrodoriPoetryInvalidLineId", + Retcode::RetIrodoriPoetryInvalidThemeId => "RetIrodoriPoetryInvalidThemeId", + Retcode::RetIrodoriPoetryNotGetAllInspiration => { + "RetIrodoriPoetryNotGetAllInspiration" + } + Retcode::RetIrodoriPoetryInspirationReachLimie => { + "RetIrodoriPoetryInspirationReachLimie" + } + Retcode::RetIrodoriPoetryEntityAlreadyScanned => { + "RetIrodoriPoetryEntityAlreadyScanned" + } + Retcode::RetActivityBannerAlreadyCleared => "RetActivityBannerAlreadyCleared", + Retcode::RetIrodoriChessNotOpen => "RetIrodoriChessNotOpen", + Retcode::RetIrodoriChessLevelNotOpen => "RetIrodoriChessLevelNotOpen", + Retcode::RetIrodoriChessMapNotOpen => "RetIrodoriChessMapNotOpen", + Retcode::RetIrodoriChessMapCardAlreadyEquiped => { + "RetIrodoriChessMapCardAlreadyEquiped" + } + Retcode::RetIrodoriChessEquipCardExceedLimit => { + "RetIrodoriChessEquipCardExceedLimit" + } + Retcode::RetIrodoriChessMapCardNotEquiped => { + "RetIrodoriChessMapCardNotEquiped" + } + Retcode::RetIrodoriChessEnterFailCardExceedLimit => { + "RetIrodoriChessEnterFailCardExceedLimit" + } + Retcode::RetActivityFriendHaveGiftLimit => "RetActivityFriendHaveGiftLimit", + Retcode::RetGachaActivityHaveRewardLimit => "RetGachaActivityHaveRewardLimit", + Retcode::RetGachaActivityHaveRobotLimit => "RetGachaActivityHaveRobotLimit", + Retcode::RetSummerTimeV2CoinExceedLimit => "RetSummerTimeV2CoinExceedLimit", + Retcode::RetSummerTimeV2CoinNotEnough => "RetSummerTimeV2CoinNotEnough", + Retcode::RetSummerTimeV2DungeonStageNotOpen => { + "RetSummerTimeV2DungeonStageNotOpen" + } + Retcode::RetSummerTimeV2PrevDungeonNotComplete => { + "RetSummerTimeV2PrevDungeonNotComplete" + } + Retcode::RetRogueDiaryAvatarDeath => "RetRogueDiaryAvatarDeath", + Retcode::RetRogueDiaryAvatarTired => "RetRogueDiaryAvatarTired", + Retcode::RetRogueDiaryAvatarDuplicated => "RetRogueDiaryAvatarDuplicated", + Retcode::RetRogueDiaryCoinNotEnough => "RetRogueDiaryCoinNotEnough", + Retcode::RetRogueDiaryVirtualCoinExceedLimit => { + "RetRogueDiaryVirtualCoinExceedLimit" + } + Retcode::RetRogueDiaryVirtualCoinNotEnough => { + "RetRogueDiaryVirtualCoinNotEnough" + } + Retcode::RetRogueDiaryContentClosed => "RetRogueDiaryContentClosed", + Retcode::RetGravenInnocenceCoinANotEnough => { + "RetGravenInnocenceCoinANotEnough" + } + Retcode::RetGravenInnocenceCoinBNotEnough => { + "RetGravenInnocenceCoinBNotEnough" + } + Retcode::RetGravenInnocenceCoinAExceedLimit => { + "RetGravenInnocenceCoinAExceedLimit" + } + Retcode::RetGravenInnocenceCoinBExceedLimit => { + "RetGravenInnocenceCoinBExceedLimit" + } + Retcode::RetIslandPartyStageNotOpen => "RetIslandPartyStageNotOpen", + Retcode::RetWindFieldStageNotOpen => "RetWindFieldStageNotOpen", + Retcode::RetVintageContentClosed => "RetVintageContentClosed", + Retcode::RetVintageStoreContentFinished => "RetVintageStoreContentFinished", + Retcode::RetVintageStoreAttrTooSmall => "RetVintageStoreAttrTooSmall", + Retcode::RetVintageStoreAttrTooLarge => "RetVintageStoreAttrTooLarge", + Retcode::RetVintageStoreContentInterrupt => "RetVintageStoreContentInterrupt", + Retcode::RetVintageVirtualCoinNotEnough => "RetVintageVirtualCoinNotEnough", + Retcode::RetVintageStoreAttrLessThanZero => "RetVintageStoreAttrLessThanZero", + Retcode::RetFungusFighterCaptureCoinNotEnough => { + "RetFungusFighterCaptureCoinNotEnough" + } + Retcode::RetFungusFighterTrainingCoinNotEnough => { + "RetFungusFighterTrainingCoinNotEnough" + } + Retcode::RetFungusFighterCaptureCoinExceedLimit => { + "RetFungusFighterCaptureCoinExceedLimit" + } + Retcode::RetFungusFighterTrainingCoinExceedLimit => { + "RetFungusFighterTrainingCoinExceedLimit" + } + Retcode::RetFungusFighterContentClosed => "RetFungusFighterContentClosed", + Retcode::RetFungusFighterPlotStageNotOpen => { + "RetFungusFighterPlotStageNotOpen" + } + Retcode::RetFungusFighterFungusIdConfigNotValid => { + "RetFungusFighterFungusIdConfigNotValid" + } + Retcode::RetFungusFighterFungusNotCultivated => { + "RetFungusFighterFungusNotCultivated" + } + Retcode::RetFungusFighterTrainingDungeonNotOpen => { + "RetFungusFighterTrainingDungeonNotOpen" + } + Retcode::RetEffigyChallengeV2CoinNotEnough => { + "RetEffigyChallengeV2CoinNotEnough" + } + Retcode::RetEffigyChallengeV2CoinExceedLimit => { + "RetEffigyChallengeV2CoinExceedLimit" + } + Retcode::RetCharAmusementStageNotOpen => "RetCharAmusementStageNotOpen", + Retcode::RetCoinCollectLevelNotOpen => "RetCoinCollectLevelNotOpen", + Retcode::RetCoinCollectNotEquipWidget => "RetCoinCollectNotEquipWidget", + Retcode::RetCoinCollectSceneNotMatch => "RetCoinCollectSceneNotMatch", + Retcode::RetCoinCollectCantEnterMpMode => "RetCoinCollectCantEnterMpMode", + Retcode::RetCoinCollectPlayerNumFail => "RetCoinCollectPlayerNumFail", + Retcode::RetBrickBreakerPlayerNumFail => "RetBrickBreakerPlayerNumFail", + Retcode::RetBrickBreakerStageNotUnlock => "RetBrickBreakerStageNotUnlock", + Retcode::RetBrickBreakerNormalLevelNotFinish => { + "RetBrickBreakerNormalLevelNotFinish" + } + Retcode::RetBrickBreakerPreLevelNotFinish => { + "RetBrickBreakerPreLevelNotFinish" + } + Retcode::RetBrickBreakerPreStageNotFinish => { + "RetBrickBreakerPreStageNotFinish" + } + Retcode::RetBrickBreakerWorldLevelNotUnlock => { + "RetBrickBreakerWorldLevelNotUnlock" + } + Retcode::RetBrickBreakerDungeonLevelNotUnlock => { + "RetBrickBreakerDungeonLevelNotUnlock" + } + Retcode::RetBrickBreakerCoinNotEnough => "RetBrickBreakerCoinNotEnough", + Retcode::RetBrickBreakerCoinExceedLimit => "RetBrickBreakerCoinExceedLimit", + Retcode::RetTeamchainWorldInMpMode => "RetTeamchainWorldInMpMode", + Retcode::RetLanV3BoatPlayerNumNotValid => "RetLanV3BoatPlayerNumNotValid", + Retcode::RetLanV3BoatPlayNotOpen => "RetLanV3BoatPlayNotOpen", + Retcode::RetLanV3BoatNotInWorldScene => "RetLanV3BoatNotInWorldScene", + Retcode::RetFleurFairV2PacmanPlayNotOpen => "RetFleurFairV2PacmanPlayNotOpen", + Retcode::RetFleurFairV2PacmanPlayerNumIncorrect => { + "RetFleurFairV2PacmanPlayerNumIncorrect" + } + Retcode::RetFleurFairV2CoinNotEnough => "RetFleurFairV2CoinNotEnough", + Retcode::RetFleurFairV2CoinExceedLimit => "RetFleurFairV2CoinExceedLimit", + Retcode::RetAkaFesRhythmLevelNotOpen => "RetAkaFesRhythmLevelNotOpen", + Retcode::RetAkaFesRhythmGalleryInitFail => "RetAkaFesRhythmGalleryInitFail", + Retcode::RetAkaFesRhythmNotInExpectedDungeon => { + "RetAkaFesRhythmNotInExpectedDungeon" + } + Retcode::RetAkaFesReasoningLevelNotOpen => "RetAkaFesReasoningLevelNotOpen", + Retcode::RetAkaFesAstrolabeLevelNotOpen => "RetAkaFesAstrolabeLevelNotOpen", + Retcode::RetAkaFesAstrolabePreLevelNotFinish => { + "RetAkaFesAstrolabePreLevelNotFinish" + } + Retcode::RetEffigyChallengeV4LevelNotOpen => { + "RetEffigyChallengeV4LevelNotOpen" + } + Retcode::RetEffigyChallengeV4GuestNotReady => { + "RetEffigyChallengeV4GuestNotReady" + } + Retcode::RetEffigyChallengeV4DuplicateAvatar => { + "RetEffigyChallengeV4DuplicateAvatar" + } + Retcode::RetJourneyActivityPickParamError => { + "RetJourneyActivityPickParamError" + } + Retcode::RetJourneyActivityPickCondNotMeet => { + "RetJourneyActivityPickCondNotMeet" + } + Retcode::RetJourneyActivityCoinNotEnough => "RetJourneyActivityCoinNotEnough", + Retcode::RetJourneyActivityCoinExceedLimit => { + "RetJourneyActivityCoinExceedLimit" + } + Retcode::RetPoetryFesPitchPotStageNotOpen => { + "RetPoetryFesPitchPotStageNotOpen" + } + Retcode::RetFilmfesBallGamePlayerCountNotEnough => { + "RetFilmfesBallGamePlayerCountNotEnough" + } + Retcode::RetMpFilmfestShootingOngoing => "RetMpFilmfestShootingOngoing", + Retcode::RetFilmfesBallGameIsLocked => "RetFilmfesBallGameIsLocked", + Retcode::RetTreasureHuntV4CoinNotEnough => "RetTreasureHuntV4CoinNotEnough", + Retcode::RetTreasureHuntV4CoinExceedLimit => { + "RetTreasureHuntV4CoinExceedLimit" + } + Retcode::RetLostSamachurlSneakLevelNotOpen => { + "RetLostSamachurlSneakLevelNotOpen" + } + Retcode::RetLostSamachurlBossLevelNotOpen => { + "RetLostSamachurlBossLevelNotOpen" + } + Retcode::RetLanV4PartyLionPlayerCountNotEnough => { + "RetLanV4PartyLionPlayerCountNotEnough" + } + Retcode::RetLanV4PartyLionLevelNotOpen => "RetLanV4PartyLionLevelNotOpen", + Retcode::RetActivityContentClosed => "RetActivityContentClosed", + Retcode::RetActivityClientPlayBanMp => "RetActivityClientPlayBanMp", + Retcode::RetActivityClientPlayFrequencyError => { + "RetActivityClientPlayFrequencyError" + } + Retcode::RetActivityClientPlayOtherPlayIsRunning => { + "RetActivityClientPlayOtherPlayIsRunning" + } + Retcode::RetActivityClientPlayDuplicateStart => { + "RetActivityClientPlayDuplicateStart" + } + Retcode::RetNotInFishing => "RetNotInFishing", + Retcode::RetFishStateError => "RetFishStateError", + Retcode::RetFishBaitLimit => "RetFishBaitLimit", + Retcode::RetFishingMaxDistance => "RetFishingMaxDistance", + Retcode::RetFishingInCombat => "RetFishingInCombat", + Retcode::RetFishingBattleTooShort => "RetFishingBattleTooShort", + Retcode::RetFishGoneAway => "RetFishGoneAway", + Retcode::RetCanNotEditOtherDungeon => "RetCanNotEditOtherDungeon", + Retcode::RetCustomDungeonDismatch => "RetCustomDungeonDismatch", + Retcode::RetNoCustomDungeonData => "RetNoCustomDungeonData", + Retcode::RetBuildCustomDungeonFail => "RetBuildCustomDungeonFail", + Retcode::RetCustomDungeonRoomCheckFail => "RetCustomDungeonRoomCheckFail", + Retcode::RetCustomDungeonSaveMayFail => "RetCustomDungeonSaveMayFail", + Retcode::RetNotInCustomDungeon => "RetNotInCustomDungeon", + Retcode::RetCustomDungeonInternalFail => "RetCustomDungeonInternalFail", + Retcode::RetCustomDungeonCanNotTry => "RetCustomDungeonCanNotTry", + Retcode::RetCustomDungeonNoStartRoom => "RetCustomDungeonNoStartRoom", + Retcode::RetCustomDungeonNoRoomData => "RetCustomDungeonNoRoomData", + Retcode::RetCustomDungeonSaveTooFrequent => "RetCustomDungeonSaveTooFrequent", + Retcode::RetCustomDungeonNotSelfPass => "RetCustomDungeonNotSelfPass", + Retcode::RetCustomDungeonLackCoin => "RetCustomDungeonLackCoin", + Retcode::RetCustomDungeonNoFinishBrick => "RetCustomDungeonNoFinishBrick", + Retcode::RetCustomDungeonMultiFinish => "RetCustomDungeonMultiFinish", + Retcode::RetCustomDungeonNotPublished => "RetCustomDungeonNotPublished", + Retcode::RetCustomDungeonFullStore => "RetCustomDungeonFullStore", + Retcode::RetCustomDungeonStoreRepeat => "RetCustomDungeonStoreRepeat", + Retcode::RetCustomDungeonCanNotStoreSelf => "RetCustomDungeonCanNotStoreSelf", + Retcode::RetCustomDungeonNotSaveSucc => "RetCustomDungeonNotSaveSucc", + Retcode::RetCustomDungeonCanNotLikeSelf => "RetCustomDungeonCanNotLikeSelf", + Retcode::RetCustomDungeonNotFound => "RetCustomDungeonNotFound", + Retcode::RetCustomDungeonInvalidSetting => "RetCustomDungeonInvalidSetting", + Retcode::RetCustomDungeonNoFinishSetting => "RetCustomDungeonNoFinishSetting", + Retcode::RetCustomDungeonSaveNothing => "RetCustomDungeonSaveNothing", + Retcode::RetCustomDungeonNotInGroup => "RetCustomDungeonNotInGroup", + Retcode::RetCustomDungeonNotOfficial => "RetCustomDungeonNotOfficial", + Retcode::RetCustomDungeonLifeNumError => "RetCustomDungeonLifeNumError", + Retcode::RetCustomDungeonNoOpenRoom => "RetCustomDungeonNoOpenRoom", + Retcode::RetCustomDungeonBrickExceedLimit => { + "RetCustomDungeonBrickExceedLimit" + } + Retcode::RetCustomDungeonOfficialNotUnlock => { + "RetCustomDungeonOfficialNotUnlock" + } + Retcode::RetCanNotEditOfficialSetting => "RetCanNotEditOfficialSetting", + Retcode::RetCustomDungeonBanPublish => "RetCustomDungeonBanPublish", + Retcode::RetCustomDungeonCanNotReplay => "RetCustomDungeonCanNotReplay", + Retcode::RetCustomDungeonNotOpenGroup => "RetCustomDungeonNotOpenGroup", + Retcode::RetCustomDungeonMaxEditNum => "RetCustomDungeonMaxEditNum", + Retcode::RetCustomDungeonCanNotOutStuck => "RetCustomDungeonCanNotOutStuck", + Retcode::RetCustomDungeonMaxTag => "RetCustomDungeonMaxTag", + Retcode::RetCustomDungeonInvalidTag => "RetCustomDungeonInvalidTag", + Retcode::RetCustomDungeonMaxCost => "RetCustomDungeonMaxCost", + Retcode::RetCustomDungeonRequestTooFrequent => { + "RetCustomDungeonRequestTooFrequent" + } + Retcode::RetCustomDungeonNotOpen => "RetCustomDungeonNotOpen", + Retcode::RetShareCdIdError => "RetShareCdIdError", + Retcode::RetShareCdIndexError => "RetShareCdIndexError", + Retcode::RetShareCdInCd => "RetShareCdInCd", + Retcode::RetShareCdTokenNotEnough => "RetShareCdTokenNotEnough", + Retcode::RetUgcDismatch => "RetUgcDismatch", + Retcode::RetUgcDataNotFound => "RetUgcDataNotFound", + Retcode::RetUgcBriefNotFound => "RetUgcBriefNotFound", + Retcode::RetUgcDisabled => "RetUgcDisabled", + Retcode::RetUgcLimited => "RetUgcLimited", + Retcode::RetUgcLocked => "RetUgcLocked", + Retcode::RetUgcNotAuth => "RetUgcNotAuth", + Retcode::RetUgcNotOpen => "RetUgcNotOpen", + Retcode::RetUgcBanPublish => "RetUgcBanPublish", + Retcode::RetUgcMusicExceedLimit => "RetUgcMusicExceedLimit", + Retcode::RetUgcMusicSaveTooFrequent => "RetUgcMusicSaveTooFrequent", + Retcode::RetUgcMusicStoreFull => "RetUgcMusicStoreFull", + Retcode::RetUgcMusicStoreRepeat => "RetUgcMusicStoreRepeat", + Retcode::RetUgcMusicStoreTooFrequent => "RetUgcMusicStoreTooFrequent", + Retcode::RetUgcMusicSearchNotFound => "RetUgcMusicSearchNotFound", + Retcode::RetUgcMusicLikeTooFrequent => "RetUgcMusicLikeTooFrequent", + Retcode::RetUgcMusicRecommendTooFrequent => "RetUgcMusicRecommendTooFrequent", + Retcode::RetUgcMusicImportNotAllow => "RetUgcMusicImportNotAllow", + Retcode::RetUgcMusicImportNotFound => "RetUgcMusicImportNotFound", + Retcode::RetUgcMusicSetOptionTooFrequent => "RetUgcMusicSetOptionTooFrequent", + Retcode::RetUgcMusicImportTooFrequent => "RetUgcMusicImportTooFrequent", + Retcode::RetUgcMusicGenShareCodeFail => "RetUgcMusicGenShareCodeFail", + Retcode::RetUgcMusicCancelStoreRepeat => "RetUgcMusicCancelStoreRepeat", + Retcode::RetCompoundBoostItemNotExist => "RetCompoundBoostItemNotExist", + Retcode::RetCompoundBoostTargetNotExist => "RetCompoundBoostTargetNotExist", + Retcode::RetQuickHitTreeEmptyTrees => "RetQuickHitTreeEmptyTrees", + Retcode::RetCompoundNoFinishCanTake => "RetCompoundNoFinishCanTake", + Retcode::RetForgeNoFinishCanTake => "RetForgeNoFinishCanTake", + Retcode::RetGcgFindGameModeFail => "RetGcgFindGameModeFail", + Retcode::RetGcgOperationParamError => "RetGcgOperationParamError", + Retcode::RetGcgGameNotRunning => "RetGcgGameNotRunning", + Retcode::RetGcgOpNotAllow => "RetGcgOpNotAllow", + Retcode::RetGcgOpNotMatchPhase => "RetGcgOpNotMatchPhase", + Retcode::RetGcgSelectHandCardGuidError => "RetGcgSelectHandCardGuidError", + Retcode::RetGcgDiceIndexInvalid => "RetGcgDiceIndexInvalid", + Retcode::RetGcgCharacterGuidInvalid => "RetGcgCharacterGuidInvalid", + Retcode::RetGcgCharacterAlreadyDie => "RetGcgCharacterAlreadyDie", + Retcode::RetGcgCharacterAlreadyOnStage => "RetGcgCharacterAlreadyOnStage", + Retcode::RetGcgCharacterForbiddenAttack => "RetGcgCharacterForbiddenAttack", + Retcode::RetGcgSelectDiceNotMatch => "RetGcgSelectDiceNotMatch", + Retcode::RetGcgFindSkillFail => "RetGcgFindSkillFail", + Retcode::RetGcgSkillCanNotActiveUse => "RetGcgSkillCanNotActiveUse", + Retcode::RetGcgEnergyNotEnough => "RetGcgEnergyNotEnough", + Retcode::RetGcgPlayCardTargetNotMatch => "RetGcgPlayCardTargetNotMatch", + Retcode::RetGcgPlayCardZoneCannotAdd => "RetGcgPlayCardZoneCannotAdd", + Retcode::RetGcgRebootSelectDiceInvalid => "RetGcgRebootSelectDiceInvalid", + Retcode::RetGcgRebootSelectCardInvalid => "RetGcgRebootSelectCardInvalid", + Retcode::RetGcgPlayCardConditionCheckFail => { + "RetGcgPlayCardConditionCheckFail" + } + Retcode::RetGcgPlayCardParamInvalid => "RetGcgPlayCardParamInvalid", + Retcode::RetGcgMaxGame => "RetGcgMaxGame", + Retcode::RetGcgSendPacketFail => "RetGcgSendPacketFail", + Retcode::RetGcgAlreadySettle => "RetGcgAlreadySettle", + Retcode::RetGcgPlayCardLegendAlreadyUsed => "RetGcgPlayCardLegendAlreadyUsed", + Retcode::RetGcgCostLegendNotEnough => "RetGcgCostLegendNotEnough", + Retcode::RetGcgWatchInBlackList => "RetGcgWatchInBlackList", + Retcode::RetGcgWatchForbidSwitch => "RetGcgWatchForbidSwitch", + Retcode::RetGcgWatchAlreadyJoined => "RetGcgWatchAlreadyJoined", + Retcode::RetGcgWatchKickNoSpectator => "RetGcgWatchKickNoSpectator", + Retcode::RetGcgWatchTargetNotInDuel => "RetGcgWatchTargetNotInDuel", + Retcode::RetGcgWatchTargetNotFriend => "RetGcgWatchTargetNotFriend", + Retcode::RetGcgWatchTargetPsnOnly => "RetGcgWatchTargetPsnOnly", + Retcode::RetGcgWatchForbidBusinessType => "RetGcgWatchForbidBusinessType", + Retcode::RetGcgWatchOptionRefuse => "RetGcgWatchOptionRefuse", + Retcode::RetGcgWatchNoPlayer => "RetGcgWatchNoPlayer", + Retcode::RetGcgWatchTargetStateNotOpen => "RetGcgWatchTargetStateNotOpen", + Retcode::RetGcgWatchSpectatorLimit => "RetGcgWatchSpectatorLimit", + Retcode::RetGcgWatchForbiddenWatchGame => "RetGcgWatchForbiddenWatchGame", + Retcode::RetGcgWatchNotSpectator => "RetGcgWatchNotSpectator", + Retcode::RetGcgWatchAlreadyInDuel => "RetGcgWatchAlreadyInDuel", + Retcode::RetGcgWatchClientDataVersoinForbid => { + "RetGcgWatchClientDataVersoinForbid" + } + Retcode::RetGcgSkillNotVehicleSkill => "RetGcgSkillNotVehicleSkill", + Retcode::RetGcgSkillCheckConditionFail => "RetGcgSkillCheckConditionFail", + Retcode::RetGcgVehicleSkillCheckConditionFail => { + "RetGcgVehicleSkillCheckConditionFail" + } + Retcode::RetGcgCoinExceedLimit => "RetGcgCoinExceedLimit", + Retcode::RetGcgCoinNotEnough => "RetGcgCoinNotEnough", + Retcode::RetGcgNotInSelfWorld => "RetGcgNotInSelfWorld", + Retcode::RetGcgAlreadyInDuel => "RetGcgAlreadyInDuel", + Retcode::RetGcgNotInPlayerWorld => "RetGcgNotInPlayerWorld", + Retcode::RetGcgGalleryStarted => "RetGcgGalleryStarted", + Retcode::RetGcgInviteTargetIsSelf => "RetGcgInviteTargetIsSelf", + Retcode::RetGcgInviteTargetNotInWorld => "RetGcgInviteTargetNotInWorld", + Retcode::RetGcgApplyInviteNotAllow => "RetGcgApplyInviteNotAllow", + Retcode::RetGcgApplyInviteTimeout => "RetGcgApplyInviteTimeout", + Retcode::RetGcgCurDeckInvalid => "RetGcgCurDeckInvalid", + Retcode::RetGcgNeedResourceComplete => "RetGcgNeedResourceComplete", + Retcode::RetGcgOpponentPlayerIsSelf => "RetGcgOpponentPlayerIsSelf", + Retcode::RetGcgGameIdInvalid => "RetGcgGameIdInvalid", + Retcode::RetGcgMatchInPunish => "RetGcgMatchInPunish", + Retcode::RetGcgSettleStillInDuel => "RetGcgSettleStillInDuel", + Retcode::RetGcgSettleNotInDungeon => "RetGcgSettleNotInDungeon", + Retcode::RetGcgUnsupportSettleOption => "RetGcgUnsupportSettleOption", + Retcode::RetGcgNotInGcgDungeon => "RetGcgNotInGcgDungeon", + Retcode::RetGcgWorldLevelLocked => "RetGcgWorldLevelLocked", + Retcode::RetGcgBossLevelLocked => "RetGcgBossLevelLocked", + Retcode::RetGcgNotInTavern => "RetGcgNotInTavern", + Retcode::RetGcgWeekNpcNotExist => "RetGcgWeekNpcNotExist", + Retcode::RetGcgEnterGameFrequent => "RetGcgEnterGameFrequent", + Retcode::RetGcgBreakLevelQuestNotUnfinished => { + "RetGcgBreakLevelQuestNotUnfinished" + } + Retcode::RetGcgGuideLevelAlreadyFinished => "RetGcgGuideLevelAlreadyFinished", + Retcode::RetGcgLevelCannotRestart => "RetGcgLevelCannotRestart", + Retcode::RetGcgTargetCheckEnterFail => "RetGcgTargetCheckEnterFail", + Retcode::RetGcgAlreadyInDungeon => "RetGcgAlreadyInDungeon", + Retcode::RetGcgBackDuelNoGame => "RetGcgBackDuelNoGame", + Retcode::RetGcgConstLevelLocked => "RetGcgConstLevelLocked", + Retcode::RetGcgQuestIdError => "RetGcgQuestIdError", + Retcode::RetGcgQuestNeedUnfinished => "RetGcgQuestNeedUnfinished", + Retcode::RetGcgInMatch => "RetGcgInMatch", + Retcode::RetGcgDataVersionNotLatest => "RetGcgDataVersionNotLatest", + Retcode::RetGcgInviteTargetEnterGameFrequent => { + "RetGcgInviteTargetEnterGameFrequent" + } + Retcode::RetGcgInviteTargetNeedResourceComplete => { + "RetGcgInviteTargetNeedResourceComplete" + } + Retcode::RetGcgInviteTargetSceneIsNull => "RetGcgInviteTargetSceneIsNull", + Retcode::RetGcgInviteTargetInTransfer => "RetGcgInviteTargetInTransfer", + Retcode::RetGcgInviteTargetDataVersionNotLatest => { + "RetGcgInviteTargetDataVersionNotLatest" + } + Retcode::RetGcgInviteTargetCurDeckInvalid => { + "RetGcgInviteTargetCurDeckInvalid" + } + Retcode::RetGcgClientDataVersionNotMatch => "RetGcgClientDataVersionNotMatch", + Retcode::RetGcgClientDataVersoinForbid => "RetGcgClientDataVersoinForbid", + Retcode::RetGcgMpCantMatch => "RetGcgMpCantMatch", + Retcode::RetGcgInviteTargetStateNotOpen => "RetGcgInviteTargetStateNotOpen", + Retcode::RetGcgCreateTimeOut => "RetGcgCreateTimeOut", + Retcode::RetGcgBanMatch => "RetGcgBanMatch", + Retcode::RetGcgBanInvite => "RetGcgBanInvite", + Retcode::RetGcgTargetBanInvite => "RetGcgTargetBanInvite", + Retcode::RetGcgInviteAlreadyInvite => "RetGcgInviteAlreadyInvite", + Retcode::RetGcgFestivalModeNotOpen => "RetGcgFestivalModeNotOpen", + Retcode::RetGcgTargetFestivalModeNotOpen => "RetGcgTargetFestivalModeNotOpen", + Retcode::RetGcgBackDuelPsToOther => "RetGcgBackDuelPsToOther", + Retcode::RetGcgBackDuelOtherToPs => "RetGcgBackDuelOtherToPs", + Retcode::RetGcgWeekRewardLimit => "RetGcgWeekRewardLimit", + Retcode::RetGcgFestivalModeInPick => "RetGcgFestivalModeInPick", + Retcode::RetGcgDsDeckLocked => "RetGcgDsDeckLocked", + Retcode::RetGcgDsDeckNameInvalid => "RetGcgDsDeckNameInvalid", + Retcode::RetGcgDsDeckCharCardNumInvalid => "RetGcgDsDeckCharCardNumInvalid", + Retcode::RetGcgDsDeckCardNumInvalid => "RetGcgDsDeckCardNumInvalid", + Retcode::RetGcgDsCardNumExceedLimit => "RetGcgDsCardNumExceedLimit", + Retcode::RetGcgDsDeckInvalid => "RetGcgDsDeckInvalid", + Retcode::RetGcgDsCardIdInvalid => "RetGcgDsCardIdInvalid", + Retcode::RetGcgDsCardFaceAlreadyUnlock => "RetGcgDsCardFaceAlreadyUnlock", + Retcode::RetGcgDsCardFaceIsLock => "RetGcgDsCardFaceIsLock", + Retcode::RetGcgDsFieldLock => "RetGcgDsFieldLock", + Retcode::RetGcgDsFieldAlreadyUnlock => "RetGcgDsFieldAlreadyUnlock", + Retcode::RetGcgDsFieldIdInvalid => "RetGcgDsFieldIdInvalid", + Retcode::RetGcgDsCardBackLocked => "RetGcgDsCardBackLocked", + Retcode::RetGcgDsCardBackAlreadyUnlock => "RetGcgDsCardBackAlreadyUnlock", + Retcode::RetGcgDsCardBackIdInvalid => "RetGcgDsCardBackIdInvalid", + Retcode::RetGcgDsCardFaceIdInvalid => "RetGcgDsCardFaceIdInvalid", + Retcode::RetGcgDsDeckNameIllegal => "RetGcgDsDeckNameIllegal", + Retcode::RetGcgDsDeckSaveCd => "RetGcgDsDeckSaveCd", + Retcode::RetGcgDsDeckChangeNameCd => "RetGcgDsDeckChangeNameCd", + Retcode::RetGcgMatchDeckInvalid => "RetGcgMatchDeckInvalid", + Retcode::RetGcgDsDeckAlreadyUnlocked => "RetGcgDsDeckAlreadyUnlocked", + Retcode::RetGcgDsAtLeastOneDeck => "RetGcgDsAtLeastOneDeck", + Retcode::RetGcgDsDeckCodeIllegal => "RetGcgDsDeckCodeIllegal", + Retcode::RetGcgDsDeckCodeCd => "RetGcgDsDeckCodeCd", + Retcode::RetGcgTcCharacternotMatchLevel => "RetGcgTcCharacternotMatchLevel", + Retcode::RetGcgTcMustInSelfWorld => "RetGcgTcMustInSelfWorld", + Retcode::RetGcgTcMustInTavern => "RetGcgTcMustInTavern", + Retcode::RetGcgTcAlreadyInGame => "RetGcgTcAlreadyInGame", + Retcode::RetGcgTcAlreadyInMatch => "RetGcgTcAlreadyInMatch", + Retcode::RetGcgTcUnlockCharacterQuestNotFinish => { + "RetGcgTcUnlockCharacterQuestNotFinish" + } + Retcode::RetGcgTcLevelLocked => "RetGcgTcLevelLocked", + Retcode::RetGcgTcNoInviteData => "RetGcgTcNoInviteData", + Retcode::RetGcgTcCurDeckInvalid => "RetGcgTcCurDeckInvalid", + Retcode::RetGcgTcCondQuest => "RetGcgTcCondQuest", + Retcode::RetGcgLevelRewardLevelError => "RetGcgLevelRewardLevelError", + Retcode::RetGcgLevelRewardAlreadyTaken => "RetGcgLevelRewardAlreadyTaken", + Retcode::RetGcgLevelRewardNoReward => "RetGcgLevelRewardNoReward", + Retcode::RetGcgNotInReplayDungeon => "RetGcgNotInReplayDungeon", + Retcode::RetGcgInvalidReplay => "RetGcgInvalidReplay", + Retcode::RetGcgSetFavoriteLimitNum => "RetGcgSetFavoriteLimitNum", + Retcode::RetGcgReplayExpire => "RetGcgReplayExpire", + Retcode::RetGcgReplayDungeonSettled => "RetGcgReplayDungeonSettled", + Retcode::RetGcgPickCurUidNotMatch => "RetGcgPickCurUidNotMatch", + Retcode::RetGcgPickSelectParamError => "RetGcgPickSelectParamError", + Retcode::RetGcgPickConfirmError => "RetGcgPickConfirmError", + Retcode::RetGcgPickBackNoGame => "RetGcgPickBackNoGame", + Retcode::RetGcgArenaScheduleInactive => "RetGcgArenaScheduleInactive", + Retcode::RetGcgArenaScheduleNotMatch => "RetGcgArenaScheduleNotMatch", + Retcode::RetGcgArenaDeckNotSet => "RetGcgArenaDeckNotSet", + Retcode::RetGcgArenaDeckInvalid => "RetGcgArenaDeckInvalid", + Retcode::RetGcgArenaInChallengeCannotSetDeck => { + "RetGcgArenaInChallengeCannotSetDeck" + } + Retcode::RetGcgArenaStartChallengeInMpMode => { + "RetGcgArenaStartChallengeInMpMode" + } + Retcode::RetGcgArenaStartMatchInMpMode => "RetGcgArenaStartMatchInMpMode", + Retcode::RetUgcDungeonInDungeon => "RetUgcDungeonInDungeon", + Retcode::RetUgcDungeonRoomNumLimit => "RetUgcDungeonRoomNumLimit", + Retcode::RetUgcDungeonNotInEditState => "RetUgcDungeonNotInEditState", + Retcode::RetUgcDungeonNotInEditDungeon => "RetUgcDungeonNotInEditDungeon", + Retcode::RetUgcDungeonNotExist => "RetUgcDungeonNotExist", + Retcode::RetUgcDungeonNotSave => "RetUgcDungeonNotSave", + Retcode::RetUgcDungeonScoreCondtionButNoMonster => { + "RetUgcDungeonScoreCondtionButNoMonster" + } + Retcode::RetUgcDungeonScoreCondtionButNoCoin => { + "RetUgcDungeonScoreCondtionButNoCoin" + } + Retcode::RetUgcDungeonScoreCondtionButNoChest => { + "RetUgcDungeonScoreCondtionButNoChest" + } + Retcode::RetUgcDungeonScoreCondtionButNoRoomSettle => { + "RetUgcDungeonScoreCondtionButNoRoomSettle" + } + Retcode::RetUgcDungeonTargetScoreExceedLimit => { + "RetUgcDungeonTargetScoreExceedLimit" + } + Retcode::RetUgcDungeonTimeSettleTargetScoreNotZero => { + "RetUgcDungeonTimeSettleTargetScoreNotZero" + } + Retcode::RetUgcDungeonAllowAvatarNotEnough => { + "RetUgcDungeonAllowAvatarNotEnough" + } + Retcode::RetUgcDungeonHeartBloodWhileMonsterDeploy => { + "RetUgcDungeonHeartBloodWhileMonsterDeploy" + } + Retcode::RetUgcDungeonRoomNoExitGadget => "RetUgcDungeonRoomNoExitGadget", + Retcode::RetUgcDungeonRoomHostEnterGadgetNum => { + "RetUgcDungeonRoomHostEnterGadgetNum" + } + Retcode::RetUgcDungeonRoomGuestEnterGadgetNotEnough => { + "RetUgcDungeonRoomGuestEnterGadgetNotEnough" + } + Retcode::RetUgcDungeonRoomSettingCoinNumTooLarge => { + "RetUgcDungeonRoomSettingCoinNumTooLarge" + } + Retcode::RetUgcDungeonRoomSettingMonsterNumTooLarge => { + "RetUgcDungeonRoomSettingMonsterNumTooLarge" + } + Retcode::RetUgcDungeonRoomSettingNoSettleConfig => { + "RetUgcDungeonRoomSettingNoSettleConfig" + } + Retcode::RetUgcDungeonRoomSwitchInviteInProcess => { + "RetUgcDungeonRoomSwitchInviteInProcess" + } + Retcode::RetUgcDungeonRoomDeploymentCostLimit => { + "RetUgcDungeonRoomDeploymentCostLimit" + } + Retcode::RetUgcDungeonRoomTriggerDuplicateGuid => { + "RetUgcDungeonRoomTriggerDuplicateGuid" + } + Retcode::RetUgcDungeonRoomTriggerParamError => { + "RetUgcDungeonRoomTriggerParamError" + } + Retcode::RetUgcDungeonScoreSettleTargetScoreZero => { + "RetUgcDungeonScoreSettleTargetScoreZero" + } + Retcode::RetUgcDungeonStateCanNotAudit => "RetUgcDungeonStateCanNotAudit", + Retcode::RetUgcDungeonAuditVersionNotMatch => { + "RetUgcDungeonAuditVersionNotMatch" + } + Retcode::RetUgcDungeonInAudit => "RetUgcDungeonInAudit", + Retcode::RetUgcDungeonStateCanNotPublish => "RetUgcDungeonStateCanNotPublish", + Retcode::RetUgcDungeonRequestTooFrequent => "RetUgcDungeonRequestTooFrequent", + Retcode::RetUgcDungeonCanNotPublishNoEdit => { + "RetUgcDungeonCanNotPublishNoEdit" + } + Retcode::RetUgcDungeonNotAllowImport => "RetUgcDungeonNotAllowImport", + Retcode::RetUgcDungeonImportRoomHasMonster => { + "RetUgcDungeonImportRoomHasMonster" + } + Retcode::RetUgcDungeonSearchNotExist => "RetUgcDungeonSearchNotExist", + Retcode::RetUgcDungeonRoomSwitchLastRoom => "RetUgcDungeonRoomSwitchLastRoom", + Retcode::RetUgcDungeonRoomGadgetNumLimit => "RetUgcDungeonRoomGadgetNumLimit", + Retcode::RetUgcDungeonRoomMonsterNumLimit => { + "RetUgcDungeonRoomMonsterNumLimit" + } + Retcode::RetUgcDungeonNoTrialSuccRecord => "RetUgcDungeonNoTrialSuccRecord", + Retcode::RetUgcDungeonNumLimit => "RetUgcDungeonNumLimit", + Retcode::RetUgcDungeonInEditDungeon => "RetUgcDungeonInEditDungeon", + Retcode::RetUgcDungeonNotInDungeon => "RetUgcDungeonNotInDungeon", + Retcode::RetUgcDungeonChangeSettingTooFrequent => { + "RetUgcDungeonChangeSettingTooFrequent" + } + Retcode::RetUgcDungeonNotOwner => "RetUgcDungeonNotOwner", + Retcode::RetUgcDungeonNotPublished => "RetUgcDungeonNotPublished", + Retcode::RetUgcDungeonShareCodeGenFail => "RetUgcDungeonShareCodeGenFail", + Retcode::RetUgcDungeonRoomLimit => "RetUgcDungeonRoomLimit", + Retcode::RetUgcDungeonShareCodeInvalid => "RetUgcDungeonShareCodeInvalid", + Retcode::RetUgcDungeonRoomSuiteNumLimit => "RetUgcDungeonRoomSuiteNumLimit", + Retcode::RetUgcDungeonTowerHasBeenPurchased => { + "RetUgcDungeonTowerHasBeenPurchased" + } + Retcode::RetUgcDungeonPlayerAddItemOverStack => { + "RetUgcDungeonPlayerAddItemOverStack" + } + Retcode::RetUgcDungeonPlayerTowerLevelUpLimited => { + "RetUgcDungeonPlayerTowerLevelUpLimited" + } + Retcode::RetUgcDungeonPlayerConsumeItemNotEnough => { + "RetUgcDungeonPlayerConsumeItemNotEnough" + } + Retcode::RetUgcDungeonPlayerTowerAlreadyLevelUp => { + "RetUgcDungeonPlayerTowerAlreadyLevelUp" + } + Retcode::RetUgcDungeonPlayerUgcTargetIsNotExist => { + "RetUgcDungeonPlayerUgcTargetIsNotExist" + } + Retcode::RetUgcDungeonPlayerUgcTargetIsNotActive => { + "RetUgcDungeonPlayerUgcTargetIsNotActive" + } + Retcode::RetUgcDungeonCheckLayoutFailed => "RetUgcDungeonCheckLayoutFailed", + Retcode::RetUgcDungeonPlayerTowerAlreadyRemoved => { + "RetUgcDungeonPlayerTowerAlreadyRemoved" + } + Retcode::RetUgcDungeonPlayerAddItemOverLimit => { + "RetUgcDungeonPlayerAddItemOverLimit" + } + Retcode::RetUgcDungeonPlayerGrantAvatarOverLimit => { + "RetUgcDungeonPlayerGrantAvatarOverLimit" + } + Retcode::RetUgcDungeonDuplicateStar => "RetUgcDungeonDuplicateStar", + Retcode::RetUgcDungeonCancelStarNotExist => "RetUgcDungeonCancelStarNotExist", + Retcode::RetUgcDungeonStarReachLimit => "RetUgcDungeonStarReachLimit", + Retcode::RetUgcDungeonInternalFail => "RetUgcDungeonInternalFail", + Retcode::RetUgcDungeonPlayerPublishBanned => { + "RetUgcDungeonPlayerPublishBanned" + } + Retcode::RetUgcDungeonCustomEditIsNotOpen => { + "RetUgcDungeonCustomEditIsNotOpen" + } + Retcode::RetUgcDungeonOfficialLevelIsNotOpen => { + "RetUgcDungeonOfficialLevelIsNotOpen" + } + Retcode::RetUgcDungeonTemplateImportIsNotOpen => { + "RetUgcDungeonTemplateImportIsNotOpen" + } + Retcode::RetTargetShootingLevelNotOpen => "RetTargetShootingLevelNotOpen", + Retcode::RetTargetShootingPlayerNumNotValid => { + "RetTargetShootingPlayerNumNotValid" + } + Retcode::RetTargetShootingPlayNotOpen => "RetTargetShootingPlayNotOpen", + Retcode::RetTargetShootingConfigNotFound => "RetTargetShootingConfigNotFound", + Retcode::RetShuffleBoardLevelNotOpen => "RetShuffleBoardLevelNotOpen", + Retcode::RetShuffleBoardNotInPenumbraScene => { + "RetShuffleBoardNotInPenumbraScene" + } + Retcode::RetShuffleBoardLevelMismatch => "RetShuffleBoardLevelMismatch", + Retcode::RetShuffleBoardAlreadyPlaying => "RetShuffleBoardAlreadyPlaying", + Retcode::RetRaffleTicketInvalidBonusId => "RetRaffleTicketInvalidBonusId", + Retcode::RetRaffleTicketPrerequisiteNotMet => { + "RetRaffleTicketPrerequisiteNotMet" + } + Retcode::RetRaffleTicketNotEnough => "RetRaffleTicketNotEnough", + Retcode::RetFlightGearLevelNotOpen => "RetFlightGearLevelNotOpen", + Retcode::RetFlightGearInMpMode => "RetFlightGearInMpMode", + Retcode::RetAnimalViewAvatarIsClosingToAnimal => { + "RetAnimalViewAvatarIsClosingToAnimal" + } + Retcode::RetAnimalViewNotEquipWidget => "RetAnimalViewNotEquipWidget", + Retcode::RetCombinePointNotEnough => "RetCombinePointNotEnough", + Retcode::RetToyBattleCurrentLevelNotOpen => "RetToyBattleCurrentLevelNotOpen", + Retcode::RetToyBattleCurrentNotPlaying => "RetToyBattleCurrentNotPlaying", + Retcode::RetFontaineGatherInvalidGatherTracking => { + "RetFontaineGatherInvalidGatherTracking" + } + Retcode::RetFontaineGatherInvalidMonsterTracking => { + "RetFontaineGatherInvalidMonsterTracking" + } + Retcode::RetFishblasterLevelNotOpen => "RetFishblasterLevelNotOpen", + Retcode::RetFishblasterNotInRightScene => "RetFishblasterNotInRightScene", + Retcode::RetFishblasterLevelMismatch => "RetFishblasterLevelMismatch", + Retcode::RetFishblasterAlreadyPlaying => "RetFishblasterAlreadyPlaying", + Retcode::RetGoalChallengeStageNotOpen => "RetGoalChallengeStageNotOpen", + Retcode::RetGoalChallengeInvalidTeam => "RetGoalChallengeInvalidTeam", + Retcode::RetAlchemySimCoinNotEnough => "RetAlchemySimCoinNotEnough", + Retcode::RetAlchemySimCropExceedLimit => "RetAlchemySimCropExceedLimit", + Retcode::RetAlchemySimFarmlandSameCrop => "RetAlchemySimFarmlandSameCrop", + Retcode::RetAlchemySimCropNoHarvestableLand => { + "RetAlchemySimCropNoHarvestableLand" + } + Retcode::RetAlchemySimCropNotEnough => "RetAlchemySimCropNotEnough", + Retcode::RetAlchemySimCropNotUnlocked => "RetAlchemySimCropNotUnlocked", + Retcode::RetAlchemySimFarmlandNotReady => "RetAlchemySimFarmlandNotReady", + Retcode::RetAlchemySimCropRankMax => "RetAlchemySimCropRankMax", + Retcode::RetAlchemySimFarmlandIsNotHarvested => { + "RetAlchemySimFarmlandIsNotHarvested" + } + Retcode::RetAlchemySimTechTreeAlreadyUnlocked => { + "RetAlchemySimTechTreeAlreadyUnlocked" + } + Retcode::RetAlchemySimPotionNotExist => "RetAlchemySimPotionNotExist", + Retcode::RetAlchemySimNotInTargetExam => "RetAlchemySimNotInTargetExam", + Retcode::RetAlchemySimRoundAlchemyCountOver => { + "RetAlchemySimRoundAlchemyCountOver" + } + Retcode::RetAlchemySimInternalLogicError => "RetAlchemySimInternalLogicError", + Retcode::RetAlchemySimCropOnForbiddenPos => "RetAlchemySimCropOnForbiddenPos", + Retcode::RetAlchemySimCropOverlapOverLimit => { + "RetAlchemySimCropOverlapOverLimit" + } + Retcode::RetAlchemySimPuzzleRateNotEnough => { + "RetAlchemySimPuzzleRateNotEnough" + } + Retcode::RetAlchemySimPotionCantUpgrade => "RetAlchemySimPotionCantUpgrade", + Retcode::RetAlchemySimExamCountNotEnough => "RetAlchemySimExamCountNotEnough", + Retcode::RetAlchemySimTechTreeNotAllowed => "RetAlchemySimTechTreeNotAllowed", + Retcode::RetAlchemySimCropNoRipenLand => "RetAlchemySimCropNoRipenLand", + Retcode::RetAlchemySimUnfinishQuest => "RetAlchemySimUnfinishQuest", + Retcode::RetAlchemySimInvalidRoundState => "RetAlchemySimInvalidRoundState", + Retcode::RetAlchemySimCropUpgradeExpOverflow => { + "RetAlchemySimCropUpgradeExpOverflow" + } + Retcode::RetAlchemySimCropUpgradeNotUnlocked => { + "RetAlchemySimCropUpgradeNotUnlocked" + } + Retcode::RetAlchemySimFinishRoundFrequency => { + "RetAlchemySimFinishRoundFrequency" + } + Retcode::RetAlchemySimTemplateAlchemyNotUnlocked => { + "RetAlchemySimTemplateAlchemyNotUnlocked" + } + Retcode::RetCatcafeLayoutStageNotRight => "RetCatcafeLayoutStageNotRight", + Retcode::RetCatcafeLayoutNotRight => "RetCatcafeLayoutNotRight", + Retcode::RetStaminaFightIsInOtherDungeon => "RetStaminaFightIsInOtherDungeon", + Retcode::RetEffigyChallengeV5LevelNotOpen => { + "RetEffigyChallengeV5LevelNotOpen" + } + Retcode::RetEffigyChallengeV5InvalidSupport => { + "RetEffigyChallengeV5InvalidSupport" + } + Retcode::RetEffigyChallengeV5InvalidPlayerNum => { + "RetEffigyChallengeV5InvalidPlayerNum" + } + Retcode::RetEffigyChallengeV5InCombat => "RetEffigyChallengeV5InCombat", + Retcode::RetEffigyChallengeV5InvalidScene => { + "RetEffigyChallengeV5InvalidScene" + } + Retcode::RetBlueprintSlotNotFound => "RetBlueprintSlotNotFound", + Retcode::RetFurnitureSuiteIdInvalid => "RetFurnitureSuiteIdInvalid", + Retcode::RetWishlistBatchOperateOutOfLimit => { + "RetWishlistBatchOperateOutOfLimit" + } + Retcode::RetHideAndSeekV4GameNotOpen => "RetHideAndSeekV4GameNotOpen", + Retcode::RetHideAndSeekV4PlayMapNotChosen => { + "RetHideAndSeekV4PlayMapNotChosen" + } + Retcode::RetHideAndSeekV4PlayerCountNotEnough => { + "RetHideAndSeekV4PlayerCountNotEnough" + } + Retcode::RetHideAndSeekV4PlayMapNotOpen => "RetHideAndSeekV4PlayMapNotOpen", + Retcode::RetWatergunLevelNotOpen => "RetWatergunLevelNotOpen", + Retcode::RetAcrobaticsBattleStageNotOpen => "RetAcrobaticsBattleStageNotOpen", + Retcode::RetAcrobaticsBattleInvalidTeam => "RetAcrobaticsBattleInvalidTeam", + Retcode::RetMonsterVsMonsterLevelNotOpen => "RetMonsterVsMonsterLevelNotOpen", + Retcode::RetRechargeDiskLevelNotOpen => "RetRechargeDiskLevelNotOpen", + Retcode::RetRechargeDiskInvalidLevelBuild => { + "RetRechargeDiskInvalidLevelBuild" + } + Retcode::RetRechargeDiskCurSceneInvalid => "RetRechargeDiskCurSceneInvalid", + Retcode::RetActivityPreviewTrialInCd => "RetActivityPreviewTrialInCd", + Retcode::RetBirdBallMpLevelNotOpen => "RetBirdBallMpLevelNotOpen", + Retcode::RetBirdBallDraftPlayerNumInvalid => { + "RetBirdBallDraftPlayerNumInvalid" + } + Retcode::RetFairyTalesLotterAreaIsNotOpen => { + "RetFairyTalesLotterAreaIsNotOpen" + } + Retcode::RetFairyTalesLotterLeftCntNotEnough => { + "RetFairyTalesLotterLeftCntNotEnough" + } + Retcode::RetFairyTalesToyTotalLeftCntNotEnough => { + "RetFairyTalesToyTotalLeftCntNotEnough" + } + Retcode::RetFairyTalesWishToyTypeOverLimit => { + "RetFairyTalesWishToyTypeOverLimit" + } + Retcode::RetFairyTalesToyCustomGadgetContentInvalid => { + "RetFairyTalesToyCustomGadgetContentInvalid" + } + Retcode::RetFairyTalesCombatLevelNotOpen => "RetFairyTalesCombatLevelNotOpen", + Retcode::RetFairyTalesTicketPrerequisiteNotMet => { + "RetFairyTalesTicketPrerequisiteNotMet" + } + Retcode::RetFairyTalesTicketNotEnough => "RetFairyTalesTicketNotEnough", + Retcode::RetActivityTeamInvalidSize => "RetActivityTeamInvalidSize", + Retcode::RetActivityInvalidTrialAvatar => "RetActivityInvalidTrialAvatar", + Retcode::RetActivityForbiddenTrialAvatar => "RetActivityForbiddenTrialAvatar", + Retcode::RetRenameInvalidQuestState => "RetRenameInvalidQuestState", + Retcode::RetRenameConflicted => "RetRenameConflicted", + Retcode::RetReliquaryOfferPurchaseVersionIdxError => { + "RetReliquaryOfferPurchaseVersionIdxError" + } + Retcode::RetReliquaryOfferVersionTimesLimit => { + "RetReliquaryOfferVersionTimesLimit" + } + Retcode::RetReliquaryOfferProgressNotEnough => { + "RetReliquaryOfferProgressNotEnough" + } + Retcode::RetReliquaryOfferProgressOverLimit => { + "RetReliquaryOfferProgressOverLimit" + } + Retcode::RetReliquaryPurchaseSuiteTimesOverLimit => { + "RetReliquaryPurchaseSuiteTimesOverLimit" + } + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "RetSucc" => Some(Self::RetSucc), + "RetFail" => Some(Self::RetFail), + "RetSvrError" => Some(Self::RetSvrError), + "RetUnknownError" => Some(Self::RetUnknownError), + "RetFrequent" => Some(Self::RetFrequent), + "RetNodeForwardError" => Some(Self::RetNodeForwardError), + "RetNotFoundConfig" => Some(Self::RetNotFoundConfig), + "RetSystemBusy" => Some(Self::RetSystemBusy), + "RetGmUidBind" => Some(Self::RetGmUidBind), + "RetForbidden" => Some(Self::RetForbidden), + "RetStopRegister" => Some(Self::RetStopRegister), + "RetStopServer" => Some(Self::RetStopServer), + "RetAccountVeirfyError" => Some(Self::RetAccountVeirfyError), + "RetAccountFreeze" => Some(Self::RetAccountFreeze), + "RetRepeatLogin" => Some(Self::RetRepeatLogin), + "RetClientVersionError" => Some(Self::RetClientVersionError), + "RetTokenError" => Some(Self::RetTokenError), + "RetAccountNotExist" => Some(Self::RetAccountNotExist), + "RetWaitOtherLogin" => Some(Self::RetWaitOtherLogin), + "RetAnotherLogin" => Some(Self::RetAnotherLogin), + "RetClientForceUpdate" => Some(Self::RetClientForceUpdate), + "RetBlackUid" => Some(Self::RetBlackUid), + "RetLoginDbFail" => Some(Self::RetLoginDbFail), + "RetLoginInitFail" => Some(Self::RetLoginInitFail), + "RetMysqlDuplicate" => Some(Self::RetMysqlDuplicate), + "RetMaxPlayer" => Some(Self::RetMaxPlayer), + "RetAntiAddict" => Some(Self::RetAntiAddict), + "RetPsPlayerWithoutOnlineId" => Some(Self::RetPsPlayerWithoutOnlineId), + "RetOnlineIdNotFound" => Some(Self::RetOnlineIdNotFound), + "RetOnlneIdNotMatch" => Some(Self::RetOnlneIdNotMatch), + "RetRegisterIsFull" => Some(Self::RetRegisterIsFull), + "RetChecksumInvalid" => Some(Self::RetChecksumInvalid), + "RetBlackRegisterIp" => Some(Self::RetBlackRegisterIp), + "RetExceedRegisterRate" => Some(Self::RetExceedRegisterRate), + "RetUnknownPlatform" => Some(Self::RetUnknownPlatform), + "RetTokenParamError" => Some(Self::RetTokenParamError), + "RetAntiOfflineError" => Some(Self::RetAntiOfflineError), + "RetBlackLoginIp" => Some(Self::RetBlackLoginIp), + "RetGetTokenSessionHasUid" => Some(Self::RetGetTokenSessionHasUid), + "RetEnvironmentError" => Some(Self::RetEnvironmentError), + "RetCheckClientVersionHashFail" => Some(Self::RetCheckClientVersionHashFail), + "RetMinorRegisterFobidden" => Some(Self::RetMinorRegisterFobidden), + "RetSecurityLibraryError" => Some(Self::RetSecurityLibraryError), + "RetGateTicketCheckError" => Some(Self::RetGateTicketCheckError), + "RetProtoMixVersionNotMatch" => Some(Self::RetProtoMixVersionNotMatch), + "RetAccountTypeStopRegister" => Some(Self::RetAccountTypeStopRegister), + "RetAvatarInCd" => Some(Self::RetAvatarInCd), + "RetAvatarNotAlive" => Some(Self::RetAvatarNotAlive), + "RetAvatarNotOnScene" => Some(Self::RetAvatarNotOnScene), + "RetCanNotFindAvatar" => Some(Self::RetCanNotFindAvatar), + "RetCanNotDelCurAvatar" => Some(Self::RetCanNotDelCurAvatar), + "RetDuplicateAvatar" => Some(Self::RetDuplicateAvatar), + "RetAvatarIsSameOne" => Some(Self::RetAvatarIsSameOne), + "RetAvatarLevelLessThan" => Some(Self::RetAvatarLevelLessThan), + "RetAvatarCanNotChangeElement" => Some(Self::RetAvatarCanNotChangeElement), + "RetAvatarBreakLevelLessThan" => Some(Self::RetAvatarBreakLevelLessThan), + "RetAvatarOnMaxBreakLevel" => Some(Self::RetAvatarOnMaxBreakLevel), + "RetAvatarIdAlreadyExist" => Some(Self::RetAvatarIdAlreadyExist), + "RetAvatarNotDead" => Some(Self::RetAvatarNotDead), + "RetAvatarIsReviving" => Some(Self::RetAvatarIsReviving), + "RetAvatarIdError" => Some(Self::RetAvatarIdError), + "RetRepeatSetPlayerBornData" => Some(Self::RetRepeatSetPlayerBornData), + "RetPlayerLevelLessThan" => Some(Self::RetPlayerLevelLessThan), + "RetAvatarLimitLevelError" => Some(Self::RetAvatarLimitLevelError), + "RetCurAvatarNotAlive" => Some(Self::RetCurAvatarNotAlive), + "RetCanNotFindTeam" => Some(Self::RetCanNotFindTeam), + "RetCanNotFindCurTeam" => Some(Self::RetCanNotFindCurTeam), + "RetAvatarNotExistInTeam" => Some(Self::RetAvatarNotExistInTeam), + "RetCanNotRemoveCurAvatarFromTeam" => { + Some(Self::RetCanNotRemoveCurAvatarFromTeam) + } + "RetCanNotUseReviveItemForCurAvatar" => { + Some(Self::RetCanNotUseReviveItemForCurAvatar) + } + "RetTeamCostExceedLimit" => Some(Self::RetTeamCostExceedLimit), + "RetTeamAvatarInExpedition" => Some(Self::RetTeamAvatarInExpedition), + "RetTeamCanNotChoseReplaceUse" => Some(Self::RetTeamCanNotChoseReplaceUse), + "RetAvatarInCombat" => Some(Self::RetAvatarInCombat), + "RetPlayerTimeLocked" => Some(Self::RetPlayerTimeLocked), + "RetNicknameUtf8Error" => Some(Self::RetNicknameUtf8Error), + "RetNicknameTooLong" => Some(Self::RetNicknameTooLong), + "RetNicknameWordIllegal" => Some(Self::RetNicknameWordIllegal), + "RetNicknameTooManyDigits" => Some(Self::RetNicknameTooManyDigits), + "RetNicknameIsEmpty" => Some(Self::RetNicknameIsEmpty), + "RetNicknameMonthlyLimit" => Some(Self::RetNicknameMonthlyLimit), + "RetNicknameNotChanged" => Some(Self::RetNicknameNotChanged), + "RetPlayerNotOnline" => Some(Self::RetPlayerNotOnline), + "RetOpenStateNotOpen" => Some(Self::RetOpenStateNotOpen), + "RetFeatureClosed" => Some(Self::RetFeatureClosed), + "RetAvatarExpeditionAvatarDie" => Some(Self::RetAvatarExpeditionAvatarDie), + "RetAvatarExpeditionCountLimit" => Some(Self::RetAvatarExpeditionCountLimit), + "RetAvatarExpeditionMainForbid" => Some(Self::RetAvatarExpeditionMainForbid), + "RetAvatarExpeditionTrialForbid" => { + Some(Self::RetAvatarExpeditionTrialForbid) + } + "RetTeamNameIllegal" => Some(Self::RetTeamNameIllegal), + "RetIsNotInStandby" => Some(Self::RetIsNotInStandby), + "RetIsInDungeon" => Some(Self::RetIsInDungeon), + "RetIsInLockAvatarQuest" => Some(Self::RetIsInLockAvatarQuest), + "RetIsUsingTrialAvatar" => Some(Self::RetIsUsingTrialAvatar), + "RetIsUsingTempAvatar" => Some(Self::RetIsUsingTempAvatar), + "RetNotHasFlycloak" => Some(Self::RetNotHasFlycloak), + "RetFetterRewardAlreadyGot" => Some(Self::RetFetterRewardAlreadyGot), + "RetFetterRewardLevelNotEnough" => Some(Self::RetFetterRewardLevelNotEnough), + "RetWorldLevelAdjustMinLevel" => Some(Self::RetWorldLevelAdjustMinLevel), + "RetWorldLevelAdjustCd" => Some(Self::RetWorldLevelAdjustCd), + "RetNotHasCostume" => Some(Self::RetNotHasCostume), + "RetCostumeAvatarError" => Some(Self::RetCostumeAvatarError), + "RetFlycloakPlatformTypeErr" => Some(Self::RetFlycloakPlatformTypeErr), + "RetInTransfer" => Some(Self::RetInTransfer), + "RetIsInLockAvatar" => Some(Self::RetIsInLockAvatar), + "RetFullBackupTeam" => Some(Self::RetFullBackupTeam), + "RetBackupTeamIdNotValid" => Some(Self::RetBackupTeamIdNotValid), + "RetBackupTeamIsCurTeam" => Some(Self::RetBackupTeamIsCurTeam), + "RetAvatarRenameInCd" => Some(Self::RetAvatarRenameInCd), + "RetAvatarRenameInAudit" => Some(Self::RetAvatarRenameInAudit), + "RetAvatarRenameInIpBlackList" => Some(Self::RetAvatarRenameInIpBlackList), + "RetTeamAvatarIsLocked" => Some(Self::RetTeamAvatarIsLocked), + "RetPlayerHasTrialAvatar" => Some(Self::RetPlayerHasTrialAvatar), + "RetAvatarExpeditionSlotNotEnough" => { + Some(Self::RetAvatarExpeditionSlotNotEnough) + } + "RetAvatarExpeditionNoAvatarCanTakeReward" => { + Some(Self::RetAvatarExpeditionNoAvatarCanTakeReward) + } + "RetAvatarUpgradeItemExpOverflow" => { + Some(Self::RetAvatarUpgradeItemExpOverflow) + } + "RetAsyncWordFilterInCd" => Some(Self::RetAsyncWordFilterInCd), + "RetNotHasTraceEffect" => Some(Self::RetNotHasTraceEffect), + "RetTraceEffectAvatarError" => Some(Self::RetTraceEffectAvatarError), + "RetPlayerTimeLockedByQuest" => Some(Self::RetPlayerTimeLockedByQuest), + "RetFloatError" => Some(Self::RetFloatError), + "RetNpcNotExist" => Some(Self::RetNpcNotExist), + "RetNpcTooFar" => Some(Self::RetNpcTooFar), + "RetNotCurrentTalk" => Some(Self::RetNotCurrentTalk), + "RetNpcCreateFail" => Some(Self::RetNpcCreateFail), + "RetNpcMoveFail" => Some(Self::RetNpcMoveFail), + "RetQuestNotExist" => Some(Self::RetQuestNotExist), + "RetQuestIsFail" => Some(Self::RetQuestIsFail), + "RetQuestContentError" => Some(Self::RetQuestContentError), + "RetBargainNotActivated" => Some(Self::RetBargainNotActivated), + "RetBargainFinished" => Some(Self::RetBargainFinished), + "RetInferenceAssociateWordError" => { + Some(Self::RetInferenceAssociateWordError) + } + "RetInferenceSubmitWordNoConclusion" => { + Some(Self::RetInferenceSubmitWordNoConclusion) + } + "RetSubmitQuestEventsNotRight" => Some(Self::RetSubmitQuestEventsNotRight), + "RetConfirmContinueMutualQuestCondFailed" => { + Some(Self::RetConfirmContinueMutualQuestCondFailed) + } + "RetConfirmContinueMutualOccupiedFailed" => { + Some(Self::RetConfirmContinueMutualOccupiedFailed) + } + "RetQuestFocusModeInCd" => Some(Self::RetQuestFocusModeInCd), + "RetQuestInFocusMode" => Some(Self::RetQuestInFocusMode), + "RetQuestNotInFocusMode" => Some(Self::RetQuestNotInFocusMode), + "RetParentQuestCannotStartFocus" => { + Some(Self::RetParentQuestCannotStartFocus) + } + "RetParentQuestNotExist" => Some(Self::RetParentQuestNotExist), + "RetBanOpearateFocus" => Some(Self::RetBanOpearateFocus), + "RetQuestFocusAnyGalleryStarted" => { + Some(Self::RetQuestFocusAnyGalleryStarted) + } + "RetQuestFocusUsingInformalAvatar" => { + Some(Self::RetQuestFocusUsingInformalAvatar) + } + "RetQuestFocusOpenstateOff" => Some(Self::RetQuestFocusOpenstateOff), + "RetPointNotUnlocked" => Some(Self::RetPointNotUnlocked), + "RetPointTooFar" => Some(Self::RetPointTooFar), + "RetPointAlreayUnlocked" => Some(Self::RetPointAlreayUnlocked), + "RetEntityNotExist" => Some(Self::RetEntityNotExist), + "RetEnterSceneFail" => Some(Self::RetEnterSceneFail), + "RetPlayerIsEnterScene" => Some(Self::RetPlayerIsEnterScene), + "RetCityMaxLevel" => Some(Self::RetCityMaxLevel), + "RetAreaLocked" => Some(Self::RetAreaLocked), + "RetJoinOtherWait" => Some(Self::RetJoinOtherWait), + "RetWeatherAreaNotFound" => Some(Self::RetWeatherAreaNotFound), + "RetWeatherIsLocked" => Some(Self::RetWeatherIsLocked), + "RetNotInSelfScene" => Some(Self::RetNotInSelfScene), + "RetGroupNotExist" => Some(Self::RetGroupNotExist), + "RetMarkNameIllegal" => Some(Self::RetMarkNameIllegal), + "RetMarkAlreadyExists" => Some(Self::RetMarkAlreadyExists), + "RetMarkOverflow" => Some(Self::RetMarkOverflow), + "RetMarkNotExists" => Some(Self::RetMarkNotExists), + "RetMarkUnknownType" => Some(Self::RetMarkUnknownType), + "RetMarkNameTooLong" => Some(Self::RetMarkNameTooLong), + "RetDistanceLong" => Some(Self::RetDistanceLong), + "RetEnterSceneTokenInvalid" => Some(Self::RetEnterSceneTokenInvalid), + "RetNotInWorldScene" => Some(Self::RetNotInWorldScene), + "RetAnyGalleryStarted" => Some(Self::RetAnyGalleryStarted), + "RetGalleryNotStart" => Some(Self::RetGalleryNotStart), + "RetGalleryInterruptOnlyOnSingleMode" => { + Some(Self::RetGalleryInterruptOnlyOnSingleMode) + } + "RetGalleryCannotInterrupt" => Some(Self::RetGalleryCannotInterrupt), + "RetGalleryWorldNotMeet" => Some(Self::RetGalleryWorldNotMeet), + "RetGallerySceneNotMeet" => Some(Self::RetGallerySceneNotMeet), + "RetCurPlayCannotTransfer" => Some(Self::RetCurPlayCannotTransfer), + "RetCantUseWidgetInHomeScene" => Some(Self::RetCantUseWidgetInHomeScene), + "RetSceneGroupNotMatch" => Some(Self::RetSceneGroupNotMatch), + "RetPosRotInvalid" => Some(Self::RetPosRotInvalid), + "RetMarkInvalidSceneId" => Some(Self::RetMarkInvalidSceneId), + "RetInvalidSceneToUseAnchorPoint" => { + Some(Self::RetInvalidSceneToUseAnchorPoint) + } + "RetEnterHomeSceneFail" => Some(Self::RetEnterHomeSceneFail), + "RetCurSceneIsNull" => Some(Self::RetCurSceneIsNull), + "RetGroupIdError" => Some(Self::RetGroupIdError), + "RetGalleryInterruptNotOwner" => Some(Self::RetGalleryInterruptNotOwner), + "RetNoSpringInArea" => Some(Self::RetNoSpringInArea), + "RetAreaNotInScene" => Some(Self::RetAreaNotInScene), + "RetInvalidCityId" => Some(Self::RetInvalidCityId), + "RetInvalidSceneId" => Some(Self::RetInvalidSceneId), + "RetDestSceneIsNotAllow" => Some(Self::RetDestSceneIsNotAllow), + "RetLevelTagSwitchInCd" => Some(Self::RetLevelTagSwitchInCd), + "RetLevelTagAlreadyExist" => Some(Self::RetLevelTagAlreadyExist), + "RetInvalidAreaId" => Some(Self::RetInvalidAreaId), + "RetGalleryOngoingForbid" => Some(Self::RetGalleryOngoingForbid), + "RetNotInPlayerWorld" => Some(Self::RetNotInPlayerWorld), + "RetMapLayerGroupAlreadyShown" => Some(Self::RetMapLayerGroupAlreadyShown), + "RetInvalidMapLayer" => Some(Self::RetInvalidMapLayer), + "RetGalleryRepeatStart" => Some(Self::RetGalleryRepeatStart), + "RetNotInPlayerScene" => Some(Self::RetNotInPlayerScene), + "RetEnterDungeonNotInValidDungeon" => { + Some(Self::RetEnterDungeonNotInValidDungeon) + } + "RetItemNotExist" => Some(Self::RetItemNotExist), + "RetPackExceedMaxWeight" => Some(Self::RetPackExceedMaxWeight), + "RetItemNotDropable" => Some(Self::RetItemNotDropable), + "RetItemNotUsable" => Some(Self::RetItemNotUsable), + "RetItemInvalidUseCount" => Some(Self::RetItemInvalidUseCount), + "RetItemInvalidDropCount" => Some(Self::RetItemInvalidDropCount), + "RetItemAlreadyExist" => Some(Self::RetItemAlreadyExist), + "RetItemInCooldown" => Some(Self::RetItemInCooldown), + "RetItemCountNotEnough" => Some(Self::RetItemCountNotEnough), + "RetItemInvalidTarget" => Some(Self::RetItemInvalidTarget), + "RetRecipeNotExist" => Some(Self::RetRecipeNotExist), + "RetRecipeLocked" => Some(Self::RetRecipeLocked), + "RetRecipeUnlocked" => Some(Self::RetRecipeUnlocked), + "RetCompoundQueueFull" => Some(Self::RetCompoundQueueFull), + "RetCompoundNotFinish" => Some(Self::RetCompoundNotFinish), + "RetMailItemNotGet" => Some(Self::RetMailItemNotGet), + "RetItemExceedLimit" => Some(Self::RetItemExceedLimit), + "RetAvatarCanNotUse" => Some(Self::RetAvatarCanNotUse), + "RetItemNeedPlayerLevel" => Some(Self::RetItemNeedPlayerLevel), + "RetRecipeNotAutoQte" => Some(Self::RetRecipeNotAutoQte), + "RetCompoundBusyQueue" => Some(Self::RetCompoundBusyQueue), + "RetNeedMoreScoin" => Some(Self::RetNeedMoreScoin), + "RetSkillDepotNotFound" => Some(Self::RetSkillDepotNotFound), + "RetHcoinNotEnough" => Some(Self::RetHcoinNotEnough), + "RetScoinNotEnough" => Some(Self::RetScoinNotEnough), + "RetHcoinExceedLimit" => Some(Self::RetHcoinExceedLimit), + "RetScoinExceedLimit" => Some(Self::RetScoinExceedLimit), + "RetMailExpired" => Some(Self::RetMailExpired), + "RetRewardHasTaken" => Some(Self::RetRewardHasTaken), + "RetCombineCountTooLarge" => Some(Self::RetCombineCountTooLarge), + "RetGivingItemWrong" => Some(Self::RetGivingItemWrong), + "RetGivingIsFinished" => Some(Self::RetGivingIsFinished), + "RetGivingNotActived" => Some(Self::RetGivingNotActived), + "RetForgeQueueFull" => Some(Self::RetForgeQueueFull), + "RetForgeQueueCapacity" => Some(Self::RetForgeQueueCapacity), + "RetForgeQueueNotFound" => Some(Self::RetForgeQueueNotFound), + "RetForgeQueueEmpty" => Some(Self::RetForgeQueueEmpty), + "RetNotSupportItem" => Some(Self::RetNotSupportItem), + "RetItemEmpty" => Some(Self::RetItemEmpty), + "RetVirtualExceedLimit" => Some(Self::RetVirtualExceedLimit), + "RetMaterialExceedLimit" => Some(Self::RetMaterialExceedLimit), + "RetEquipExceedLimit" => Some(Self::RetEquipExceedLimit), + "RetItemShouldHaveNoLevel" => Some(Self::RetItemShouldHaveNoLevel), + "RetWeaponPromoteLevelExceedLimit" => { + Some(Self::RetWeaponPromoteLevelExceedLimit) + } + "RetWeaponLevelInvalid" => Some(Self::RetWeaponLevelInvalid), + "RetUnknowItemType" => Some(Self::RetUnknowItemType), + "RetItemCountIsZero" => Some(Self::RetItemCountIsZero), + "RetItemIsExpired" => Some(Self::RetItemIsExpired), + "RetItemExceedOutputLimit" => Some(Self::RetItemExceedOutputLimit), + "RetEquipLevelHigher" => Some(Self::RetEquipLevelHigher), + "RetEquipCanNotWakeOffWeapon" => Some(Self::RetEquipCanNotWakeOffWeapon), + "RetEquipHasBeenWeared" => Some(Self::RetEquipHasBeenWeared), + "RetEquipWearedCannotDrop" => Some(Self::RetEquipWearedCannotDrop), + "RetAwakenLevelMax" => Some(Self::RetAwakenLevelMax), + "RetMcoinNotEnough" => Some(Self::RetMcoinNotEnough), + "RetMcoinExceedLimit" => Some(Self::RetMcoinExceedLimit), + "RetBatchSetEquipLockStateCd" => Some(Self::RetBatchSetEquipLockStateCd), + "RetResinNotEnough" => Some(Self::RetResinNotEnough), + "RetResinExceedLimit" => Some(Self::RetResinExceedLimit), + "RetResinOpenstateOff" => Some(Self::RetResinOpenstateOff), + "RetResinBoughtCountExceeded" => Some(Self::RetResinBoughtCountExceeded), + "RetResinCardDailyRewardHasTaken" => { + Some(Self::RetResinCardDailyRewardHasTaken) + } + "RetResinCardExpired" => Some(Self::RetResinCardExpired), + "RetAvatarCanNotCook" => Some(Self::RetAvatarCanNotCook), + "RetAttachAvatarCd" => Some(Self::RetAttachAvatarCd), + "RetAutoRecoverOpenstateOff" => Some(Self::RetAutoRecoverOpenstateOff), + "RetAutoRecoverBoughtCountExceeded" => { + Some(Self::RetAutoRecoverBoughtCountExceeded) + } + "RetResinGainFailed" => Some(Self::RetResinGainFailed), + "RetWidgetOrnamentsTypeError" => Some(Self::RetWidgetOrnamentsTypeError), + "RetAllTargetSatiationFull" => Some(Self::RetAllTargetSatiationFull), + "RetForgeWorldLevelNotMatch" => Some(Self::RetForgeWorldLevelNotMatch), + "RetForgePointNotEnough" => Some(Self::RetForgePointNotEnough), + "RetWidgetAnchorPointFull" => Some(Self::RetWidgetAnchorPointFull), + "RetWidgetAnchorPointNotFound" => Some(Self::RetWidgetAnchorPointNotFound), + "RetAllBonfireExceedMaxCount" => Some(Self::RetAllBonfireExceedMaxCount), + "RetBonfireExceedMaxCount" => Some(Self::RetBonfireExceedMaxCount), + "RetLunchBoxDataError" => Some(Self::RetLunchBoxDataError), + "RetInvalidQuickUseWidget" => Some(Self::RetInvalidQuickUseWidget), + "RetInvalidReplaceResinCount" => Some(Self::RetInvalidReplaceResinCount), + "RetPrevDetectedGatherNotFound" => Some(Self::RetPrevDetectedGatherNotFound), + "RetGotAllOneoffGahter" => Some(Self::RetGotAllOneoffGahter), + "RetInvalidWidgetMaterialId" => Some(Self::RetInvalidWidgetMaterialId), + "RetWidgetDetectorNoHintToClear" => { + Some(Self::RetWidgetDetectorNoHintToClear) + } + "RetWidgetAlreadyWithinNearbyRadius" => { + Some(Self::RetWidgetAlreadyWithinNearbyRadius) + } + "RetWidgetClientCollectorNeedPoints" => { + Some(Self::RetWidgetClientCollectorNeedPoints) + } + "RetWidgetInCombat" => Some(Self::RetWidgetInCombat), + "RetWidgetNotSetQuickUse" => Some(Self::RetWidgetNotSetQuickUse), + "RetAlreadyAttachWidget" => Some(Self::RetAlreadyAttachWidget), + "RetEquipIsLocked" => Some(Self::RetEquipIsLocked), + "RetForgeIsLocked" => Some(Self::RetForgeIsLocked), + "RetCombineIsLocked" => Some(Self::RetCombineIsLocked), + "RetForgeOutputStackLimit" => Some(Self::RetForgeOutputStackLimit), + "RetAlreadyDettachWidget" => Some(Self::RetAlreadyDettachWidget), + "RetGadgetBuilderExceedMaxCount" => { + Some(Self::RetGadgetBuilderExceedMaxCount) + } + "RetReunionPrivilegeResinTypeIsNormal" => { + Some(Self::RetReunionPrivilegeResinTypeIsNormal) + } + "RetBonusCountExceedDoubleLimit" => { + Some(Self::RetBonusCountExceedDoubleLimit) + } + "RetReliquaryDecomposeParamError" => { + Some(Self::RetReliquaryDecomposeParamError) + } + "RetItemCombineCountNotEnough" => Some(Self::RetItemCombineCountNotEnough), + "RetGoodsNotExist" => Some(Self::RetGoodsNotExist), + "RetGoodsMaterialNotEnough" => Some(Self::RetGoodsMaterialNotEnough), + "RetGoodsNotInTime" => Some(Self::RetGoodsNotInTime), + "RetGoodsBuyNumNotEnough" => Some(Self::RetGoodsBuyNumNotEnough), + "RetGoodsBuyNumError" => Some(Self::RetGoodsBuyNumError), + "RetShopNotOpen" => Some(Self::RetShopNotOpen), + "RetShopContentNotMatch" => Some(Self::RetShopContentNotMatch), + "RetShopBatchBuyShopLimit" => Some(Self::RetShopBatchBuyShopLimit), + "RetShopBatchBuyCountLimit" => Some(Self::RetShopBatchBuyCountLimit), + "RetGoodsPreconditionNotSatisfied" => { + Some(Self::RetGoodsPreconditionNotSatisfied) + } + "RetChatForbidden" => Some(Self::RetChatForbidden), + "RetChatCd" => Some(Self::RetChatCd), + "RetChatFrequently" => Some(Self::RetChatFrequently), + "RetGadgetNotExist" => Some(Self::RetGadgetNotExist), + "RetGadgetNotInteractive" => Some(Self::RetGadgetNotInteractive), + "RetGadgetNotGatherable" => Some(Self::RetGadgetNotGatherable), + "RetChestIsLocked" => Some(Self::RetChestIsLocked), + "RetGadgetCreateFail" => Some(Self::RetGadgetCreateFail), + "RetWorktopOptionNotExist" => Some(Self::RetWorktopOptionNotExist), + "RetGadgetStatueNotActive" => Some(Self::RetGadgetStatueNotActive), + "RetGadgetStatueOpened" => Some(Self::RetGadgetStatueOpened), + "RetBossChestNoQualification" => Some(Self::RetBossChestNoQualification), + "RetBossChestLifeTimeOver" => Some(Self::RetBossChestLifeTimeOver), + "RetBossChestWeekNumLimit" => Some(Self::RetBossChestWeekNumLimit), + "RetBossChestGuestWorldLevel" => Some(Self::RetBossChestGuestWorldLevel), + "RetBossChestHasTaken" => Some(Self::RetBossChestHasTaken), + "RetBlossomChestNoQualification" => { + Some(Self::RetBlossomChestNoQualification) + } + "RetBlossomChestLifeTimeOver" => Some(Self::RetBlossomChestLifeTimeOver), + "RetBlossomChestHasTaken" => Some(Self::RetBlossomChestHasTaken), + "RetBlossomChestGuestWorldLevel" => { + Some(Self::RetBlossomChestGuestWorldLevel) + } + "RetMpPlayRewardNoQualification" => { + Some(Self::RetMpPlayRewardNoQualification) + } + "RetMpPlayRewardHasTaken" => Some(Self::RetMpPlayRewardHasTaken), + "RetGeneralRewardNoQualification" => { + Some(Self::RetGeneralRewardNoQualification) + } + "RetGeneralRewardLifeTimeOver" => Some(Self::RetGeneralRewardLifeTimeOver), + "RetGeneralRewardHasTaken" => Some(Self::RetGeneralRewardHasTaken), + "RetGadgetNotVehicle" => Some(Self::RetGadgetNotVehicle), + "RetVehicleSlotOccupied" => Some(Self::RetVehicleSlotOccupied), + "RetNotInVehicle" => Some(Self::RetNotInVehicle), + "RetCreateVehicleInCd" => Some(Self::RetCreateVehicleInCd), + "RetCreateVehiclePosInvalid" => Some(Self::RetCreateVehiclePosInvalid), + "RetVehiclePointNotUnlock" => Some(Self::RetVehiclePointNotUnlock), + "RetGadgetInteractCondNotMeet" => Some(Self::RetGadgetInteractCondNotMeet), + "RetGadgetInteractParamError" => Some(Self::RetGadgetInteractParamError), + "RetGadgetCustomCombinationInvalid" => { + Some(Self::RetGadgetCustomCombinationInvalid) + } + "RetDeshretObeliskDuplicateInteract" => { + Some(Self::RetDeshretObeliskDuplicateInteract) + } + "RetDeshretObeliskNoAvailChest" => Some(Self::RetDeshretObeliskNoAvailChest), + "RetVehicleSorushNotReplace" => Some(Self::RetVehicleSorushNotReplace), + "RetVehicleSorushNotUnload" => Some(Self::RetVehicleSorushNotUnload), + "RetVehicleSorushStateNotMatch" => Some(Self::RetVehicleSorushStateNotMatch), + "RetGivingNotInMyWorld" => Some(Self::RetGivingNotInMyWorld), + "RetGivingIsFrozen" => Some(Self::RetGivingIsFrozen), + "RetActivityClose" => Some(Self::RetActivityClose), + "RetActivityItemError" => Some(Self::RetActivityItemError), + "RetActivityContributionNotEnough" => { + Some(Self::RetActivityContributionNotEnough) + } + "RetSeaLampPhaseNotFinish" => Some(Self::RetSeaLampPhaseNotFinish), + "RetSeaLampFlyNumLimit" => Some(Self::RetSeaLampFlyNumLimit), + "RetSeaLampFlyLampWordIllegal" => Some(Self::RetSeaLampFlyLampWordIllegal), + "RetActivityWatcherRewardTaken" => Some(Self::RetActivityWatcherRewardTaken), + "RetActivityWatcherRewardNotFinished" => { + Some(Self::RetActivityWatcherRewardNotFinished) + } + "RetSalesmanAlreadyDelivered" => Some(Self::RetSalesmanAlreadyDelivered), + "RetSalesmanRewardCountNotEnough" => { + Some(Self::RetSalesmanRewardCountNotEnough) + } + "RetSalesmanPositionInvalid" => Some(Self::RetSalesmanPositionInvalid), + "RetDeliverNotFinishAllQuest" => Some(Self::RetDeliverNotFinishAllQuest), + "RetDeliverAlreadyTakeDailyReward" => { + Some(Self::RetDeliverAlreadyTakeDailyReward) + } + "RetAsterProgressExceedLimit" => Some(Self::RetAsterProgressExceedLimit), + "RetAsterCreditExceedLimit" => Some(Self::RetAsterCreditExceedLimit), + "RetAsterTokenExceedLimit" => Some(Self::RetAsterTokenExceedLimit), + "RetAsterCreditNotEnough" => Some(Self::RetAsterCreditNotEnough), + "RetAsterTokenNotEnough" => Some(Self::RetAsterTokenNotEnough), + "RetAsterSpecialRewardHasTaken" => Some(Self::RetAsterSpecialRewardHasTaken), + "RetFlightGroupActivityNotStarted" => { + Some(Self::RetFlightGroupActivityNotStarted) + } + "RetAsterMidPreviousBattleNotFinished" => { + Some(Self::RetAsterMidPreviousBattleNotFinished) + } + "RetDragonSpineShimmeringEssenceExceedLimit" => { + Some(Self::RetDragonSpineShimmeringEssenceExceedLimit) + } + "RetDragonSpineWarmEssenceExceedLimit" => { + Some(Self::RetDragonSpineWarmEssenceExceedLimit) + } + "RetDragonSpineWondrousEssenceExceedLimit" => { + Some(Self::RetDragonSpineWondrousEssenceExceedLimit) + } + "RetDragonSpineShimmeringEssenceNotEnough" => { + Some(Self::RetDragonSpineShimmeringEssenceNotEnough) + } + "RetDragonSpineWarmEssenceNotEnough" => { + Some(Self::RetDragonSpineWarmEssenceNotEnough) + } + "RetDragonSpineWondrousEssenceNotEnough" => { + Some(Self::RetDragonSpineWondrousEssenceNotEnough) + } + "RetEffigyFirstPassRewardHasTaken" => { + Some(Self::RetEffigyFirstPassRewardHasTaken) + } + "RetEffigyRewardHasTaken" => Some(Self::RetEffigyRewardHasTaken), + "RetTreasureMapAddTokenExceedLimit" => { + Some(Self::RetTreasureMapAddTokenExceedLimit) + } + "RetTreasureMapTokenNotEnought" => Some(Self::RetTreasureMapTokenNotEnought), + "RetSeaLampCoinExceedLimit" => Some(Self::RetSeaLampCoinExceedLimit), + "RetSeaLampCoinNotEnough" => Some(Self::RetSeaLampCoinNotEnough), + "RetSeaLampPopularityExceedLimit" => { + Some(Self::RetSeaLampPopularityExceedLimit) + } + "RetActivityAvatarRewardNotOpen" => { + Some(Self::RetActivityAvatarRewardNotOpen) + } + "RetActivityAvatarRewardHasTaken" => { + Some(Self::RetActivityAvatarRewardHasTaken) + } + "RetArenaActivityAlreadyStarted" => { + Some(Self::RetArenaActivityAlreadyStarted) + } + "RetTalentAlreayUnlocked" => Some(Self::RetTalentAlreayUnlocked), + "RetPrevTalentNotUnlocked" => Some(Self::RetPrevTalentNotUnlocked), + "RetBigTalentPointNotEnough" => Some(Self::RetBigTalentPointNotEnough), + "RetSmallTalentPointNotEnough" => Some(Self::RetSmallTalentPointNotEnough), + "RetProudSkillAlreadyGot" => Some(Self::RetProudSkillAlreadyGot), + "RetPrevProudSkillNotGet" => Some(Self::RetPrevProudSkillNotGet), + "RetProudSkillMaxLevel" => Some(Self::RetProudSkillMaxLevel), + "RetCandidateSkillDepotIdNotFind" => { + Some(Self::RetCandidateSkillDepotIdNotFind) + } + "RetSkillDepotIsTheSame" => Some(Self::RetSkillDepotIsTheSame), + "RetMonsterNotExist" => Some(Self::RetMonsterNotExist), + "RetMonsterCreateFail" => Some(Self::RetMonsterCreateFail), + "RetDungeonEnterFail" => Some(Self::RetDungeonEnterFail), + "RetDungeonQuitFail" => Some(Self::RetDungeonQuitFail), + "RetDungeonEnterExceedDayCount" => Some(Self::RetDungeonEnterExceedDayCount), + "RetDungeonReviveExceedMaxCount" => { + Some(Self::RetDungeonReviveExceedMaxCount) + } + "RetDungeonReviveFail" => Some(Self::RetDungeonReviveFail), + "RetDungeonNotSucceed" => Some(Self::RetDungeonNotSucceed), + "RetDungeonCanNotCancel" => Some(Self::RetDungeonCanNotCancel), + "RetDestDungeonSettled" => Some(Self::RetDestDungeonSettled), + "RetDungeonCandidateTeamIsFull" => Some(Self::RetDungeonCandidateTeamIsFull), + "RetDungeonCandidateTeamIsDismiss" => { + Some(Self::RetDungeonCandidateTeamIsDismiss) + } + "RetDungeonCandidateTeamNotAllReady" => { + Some(Self::RetDungeonCandidateTeamNotAllReady) + } + "RetDungeonCandidateTeamHasRepeatAvatar" => { + Some(Self::RetDungeonCandidateTeamHasRepeatAvatar) + } + "RetDungeonCandidateNotSingelPass" => { + Some(Self::RetDungeonCandidateNotSingelPass) + } + "RetDungeonReplayNeedAllPlayerDie" => { + Some(Self::RetDungeonReplayNeedAllPlayerDie) + } + "RetDungeonReplayHasReviveCount" => { + Some(Self::RetDungeonReplayHasReviveCount) + } + "RetDungeonOthersLeave" => Some(Self::RetDungeonOthersLeave), + "RetDungeonEnterLevelLimit" => Some(Self::RetDungeonEnterLevelLimit), + "RetDungeonCannotEnterPlotInMp" => Some(Self::RetDungeonCannotEnterPlotInMp), + "RetDungeonDropSubfieldLimit" => Some(Self::RetDungeonDropSubfieldLimit), + "RetDungeonBeInvitePlayerAvatarAllDie" => { + Some(Self::RetDungeonBeInvitePlayerAvatarAllDie) + } + "RetDungeonCannotKick" => Some(Self::RetDungeonCannotKick), + "RetDungeonCandidateTeamSomeoneLevelLimit" => { + Some(Self::RetDungeonCandidateTeamSomeoneLevelLimit) + } + "RetDungeonInForceQuit" => Some(Self::RetDungeonInForceQuit), + "RetDungeonGuestQuitDungeon" => Some(Self::RetDungeonGuestQuitDungeon), + "RetDungeonTicketFail" => Some(Self::RetDungeonTicketFail), + "RetCurDungeonSettled" => Some(Self::RetCurDungeonSettled), + "RetCurDungeonNotPlot" => Some(Self::RetCurDungeonNotPlot), + "RetCurDungeonNotAllowSwitchTeam" => { + Some(Self::RetCurDungeonNotAllowSwitchTeam) + } + "RetDungeonEnteredByCandidateTeam" => { + Some(Self::RetDungeonEnteredByCandidateTeam) + } + "RetDungeonSwitchTeamBannedByPlay" => { + Some(Self::RetDungeonSwitchTeamBannedByPlay) + } + "RetDungeonEnterTeamInternalError" => { + Some(Self::RetDungeonEnterTeamInternalError) + } + "RetDungeonEnterTeamSomeoneLevelLimit" => { + Some(Self::RetDungeonEnterTeamSomeoneLevelLimit) + } + "RetDungeonEnterTeamSomeoneNotInSceneTeam" => { + Some(Self::RetDungeonEnterTeamSomeoneNotInSceneTeam) + } + "RetMpNotInMyWorld" => Some(Self::RetMpNotInMyWorld), + "RetMpInMpMode" => Some(Self::RetMpInMpMode), + "RetMpSceneIsFull" => Some(Self::RetMpSceneIsFull), + "RetMpModeNotAvailable" => Some(Self::RetMpModeNotAvailable), + "RetMpPlayerNotEnterable" => Some(Self::RetMpPlayerNotEnterable), + "RetMpQuestBlockMp" => Some(Self::RetMpQuestBlockMp), + "RetMpInRoomScene" => Some(Self::RetMpInRoomScene), + "RetMpWorldIsFull" => Some(Self::RetMpWorldIsFull), + "RetMpPlayerNotAllowEnter" => Some(Self::RetMpPlayerNotAllowEnter), + "RetMpPlayerDisconnected" => Some(Self::RetMpPlayerDisconnected), + "RetMpNotInMpMode" => Some(Self::RetMpNotInMpMode), + "RetMpOwnerNotEnter" => Some(Self::RetMpOwnerNotEnter), + "RetMpAllowEnterPlayerFull" => Some(Self::RetMpAllowEnterPlayerFull), + "RetMpTargetPlayerInTransfer" => Some(Self::RetMpTargetPlayerInTransfer), + "RetMpTargetEnteringOther" => Some(Self::RetMpTargetEnteringOther), + "RetMpOtherEntering" => Some(Self::RetMpOtherEntering), + "RetMpEnterMainPlayerInPlot" => Some(Self::RetMpEnterMainPlayerInPlot), + "RetMpNotPsPlayer" => Some(Self::RetMpNotPsPlayer), + "RetMpPlayNotActive" => Some(Self::RetMpPlayNotActive), + "RetMpPlayRemainRewards" => Some(Self::RetMpPlayRemainRewards), + "RetMpPlayNoReward" => Some(Self::RetMpPlayNoReward), + "RetMpOpenStateFail" => Some(Self::RetMpOpenStateFail), + "RetMpPlayerInBlacklist" => Some(Self::RetMpPlayerInBlacklist), + "RetMpReplyTimeout" => Some(Self::RetMpReplyTimeout), + "RetMpIsBlock" => Some(Self::RetMpIsBlock), + "RetMpEnterMainPlayerInMpPlay" => Some(Self::RetMpEnterMainPlayerInMpPlay), + "RetMpInMpPlayBattle" => Some(Self::RetMpInMpPlayBattle), + "RetMpGuestHasRewardRemained" => Some(Self::RetMpGuestHasRewardRemained), + "RetMpQuitMpInvalid" => Some(Self::RetMpQuitMpInvalid), + "RetMpOtherDataVersionNotLatest" => { + Some(Self::RetMpOtherDataVersionNotLatest) + } + "RetMpDataVersionNotLatest" => Some(Self::RetMpDataVersionNotLatest), + "RetMpCurWorldNotEnterable" => Some(Self::RetMpCurWorldNotEnterable), + "RetMpAnyGalleryStarted" => Some(Self::RetMpAnyGalleryStarted), + "RetMpHasActiveDraft" => Some(Self::RetMpHasActiveDraft), + "RetMpPlayerInDungeon" => Some(Self::RetMpPlayerInDungeon), + "RetMpMatchFull" => Some(Self::RetMpMatchFull), + "RetMpMatchLimit" => Some(Self::RetMpMatchLimit), + "RetMpMatchInPunish" => Some(Self::RetMpMatchInPunish), + "RetMpIsInMultistage" => Some(Self::RetMpIsInMultistage), + "RetMpMatchPlayNotOpen" => Some(Self::RetMpMatchPlayNotOpen), + "RetMpOnlyMpWithPsPlayer" => Some(Self::RetMpOnlyMpWithPsPlayer), + "RetMpGuestLoadingFirstEnter" => Some(Self::RetMpGuestLoadingFirstEnter), + "RetMpSummerTimeSprintBoatOngoing" => { + Some(Self::RetMpSummerTimeSprintBoatOngoing) + } + "RetMpBlitzRushParkourChallengeOngoing" => { + Some(Self::RetMpBlitzRushParkourChallengeOngoing) + } + "RetMpMusicGameOngoing" => Some(Self::RetMpMusicGameOngoing), + "RetMpInMpingMode" => Some(Self::RetMpInMpingMode), + "RetMpOwnerInSingleScene" => Some(Self::RetMpOwnerInSingleScene), + "RetMpInSingleScene" => Some(Self::RetMpInSingleScene), + "RetMpReplyNoValidAvatar" => Some(Self::RetMpReplyNoValidAvatar), + "RetMpIsNotInTransferGuard" => Some(Self::RetMpIsNotInTransferGuard), + "RetMpCannotExecGivingInSingleModeQuest" => { + Some(Self::RetMpCannotExecGivingInSingleModeQuest) + } + "RetMpEffigyChallengeV4InPrepare" => { + Some(Self::RetMpEffigyChallengeV4InPrepare) + } + "RetMpShuffleBoardOngoing" => Some(Self::RetMpShuffleBoardOngoing), + "RetMpFlightGearOngoing" => Some(Self::RetMpFlightGearOngoing), + "RetMpToyBattleQteOngoing" => Some(Self::RetMpToyBattleQteOngoing), + "RetMpPaintingRepairOngoing" => Some(Self::RetMpPaintingRepairOngoing), + "RetMpFishblasterOngoing" => Some(Self::RetMpFishblasterOngoing), + "RetMpGuestMatchCondNotMeet" => Some(Self::RetMpGuestMatchCondNotMeet), + "RetMailParaErr" => Some(Self::RetMailParaErr), + "RetMailMaxNum" => Some(Self::RetMailMaxNum), + "RetMailItemNumExceed" => Some(Self::RetMailItemNumExceed), + "RetMailTitleLenExceed" => Some(Self::RetMailTitleLenExceed), + "RetMailContentLenExceed" => Some(Self::RetMailContentLenExceed), + "RetMailSenderLenExceed" => Some(Self::RetMailSenderLenExceed), + "RetMailParsePacketFail" => Some(Self::RetMailParsePacketFail), + "RetOfflineMsgMaxNum" => Some(Self::RetOfflineMsgMaxNum), + "RetOfflineMsgSameTicket" => Some(Self::RetOfflineMsgSameTicket), + "RetMailExcelMailTypeError" => Some(Self::RetMailExcelMailTypeError), + "RetMailCannotSendMcoin" => Some(Self::RetMailCannotSendMcoin), + "RetMailHcoinExceedLimit" => Some(Self::RetMailHcoinExceedLimit), + "RetMailScoinExceedLimit" => Some(Self::RetMailScoinExceedLimit), + "RetMailMaterialIdInvalid" => Some(Self::RetMailMaterialIdInvalid), + "RetMailAvatarExceedLimit" => Some(Self::RetMailAvatarExceedLimit), + "RetMailGachaTicketEtcExceedLimit" => { + Some(Self::RetMailGachaTicketEtcExceedLimit) + } + "RetMailItemExceedCehuaLimit" => Some(Self::RetMailItemExceedCehuaLimit), + "RetMailSpaceOrRestNumNotEnough" => { + Some(Self::RetMailSpaceOrRestNumNotEnough) + } + "RetMailTicketIsEmpty" => Some(Self::RetMailTicketIsEmpty), + "RetMailTransactionIsEmpty" => Some(Self::RetMailTransactionIsEmpty), + "RetMailDeleteCollected" => Some(Self::RetMailDeleteCollected), + "RetMailCollectionIsFull" => Some(Self::RetMailCollectionIsFull), + "RetMailTitleCharacterLenExceed" => { + Some(Self::RetMailTitleCharacterLenExceed) + } + "RetMailTitleEmpty" => Some(Self::RetMailTitleEmpty), + "RetMailContentEmpty" => Some(Self::RetMailContentEmpty), + "RetMailSenderEmpty" => Some(Self::RetMailSenderEmpty), + "RetDailyTaskNotFinish" => Some(Self::RetDailyTaskNotFinish), + "RetDailyTaksHasTaken" => Some(Self::RetDailyTaksHasTaken), + "RetSocialOfflineMsgNumExceed" => Some(Self::RetSocialOfflineMsgNumExceed), + "RetDailyTaskFilterCityNotOpen" => Some(Self::RetDailyTaskFilterCityNotOpen), + "RetDailyAttendanceNotOpen" => Some(Self::RetDailyAttendanceNotOpen), + "RetDailyAttendanceRewardMax" => Some(Self::RetDailyAttendanceRewardMax), + "RetGachaInavailable" => Some(Self::RetGachaInavailable), + "RetGachaRandomNotMatch" => Some(Self::RetGachaRandomNotMatch), + "RetGachaScheduleNotMatch" => Some(Self::RetGachaScheduleNotMatch), + "RetGachaInvalidTimes" => Some(Self::RetGachaInvalidTimes), + "RetGachaCostItemNotEnough" => Some(Self::RetGachaCostItemNotEnough), + "RetGachaTimesLimit" => Some(Self::RetGachaTimesLimit), + "RetGachaWishSameItem" => Some(Self::RetGachaWishSameItem), + "RetGachaWishInvalidItem" => Some(Self::RetGachaWishInvalidItem), + "RetGachaMinorsTimesLimit" => Some(Self::RetGachaMinorsTimesLimit), + "RetGachaGeneralTimesLimit" => Some(Self::RetGachaGeneralTimesLimit), + "RetGachaWishIsNeededBeforeGacha" => { + Some(Self::RetGachaWishIsNeededBeforeGacha) + } + "RetInvestigaitonNotInProgress" => Some(Self::RetInvestigaitonNotInProgress), + "RetInvestigaitonUncomplete" => Some(Self::RetInvestigaitonUncomplete), + "RetInvestigaitonRewardTaken" => Some(Self::RetInvestigaitonRewardTaken), + "RetInvestigaitonTargetStateError" => { + Some(Self::RetInvestigaitonTargetStateError) + } + "RetPushTipsNotFound" => Some(Self::RetPushTipsNotFound), + "RetSignInRecordNotFound" => Some(Self::RetSignInRecordNotFound), + "RetAlreadyHaveSignedIn" => Some(Self::RetAlreadyHaveSignedIn), + "RetSignInCondNotSatisfied" => Some(Self::RetSignInCondNotSatisfied), + "RetBonusActivityNotUnrewarded" => Some(Self::RetBonusActivityNotUnrewarded), + "RetSignInRewarded" => Some(Self::RetSignInRewarded), + "RetTowerNotOpen" => Some(Self::RetTowerNotOpen), + "RetTowerHaveDailyRecord" => Some(Self::RetTowerHaveDailyRecord), + "RetTowerNotRecord" => Some(Self::RetTowerNotRecord), + "RetTowerHaveRecord" => Some(Self::RetTowerHaveRecord), + "RetTowerTeamNumError" => Some(Self::RetTowerTeamNumError), + "RetTowerFloorNotOpen" => Some(Self::RetTowerFloorNotOpen), + "RetTowerNoFloorStarRecord" => Some(Self::RetTowerNoFloorStarRecord), + "RetAlreadyHasTowerBuff" => Some(Self::RetAlreadyHasTowerBuff), + "RetDuplicateEnterLevel" => Some(Self::RetDuplicateEnterLevel), + "RetNotInTowerLevel" => Some(Self::RetNotInTowerLevel), + "RetInTowerLevel" => Some(Self::RetInTowerLevel), + "RetTowerPrevFloorNotFinish" => Some(Self::RetTowerPrevFloorNotFinish), + "RetTowerStarNotEnough" => Some(Self::RetTowerStarNotEnough), + "RetBattlePassNoSchedule" => Some(Self::RetBattlePassNoSchedule), + "RetBattlePassHasBuyed" => Some(Self::RetBattlePassHasBuyed), + "RetBattlePassLevelOverflow" => Some(Self::RetBattlePassLevelOverflow), + "RetBattlePassProductExpired" => Some(Self::RetBattlePassProductExpired), + "RetMatchHostQuit" => Some(Self::RetMatchHostQuit), + "RetMatchAlreadyInMatch" => Some(Self::RetMatchAlreadyInMatch), + "RetMatchNotInMatch" => Some(Self::RetMatchNotInMatch), + "RetMatchApplyingEnterMp" => Some(Self::RetMatchApplyingEnterMp), + "RetMatchIncorrectScene" => Some(Self::RetMatchIncorrectScene), + "RetWidgetTreasureSpotNotFound" => Some(Self::RetWidgetTreasureSpotNotFound), + "RetWidgetTreasureEntityExists" => Some(Self::RetWidgetTreasureEntityExists), + "RetWidgetTreasureSpotFarAway" => Some(Self::RetWidgetTreasureSpotFarAway), + "RetWidgetTreasureFinishedToday" => { + Some(Self::RetWidgetTreasureFinishedToday) + } + "RetWidgetQuickUseReqParamError" => { + Some(Self::RetWidgetQuickUseReqParamError) + } + "RetWidgetCameraScanIdError" => Some(Self::RetWidgetCameraScanIdError), + "RetWidgetNotActive" => Some(Self::RetWidgetNotActive), + "RetWidgetFeatherNotActive" => Some(Self::RetWidgetFeatherNotActive), + "RetWidgetFeatherGadgetTooFarAway" => { + Some(Self::RetWidgetFeatherGadgetTooFarAway) + } + "RetWidgetCaptureAnimalNotExist" => { + Some(Self::RetWidgetCaptureAnimalNotExist) + } + "RetWidgetCaptureAnimalDropBagLimit" => { + Some(Self::RetWidgetCaptureAnimalDropBagLimit) + } + "RetWidgetCaptureAnimalCanNotCapture" => { + Some(Self::RetWidgetCaptureAnimalCanNotCapture) + } + "RetWidgetSkyCrystalAllCollected" => { + Some(Self::RetWidgetSkyCrystalAllCollected) + } + "RetWidgetSkyCrystalHintAlreadyExist" => { + Some(Self::RetWidgetSkyCrystalHintAlreadyExist) + } + "RetWidgetSkyCrystalNotFound" => Some(Self::RetWidgetSkyCrystalNotFound), + "RetWidgetSkyCrystalNoHintToClear" => { + Some(Self::RetWidgetSkyCrystalNoHintToClear) + } + "RetWidgetLightStoneEnergyNotEnough" => { + Some(Self::RetWidgetLightStoneEnergyNotEnough) + } + "RetWidgetToyCrystalEnergyNotEnough" => { + Some(Self::RetWidgetToyCrystalEnergyNotEnough) + } + "RetWidgetLightStoneLevelNotEnough" => { + Some(Self::RetWidgetLightStoneLevelNotEnough) + } + "RetWidgetQuickSlotNotInWidgetPanel" => { + Some(Self::RetWidgetQuickSlotNotInWidgetPanel) + } + "RetRoleCombatNotRecord" => Some(Self::RetRoleCombatNotRecord), + "RetRoleCombatCoinExceedLimit" => Some(Self::RetRoleCombatCoinExceedLimit), + "RetRoleCombatCoinNotEnough" => Some(Self::RetRoleCombatCoinNotEnough), + "RetRoleCombatLevelNotMeet" => Some(Self::RetRoleCombatLevelNotMeet), + "RetRoleCombatTowerNotMeet" => Some(Self::RetRoleCombatTowerNotMeet), + "RetRoleCombatScheduleNotMeet" => Some(Self::RetRoleCombatScheduleNotMeet), + "RetRoleCombatReqFriendRentAvatarFrequently" => { + Some(Self::RetRoleCombatReqFriendRentAvatarFrequently) + } + "RetRoleCombatReqTrialAvatarFrequently" => { + Some(Self::RetRoleCombatReqTrialAvatarFrequently) + } + "RetRoleCombatRefreshCountNotEnough" => { + Some(Self::RetRoleCombatRefreshCountNotEnough) + } + "RetRoleCombatQuestNotMeet" => Some(Self::RetRoleCombatQuestNotMeet), + "RetInRoleCombatDungeon" => Some(Self::RetInRoleCombatDungeon), + "RetInRoleCombatDungeonByUseItem" => { + Some(Self::RetInRoleCombatDungeonByUseItem) + } + "RetRoleCombatRentAvatarNotFound" => { + Some(Self::RetRoleCombatRentAvatarNotFound) + } + "RetRoleCombatCardHasBlocked" => Some(Self::RetRoleCombatCardHasBlocked), + "RetCharMasterKeyExceedLimit" => Some(Self::RetCharMasterKeyExceedLimit), + "RetCharMasterKeyNotEnough" => Some(Self::RetCharMasterKeyNotEnough), + "RetCharMasterPreviewInCd" => Some(Self::RetCharMasterPreviewInCd), + "RetUidNotExist" => Some(Self::RetUidNotExist), + "RetParseBinError" => Some(Self::RetParseBinError), + "RetAccountInfoNotExist" => Some(Self::RetAccountInfoNotExist), + "RetOrderInfoNotExist" => Some(Self::RetOrderInfoNotExist), + "RetSnapshotIndexError" => Some(Self::RetSnapshotIndexError), + "RetMailHasBeenSent" => Some(Self::RetMailHasBeenSent), + "RetProductNotExist" => Some(Self::RetProductNotExist), + "RetUnfinishOrder" => Some(Self::RetUnfinishOrder), + "RetIdNotExist" => Some(Self::RetIdNotExist), + "RetOrderTradeEarly" => Some(Self::RetOrderTradeEarly), + "RetOrderFinished" => Some(Self::RetOrderFinished), + "RetGameserverVersionWrong" => Some(Self::RetGameserverVersionWrong), + "RetOfflineOpFullLength" => Some(Self::RetOfflineOpFullLength), + "RetConcertProductObtainLimit" => Some(Self::RetConcertProductObtainLimit), + "RetConcertProductTicketDuplicated" => { + Some(Self::RetConcertProductTicketDuplicated) + } + "RetConcertProductTicketEmpty" => Some(Self::RetConcertProductTicketEmpty), + "RetRedisModified" => Some(Self::RetRedisModified), + "RetRedisUidNotExist" => Some(Self::RetRedisUidNotExist), + "RetPathfindingDataNotExist" => Some(Self::RetPathfindingDataNotExist), + "RetPathfindingDestinationNotExist" => { + Some(Self::RetPathfindingDestinationNotExist) + } + "RetPathfindingErrorScene" => Some(Self::RetPathfindingErrorScene), + "RetPathfindingSceneDataLoading" => { + Some(Self::RetPathfindingSceneDataLoading) + } + "RetTothemoonErrorScene" => Some(Self::RetTothemoonErrorScene), + "RetTothemoonPlayerNotExist" => Some(Self::RetTothemoonPlayerNotExist), + "RetFriendCountExceeded" => Some(Self::RetFriendCountExceeded), + "RetPlayerNotExist" => Some(Self::RetPlayerNotExist), + "RetAlreadySentAddRequest" => Some(Self::RetAlreadySentAddRequest), + "RetAskFriendListFull" => Some(Self::RetAskFriendListFull), + "RetPlayerAlreadyIsFriend" => Some(Self::RetPlayerAlreadyIsFriend), + "RetPlayerNotAskFriend" => Some(Self::RetPlayerNotAskFriend), + "RetTargetFriendCountExceed" => Some(Self::RetTargetFriendCountExceed), + "RetNotFriend" => Some(Self::RetNotFriend), + "RetBirthdayCannotBeSetTwice" => Some(Self::RetBirthdayCannotBeSetTwice), + "RetCannotAddSelfFriend" => Some(Self::RetCannotAddSelfFriend), + "RetSignatureIllegal" => Some(Self::RetSignatureIllegal), + "RetPsPlayerCannotAddFriends" => Some(Self::RetPsPlayerCannotAddFriends), + "RetPsPlayerCannotRemoveFriends" => { + Some(Self::RetPsPlayerCannotRemoveFriends) + } + "RetNameCardNotUnlocked" => Some(Self::RetNameCardNotUnlocked), + "RetAlreadyInBlacklist" => Some(Self::RetAlreadyInBlacklist), + "RetPsPaleyrsCannotAddBlacklist" => { + Some(Self::RetPsPaleyrsCannotAddBlacklist) + } + "RetPlayerBlacklistFull" => Some(Self::RetPlayerBlacklistFull), + "RetPlayerNotInBlacklist" => Some(Self::RetPlayerNotInBlacklist), + "RetBlacklistPlayerCannotAddFriend" => { + Some(Self::RetBlacklistPlayerCannotAddFriend) + } + "RetInTargetBlacklist" => Some(Self::RetInTargetBlacklist), + "RetCannotAddTargetFriend" => Some(Self::RetCannotAddTargetFriend), + "RetBirthdayFormatError" => Some(Self::RetBirthdayFormatError), + "RetOnlineIdNotExists" => Some(Self::RetOnlineIdNotExists), + "RetFirstShareRewardHasTaken" => Some(Self::RetFirstShareRewardHasTaken), + "RetPsPlayerCannotRemoveBlacklist" => { + Some(Self::RetPsPlayerCannotRemoveBlacklist) + } + "RetReportCd" => Some(Self::RetReportCd), + "RetReportContentIllegal" => Some(Self::RetReportContentIllegal), + "RetRemarkWordIllegal" => Some(Self::RetRemarkWordIllegal), + "RetRemarkTooLong" => Some(Self::RetRemarkTooLong), + "RetRemarkUtf8Error" => Some(Self::RetRemarkUtf8Error), + "RetRemarkIsEmpty" => Some(Self::RetRemarkIsEmpty), + "RetAskAddFriendCd" => Some(Self::RetAskAddFriendCd), + "RetShowAvatarInfoNotExist" => Some(Self::RetShowAvatarInfoNotExist), + "RetPlayerNotShowAvatar" => Some(Self::RetPlayerNotShowAvatar), + "RetSocialUpdateShowListRepeatId" => { + Some(Self::RetSocialUpdateShowListRepeatId) + } + "RetPsnIdNotFound" => Some(Self::RetPsnIdNotFound), + "RetEmojiCollectionNumExceedLimit" => { + Some(Self::RetEmojiCollectionNumExceedLimit) + } + "RetRemarkEmpty" => Some(Self::RetRemarkEmpty), + "RetInTargetPsnBlacklist" => Some(Self::RetInTargetPsnBlacklist), + "RetSignatureNotChanged" => Some(Self::RetSignatureNotChanged), + "RetSignatureMonthlyLimit" => Some(Self::RetSignatureMonthlyLimit), + "RetReqFriendAvatarFrequently" => Some(Self::RetReqFriendAvatarFrequently), + "RetPsnGetPlayerSocialDetailFail" => { + Some(Self::RetPsnGetPlayerSocialDetailFail) + } + "RetProfilePictureNotUnlocked" => Some(Self::RetProfilePictureNotUnlocked), + "RetOfferingNotOpen" => Some(Self::RetOfferingNotOpen), + "RetOfferingLevelLimit" => Some(Self::RetOfferingLevelLimit), + "RetOfferingLevelNotReach" => Some(Self::RetOfferingLevelNotReach), + "RetOfferingLevelHasTaken" => Some(Self::RetOfferingLevelHasTaken), + "RetOfferingPariSearchNotOpen" => Some(Self::RetOfferingPariSearchNotOpen), + "RetOfferingPariNotFinish" => Some(Self::RetOfferingPariNotFinish), + "RetOfferingPariFinishRewardHasTaken" => { + Some(Self::RetOfferingPariFinishRewardHasTaken) + } + "RetOfferingPariSearchAllFinish" => { + Some(Self::RetOfferingPariSearchAllFinish) + } + "RetOfferingPariNoFinishReward" => Some(Self::RetOfferingPariNoFinishReward), + "RetCityReputationNotOpen" => Some(Self::RetCityReputationNotOpen), + "RetCityReputationLevelTaken" => Some(Self::RetCityReputationLevelTaken), + "RetCityReputationLevelNotReach" => { + Some(Self::RetCityReputationLevelNotReach) + } + "RetCityReputationParentQuestTaken" => { + Some(Self::RetCityReputationParentQuestTaken) + } + "RetCityReputationParentQuestUnfinish" => { + Some(Self::RetCityReputationParentQuestUnfinish) + } + "RetCityReputationAcceptRequest" => { + Some(Self::RetCityReputationAcceptRequest) + } + "RetCityReputationNotAcceptRequest" => { + Some(Self::RetCityReputationNotAcceptRequest) + } + "RetCityReputationAcceptRequestLimit" => { + Some(Self::RetCityReputationAcceptRequestLimit) + } + "RetCityReputationEntranceNotOpen" => { + Some(Self::RetCityReputationEntranceNotOpen) + } + "RetCityReputationTakenRequestReward" => { + Some(Self::RetCityReputationTakenRequestReward) + } + "RetCityReputationSwitchClose" => Some(Self::RetCityReputationSwitchClose), + "RetCityReputationEntraceSwitchClose" => { + Some(Self::RetCityReputationEntraceSwitchClose) + } + "RetCityReputationTakenExploreReward" => { + Some(Self::RetCityReputationTakenExploreReward) + } + "RetCityReputationExploreNotReach" => { + Some(Self::RetCityReputationExploreNotReach) + } + "RetTribalReputationNotOpen" => Some(Self::RetTribalReputationNotOpen), + "RetTribalReputationLevelTaken" => Some(Self::RetTribalReputationLevelTaken), + "RetTribalReputationLevelNotReach" => { + Some(Self::RetTribalReputationLevelNotReach) + } + "RetTribalReputationTakenExploreReward" => { + Some(Self::RetTribalReputationTakenExploreReward) + } + "RetTribalReputationExploreNotReach" => { + Some(Self::RetTribalReputationExploreNotReach) + } + "RetTribalReputationParentQuestTaken" => { + Some(Self::RetTribalReputationParentQuestTaken) + } + "RetTribalReputationParentQuestUnfinish" => { + Some(Self::RetTribalReputationParentQuestUnfinish) + } + "RetCityReputationNotOpenTribal" => { + Some(Self::RetCityReputationNotOpenTribal) + } + "RetCityReputationNoTheDonation" => { + Some(Self::RetCityReputationNoTheDonation) + } + "RetCityReputationDonationFinished" => { + Some(Self::RetCityReputationDonationFinished) + } + "RetCityReputationDonationLimit" => { + Some(Self::RetCityReputationDonationLimit) + } + "RetCityReputationTotalRewardTaken" => { + Some(Self::RetCityReputationTotalRewardTaken) + } + "RetCityReputationTotalRewardNotReach" => { + Some(Self::RetCityReputationTotalRewardNotReach) + } + "RetMechanicusNotOpen" => Some(Self::RetMechanicusNotOpen), + "RetMechanicusGearUnlock" => Some(Self::RetMechanicusGearUnlock), + "RetMechanicusGearLock" => Some(Self::RetMechanicusGearLock), + "RetMechanicusGearLevelLimit" => Some(Self::RetMechanicusGearLevelLimit), + "RetMechanicusCoinNotEnough" => Some(Self::RetMechanicusCoinNotEnough), + "RetMechanicusNoSequence" => Some(Self::RetMechanicusNoSequence), + "RetMechanicusSequenceLimitLevel" => { + Some(Self::RetMechanicusSequenceLimitLevel) + } + "RetMechanicusSequenceLimitOpen" => { + Some(Self::RetMechanicusSequenceLimitOpen) + } + "RetMechanicusDifficultNotSupport" => { + Some(Self::RetMechanicusDifficultNotSupport) + } + "RetMechanicusTicketNotEnough" => Some(Self::RetMechanicusTicketNotEnough), + "RetMechanicusTeachNotFinish" => Some(Self::RetMechanicusTeachNotFinish), + "RetMechanicusTeachFinished" => Some(Self::RetMechanicusTeachFinished), + "RetMechanicusPrevDifficultLevelBlock" => { + Some(Self::RetMechanicusPrevDifficultLevelBlock) + } + "RetMechanicusPlayerLimit" => Some(Self::RetMechanicusPlayerLimit), + "RetMechanicusPunishTime" => Some(Self::RetMechanicusPunishTime), + "RetMechanicusSwitchClose" => Some(Self::RetMechanicusSwitchClose), + "RetMechanicusBattleNotInDungeon" => { + Some(Self::RetMechanicusBattleNotInDungeon) + } + "RetMechanicusBattlePlayNotFound" => { + Some(Self::RetMechanicusBattlePlayNotFound) + } + "RetMechanicusBattleDuplicatePickCard" => { + Some(Self::RetMechanicusBattleDuplicatePickCard) + } + "RetMechanicusBattlePlayerNotInPlay" => { + Some(Self::RetMechanicusBattlePlayerNotInPlay) + } + "RetMechanicusBattleCardNotAvailable" => { + Some(Self::RetMechanicusBattleCardNotAvailable) + } + "RetMechanicusBattleNotInCardStage" => { + Some(Self::RetMechanicusBattleNotInCardStage) + } + "RetMechanicusBattleCardIsWaiting" => { + Some(Self::RetMechanicusBattleCardIsWaiting) + } + "RetMechanicusBattleCardAllConfirmed" => { + Some(Self::RetMechanicusBattleCardAllConfirmed) + } + "RetMechanicusBattleCardAlreadyConfirmed" => { + Some(Self::RetMechanicusBattleCardAlreadyConfirmed) + } + "RetMechanicusBattleCardConfirmedByOther" => { + Some(Self::RetMechanicusBattleCardConfirmedByOther) + } + "RetMechanicusBattleCardNotEnoughPoints" => { + Some(Self::RetMechanicusBattleCardNotEnoughPoints) + } + "RetMechanicusBattleCardAlreadySkipped" => { + Some(Self::RetMechanicusBattleCardAlreadySkipped) + } + "RetLegendaryKeyNotEnough" => Some(Self::RetLegendaryKeyNotEnough), + "RetLegendaryKeyExceedLimit" => Some(Self::RetLegendaryKeyExceedLimit), + "RetDailyTaskNotEnoughToRedeem" => Some(Self::RetDailyTaskNotEnoughToRedeem), + "RetPersonalLineOpenStateOff" => Some(Self::RetPersonalLineOpenStateOff), + "RetPersonalLineLevelNotEnough" => Some(Self::RetPersonalLineLevelNotEnough), + "RetPersonalLineNotOpen" => Some(Self::RetPersonalLineNotOpen), + "RetPersonalLinePreQuestNotFinish" => { + Some(Self::RetPersonalLinePreQuestNotFinish) + } + "RetHuntingAlreadyFinishOfferLimit" => { + Some(Self::RetHuntingAlreadyFinishOfferLimit) + } + "RetHuntingHasUnfinishedOffer" => Some(Self::RetHuntingHasUnfinishedOffer), + "RetHuntingFailedOfferNotCdReady" => { + Some(Self::RetHuntingFailedOfferNotCdReady) + } + "RetHuntingNotTakeOffer" => Some(Self::RetHuntingNotTakeOffer), + "RetHuntingCannotTakeTwice" => Some(Self::RetHuntingCannotTakeTwice), + "RetRpivateChatInvalidContentType" => { + Some(Self::RetRpivateChatInvalidContentType) + } + "RetPrivateChatTargetIsNotFriend" => { + Some(Self::RetPrivateChatTargetIsNotFriend) + } + "RetPrivateChatContentNotSupported" => { + Some(Self::RetPrivateChatContentNotSupported) + } + "RetPrivateChatContentTooLong" => Some(Self::RetPrivateChatContentTooLong), + "RetPrivateChatPullTooFast" => Some(Self::RetPrivateChatPullTooFast), + "RetPrivateChatRepeatRead" => Some(Self::RetPrivateChatRepeatRead), + "RetPrivateChatReadNotFriend" => Some(Self::RetPrivateChatReadNotFriend), + "RetReunionFinished" => Some(Self::RetReunionFinished), + "RetReunionNotActivated" => Some(Self::RetReunionNotActivated), + "RetReunionAlreadyTakeFirstReward" => { + Some(Self::RetReunionAlreadyTakeFirstReward) + } + "RetReunionSignInRewarded" => Some(Self::RetReunionSignInRewarded), + "RetReunionWatcherRewarded" => Some(Self::RetReunionWatcherRewarded), + "RetReunionWatcherNotFinish" => Some(Self::RetReunionWatcherNotFinish), + "RetReunionMissionRewarded" => Some(Self::RetReunionMissionRewarded), + "RetReunionMissionNotFinish" => Some(Self::RetReunionMissionNotFinish), + "RetReunionWatcherRewardNotUnlocked" => { + Some(Self::RetReunionWatcherRewardNotUnlocked) + } + "RetBlessingContentClosed" => Some(Self::RetBlessingContentClosed), + "RetBlessingNotActive" => Some(Self::RetBlessingNotActive), + "RetBlessingNotTodayEntity" => Some(Self::RetBlessingNotTodayEntity), + "RetBlessingEntityExceedScanNumLimit" => { + Some(Self::RetBlessingEntityExceedScanNumLimit) + } + "RetBlessingDailyScanNumExceedLimit" => { + Some(Self::RetBlessingDailyScanNumExceedLimit) + } + "RetBlessingRedeemRewardNumExceedLimit" => { + Some(Self::RetBlessingRedeemRewardNumExceedLimit) + } + "RetBlessingRedeemPicNumNotEnough" => { + Some(Self::RetBlessingRedeemPicNumNotEnough) + } + "RetBlessingPicNotEnough" => Some(Self::RetBlessingPicNotEnough), + "RetBlessingPicHasReceived" => Some(Self::RetBlessingPicHasReceived), + "RetBlessingTargetRecvNumExceed" => { + Some(Self::RetBlessingTargetRecvNumExceed) + } + "RetFleurFairCreditExceedLimit" => Some(Self::RetFleurFairCreditExceedLimit), + "RetFleurFairCreditNotEnough" => Some(Self::RetFleurFairCreditNotEnough), + "RetFleurFairTokenExceedLimit" => Some(Self::RetFleurFairTokenExceedLimit), + "RetFleurFairTokenNotEnough" => Some(Self::RetFleurFairTokenNotEnough), + "RetFleurFairMinigameNotOpen" => Some(Self::RetFleurFairMinigameNotOpen), + "RetFleurFairMusicGameDifficultyNotUnlock" => { + Some(Self::RetFleurFairMusicGameDifficultyNotUnlock) + } + "RetFleurFairDungeonLocked" => Some(Self::RetFleurFairDungeonLocked), + "RetFleurFairDungeonPunishTime" => Some(Self::RetFleurFairDungeonPunishTime), + "RetFleurFairOnlyOwnerCanRestartMinigam" => { + Some(Self::RetFleurFairOnlyOwnerCanRestartMinigam) + } + "RetWaterSpiritCoinExceedLimit" => Some(Self::RetWaterSpiritCoinExceedLimit), + "RetWaterSpiritCoinNotEnough" => Some(Self::RetWaterSpiritCoinNotEnough), + "RetRegionSearchNoSearch" => Some(Self::RetRegionSearchNoSearch), + "RetRegionSearchStateError" => Some(Self::RetRegionSearchStateError), + "RetBlessingGiveNumInvalid" => Some(Self::RetBlessingGiveNumInvalid), + "RetBlessingNoGroupOrOwner" => Some(Self::RetBlessingNoGroupOrOwner), + "RetChannellerSlabLoopDungeonStageNotOpen" => { + Some(Self::RetChannellerSlabLoopDungeonStageNotOpen) + } + "RetChannellerSlabLoopDungeonNotOpen" => { + Some(Self::RetChannellerSlabLoopDungeonNotOpen) + } + "RetChannellerSlabLoopDungeonFirstPassRewardHasTaken" => { + Some(Self::RetChannellerSlabLoopDungeonFirstPassRewardHasTaken) + } + "RetChannellerSlabLoopDungeonScoreRewardHasTaken" => { + Some(Self::RetChannellerSlabLoopDungeonScoreRewardHasTaken) + } + "RetChannellerSlabInvalidOneOffDungeon" => { + Some(Self::RetChannellerSlabInvalidOneOffDungeon) + } + "RetChannellerSlabOneOffDungeonDone" => { + Some(Self::RetChannellerSlabOneOffDungeonDone) + } + "RetChannellerSlabOneOffDungeonStageNotOpen" => { + Some(Self::RetChannellerSlabOneOffDungeonStageNotOpen) + } + "RetChannellerSlabTokenExceedLimit" => { + Some(Self::RetChannellerSlabTokenExceedLimit) + } + "RetChannellerSlabTokenNotEnough" => { + Some(Self::RetChannellerSlabTokenNotEnough) + } + "RetChannellerSlabPlayerNotInOneOffDungeon" => { + Some(Self::RetChannellerSlabPlayerNotInOneOffDungeon) + } + "RetMistTrialSelectCharacterNumNotEnough" => { + Some(Self::RetMistTrialSelectCharacterNumNotEnough) + } + "RetMistTrialAlreadyUsingTrialAvatar" => { + Some(Self::RetMistTrialAlreadyUsingTrialAvatar) + } + "RetHideAndSeekPlayNotOpen" => Some(Self::RetHideAndSeekPlayNotOpen), + "RetHideAndSeekPlayMapNotOpen" => Some(Self::RetHideAndSeekPlayMapNotOpen), + "RetHideAndSeekPlayMapNotChosen" => { + Some(Self::RetHideAndSeekPlayMapNotChosen) + } + "RetSummerTimeDraftWoordExceedLimit" => { + Some(Self::RetSummerTimeDraftWoordExceedLimit) + } + "RetSummerTimeDraftWoordNotEnough" => { + Some(Self::RetSummerTimeDraftWoordNotEnough) + } + "RetSummerTimeMiniHarpastumExceedLimit" => { + Some(Self::RetSummerTimeMiniHarpastumExceedLimit) + } + "RetSummerTimeMiniHarpastumnotEnough" => { + Some(Self::RetSummerTimeMiniHarpastumnotEnough) + } + "RetBounceConjuringCoinExceedLimit" => { + Some(Self::RetBounceConjuringCoinExceedLimit) + } + "RetBounceConjuringCoinNotEnough" => { + Some(Self::RetBounceConjuringCoinNotEnough) + } + "RetChessTeachMapFinished" => Some(Self::RetChessTeachMapFinished), + "RetChessTeachMapUnfinished" => Some(Self::RetChessTeachMapUnfinished), + "RetChessCoinExceedLimit" => Some(Self::RetChessCoinExceedLimit), + "RetChessCoinNotEnough" => Some(Self::RetChessCoinNotEnough), + "RetChessInPunishTime" => Some(Self::RetChessInPunishTime), + "RetChessPrevMapUnfinished" => Some(Self::RetChessPrevMapUnfinished), + "RetChessMapLocked" => Some(Self::RetChessMapLocked), + "RetBlitzRushNotOpen" => Some(Self::RetBlitzRushNotOpen), + "RetBlitzRushDungeonNotOpen" => Some(Self::RetBlitzRushDungeonNotOpen), + "RetBlitzRushCoinAExceedLimit" => Some(Self::RetBlitzRushCoinAExceedLimit), + "RetBlitzRushCoinBExceedLimit" => Some(Self::RetBlitzRushCoinBExceedLimit), + "RetBlitzRushCoinANotEnough" => Some(Self::RetBlitzRushCoinANotEnough), + "RetBlitzRushCoinBNotEnough" => Some(Self::RetBlitzRushCoinBNotEnough), + "RetMiracleRingValueNotEnough" => Some(Self::RetMiracleRingValueNotEnough), + "RetMiracleRingCd" => Some(Self::RetMiracleRingCd), + "RetMiracleRingRewardNotTaken" => Some(Self::RetMiracleRingRewardNotTaken), + "RetMiracleRingNotDeliver" => Some(Self::RetMiracleRingNotDeliver), + "RetMiracleRingDeliverExceed" => Some(Self::RetMiracleRingDeliverExceed), + "RetMiracleRingHasCreated" => Some(Self::RetMiracleRingHasCreated), + "RetMiracleRingHasNotCreated" => Some(Self::RetMiracleRingHasNotCreated), + "RetMiracleRingNotYours" => Some(Self::RetMiracleRingNotYours), + "RetGadgetFoundationUnauthorized" => { + Some(Self::RetGadgetFoundationUnauthorized) + } + "RetGadgetFoundationSceneNotFound" => { + Some(Self::RetGadgetFoundationSceneNotFound) + } + "RetGadgetFoundationNotInInitState" => { + Some(Self::RetGadgetFoundationNotInInitState) + } + "RetGadgetFoundationBildingPointNotEnought" => { + Some(Self::RetGadgetFoundationBildingPointNotEnought) + } + "RetGadgetFoundationNotInBuiltState" => { + Some(Self::RetGadgetFoundationNotInBuiltState) + } + "RetGadgetFoundationOpNotSupported" => { + Some(Self::RetGadgetFoundationOpNotSupported) + } + "RetGadgetFoundationReqPlayerNotInScene" => { + Some(Self::RetGadgetFoundationReqPlayerNotInScene) + } + "RetGadgetFoundationLockedByAnotherPlayer" => { + Some(Self::RetGadgetFoundationLockedByAnotherPlayer) + } + "RetGadgetFoundationNotLocked" => Some(Self::RetGadgetFoundationNotLocked), + "RetGadgetFoundationDuplicateLock" => { + Some(Self::RetGadgetFoundationDuplicateLock) + } + "RetGadgetFoundationPlayerNotFound" => { + Some(Self::RetGadgetFoundationPlayerNotFound) + } + "RetGadgetFoundationPlayerGearNotFound" => { + Some(Self::RetGadgetFoundationPlayerGearNotFound) + } + "RetGadgetFoundationRotaionDisabled" => { + Some(Self::RetGadgetFoundationRotaionDisabled) + } + "RetGadgetFoundationReachDungeonGearLimit" => { + Some(Self::RetGadgetFoundationReachDungeonGearLimit) + } + "RetGadgetFoundationReachSingleGearLimit" => { + Some(Self::RetGadgetFoundationReachSingleGearLimit) + } + "RetGadgetFoundationRotationOnGoing" => { + Some(Self::RetGadgetFoundationRotationOnGoing) + } + "RetOpActivityBonusNotFound" => Some(Self::RetOpActivityBonusNotFound), + "RetOpActivityNotOpen" => Some(Self::RetOpActivityNotOpen), + "RetMultistagePlayPlayerNotInScene" => { + Some(Self::RetMultistagePlayPlayerNotInScene) + } + "RetMultistagePlayNotFound" => Some(Self::RetMultistagePlayNotFound), + "RetMultistagePlayInOtherStage" => Some(Self::RetMultistagePlayInOtherStage), + "RetCoopChapterNotOpen" => Some(Self::RetCoopChapterNotOpen), + "RetCoopCondNotMeet" => Some(Self::RetCoopCondNotMeet), + "RetCoopPointLocked" => Some(Self::RetCoopPointLocked), + "RetCoopNotHaveProgress" => Some(Self::RetCoopNotHaveProgress), + "RetCoopRewardHasTaken" => Some(Self::RetCoopRewardHasTaken), + "RetDraftHasActiveDraft" => Some(Self::RetDraftHasActiveDraft), + "RetDraftNotInMyWorld" => Some(Self::RetDraftNotInMyWorld), + "RetDraftNotSupportMp" => Some(Self::RetDraftNotSupportMp), + "RetDraftPlayerNotEnough" => Some(Self::RetDraftPlayerNotEnough), + "RetDraftIncorrectScene" => Some(Self::RetDraftIncorrectScene), + "RetDraftOtherPlayerEntering" => Some(Self::RetDraftOtherPlayerEntering), + "RetDraftGuestIsTransferring" => Some(Self::RetDraftGuestIsTransferring), + "RetDraftGuestNotInDraftScene" => Some(Self::RetDraftGuestNotInDraftScene), + "RetDraftInviteOverTime" => Some(Self::RetDraftInviteOverTime), + "RetDraftTwiceConfirmOverTimer" => Some(Self::RetDraftTwiceConfirmOverTimer), + "RetDraftGuestNotInWorldScene" => Some(Self::RetDraftGuestNotInWorldScene), + "RetHomeUnkown" => Some(Self::RetHomeUnkown), + "RetHomeInvalidClientParam" => Some(Self::RetHomeInvalidClientParam), + "RetHomeTargePlayerHasNoHome" => Some(Self::RetHomeTargePlayerHasNoHome), + "RetHomeNotOnline" => Some(Self::RetHomeNotOnline), + "RetHomePlayerFull" => Some(Self::RetHomePlayerFull), + "RetHomeBlocked" => Some(Self::RetHomeBlocked), + "RetHomeAlreadyInTargetHomeWorld" => { + Some(Self::RetHomeAlreadyInTargetHomeWorld) + } + "RetHomeInEditMode" => Some(Self::RetHomeInEditMode), + "RetHomeNotInEditMode" => Some(Self::RetHomeNotInEditMode), + "RetHomeHasGuest" => Some(Self::RetHomeHasGuest), + "RetHomeCantEnterByInEditMode" => Some(Self::RetHomeCantEnterByInEditMode), + "RetHomeClientParamInvalid" => Some(Self::RetHomeClientParamInvalid), + "RetHomePlayerNotInHomeWorld" => Some(Self::RetHomePlayerNotInHomeWorld), + "RetHomePlayerNotInSelfHomeWorld" => { + Some(Self::RetHomePlayerNotInSelfHomeWorld) + } + "RetHomeNotFoundInMem" => Some(Self::RetHomeNotFoundInMem), + "RetHomePlayerInHomeRoomScene" => Some(Self::RetHomePlayerInHomeRoomScene), + "RetHomeHomeRefuseGuestEnter" => Some(Self::RetHomeHomeRefuseGuestEnter), + "RetHomeOwnerRefuseToEnterHome" => Some(Self::RetHomeOwnerRefuseToEnterHome), + "RetHomeOwnerOffline" => Some(Self::RetHomeOwnerOffline), + "RetHomeFurnitureExceedLimit" => Some(Self::RetHomeFurnitureExceedLimit), + "RetHomeFurnitureCountNotEnough" => { + Some(Self::RetHomeFurnitureCountNotEnough) + } + "RetHomeInTryEnterProcess" => Some(Self::RetHomeInTryEnterProcess), + "RetHomeAlreadyInTargetScene" => Some(Self::RetHomeAlreadyInTargetScene), + "RetHomeCoinExceedLimit" => Some(Self::RetHomeCoinExceedLimit), + "RetHomeCoinNotEnough" => Some(Self::RetHomeCoinNotEnough), + "RetHomeModuleNotUnlocked" => Some(Self::RetHomeModuleNotUnlocked), + "RetHomeCurModuleClosed" => Some(Self::RetHomeCurModuleClosed), + "RetHomeFurnitureSuiteNotUnlocked" => { + Some(Self::RetHomeFurnitureSuiteNotUnlocked) + } + "RetHomeInMatch" => Some(Self::RetHomeInMatch), + "RetHomeInCombat" => Some(Self::RetHomeInCombat), + "RetHomeEditModeCd" => Some(Self::RetHomeEditModeCd), + "RetHomeUpdateFurnitureCd" => Some(Self::RetHomeUpdateFurnitureCd), + "RetHomeBlockFurnitureLimit" => Some(Self::RetHomeBlockFurnitureLimit), + "RetHomeNotSupport" => Some(Self::RetHomeNotSupport), + "RetHomeStateNotOpen" => Some(Self::RetHomeStateNotOpen), + "RetHomeTargetStateNotOpen" => Some(Self::RetHomeTargetStateNotOpen), + "RetHomeApplyEnterOtherHomeFail" => { + Some(Self::RetHomeApplyEnterOtherHomeFail) + } + "RetHomeSaveNoMainHouse" => Some(Self::RetHomeSaveNoMainHouse), + "RetHomeInDungeon" => Some(Self::RetHomeInDungeon), + "RetHomeAnyGalleryStarted" => Some(Self::RetHomeAnyGalleryStarted), + "RetHomeQuestBlockHome" => Some(Self::RetHomeQuestBlockHome), + "RetHomeWaitingPriorCheck" => Some(Self::RetHomeWaitingPriorCheck), + "RetHomePersistentCheckFail" => Some(Self::RetHomePersistentCheckFail), + "RetHomeFindOnlineHomeFail" => Some(Self::RetHomeFindOnlineHomeFail), + "RetHomeJoinSceneFail" => Some(Self::RetHomeJoinSceneFail), + "RetHomeMaxPlayer" => Some(Self::RetHomeMaxPlayer), + "RetHomeInTransfer" => Some(Self::RetHomeInTransfer), + "RetHomeAnyHomeGalleryStarted" => Some(Self::RetHomeAnyHomeGalleryStarted), + "RetHomeCanNotEnterInAudit" => Some(Self::RetHomeCanNotEnterInAudit), + "RetFurnitureMakeIndexError" => Some(Self::RetFurnitureMakeIndexError), + "RetFurnitureMakeLocked" => Some(Self::RetFurnitureMakeLocked), + "RetFurnitureMakeConfigError" => Some(Self::RetFurnitureMakeConfigError), + "RetFurnitureMakeSlotFull" => Some(Self::RetFurnitureMakeSlotFull), + "RetFurnitureMakeAddFurnitureFail" => { + Some(Self::RetFurnitureMakeAddFurnitureFail) + } + "RetFurnitureMakeUnfinish" => Some(Self::RetFurnitureMakeUnfinish), + "RetFurnitureMakeIsFinish" => Some(Self::RetFurnitureMakeIsFinish), + "RetFurnitureMakeNotInCorrectHome" => { + Some(Self::RetFurnitureMakeNotInCorrectHome) + } + "RetFurnitureMakeNoCount" => Some(Self::RetFurnitureMakeNoCount), + "RetFurnitureMakeAccelerateLimit" => { + Some(Self::RetFurnitureMakeAccelerateLimit) + } + "RetFurnitureMakeNoMakeData" => Some(Self::RetFurnitureMakeNoMakeData), + "RetHomeLimitedShopClose" => Some(Self::RetHomeLimitedShopClose), + "RetHomeAvatarNotShow" => Some(Self::RetHomeAvatarNotShow), + "RetHomeEventCondNotSatisfied" => Some(Self::RetHomeEventCondNotSatisfied), + "RetHomeInvalidArrangeAnimalParam" => { + Some(Self::RetHomeInvalidArrangeAnimalParam) + } + "RetHomeInvalidArrangeNpcParam" => Some(Self::RetHomeInvalidArrangeNpcParam), + "RetHomeInvalidArrangeSuiteParam" => { + Some(Self::RetHomeInvalidArrangeSuiteParam) + } + "RetHomeInvalidArrangeMainHouseParam" => { + Some(Self::RetHomeInvalidArrangeMainHouseParam) + } + "RetHomeAvatarStateNotOpen" => Some(Self::RetHomeAvatarStateNotOpen), + "RetHomePlantFieldNotEmpty" => Some(Self::RetHomePlantFieldNotEmpty), + "RetHomePlantFieldEmpty" => Some(Self::RetHomePlantFieldEmpty), + "RetHomePlantFieldTypeError" => Some(Self::RetHomePlantFieldTypeError), + "RetHomePlantTimeNotEnough" => Some(Self::RetHomePlantTimeNotEnough), + "RetHomePlantSubFieldNumNotEnough" => { + Some(Self::RetHomePlantSubFieldNumNotEnough) + } + "RetHomePlantFieldParamError" => Some(Self::RetHomePlantFieldParamError), + "RetHomeFurnitureGuidError" => Some(Self::RetHomeFurnitureGuidError), + "RetHomeFurnitureArrangeLimit" => Some(Self::RetHomeFurnitureArrangeLimit), + "RetHomeFishFarmingLimit" => Some(Self::RetHomeFishFarmingLimit), + "RetHomeFishCountNotEnough" => Some(Self::RetHomeFishCountNotEnough), + "RetHomeFurnitureCostLimit" => Some(Self::RetHomeFurnitureCostLimit), + "RetHomeCustomFurnitureInvalid" => Some(Self::RetHomeCustomFurnitureInvalid), + "RetHomeInvalidArrangeGroupParam" => { + Some(Self::RetHomeInvalidArrangeGroupParam) + } + "RetHomeFurnitureArrangeGroupLimit" => { + Some(Self::RetHomeFurnitureArrangeGroupLimit) + } + "RetHomePictureFrameCoopCgGenderError" => { + Some(Self::RetHomePictureFrameCoopCgGenderError) + } + "RetHomePictureFrameCoopCgNotUnlock" => { + Some(Self::RetHomePictureFrameCoopCgNotUnlock) + } + "RetHomeFurnitureCannotArrange" => Some(Self::RetHomeFurnitureCannotArrange), + "RetHomeFurnitureInDuplicateSuite" => { + Some(Self::RetHomeFurnitureInDuplicateSuite) + } + "RetHomeFurnitureCustomSuiteTooSmall" => { + Some(Self::RetHomeFurnitureCustomSuiteTooSmall) + } + "RetHomeFurnitureCustomSuiteTooBig" => { + Some(Self::RetHomeFurnitureCustomSuiteTooBig) + } + "RetHomeFurnitureSuiteExceedLimit" => { + Some(Self::RetHomeFurnitureSuiteExceedLimit) + } + "RetHomeFurnitureCustomSuiteExceedLimit" => { + Some(Self::RetHomeFurnitureCustomSuiteExceedLimit) + } + "RetHomeFurnitureCustomSuiteInvalidSurfaceType" => { + Some(Self::RetHomeFurnitureCustomSuiteInvalidSurfaceType) + } + "RetHomeBgmIdNotFound" => Some(Self::RetHomeBgmIdNotFound), + "RetHomeBgmNotUnlocked" => Some(Self::RetHomeBgmNotUnlocked), + "RetHomeBgmFurnitureNotFound" => Some(Self::RetHomeBgmFurnitureNotFound), + "RetHomeBgmNotSupportByCurScene" => { + Some(Self::RetHomeBgmNotSupportByCurScene) + } + "RetHomeLimitedShopGoodsDisable" => { + Some(Self::RetHomeLimitedShopGoodsDisable) + } + "RetHomeWorldWoodMaterialEmpty" => Some(Self::RetHomeWorldWoodMaterialEmpty), + "RetHomeWorldWoodMaterialNotFound" => { + Some(Self::RetHomeWorldWoodMaterialNotFound) + } + "RetHomeWorldWoodMaterialCountInvalid" => { + Some(Self::RetHomeWorldWoodMaterialCountInvalid) + } + "RetHomeWorldWoodExchangeExceedLimit" => { + Some(Self::RetHomeWorldWoodExchangeExceedLimit) + } + "RetHomeBlueprintSearchSelf" => Some(Self::RetHomeBlueprintSearchSelf), + "RetHomeBlueprintShareCodeInvalid" => { + Some(Self::RetHomeBlueprintShareCodeInvalid) + } + "RetHomeBlueprintNotExist" => Some(Self::RetHomeBlueprintNotExist), + "RetHomeBlueprintSlotHasExistShareCode" => { + Some(Self::RetHomeBlueprintSlotHasExistShareCode) + } + "RetHomeBlueprintSlotNotExistShareCode" => { + Some(Self::RetHomeBlueprintSlotNotExistShareCode) + } + "RetHomeBlueprintCanNotCreateInAudit" => { + Some(Self::RetHomeBlueprintCanNotCreateInAudit) + } + "RetHomeBlockNotUnlocked" => Some(Self::RetHomeBlockNotUnlocked), + "RetHomeBlueprintCreateCd" => Some(Self::RetHomeBlueprintCreateCd), + "RetHomeBlueprintSetOptionCd" => Some(Self::RetHomeBlueprintSetOptionCd), + "RetHomeBlueprintNotAllowFriendCopy" => { + Some(Self::RetHomeBlueprintNotAllowFriendCopy) + } + "RetHomeFurniturePosUnderDieY" => Some(Self::RetHomeFurniturePosUnderDieY), + "RetHomeBlueprintGenShareCodeFail" => { + Some(Self::RetHomeBlueprintGenShareCodeFail) + } + "RetHomeBlueprintSearchCd" => Some(Self::RetHomeBlueprintSearchCd), + "RetHomeBlueprintPreviewCd" => Some(Self::RetHomeBlueprintPreviewCd), + "RetHomeBlueprintPreviewSceneNotMatch" => { + Some(Self::RetHomeBlueprintPreviewSceneNotMatch) + } + "RetHomeBlueprintSlotFull" => Some(Self::RetHomeBlueprintSlotFull), + "RetHomeBlueprintOwnerRejectCopy" => { + Some(Self::RetHomeBlueprintOwnerRejectCopy) + } + "RetHomeBlueprintSaveToSlotCd" => Some(Self::RetHomeBlueprintSaveToSlotCd), + "RetHomeBlueprintReplyTimeout" => Some(Self::RetHomeBlueprintReplyTimeout), + "RetSumoActivityStageNotOpen" => Some(Self::RetSumoActivityStageNotOpen), + "RetSumoActivitySwitchTeamInCd" => Some(Self::RetSumoActivitySwitchTeamInCd), + "RetSumoActivityTeamNumIncorrect" => { + Some(Self::RetSumoActivityTeamNumIncorrect) + } + "RetLunaRiteActivityAreaIdError" => { + Some(Self::RetLunaRiteActivityAreaIdError) + } + "RetLunaRiteActivityBattleNotFinish" => { + Some(Self::RetLunaRiteActivityBattleNotFinish) + } + "RetLunaRiteActivityAlreadySacrifice" => { + Some(Self::RetLunaRiteActivityAlreadySacrifice) + } + "RetLunaRiteActivityAlreadyTakeReward" => { + Some(Self::RetLunaRiteActivityAlreadyTakeReward) + } + "RetLunaRiteActivitySacrificeNotEnough" => { + Some(Self::RetLunaRiteActivitySacrificeNotEnough) + } + "RetLunaRiteActivitySearchingCondNotMeet" => { + Some(Self::RetLunaRiteActivitySearchingCondNotMeet) + } + "RetDigGadgetConfigIdNotMatch" => Some(Self::RetDigGadgetConfigIdNotMatch), + "RetDigFindNearestPosFail" => Some(Self::RetDigFindNearestPosFail), + "RetMusicGameLevelNotOpen" => Some(Self::RetMusicGameLevelNotOpen), + "RetMusicGameLevelNotUnlock" => Some(Self::RetMusicGameLevelNotUnlock), + "RetMusicGameLevelNotStarted" => Some(Self::RetMusicGameLevelNotStarted), + "RetMusicGameLevelConfigNotFound" => { + Some(Self::RetMusicGameLevelConfigNotFound) + } + "RetMusicGameLevelIdNotMatch" => Some(Self::RetMusicGameLevelIdNotMatch), + "RetRoguelikeCoinANotEnough" => Some(Self::RetRoguelikeCoinANotEnough), + "RetRoguelikeCoinBNotEnough" => Some(Self::RetRoguelikeCoinBNotEnough), + "RetRoguelikeCoinCNotEnough" => Some(Self::RetRoguelikeCoinCNotEnough), + "RetRoguelikeCoinAExceedLimit" => Some(Self::RetRoguelikeCoinAExceedLimit), + "RetRoguelikeCoinBExceedLimit" => Some(Self::RetRoguelikeCoinBExceedLimit), + "RetRoguelikeCoinCExceedLimit" => Some(Self::RetRoguelikeCoinCExceedLimit), + "RetRoguelikeRuneCountNotEnough" => { + Some(Self::RetRoguelikeRuneCountNotEnough) + } + "RetRoguelikeNotInRogueDungeon" => Some(Self::RetRoguelikeNotInRogueDungeon), + "RetRoguelikeCellNotFound" => Some(Self::RetRoguelikeCellNotFound), + "RetRoguelikeCellTypeIncorrect" => Some(Self::RetRoguelikeCellTypeIncorrect), + "RetRoguelikeCellAlreadyFinished" => { + Some(Self::RetRoguelikeCellAlreadyFinished) + } + "RetRoguelikeDungeonHaveUnfinishedProgress" => { + Some(Self::RetRoguelikeDungeonHaveUnfinishedProgress) + } + "RetRoguelikeStageNotFinished" => Some(Self::RetRoguelikeStageNotFinished), + "RetRoguelikeStageFirstPassRewardHasTaken" => { + Some(Self::RetRoguelikeStageFirstPassRewardHasTaken) + } + "RetRoguelikeActivityContentClosed" => { + Some(Self::RetRoguelikeActivityContentClosed) + } + "RetRoguelikeDungeonPreQuestNotFinished" => { + Some(Self::RetRoguelikeDungeonPreQuestNotFinished) + } + "RetRoguelikeDungeonNotOpen" => Some(Self::RetRoguelikeDungeonNotOpen), + "RetRoguelikeSprintIsBanned" => Some(Self::RetRoguelikeSprintIsBanned), + "RetRoguelikeDungeonPreStageNotFinished" => { + Some(Self::RetRoguelikeDungeonPreStageNotFinished) + } + "RetRoguelikeAllAvatarDieCannotResume" => { + Some(Self::RetRoguelikeAllAvatarDieCannotResume) + } + "RetPlantFlowerAlreadyTakeSeed" => Some(Self::RetPlantFlowerAlreadyTakeSeed), + "RetPlantFlowerFriendHaveFlowerLimit" => { + Some(Self::RetPlantFlowerFriendHaveFlowerLimit) + } + "RetPlantFlowerCanGiveFlowerNotEnough" => { + Some(Self::RetPlantFlowerCanGiveFlowerNotEnough) + } + "RetPlantFlowerWishFlowerKindsLimit" => { + Some(Self::RetPlantFlowerWishFlowerKindsLimit) + } + "RetPlantFlowerHaveFlowerNotEnough" => { + Some(Self::RetPlantFlowerHaveFlowerNotEnough) + } + "RetPlantFlowerFlowerCombinationInvalid" => { + Some(Self::RetPlantFlowerFlowerCombinationInvalid) + } + "RetHachiDungeonNotValid" => Some(Self::RetHachiDungeonNotValid), + "RetHachiDungeonStageNotOpen" => Some(Self::RetHachiDungeonStageNotOpen), + "RetHachiDungeonTeammateNotPass" => { + Some(Self::RetHachiDungeonTeammateNotPass) + } + "RetWinterCampCoinANotEnough" => Some(Self::RetWinterCampCoinANotEnough), + "RetWinterCampCoinBNotEnough" => Some(Self::RetWinterCampCoinBNotEnough), + "RetWinterCampCoinAExceedLimit" => Some(Self::RetWinterCampCoinAExceedLimit), + "RetWinterCampCoinBExceedLimit" => Some(Self::RetWinterCampCoinBExceedLimit), + "RetWinterCampWishIdInvalid" => Some(Self::RetWinterCampWishIdInvalid), + "RetWinterCampNotFoundRecvItemData" => { + Some(Self::RetWinterCampNotFoundRecvItemData) + } + "RetWinterCampFriendItemCountOverflow" => { + Some(Self::RetWinterCampFriendItemCountOverflow) + } + "RetWinterCampSelectItemDataInvalid" => { + Some(Self::RetWinterCampSelectItemDataInvalid) + } + "RetWinterCampItemListEmpty" => Some(Self::RetWinterCampItemListEmpty), + "RetWinterCampRewardAlreadyTaken" => { + Some(Self::RetWinterCampRewardAlreadyTaken) + } + "RetWinterCampStageNotFinish" => Some(Self::RetWinterCampStageNotFinish), + "RetWinterCampGadgetInvalid" => Some(Self::RetWinterCampGadgetInvalid), + "RetLanternRiteCoinANotEnough" => Some(Self::RetLanternRiteCoinANotEnough), + "RetLanternRiteCoinBNotEnough" => Some(Self::RetLanternRiteCoinBNotEnough), + "RetLanternRiteCoinCNotEnough" => Some(Self::RetLanternRiteCoinCNotEnough), + "RetLanternRiteCoinAExceedLimit" => { + Some(Self::RetLanternRiteCoinAExceedLimit) + } + "RetLanternRiteCoinBExceedLimit" => { + Some(Self::RetLanternRiteCoinBExceedLimit) + } + "RetLanternRiteCoinCExceedLimit" => { + Some(Self::RetLanternRiteCoinCExceedLimit) + } + "RetLanternRiteProjectionContentClosed" => { + Some(Self::RetLanternRiteProjectionContentClosed) + } + "RetLanternRiteProjectionCanNotStart" => { + Some(Self::RetLanternRiteProjectionCanNotStart) + } + "RetLanternRiteDungeonNotOpen" => Some(Self::RetLanternRiteDungeonNotOpen), + "RetLanternRiteHasTakenSkinReward" => { + Some(Self::RetLanternRiteHasTakenSkinReward) + } + "RetLanternRiteNotFinishedSkinWatchers" => { + Some(Self::RetLanternRiteNotFinishedSkinWatchers) + } + "RetLanternRiteFireworksContentClosed" => { + Some(Self::RetLanternRiteFireworksContentClosed) + } + "RetLanternRiteFireworksChallengeNotStart" => { + Some(Self::RetLanternRiteFireworksChallengeNotStart) + } + "RetLanternRiteFireworksReformParamError" => { + Some(Self::RetLanternRiteFireworksReformParamError) + } + "RetLanternRiteFireworksReformSkillLock" => { + Some(Self::RetLanternRiteFireworksReformSkillLock) + } + "RetLanternRiteFireworksReformStaminaNotEnough" => { + Some(Self::RetLanternRiteFireworksReformStaminaNotEnough) + } + "RetPotionActivityStageNotOpen" => Some(Self::RetPotionActivityStageNotOpen), + "RetPotionActivityLevelHavePass" => { + Some(Self::RetPotionActivityLevelHavePass) + } + "RetPotionActivityTeamNumIncorrect" => { + Some(Self::RetPotionActivityTeamNumIncorrect) + } + "RetPotionActivityAvatarInCd" => Some(Self::RetPotionActivityAvatarInCd), + "RetPotionActivityBuffInCd" => Some(Self::RetPotionActivityBuffInCd), + "RetIrodoriPoetryInvalidLineId" => Some(Self::RetIrodoriPoetryInvalidLineId), + "RetIrodoriPoetryInvalidThemeId" => { + Some(Self::RetIrodoriPoetryInvalidThemeId) + } + "RetIrodoriPoetryNotGetAllInspiration" => { + Some(Self::RetIrodoriPoetryNotGetAllInspiration) + } + "RetIrodoriPoetryInspirationReachLimie" => { + Some(Self::RetIrodoriPoetryInspirationReachLimie) + } + "RetIrodoriPoetryEntityAlreadyScanned" => { + Some(Self::RetIrodoriPoetryEntityAlreadyScanned) + } + "RetActivityBannerAlreadyCleared" => { + Some(Self::RetActivityBannerAlreadyCleared) + } + "RetIrodoriChessNotOpen" => Some(Self::RetIrodoriChessNotOpen), + "RetIrodoriChessLevelNotOpen" => Some(Self::RetIrodoriChessLevelNotOpen), + "RetIrodoriChessMapNotOpen" => Some(Self::RetIrodoriChessMapNotOpen), + "RetIrodoriChessMapCardAlreadyEquiped" => { + Some(Self::RetIrodoriChessMapCardAlreadyEquiped) + } + "RetIrodoriChessEquipCardExceedLimit" => { + Some(Self::RetIrodoriChessEquipCardExceedLimit) + } + "RetIrodoriChessMapCardNotEquiped" => { + Some(Self::RetIrodoriChessMapCardNotEquiped) + } + "RetIrodoriChessEnterFailCardExceedLimit" => { + Some(Self::RetIrodoriChessEnterFailCardExceedLimit) + } + "RetActivityFriendHaveGiftLimit" => { + Some(Self::RetActivityFriendHaveGiftLimit) + } + "RetGachaActivityHaveRewardLimit" => { + Some(Self::RetGachaActivityHaveRewardLimit) + } + "RetGachaActivityHaveRobotLimit" => { + Some(Self::RetGachaActivityHaveRobotLimit) + } + "RetSummerTimeV2CoinExceedLimit" => { + Some(Self::RetSummerTimeV2CoinExceedLimit) + } + "RetSummerTimeV2CoinNotEnough" => Some(Self::RetSummerTimeV2CoinNotEnough), + "RetSummerTimeV2DungeonStageNotOpen" => { + Some(Self::RetSummerTimeV2DungeonStageNotOpen) + } + "RetSummerTimeV2PrevDungeonNotComplete" => { + Some(Self::RetSummerTimeV2PrevDungeonNotComplete) + } + "RetRogueDiaryAvatarDeath" => Some(Self::RetRogueDiaryAvatarDeath), + "RetRogueDiaryAvatarTired" => Some(Self::RetRogueDiaryAvatarTired), + "RetRogueDiaryAvatarDuplicated" => Some(Self::RetRogueDiaryAvatarDuplicated), + "RetRogueDiaryCoinNotEnough" => Some(Self::RetRogueDiaryCoinNotEnough), + "RetRogueDiaryVirtualCoinExceedLimit" => { + Some(Self::RetRogueDiaryVirtualCoinExceedLimit) + } + "RetRogueDiaryVirtualCoinNotEnough" => { + Some(Self::RetRogueDiaryVirtualCoinNotEnough) + } + "RetRogueDiaryContentClosed" => Some(Self::RetRogueDiaryContentClosed), + "RetGravenInnocenceCoinANotEnough" => { + Some(Self::RetGravenInnocenceCoinANotEnough) + } + "RetGravenInnocenceCoinBNotEnough" => { + Some(Self::RetGravenInnocenceCoinBNotEnough) + } + "RetGravenInnocenceCoinAExceedLimit" => { + Some(Self::RetGravenInnocenceCoinAExceedLimit) + } + "RetGravenInnocenceCoinBExceedLimit" => { + Some(Self::RetGravenInnocenceCoinBExceedLimit) + } + "RetIslandPartyStageNotOpen" => Some(Self::RetIslandPartyStageNotOpen), + "RetWindFieldStageNotOpen" => Some(Self::RetWindFieldStageNotOpen), + "RetVintageContentClosed" => Some(Self::RetVintageContentClosed), + "RetVintageStoreContentFinished" => { + Some(Self::RetVintageStoreContentFinished) + } + "RetVintageStoreAttrTooSmall" => Some(Self::RetVintageStoreAttrTooSmall), + "RetVintageStoreAttrTooLarge" => Some(Self::RetVintageStoreAttrTooLarge), + "RetVintageStoreContentInterrupt" => { + Some(Self::RetVintageStoreContentInterrupt) + } + "RetVintageVirtualCoinNotEnough" => { + Some(Self::RetVintageVirtualCoinNotEnough) + } + "RetVintageStoreAttrLessThanZero" => { + Some(Self::RetVintageStoreAttrLessThanZero) + } + "RetFungusFighterCaptureCoinNotEnough" => { + Some(Self::RetFungusFighterCaptureCoinNotEnough) + } + "RetFungusFighterTrainingCoinNotEnough" => { + Some(Self::RetFungusFighterTrainingCoinNotEnough) + } + "RetFungusFighterCaptureCoinExceedLimit" => { + Some(Self::RetFungusFighterCaptureCoinExceedLimit) + } + "RetFungusFighterTrainingCoinExceedLimit" => { + Some(Self::RetFungusFighterTrainingCoinExceedLimit) + } + "RetFungusFighterContentClosed" => Some(Self::RetFungusFighterContentClosed), + "RetFungusFighterPlotStageNotOpen" => { + Some(Self::RetFungusFighterPlotStageNotOpen) + } + "RetFungusFighterFungusIdConfigNotValid" => { + Some(Self::RetFungusFighterFungusIdConfigNotValid) + } + "RetFungusFighterFungusNotCultivated" => { + Some(Self::RetFungusFighterFungusNotCultivated) + } + "RetFungusFighterTrainingDungeonNotOpen" => { + Some(Self::RetFungusFighterTrainingDungeonNotOpen) + } + "RetEffigyChallengeV2CoinNotEnough" => { + Some(Self::RetEffigyChallengeV2CoinNotEnough) + } + "RetEffigyChallengeV2CoinExceedLimit" => { + Some(Self::RetEffigyChallengeV2CoinExceedLimit) + } + "RetCharAmusementStageNotOpen" => Some(Self::RetCharAmusementStageNotOpen), + "RetCoinCollectLevelNotOpen" => Some(Self::RetCoinCollectLevelNotOpen), + "RetCoinCollectNotEquipWidget" => Some(Self::RetCoinCollectNotEquipWidget), + "RetCoinCollectSceneNotMatch" => Some(Self::RetCoinCollectSceneNotMatch), + "RetCoinCollectCantEnterMpMode" => Some(Self::RetCoinCollectCantEnterMpMode), + "RetCoinCollectPlayerNumFail" => Some(Self::RetCoinCollectPlayerNumFail), + "RetBrickBreakerPlayerNumFail" => Some(Self::RetBrickBreakerPlayerNumFail), + "RetBrickBreakerStageNotUnlock" => Some(Self::RetBrickBreakerStageNotUnlock), + "RetBrickBreakerNormalLevelNotFinish" => { + Some(Self::RetBrickBreakerNormalLevelNotFinish) + } + "RetBrickBreakerPreLevelNotFinish" => { + Some(Self::RetBrickBreakerPreLevelNotFinish) + } + "RetBrickBreakerPreStageNotFinish" => { + Some(Self::RetBrickBreakerPreStageNotFinish) + } + "RetBrickBreakerWorldLevelNotUnlock" => { + Some(Self::RetBrickBreakerWorldLevelNotUnlock) + } + "RetBrickBreakerDungeonLevelNotUnlock" => { + Some(Self::RetBrickBreakerDungeonLevelNotUnlock) + } + "RetBrickBreakerCoinNotEnough" => Some(Self::RetBrickBreakerCoinNotEnough), + "RetBrickBreakerCoinExceedLimit" => { + Some(Self::RetBrickBreakerCoinExceedLimit) + } + "RetTeamchainWorldInMpMode" => Some(Self::RetTeamchainWorldInMpMode), + "RetLanV3BoatPlayerNumNotValid" => Some(Self::RetLanV3BoatPlayerNumNotValid), + "RetLanV3BoatPlayNotOpen" => Some(Self::RetLanV3BoatPlayNotOpen), + "RetLanV3BoatNotInWorldScene" => Some(Self::RetLanV3BoatNotInWorldScene), + "RetFleurFairV2PacmanPlayNotOpen" => { + Some(Self::RetFleurFairV2PacmanPlayNotOpen) + } + "RetFleurFairV2PacmanPlayerNumIncorrect" => { + Some(Self::RetFleurFairV2PacmanPlayerNumIncorrect) + } + "RetFleurFairV2CoinNotEnough" => Some(Self::RetFleurFairV2CoinNotEnough), + "RetFleurFairV2CoinExceedLimit" => Some(Self::RetFleurFairV2CoinExceedLimit), + "RetAkaFesRhythmLevelNotOpen" => Some(Self::RetAkaFesRhythmLevelNotOpen), + "RetAkaFesRhythmGalleryInitFail" => { + Some(Self::RetAkaFesRhythmGalleryInitFail) + } + "RetAkaFesRhythmNotInExpectedDungeon" => { + Some(Self::RetAkaFesRhythmNotInExpectedDungeon) + } + "RetAkaFesReasoningLevelNotOpen" => { + Some(Self::RetAkaFesReasoningLevelNotOpen) + } + "RetAkaFesAstrolabeLevelNotOpen" => { + Some(Self::RetAkaFesAstrolabeLevelNotOpen) + } + "RetAkaFesAstrolabePreLevelNotFinish" => { + Some(Self::RetAkaFesAstrolabePreLevelNotFinish) + } + "RetEffigyChallengeV4LevelNotOpen" => { + Some(Self::RetEffigyChallengeV4LevelNotOpen) + } + "RetEffigyChallengeV4GuestNotReady" => { + Some(Self::RetEffigyChallengeV4GuestNotReady) + } + "RetEffigyChallengeV4DuplicateAvatar" => { + Some(Self::RetEffigyChallengeV4DuplicateAvatar) + } + "RetJourneyActivityPickParamError" => { + Some(Self::RetJourneyActivityPickParamError) + } + "RetJourneyActivityPickCondNotMeet" => { + Some(Self::RetJourneyActivityPickCondNotMeet) + } + "RetJourneyActivityCoinNotEnough" => { + Some(Self::RetJourneyActivityCoinNotEnough) + } + "RetJourneyActivityCoinExceedLimit" => { + Some(Self::RetJourneyActivityCoinExceedLimit) + } + "RetPoetryFesPitchPotStageNotOpen" => { + Some(Self::RetPoetryFesPitchPotStageNotOpen) + } + "RetFilmfesBallGamePlayerCountNotEnough" => { + Some(Self::RetFilmfesBallGamePlayerCountNotEnough) + } + "RetMpFilmfestShootingOngoing" => Some(Self::RetMpFilmfestShootingOngoing), + "RetFilmfesBallGameIsLocked" => Some(Self::RetFilmfesBallGameIsLocked), + "RetTreasureHuntV4CoinNotEnough" => { + Some(Self::RetTreasureHuntV4CoinNotEnough) + } + "RetTreasureHuntV4CoinExceedLimit" => { + Some(Self::RetTreasureHuntV4CoinExceedLimit) + } + "RetLostSamachurlSneakLevelNotOpen" => { + Some(Self::RetLostSamachurlSneakLevelNotOpen) + } + "RetLostSamachurlBossLevelNotOpen" => { + Some(Self::RetLostSamachurlBossLevelNotOpen) + } + "RetLanV4PartyLionPlayerCountNotEnough" => { + Some(Self::RetLanV4PartyLionPlayerCountNotEnough) + } + "RetLanV4PartyLionLevelNotOpen" => Some(Self::RetLanV4PartyLionLevelNotOpen), + "RetActivityContentClosed" => Some(Self::RetActivityContentClosed), + "RetActivityClientPlayBanMp" => Some(Self::RetActivityClientPlayBanMp), + "RetActivityClientPlayFrequencyError" => { + Some(Self::RetActivityClientPlayFrequencyError) + } + "RetActivityClientPlayOtherPlayIsRunning" => { + Some(Self::RetActivityClientPlayOtherPlayIsRunning) + } + "RetActivityClientPlayDuplicateStart" => { + Some(Self::RetActivityClientPlayDuplicateStart) + } + "RetNotInFishing" => Some(Self::RetNotInFishing), + "RetFishStateError" => Some(Self::RetFishStateError), + "RetFishBaitLimit" => Some(Self::RetFishBaitLimit), + "RetFishingMaxDistance" => Some(Self::RetFishingMaxDistance), + "RetFishingInCombat" => Some(Self::RetFishingInCombat), + "RetFishingBattleTooShort" => Some(Self::RetFishingBattleTooShort), + "RetFishGoneAway" => Some(Self::RetFishGoneAway), + "RetCanNotEditOtherDungeon" => Some(Self::RetCanNotEditOtherDungeon), + "RetCustomDungeonDismatch" => Some(Self::RetCustomDungeonDismatch), + "RetNoCustomDungeonData" => Some(Self::RetNoCustomDungeonData), + "RetBuildCustomDungeonFail" => Some(Self::RetBuildCustomDungeonFail), + "RetCustomDungeonRoomCheckFail" => Some(Self::RetCustomDungeonRoomCheckFail), + "RetCustomDungeonSaveMayFail" => Some(Self::RetCustomDungeonSaveMayFail), + "RetNotInCustomDungeon" => Some(Self::RetNotInCustomDungeon), + "RetCustomDungeonInternalFail" => Some(Self::RetCustomDungeonInternalFail), + "RetCustomDungeonCanNotTry" => Some(Self::RetCustomDungeonCanNotTry), + "RetCustomDungeonNoStartRoom" => Some(Self::RetCustomDungeonNoStartRoom), + "RetCustomDungeonNoRoomData" => Some(Self::RetCustomDungeonNoRoomData), + "RetCustomDungeonSaveTooFrequent" => { + Some(Self::RetCustomDungeonSaveTooFrequent) + } + "RetCustomDungeonNotSelfPass" => Some(Self::RetCustomDungeonNotSelfPass), + "RetCustomDungeonLackCoin" => Some(Self::RetCustomDungeonLackCoin), + "RetCustomDungeonNoFinishBrick" => Some(Self::RetCustomDungeonNoFinishBrick), + "RetCustomDungeonMultiFinish" => Some(Self::RetCustomDungeonMultiFinish), + "RetCustomDungeonNotPublished" => Some(Self::RetCustomDungeonNotPublished), + "RetCustomDungeonFullStore" => Some(Self::RetCustomDungeonFullStore), + "RetCustomDungeonStoreRepeat" => Some(Self::RetCustomDungeonStoreRepeat), + "RetCustomDungeonCanNotStoreSelf" => { + Some(Self::RetCustomDungeonCanNotStoreSelf) + } + "RetCustomDungeonNotSaveSucc" => Some(Self::RetCustomDungeonNotSaveSucc), + "RetCustomDungeonCanNotLikeSelf" => { + Some(Self::RetCustomDungeonCanNotLikeSelf) + } + "RetCustomDungeonNotFound" => Some(Self::RetCustomDungeonNotFound), + "RetCustomDungeonInvalidSetting" => { + Some(Self::RetCustomDungeonInvalidSetting) + } + "RetCustomDungeonNoFinishSetting" => { + Some(Self::RetCustomDungeonNoFinishSetting) + } + "RetCustomDungeonSaveNothing" => Some(Self::RetCustomDungeonSaveNothing), + "RetCustomDungeonNotInGroup" => Some(Self::RetCustomDungeonNotInGroup), + "RetCustomDungeonNotOfficial" => Some(Self::RetCustomDungeonNotOfficial), + "RetCustomDungeonLifeNumError" => Some(Self::RetCustomDungeonLifeNumError), + "RetCustomDungeonNoOpenRoom" => Some(Self::RetCustomDungeonNoOpenRoom), + "RetCustomDungeonBrickExceedLimit" => { + Some(Self::RetCustomDungeonBrickExceedLimit) + } + "RetCustomDungeonOfficialNotUnlock" => { + Some(Self::RetCustomDungeonOfficialNotUnlock) + } + "RetCanNotEditOfficialSetting" => Some(Self::RetCanNotEditOfficialSetting), + "RetCustomDungeonBanPublish" => Some(Self::RetCustomDungeonBanPublish), + "RetCustomDungeonCanNotReplay" => Some(Self::RetCustomDungeonCanNotReplay), + "RetCustomDungeonNotOpenGroup" => Some(Self::RetCustomDungeonNotOpenGroup), + "RetCustomDungeonMaxEditNum" => Some(Self::RetCustomDungeonMaxEditNum), + "RetCustomDungeonCanNotOutStuck" => { + Some(Self::RetCustomDungeonCanNotOutStuck) + } + "RetCustomDungeonMaxTag" => Some(Self::RetCustomDungeonMaxTag), + "RetCustomDungeonInvalidTag" => Some(Self::RetCustomDungeonInvalidTag), + "RetCustomDungeonMaxCost" => Some(Self::RetCustomDungeonMaxCost), + "RetCustomDungeonRequestTooFrequent" => { + Some(Self::RetCustomDungeonRequestTooFrequent) + } + "RetCustomDungeonNotOpen" => Some(Self::RetCustomDungeonNotOpen), + "RetShareCdIdError" => Some(Self::RetShareCdIdError), + "RetShareCdIndexError" => Some(Self::RetShareCdIndexError), + "RetShareCdInCd" => Some(Self::RetShareCdInCd), + "RetShareCdTokenNotEnough" => Some(Self::RetShareCdTokenNotEnough), + "RetUgcDismatch" => Some(Self::RetUgcDismatch), + "RetUgcDataNotFound" => Some(Self::RetUgcDataNotFound), + "RetUgcBriefNotFound" => Some(Self::RetUgcBriefNotFound), + "RetUgcDisabled" => Some(Self::RetUgcDisabled), + "RetUgcLimited" => Some(Self::RetUgcLimited), + "RetUgcLocked" => Some(Self::RetUgcLocked), + "RetUgcNotAuth" => Some(Self::RetUgcNotAuth), + "RetUgcNotOpen" => Some(Self::RetUgcNotOpen), + "RetUgcBanPublish" => Some(Self::RetUgcBanPublish), + "RetUgcMusicExceedLimit" => Some(Self::RetUgcMusicExceedLimit), + "RetUgcMusicSaveTooFrequent" => Some(Self::RetUgcMusicSaveTooFrequent), + "RetUgcMusicStoreFull" => Some(Self::RetUgcMusicStoreFull), + "RetUgcMusicStoreRepeat" => Some(Self::RetUgcMusicStoreRepeat), + "RetUgcMusicStoreTooFrequent" => Some(Self::RetUgcMusicStoreTooFrequent), + "RetUgcMusicSearchNotFound" => Some(Self::RetUgcMusicSearchNotFound), + "RetUgcMusicLikeTooFrequent" => Some(Self::RetUgcMusicLikeTooFrequent), + "RetUgcMusicRecommendTooFrequent" => { + Some(Self::RetUgcMusicRecommendTooFrequent) + } + "RetUgcMusicImportNotAllow" => Some(Self::RetUgcMusicImportNotAllow), + "RetUgcMusicImportNotFound" => Some(Self::RetUgcMusicImportNotFound), + "RetUgcMusicSetOptionTooFrequent" => { + Some(Self::RetUgcMusicSetOptionTooFrequent) + } + "RetUgcMusicImportTooFrequent" => Some(Self::RetUgcMusicImportTooFrequent), + "RetUgcMusicGenShareCodeFail" => Some(Self::RetUgcMusicGenShareCodeFail), + "RetUgcMusicCancelStoreRepeat" => Some(Self::RetUgcMusicCancelStoreRepeat), + "RetCompoundBoostItemNotExist" => Some(Self::RetCompoundBoostItemNotExist), + "RetCompoundBoostTargetNotExist" => { + Some(Self::RetCompoundBoostTargetNotExist) + } + "RetQuickHitTreeEmptyTrees" => Some(Self::RetQuickHitTreeEmptyTrees), + "RetCompoundNoFinishCanTake" => Some(Self::RetCompoundNoFinishCanTake), + "RetForgeNoFinishCanTake" => Some(Self::RetForgeNoFinishCanTake), + "RetGcgFindGameModeFail" => Some(Self::RetGcgFindGameModeFail), + "RetGcgOperationParamError" => Some(Self::RetGcgOperationParamError), + "RetGcgGameNotRunning" => Some(Self::RetGcgGameNotRunning), + "RetGcgOpNotAllow" => Some(Self::RetGcgOpNotAllow), + "RetGcgOpNotMatchPhase" => Some(Self::RetGcgOpNotMatchPhase), + "RetGcgSelectHandCardGuidError" => Some(Self::RetGcgSelectHandCardGuidError), + "RetGcgDiceIndexInvalid" => Some(Self::RetGcgDiceIndexInvalid), + "RetGcgCharacterGuidInvalid" => Some(Self::RetGcgCharacterGuidInvalid), + "RetGcgCharacterAlreadyDie" => Some(Self::RetGcgCharacterAlreadyDie), + "RetGcgCharacterAlreadyOnStage" => Some(Self::RetGcgCharacterAlreadyOnStage), + "RetGcgCharacterForbiddenAttack" => { + Some(Self::RetGcgCharacterForbiddenAttack) + } + "RetGcgSelectDiceNotMatch" => Some(Self::RetGcgSelectDiceNotMatch), + "RetGcgFindSkillFail" => Some(Self::RetGcgFindSkillFail), + "RetGcgSkillCanNotActiveUse" => Some(Self::RetGcgSkillCanNotActiveUse), + "RetGcgEnergyNotEnough" => Some(Self::RetGcgEnergyNotEnough), + "RetGcgPlayCardTargetNotMatch" => Some(Self::RetGcgPlayCardTargetNotMatch), + "RetGcgPlayCardZoneCannotAdd" => Some(Self::RetGcgPlayCardZoneCannotAdd), + "RetGcgRebootSelectDiceInvalid" => Some(Self::RetGcgRebootSelectDiceInvalid), + "RetGcgRebootSelectCardInvalid" => Some(Self::RetGcgRebootSelectCardInvalid), + "RetGcgPlayCardConditionCheckFail" => { + Some(Self::RetGcgPlayCardConditionCheckFail) + } + "RetGcgPlayCardParamInvalid" => Some(Self::RetGcgPlayCardParamInvalid), + "RetGcgMaxGame" => Some(Self::RetGcgMaxGame), + "RetGcgSendPacketFail" => Some(Self::RetGcgSendPacketFail), + "RetGcgAlreadySettle" => Some(Self::RetGcgAlreadySettle), + "RetGcgPlayCardLegendAlreadyUsed" => { + Some(Self::RetGcgPlayCardLegendAlreadyUsed) + } + "RetGcgCostLegendNotEnough" => Some(Self::RetGcgCostLegendNotEnough), + "RetGcgWatchInBlackList" => Some(Self::RetGcgWatchInBlackList), + "RetGcgWatchForbidSwitch" => Some(Self::RetGcgWatchForbidSwitch), + "RetGcgWatchAlreadyJoined" => Some(Self::RetGcgWatchAlreadyJoined), + "RetGcgWatchKickNoSpectator" => Some(Self::RetGcgWatchKickNoSpectator), + "RetGcgWatchTargetNotInDuel" => Some(Self::RetGcgWatchTargetNotInDuel), + "RetGcgWatchTargetNotFriend" => Some(Self::RetGcgWatchTargetNotFriend), + "RetGcgWatchTargetPsnOnly" => Some(Self::RetGcgWatchTargetPsnOnly), + "RetGcgWatchForbidBusinessType" => Some(Self::RetGcgWatchForbidBusinessType), + "RetGcgWatchOptionRefuse" => Some(Self::RetGcgWatchOptionRefuse), + "RetGcgWatchNoPlayer" => Some(Self::RetGcgWatchNoPlayer), + "RetGcgWatchTargetStateNotOpen" => Some(Self::RetGcgWatchTargetStateNotOpen), + "RetGcgWatchSpectatorLimit" => Some(Self::RetGcgWatchSpectatorLimit), + "RetGcgWatchForbiddenWatchGame" => Some(Self::RetGcgWatchForbiddenWatchGame), + "RetGcgWatchNotSpectator" => Some(Self::RetGcgWatchNotSpectator), + "RetGcgWatchAlreadyInDuel" => Some(Self::RetGcgWatchAlreadyInDuel), + "RetGcgWatchClientDataVersoinForbid" => { + Some(Self::RetGcgWatchClientDataVersoinForbid) + } + "RetGcgSkillNotVehicleSkill" => Some(Self::RetGcgSkillNotVehicleSkill), + "RetGcgSkillCheckConditionFail" => Some(Self::RetGcgSkillCheckConditionFail), + "RetGcgVehicleSkillCheckConditionFail" => { + Some(Self::RetGcgVehicleSkillCheckConditionFail) + } + "RetGcgCoinExceedLimit" => Some(Self::RetGcgCoinExceedLimit), + "RetGcgCoinNotEnough" => Some(Self::RetGcgCoinNotEnough), + "RetGcgNotInSelfWorld" => Some(Self::RetGcgNotInSelfWorld), + "RetGcgAlreadyInDuel" => Some(Self::RetGcgAlreadyInDuel), + "RetGcgNotInPlayerWorld" => Some(Self::RetGcgNotInPlayerWorld), + "RetGcgGalleryStarted" => Some(Self::RetGcgGalleryStarted), + "RetGcgInviteTargetIsSelf" => Some(Self::RetGcgInviteTargetIsSelf), + "RetGcgInviteTargetNotInWorld" => Some(Self::RetGcgInviteTargetNotInWorld), + "RetGcgApplyInviteNotAllow" => Some(Self::RetGcgApplyInviteNotAllow), + "RetGcgApplyInviteTimeout" => Some(Self::RetGcgApplyInviteTimeout), + "RetGcgCurDeckInvalid" => Some(Self::RetGcgCurDeckInvalid), + "RetGcgNeedResourceComplete" => Some(Self::RetGcgNeedResourceComplete), + "RetGcgOpponentPlayerIsSelf" => Some(Self::RetGcgOpponentPlayerIsSelf), + "RetGcgGameIdInvalid" => Some(Self::RetGcgGameIdInvalid), + "RetGcgMatchInPunish" => Some(Self::RetGcgMatchInPunish), + "RetGcgSettleStillInDuel" => Some(Self::RetGcgSettleStillInDuel), + "RetGcgSettleNotInDungeon" => Some(Self::RetGcgSettleNotInDungeon), + "RetGcgUnsupportSettleOption" => Some(Self::RetGcgUnsupportSettleOption), + "RetGcgNotInGcgDungeon" => Some(Self::RetGcgNotInGcgDungeon), + "RetGcgWorldLevelLocked" => Some(Self::RetGcgWorldLevelLocked), + "RetGcgBossLevelLocked" => Some(Self::RetGcgBossLevelLocked), + "RetGcgNotInTavern" => Some(Self::RetGcgNotInTavern), + "RetGcgWeekNpcNotExist" => Some(Self::RetGcgWeekNpcNotExist), + "RetGcgEnterGameFrequent" => Some(Self::RetGcgEnterGameFrequent), + "RetGcgBreakLevelQuestNotUnfinished" => { + Some(Self::RetGcgBreakLevelQuestNotUnfinished) + } + "RetGcgGuideLevelAlreadyFinished" => { + Some(Self::RetGcgGuideLevelAlreadyFinished) + } + "RetGcgLevelCannotRestart" => Some(Self::RetGcgLevelCannotRestart), + "RetGcgTargetCheckEnterFail" => Some(Self::RetGcgTargetCheckEnterFail), + "RetGcgAlreadyInDungeon" => Some(Self::RetGcgAlreadyInDungeon), + "RetGcgBackDuelNoGame" => Some(Self::RetGcgBackDuelNoGame), + "RetGcgConstLevelLocked" => Some(Self::RetGcgConstLevelLocked), + "RetGcgQuestIdError" => Some(Self::RetGcgQuestIdError), + "RetGcgQuestNeedUnfinished" => Some(Self::RetGcgQuestNeedUnfinished), + "RetGcgInMatch" => Some(Self::RetGcgInMatch), + "RetGcgDataVersionNotLatest" => Some(Self::RetGcgDataVersionNotLatest), + "RetGcgInviteTargetEnterGameFrequent" => { + Some(Self::RetGcgInviteTargetEnterGameFrequent) + } + "RetGcgInviteTargetNeedResourceComplete" => { + Some(Self::RetGcgInviteTargetNeedResourceComplete) + } + "RetGcgInviteTargetSceneIsNull" => Some(Self::RetGcgInviteTargetSceneIsNull), + "RetGcgInviteTargetInTransfer" => Some(Self::RetGcgInviteTargetInTransfer), + "RetGcgInviteTargetDataVersionNotLatest" => { + Some(Self::RetGcgInviteTargetDataVersionNotLatest) + } + "RetGcgInviteTargetCurDeckInvalid" => { + Some(Self::RetGcgInviteTargetCurDeckInvalid) + } + "RetGcgClientDataVersionNotMatch" => { + Some(Self::RetGcgClientDataVersionNotMatch) + } + "RetGcgClientDataVersoinForbid" => Some(Self::RetGcgClientDataVersoinForbid), + "RetGcgMpCantMatch" => Some(Self::RetGcgMpCantMatch), + "RetGcgInviteTargetStateNotOpen" => { + Some(Self::RetGcgInviteTargetStateNotOpen) + } + "RetGcgCreateTimeOut" => Some(Self::RetGcgCreateTimeOut), + "RetGcgBanMatch" => Some(Self::RetGcgBanMatch), + "RetGcgBanInvite" => Some(Self::RetGcgBanInvite), + "RetGcgTargetBanInvite" => Some(Self::RetGcgTargetBanInvite), + "RetGcgInviteAlreadyInvite" => Some(Self::RetGcgInviteAlreadyInvite), + "RetGcgFestivalModeNotOpen" => Some(Self::RetGcgFestivalModeNotOpen), + "RetGcgTargetFestivalModeNotOpen" => { + Some(Self::RetGcgTargetFestivalModeNotOpen) + } + "RetGcgBackDuelPsToOther" => Some(Self::RetGcgBackDuelPsToOther), + "RetGcgBackDuelOtherToPs" => Some(Self::RetGcgBackDuelOtherToPs), + "RetGcgWeekRewardLimit" => Some(Self::RetGcgWeekRewardLimit), + "RetGcgFestivalModeInPick" => Some(Self::RetGcgFestivalModeInPick), + "RetGcgDsDeckLocked" => Some(Self::RetGcgDsDeckLocked), + "RetGcgDsDeckNameInvalid" => Some(Self::RetGcgDsDeckNameInvalid), + "RetGcgDsDeckCharCardNumInvalid" => { + Some(Self::RetGcgDsDeckCharCardNumInvalid) + } + "RetGcgDsDeckCardNumInvalid" => Some(Self::RetGcgDsDeckCardNumInvalid), + "RetGcgDsCardNumExceedLimit" => Some(Self::RetGcgDsCardNumExceedLimit), + "RetGcgDsDeckInvalid" => Some(Self::RetGcgDsDeckInvalid), + "RetGcgDsCardIdInvalid" => Some(Self::RetGcgDsCardIdInvalid), + "RetGcgDsCardFaceAlreadyUnlock" => Some(Self::RetGcgDsCardFaceAlreadyUnlock), + "RetGcgDsCardFaceIsLock" => Some(Self::RetGcgDsCardFaceIsLock), + "RetGcgDsFieldLock" => Some(Self::RetGcgDsFieldLock), + "RetGcgDsFieldAlreadyUnlock" => Some(Self::RetGcgDsFieldAlreadyUnlock), + "RetGcgDsFieldIdInvalid" => Some(Self::RetGcgDsFieldIdInvalid), + "RetGcgDsCardBackLocked" => Some(Self::RetGcgDsCardBackLocked), + "RetGcgDsCardBackAlreadyUnlock" => Some(Self::RetGcgDsCardBackAlreadyUnlock), + "RetGcgDsCardBackIdInvalid" => Some(Self::RetGcgDsCardBackIdInvalid), + "RetGcgDsCardFaceIdInvalid" => Some(Self::RetGcgDsCardFaceIdInvalid), + "RetGcgDsDeckNameIllegal" => Some(Self::RetGcgDsDeckNameIllegal), + "RetGcgDsDeckSaveCd" => Some(Self::RetGcgDsDeckSaveCd), + "RetGcgDsDeckChangeNameCd" => Some(Self::RetGcgDsDeckChangeNameCd), + "RetGcgMatchDeckInvalid" => Some(Self::RetGcgMatchDeckInvalid), + "RetGcgDsDeckAlreadyUnlocked" => Some(Self::RetGcgDsDeckAlreadyUnlocked), + "RetGcgDsAtLeastOneDeck" => Some(Self::RetGcgDsAtLeastOneDeck), + "RetGcgDsDeckCodeIllegal" => Some(Self::RetGcgDsDeckCodeIllegal), + "RetGcgDsDeckCodeCd" => Some(Self::RetGcgDsDeckCodeCd), + "RetGcgTcCharacternotMatchLevel" => { + Some(Self::RetGcgTcCharacternotMatchLevel) + } + "RetGcgTcMustInSelfWorld" => Some(Self::RetGcgTcMustInSelfWorld), + "RetGcgTcMustInTavern" => Some(Self::RetGcgTcMustInTavern), + "RetGcgTcAlreadyInGame" => Some(Self::RetGcgTcAlreadyInGame), + "RetGcgTcAlreadyInMatch" => Some(Self::RetGcgTcAlreadyInMatch), + "RetGcgTcUnlockCharacterQuestNotFinish" => { + Some(Self::RetGcgTcUnlockCharacterQuestNotFinish) + } + "RetGcgTcLevelLocked" => Some(Self::RetGcgTcLevelLocked), + "RetGcgTcNoInviteData" => Some(Self::RetGcgTcNoInviteData), + "RetGcgTcCurDeckInvalid" => Some(Self::RetGcgTcCurDeckInvalid), + "RetGcgTcCondQuest" => Some(Self::RetGcgTcCondQuest), + "RetGcgLevelRewardLevelError" => Some(Self::RetGcgLevelRewardLevelError), + "RetGcgLevelRewardAlreadyTaken" => Some(Self::RetGcgLevelRewardAlreadyTaken), + "RetGcgLevelRewardNoReward" => Some(Self::RetGcgLevelRewardNoReward), + "RetGcgNotInReplayDungeon" => Some(Self::RetGcgNotInReplayDungeon), + "RetGcgInvalidReplay" => Some(Self::RetGcgInvalidReplay), + "RetGcgSetFavoriteLimitNum" => Some(Self::RetGcgSetFavoriteLimitNum), + "RetGcgReplayExpire" => Some(Self::RetGcgReplayExpire), + "RetGcgReplayDungeonSettled" => Some(Self::RetGcgReplayDungeonSettled), + "RetGcgPickCurUidNotMatch" => Some(Self::RetGcgPickCurUidNotMatch), + "RetGcgPickSelectParamError" => Some(Self::RetGcgPickSelectParamError), + "RetGcgPickConfirmError" => Some(Self::RetGcgPickConfirmError), + "RetGcgPickBackNoGame" => Some(Self::RetGcgPickBackNoGame), + "RetGcgArenaScheduleInactive" => Some(Self::RetGcgArenaScheduleInactive), + "RetGcgArenaScheduleNotMatch" => Some(Self::RetGcgArenaScheduleNotMatch), + "RetGcgArenaDeckNotSet" => Some(Self::RetGcgArenaDeckNotSet), + "RetGcgArenaDeckInvalid" => Some(Self::RetGcgArenaDeckInvalid), + "RetGcgArenaInChallengeCannotSetDeck" => { + Some(Self::RetGcgArenaInChallengeCannotSetDeck) + } + "RetGcgArenaStartChallengeInMpMode" => { + Some(Self::RetGcgArenaStartChallengeInMpMode) + } + "RetGcgArenaStartMatchInMpMode" => Some(Self::RetGcgArenaStartMatchInMpMode), + "RetUgcDungeonInDungeon" => Some(Self::RetUgcDungeonInDungeon), + "RetUgcDungeonRoomNumLimit" => Some(Self::RetUgcDungeonRoomNumLimit), + "RetUgcDungeonNotInEditState" => Some(Self::RetUgcDungeonNotInEditState), + "RetUgcDungeonNotInEditDungeon" => Some(Self::RetUgcDungeonNotInEditDungeon), + "RetUgcDungeonNotExist" => Some(Self::RetUgcDungeonNotExist), + "RetUgcDungeonNotSave" => Some(Self::RetUgcDungeonNotSave), + "RetUgcDungeonScoreCondtionButNoMonster" => { + Some(Self::RetUgcDungeonScoreCondtionButNoMonster) + } + "RetUgcDungeonScoreCondtionButNoCoin" => { + Some(Self::RetUgcDungeonScoreCondtionButNoCoin) + } + "RetUgcDungeonScoreCondtionButNoChest" => { + Some(Self::RetUgcDungeonScoreCondtionButNoChest) + } + "RetUgcDungeonScoreCondtionButNoRoomSettle" => { + Some(Self::RetUgcDungeonScoreCondtionButNoRoomSettle) + } + "RetUgcDungeonTargetScoreExceedLimit" => { + Some(Self::RetUgcDungeonTargetScoreExceedLimit) + } + "RetUgcDungeonTimeSettleTargetScoreNotZero" => { + Some(Self::RetUgcDungeonTimeSettleTargetScoreNotZero) + } + "RetUgcDungeonAllowAvatarNotEnough" => { + Some(Self::RetUgcDungeonAllowAvatarNotEnough) + } + "RetUgcDungeonHeartBloodWhileMonsterDeploy" => { + Some(Self::RetUgcDungeonHeartBloodWhileMonsterDeploy) + } + "RetUgcDungeonRoomNoExitGadget" => Some(Self::RetUgcDungeonRoomNoExitGadget), + "RetUgcDungeonRoomHostEnterGadgetNum" => { + Some(Self::RetUgcDungeonRoomHostEnterGadgetNum) + } + "RetUgcDungeonRoomGuestEnterGadgetNotEnough" => { + Some(Self::RetUgcDungeonRoomGuestEnterGadgetNotEnough) + } + "RetUgcDungeonRoomSettingCoinNumTooLarge" => { + Some(Self::RetUgcDungeonRoomSettingCoinNumTooLarge) + } + "RetUgcDungeonRoomSettingMonsterNumTooLarge" => { + Some(Self::RetUgcDungeonRoomSettingMonsterNumTooLarge) + } + "RetUgcDungeonRoomSettingNoSettleConfig" => { + Some(Self::RetUgcDungeonRoomSettingNoSettleConfig) + } + "RetUgcDungeonRoomSwitchInviteInProcess" => { + Some(Self::RetUgcDungeonRoomSwitchInviteInProcess) + } + "RetUgcDungeonRoomDeploymentCostLimit" => { + Some(Self::RetUgcDungeonRoomDeploymentCostLimit) + } + "RetUgcDungeonRoomTriggerDuplicateGuid" => { + Some(Self::RetUgcDungeonRoomTriggerDuplicateGuid) + } + "RetUgcDungeonRoomTriggerParamError" => { + Some(Self::RetUgcDungeonRoomTriggerParamError) + } + "RetUgcDungeonScoreSettleTargetScoreZero" => { + Some(Self::RetUgcDungeonScoreSettleTargetScoreZero) + } + "RetUgcDungeonStateCanNotAudit" => Some(Self::RetUgcDungeonStateCanNotAudit), + "RetUgcDungeonAuditVersionNotMatch" => { + Some(Self::RetUgcDungeonAuditVersionNotMatch) + } + "RetUgcDungeonInAudit" => Some(Self::RetUgcDungeonInAudit), + "RetUgcDungeonStateCanNotPublish" => { + Some(Self::RetUgcDungeonStateCanNotPublish) + } + "RetUgcDungeonRequestTooFrequent" => { + Some(Self::RetUgcDungeonRequestTooFrequent) + } + "RetUgcDungeonCanNotPublishNoEdit" => { + Some(Self::RetUgcDungeonCanNotPublishNoEdit) + } + "RetUgcDungeonNotAllowImport" => Some(Self::RetUgcDungeonNotAllowImport), + "RetUgcDungeonImportRoomHasMonster" => { + Some(Self::RetUgcDungeonImportRoomHasMonster) + } + "RetUgcDungeonSearchNotExist" => Some(Self::RetUgcDungeonSearchNotExist), + "RetUgcDungeonRoomSwitchLastRoom" => { + Some(Self::RetUgcDungeonRoomSwitchLastRoom) + } + "RetUgcDungeonRoomGadgetNumLimit" => { + Some(Self::RetUgcDungeonRoomGadgetNumLimit) + } + "RetUgcDungeonRoomMonsterNumLimit" => { + Some(Self::RetUgcDungeonRoomMonsterNumLimit) + } + "RetUgcDungeonNoTrialSuccRecord" => { + Some(Self::RetUgcDungeonNoTrialSuccRecord) + } + "RetUgcDungeonNumLimit" => Some(Self::RetUgcDungeonNumLimit), + "RetUgcDungeonInEditDungeon" => Some(Self::RetUgcDungeonInEditDungeon), + "RetUgcDungeonNotInDungeon" => Some(Self::RetUgcDungeonNotInDungeon), + "RetUgcDungeonChangeSettingTooFrequent" => { + Some(Self::RetUgcDungeonChangeSettingTooFrequent) + } + "RetUgcDungeonNotOwner" => Some(Self::RetUgcDungeonNotOwner), + "RetUgcDungeonNotPublished" => Some(Self::RetUgcDungeonNotPublished), + "RetUgcDungeonShareCodeGenFail" => Some(Self::RetUgcDungeonShareCodeGenFail), + "RetUgcDungeonRoomLimit" => Some(Self::RetUgcDungeonRoomLimit), + "RetUgcDungeonShareCodeInvalid" => Some(Self::RetUgcDungeonShareCodeInvalid), + "RetUgcDungeonRoomSuiteNumLimit" => { + Some(Self::RetUgcDungeonRoomSuiteNumLimit) + } + "RetUgcDungeonTowerHasBeenPurchased" => { + Some(Self::RetUgcDungeonTowerHasBeenPurchased) + } + "RetUgcDungeonPlayerAddItemOverStack" => { + Some(Self::RetUgcDungeonPlayerAddItemOverStack) + } + "RetUgcDungeonPlayerTowerLevelUpLimited" => { + Some(Self::RetUgcDungeonPlayerTowerLevelUpLimited) + } + "RetUgcDungeonPlayerConsumeItemNotEnough" => { + Some(Self::RetUgcDungeonPlayerConsumeItemNotEnough) + } + "RetUgcDungeonPlayerTowerAlreadyLevelUp" => { + Some(Self::RetUgcDungeonPlayerTowerAlreadyLevelUp) + } + "RetUgcDungeonPlayerUgcTargetIsNotExist" => { + Some(Self::RetUgcDungeonPlayerUgcTargetIsNotExist) + } + "RetUgcDungeonPlayerUgcTargetIsNotActive" => { + Some(Self::RetUgcDungeonPlayerUgcTargetIsNotActive) + } + "RetUgcDungeonCheckLayoutFailed" => { + Some(Self::RetUgcDungeonCheckLayoutFailed) + } + "RetUgcDungeonPlayerTowerAlreadyRemoved" => { + Some(Self::RetUgcDungeonPlayerTowerAlreadyRemoved) + } + "RetUgcDungeonPlayerAddItemOverLimit" => { + Some(Self::RetUgcDungeonPlayerAddItemOverLimit) + } + "RetUgcDungeonPlayerGrantAvatarOverLimit" => { + Some(Self::RetUgcDungeonPlayerGrantAvatarOverLimit) + } + "RetUgcDungeonDuplicateStar" => Some(Self::RetUgcDungeonDuplicateStar), + "RetUgcDungeonCancelStarNotExist" => { + Some(Self::RetUgcDungeonCancelStarNotExist) + } + "RetUgcDungeonStarReachLimit" => Some(Self::RetUgcDungeonStarReachLimit), + "RetUgcDungeonInternalFail" => Some(Self::RetUgcDungeonInternalFail), + "RetUgcDungeonPlayerPublishBanned" => { + Some(Self::RetUgcDungeonPlayerPublishBanned) + } + "RetUgcDungeonCustomEditIsNotOpen" => { + Some(Self::RetUgcDungeonCustomEditIsNotOpen) + } + "RetUgcDungeonOfficialLevelIsNotOpen" => { + Some(Self::RetUgcDungeonOfficialLevelIsNotOpen) + } + "RetUgcDungeonTemplateImportIsNotOpen" => { + Some(Self::RetUgcDungeonTemplateImportIsNotOpen) + } + "RetTargetShootingLevelNotOpen" => Some(Self::RetTargetShootingLevelNotOpen), + "RetTargetShootingPlayerNumNotValid" => { + Some(Self::RetTargetShootingPlayerNumNotValid) + } + "RetTargetShootingPlayNotOpen" => Some(Self::RetTargetShootingPlayNotOpen), + "RetTargetShootingConfigNotFound" => { + Some(Self::RetTargetShootingConfigNotFound) + } + "RetShuffleBoardLevelNotOpen" => Some(Self::RetShuffleBoardLevelNotOpen), + "RetShuffleBoardNotInPenumbraScene" => { + Some(Self::RetShuffleBoardNotInPenumbraScene) + } + "RetShuffleBoardLevelMismatch" => Some(Self::RetShuffleBoardLevelMismatch), + "RetShuffleBoardAlreadyPlaying" => Some(Self::RetShuffleBoardAlreadyPlaying), + "RetRaffleTicketInvalidBonusId" => Some(Self::RetRaffleTicketInvalidBonusId), + "RetRaffleTicketPrerequisiteNotMet" => { + Some(Self::RetRaffleTicketPrerequisiteNotMet) + } + "RetRaffleTicketNotEnough" => Some(Self::RetRaffleTicketNotEnough), + "RetFlightGearLevelNotOpen" => Some(Self::RetFlightGearLevelNotOpen), + "RetFlightGearInMpMode" => Some(Self::RetFlightGearInMpMode), + "RetAnimalViewAvatarIsClosingToAnimal" => { + Some(Self::RetAnimalViewAvatarIsClosingToAnimal) + } + "RetAnimalViewNotEquipWidget" => Some(Self::RetAnimalViewNotEquipWidget), + "RetCombinePointNotEnough" => Some(Self::RetCombinePointNotEnough), + "RetToyBattleCurrentLevelNotOpen" => { + Some(Self::RetToyBattleCurrentLevelNotOpen) + } + "RetToyBattleCurrentNotPlaying" => Some(Self::RetToyBattleCurrentNotPlaying), + "RetFontaineGatherInvalidGatherTracking" => { + Some(Self::RetFontaineGatherInvalidGatherTracking) + } + "RetFontaineGatherInvalidMonsterTracking" => { + Some(Self::RetFontaineGatherInvalidMonsterTracking) + } + "RetFishblasterLevelNotOpen" => Some(Self::RetFishblasterLevelNotOpen), + "RetFishblasterNotInRightScene" => Some(Self::RetFishblasterNotInRightScene), + "RetFishblasterLevelMismatch" => Some(Self::RetFishblasterLevelMismatch), + "RetFishblasterAlreadyPlaying" => Some(Self::RetFishblasterAlreadyPlaying), + "RetGoalChallengeStageNotOpen" => Some(Self::RetGoalChallengeStageNotOpen), + "RetGoalChallengeInvalidTeam" => Some(Self::RetGoalChallengeInvalidTeam), + "RetAlchemySimCoinNotEnough" => Some(Self::RetAlchemySimCoinNotEnough), + "RetAlchemySimCropExceedLimit" => Some(Self::RetAlchemySimCropExceedLimit), + "RetAlchemySimFarmlandSameCrop" => Some(Self::RetAlchemySimFarmlandSameCrop), + "RetAlchemySimCropNoHarvestableLand" => { + Some(Self::RetAlchemySimCropNoHarvestableLand) + } + "RetAlchemySimCropNotEnough" => Some(Self::RetAlchemySimCropNotEnough), + "RetAlchemySimCropNotUnlocked" => Some(Self::RetAlchemySimCropNotUnlocked), + "RetAlchemySimFarmlandNotReady" => Some(Self::RetAlchemySimFarmlandNotReady), + "RetAlchemySimCropRankMax" => Some(Self::RetAlchemySimCropRankMax), + "RetAlchemySimFarmlandIsNotHarvested" => { + Some(Self::RetAlchemySimFarmlandIsNotHarvested) + } + "RetAlchemySimTechTreeAlreadyUnlocked" => { + Some(Self::RetAlchemySimTechTreeAlreadyUnlocked) + } + "RetAlchemySimPotionNotExist" => Some(Self::RetAlchemySimPotionNotExist), + "RetAlchemySimNotInTargetExam" => Some(Self::RetAlchemySimNotInTargetExam), + "RetAlchemySimRoundAlchemyCountOver" => { + Some(Self::RetAlchemySimRoundAlchemyCountOver) + } + "RetAlchemySimInternalLogicError" => { + Some(Self::RetAlchemySimInternalLogicError) + } + "RetAlchemySimCropOnForbiddenPos" => { + Some(Self::RetAlchemySimCropOnForbiddenPos) + } + "RetAlchemySimCropOverlapOverLimit" => { + Some(Self::RetAlchemySimCropOverlapOverLimit) + } + "RetAlchemySimPuzzleRateNotEnough" => { + Some(Self::RetAlchemySimPuzzleRateNotEnough) + } + "RetAlchemySimPotionCantUpgrade" => { + Some(Self::RetAlchemySimPotionCantUpgrade) + } + "RetAlchemySimExamCountNotEnough" => { + Some(Self::RetAlchemySimExamCountNotEnough) + } + "RetAlchemySimTechTreeNotAllowed" => { + Some(Self::RetAlchemySimTechTreeNotAllowed) + } + "RetAlchemySimCropNoRipenLand" => Some(Self::RetAlchemySimCropNoRipenLand), + "RetAlchemySimUnfinishQuest" => Some(Self::RetAlchemySimUnfinishQuest), + "RetAlchemySimInvalidRoundState" => { + Some(Self::RetAlchemySimInvalidRoundState) + } + "RetAlchemySimCropUpgradeExpOverflow" => { + Some(Self::RetAlchemySimCropUpgradeExpOverflow) + } + "RetAlchemySimCropUpgradeNotUnlocked" => { + Some(Self::RetAlchemySimCropUpgradeNotUnlocked) + } + "RetAlchemySimFinishRoundFrequency" => { + Some(Self::RetAlchemySimFinishRoundFrequency) + } + "RetAlchemySimTemplateAlchemyNotUnlocked" => { + Some(Self::RetAlchemySimTemplateAlchemyNotUnlocked) + } + "RetCatcafeLayoutStageNotRight" => Some(Self::RetCatcafeLayoutStageNotRight), + "RetCatcafeLayoutNotRight" => Some(Self::RetCatcafeLayoutNotRight), + "RetStaminaFightIsInOtherDungeon" => { + Some(Self::RetStaminaFightIsInOtherDungeon) + } + "RetEffigyChallengeV5LevelNotOpen" => { + Some(Self::RetEffigyChallengeV5LevelNotOpen) + } + "RetEffigyChallengeV5InvalidSupport" => { + Some(Self::RetEffigyChallengeV5InvalidSupport) + } + "RetEffigyChallengeV5InvalidPlayerNum" => { + Some(Self::RetEffigyChallengeV5InvalidPlayerNum) + } + "RetEffigyChallengeV5InCombat" => Some(Self::RetEffigyChallengeV5InCombat), + "RetEffigyChallengeV5InvalidScene" => { + Some(Self::RetEffigyChallengeV5InvalidScene) + } + "RetBlueprintSlotNotFound" => Some(Self::RetBlueprintSlotNotFound), + "RetFurnitureSuiteIdInvalid" => Some(Self::RetFurnitureSuiteIdInvalid), + "RetWishlistBatchOperateOutOfLimit" => { + Some(Self::RetWishlistBatchOperateOutOfLimit) + } + "RetHideAndSeekV4GameNotOpen" => Some(Self::RetHideAndSeekV4GameNotOpen), + "RetHideAndSeekV4PlayMapNotChosen" => { + Some(Self::RetHideAndSeekV4PlayMapNotChosen) + } + "RetHideAndSeekV4PlayerCountNotEnough" => { + Some(Self::RetHideAndSeekV4PlayerCountNotEnough) + } + "RetHideAndSeekV4PlayMapNotOpen" => { + Some(Self::RetHideAndSeekV4PlayMapNotOpen) + } + "RetWatergunLevelNotOpen" => Some(Self::RetWatergunLevelNotOpen), + "RetAcrobaticsBattleStageNotOpen" => { + Some(Self::RetAcrobaticsBattleStageNotOpen) + } + "RetAcrobaticsBattleInvalidTeam" => { + Some(Self::RetAcrobaticsBattleInvalidTeam) + } + "RetMonsterVsMonsterLevelNotOpen" => { + Some(Self::RetMonsterVsMonsterLevelNotOpen) + } + "RetRechargeDiskLevelNotOpen" => Some(Self::RetRechargeDiskLevelNotOpen), + "RetRechargeDiskInvalidLevelBuild" => { + Some(Self::RetRechargeDiskInvalidLevelBuild) + } + "RetRechargeDiskCurSceneInvalid" => { + Some(Self::RetRechargeDiskCurSceneInvalid) + } + "RetActivityPreviewTrialInCd" => Some(Self::RetActivityPreviewTrialInCd), + "RetBirdBallMpLevelNotOpen" => Some(Self::RetBirdBallMpLevelNotOpen), + "RetBirdBallDraftPlayerNumInvalid" => { + Some(Self::RetBirdBallDraftPlayerNumInvalid) + } + "RetFairyTalesLotterAreaIsNotOpen" => { + Some(Self::RetFairyTalesLotterAreaIsNotOpen) + } + "RetFairyTalesLotterLeftCntNotEnough" => { + Some(Self::RetFairyTalesLotterLeftCntNotEnough) + } + "RetFairyTalesToyTotalLeftCntNotEnough" => { + Some(Self::RetFairyTalesToyTotalLeftCntNotEnough) + } + "RetFairyTalesWishToyTypeOverLimit" => { + Some(Self::RetFairyTalesWishToyTypeOverLimit) + } + "RetFairyTalesToyCustomGadgetContentInvalid" => { + Some(Self::RetFairyTalesToyCustomGadgetContentInvalid) + } + "RetFairyTalesCombatLevelNotOpen" => { + Some(Self::RetFairyTalesCombatLevelNotOpen) + } + "RetFairyTalesTicketPrerequisiteNotMet" => { + Some(Self::RetFairyTalesTicketPrerequisiteNotMet) + } + "RetFairyTalesTicketNotEnough" => Some(Self::RetFairyTalesTicketNotEnough), + "RetActivityTeamInvalidSize" => Some(Self::RetActivityTeamInvalidSize), + "RetActivityInvalidTrialAvatar" => Some(Self::RetActivityInvalidTrialAvatar), + "RetActivityForbiddenTrialAvatar" => { + Some(Self::RetActivityForbiddenTrialAvatar) + } + "RetRenameInvalidQuestState" => Some(Self::RetRenameInvalidQuestState), + "RetRenameConflicted" => Some(Self::RetRenameConflicted), + "RetReliquaryOfferPurchaseVersionIdxError" => { + Some(Self::RetReliquaryOfferPurchaseVersionIdxError) + } + "RetReliquaryOfferVersionTimesLimit" => { + Some(Self::RetReliquaryOfferVersionTimesLimit) + } + "RetReliquaryOfferProgressNotEnough" => { + Some(Self::RetReliquaryOfferProgressNotEnough) + } + "RetReliquaryOfferProgressOverLimit" => { + Some(Self::RetReliquaryOfferProgressOverLimit) + } + "RetReliquaryPurchaseSuiteTimesOverLimit" => { + Some(Self::RetReliquaryPurchaseSuiteTimesOverLimit) + } + _ => None, + } + } +} \ No newline at end of file diff --git a/hk4e_proto/out/packet_head.rs b/hk4e_proto/out/packet_head.rs new file mode 100644 index 0000000..6e6c1dc --- /dev/null +++ b/hk4e_proto/out/packet_head.rs @@ -0,0 +1,48 @@ +// This file is @generated by prost-build. +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PacketHead { + #[prost(uint32, tag = "1")] + pub packet_id: u32, + #[prost(uint32, tag = "2")] + pub rpc_id: u32, + #[prost(uint32, tag = "3")] + pub client_sequence_id: u32, + #[prost(uint32, tag = "4")] + pub enet_channel_id: u32, + #[prost(uint32, tag = "5")] + pub enet_is_reliable: u32, + #[prost(uint64, tag = "6")] + pub sent_ms: u64, + #[prost(uint32, tag = "11")] + pub user_id: u32, + #[prost(uint32, tag = "12")] + pub user_ip: u32, + #[prost(uint32, tag = "13")] + pub user_session_id: u32, + #[prost(uint32, tag = "14")] + pub home_user_id: u32, + #[prost(uint64, tag = "21")] + pub recv_time_ms: u64, + #[prost(uint32, tag = "22")] + pub rpc_begin_time_ms: u32, + #[prost(map = "uint32, uint32", tag = "23")] + pub ext_map: ::std::collections::HashMap, + #[prost(uint32, tag = "24")] + pub sender_app_id: u32, + #[prost(uint32, tag = "25")] + pub sender_load: u32, + #[prost(bytes = "vec", tag = "26")] + pub span_context_str: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "31")] + pub source_service: u32, + #[prost(uint32, tag = "32")] + pub target_service: u32, + #[prost(map = "uint32, uint32", tag = "33")] + pub service_app_id_map: ::std::collections::HashMap, + #[prost(bool, tag = "34")] + pub is_set_game_thread: bool, + #[prost(uint32, tag = "35")] + pub game_thread_index: u32, +} diff --git a/hk4e_proto/out/redis_data.rs b/hk4e_proto/out/redis_data.rs new file mode 100644 index 0000000..19c24df --- /dev/null +++ b/hk4e_proto/out/redis_data.rs @@ -0,0 +1,41 @@ +// This file is @generated by prost-build. +#[derive(proto_gen::CmdID)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerStatusRedisData { + #[prost(enumeration = "PlayerStatusType", tag = "1")] + pub status: i32, + #[prost(uint32, tag = "2")] + pub gameserver_id: u32, + #[prost(uint64, tag = "3")] + pub login_rand: u64, + #[prost(uint32, tag = "4")] + pub login_time: u32, +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum PlayerStatusType { + PlayerStatusOffline = 0, + PlayerStatusOnline = 1, +} +impl PlayerStatusType { + /// 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 { + PlayerStatusType::PlayerStatusOffline => "PLAYER_STATUS_OFFLINE", + PlayerStatusType::PlayerStatusOnline => "PLAYER_STATUS_ONLINE", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "PLAYER_STATUS_OFFLINE" => Some(Self::PlayerStatusOffline), + "PLAYER_STATUS_ONLINE" => Some(Self::PlayerStatusOnline), + _ => None, + } + } +} diff --git a/hk4e_proto/out/server_only.rs b/hk4e_proto/out/server_only.rs new file mode 100644 index 0000000..0070632 --- /dev/null +++ b/hk4e_proto/out/server_only.rs @@ -0,0 +1,132 @@ +// This file is @generated by prost-build. +#[derive(proto_gen::CmdID)] +#[cmdid(10035)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct AddGateserverNotify { + #[prost(uint32, tag = "1")] + pub listen_port: u32, + #[prost(uint32, tag = "2")] + pub outer_ip: u32, + #[prost(bool, tag = "3")] + pub use_domain_name: bool, + #[prost(string, tag = "4")] + pub domain_name: ::prost::alloc::string::String, +} +#[derive(proto_gen::CmdID)] +#[cmdid(1)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct KeepAliveNotify {} +#[derive(proto_gen::CmdID)] +#[cmdid(10198)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SavePlayerDataReq { + #[prost(bytes = "vec", tag = "1")] + pub player_data: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "2")] + pub save_stat_id: u32, +} +#[derive(proto_gen::CmdID)] +#[cmdid(10112)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SavePlayerDataRsp { + #[prost(int32, tag = "1")] + pub retcode: i32, + #[prost(uint32, tag = "2")] + pub data_version: u32, + #[prost(uint32, tag = "3")] + pub save_stat_id: u32, +} +#[derive(proto_gen::CmdID)] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum ENetReason { + EnetTimeout = 0, + EnetClientClose = 1, + EnetClientRebindFail = 2, + EnetClientShutdown = 3, + EnetServerRelogin = 4, + EnetServerKick = 5, + EnetServerShutdown = 6, + EnetNotFoundSession = 7, + EnetLoginUnfinished = 8, + EnetPacketFreqTooHigh = 9, + EnetPingTimeout = 10, + EnetTranferFailed = 11, + EnetServerKillClient = 12, + EnetCheckMoveSpeed = 13, + EnetAccountPasswordChange = 14, + EnetSecurityKick = 15, + EnetLuaShellTimeout = 16, + EnetSdkfailKick = 17, + EnetPacketCostTime = 18, + EnetPacketUnionFreq = 19, + EnetWaitSndMax = 20, + EnetClientConnectKey = 1234567890, + EnetClientEditorConnectKey = 987654321, +} +impl ENetReason { + /// 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 { + ENetReason::EnetTimeout => "ENET_TIMEOUT", + ENetReason::EnetClientClose => "ENET_CLIENT_CLOSE", + ENetReason::EnetClientRebindFail => "ENET_CLIENT_REBIND_FAIL", + ENetReason::EnetClientShutdown => "ENET_CLIENT_SHUTDOWN", + ENetReason::EnetServerRelogin => "ENET_SERVER_RELOGIN", + ENetReason::EnetServerKick => "ENET_SERVER_KICK", + ENetReason::EnetServerShutdown => "ENET_SERVER_SHUTDOWN", + ENetReason::EnetNotFoundSession => "ENET_NOT_FOUND_SESSION", + ENetReason::EnetLoginUnfinished => "ENET_LOGIN_UNFINISHED", + ENetReason::EnetPacketFreqTooHigh => "ENET_PACKET_FREQ_TOO_HIGH", + ENetReason::EnetPingTimeout => "ENET_PING_TIMEOUT", + ENetReason::EnetTranferFailed => "ENET_TRANFER_FAILED", + ENetReason::EnetServerKillClient => "ENET_SERVER_KILL_CLIENT", + ENetReason::EnetCheckMoveSpeed => "ENET_CHECK_MOVE_SPEED", + ENetReason::EnetAccountPasswordChange => "ENET_ACCOUNT_PASSWORD_CHANGE", + ENetReason::EnetSecurityKick => "ENET_SECURITY_KICK", + ENetReason::EnetLuaShellTimeout => "ENET_LUA_SHELL_TIMEOUT", + ENetReason::EnetSdkfailKick => "ENET_SDKFAIL_KICK", + ENetReason::EnetPacketCostTime => "ENET_PACKET_COST_TIME", + ENetReason::EnetPacketUnionFreq => "ENET_PACKET_UNION_FREQ", + ENetReason::EnetWaitSndMax => "ENET_WAIT_SND_MAX", + ENetReason::EnetClientConnectKey => "ENET_CLIENT_CONNECT_KEY", + ENetReason::EnetClientEditorConnectKey => "ENET_CLIENT_EDITOR_CONNECT_KEY", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "ENET_TIMEOUT" => Some(Self::EnetTimeout), + "ENET_CLIENT_CLOSE" => Some(Self::EnetClientClose), + "ENET_CLIENT_REBIND_FAIL" => Some(Self::EnetClientRebindFail), + "ENET_CLIENT_SHUTDOWN" => Some(Self::EnetClientShutdown), + "ENET_SERVER_RELOGIN" => Some(Self::EnetServerRelogin), + "ENET_SERVER_KICK" => Some(Self::EnetServerKick), + "ENET_SERVER_SHUTDOWN" => Some(Self::EnetServerShutdown), + "ENET_NOT_FOUND_SESSION" => Some(Self::EnetNotFoundSession), + "ENET_LOGIN_UNFINISHED" => Some(Self::EnetLoginUnfinished), + "ENET_PACKET_FREQ_TOO_HIGH" => Some(Self::EnetPacketFreqTooHigh), + "ENET_PING_TIMEOUT" => Some(Self::EnetPingTimeout), + "ENET_TRANFER_FAILED" => Some(Self::EnetTranferFailed), + "ENET_SERVER_KILL_CLIENT" => Some(Self::EnetServerKillClient), + "ENET_CHECK_MOVE_SPEED" => Some(Self::EnetCheckMoveSpeed), + "ENET_ACCOUNT_PASSWORD_CHANGE" => Some(Self::EnetAccountPasswordChange), + "ENET_SECURITY_KICK" => Some(Self::EnetSecurityKick), + "ENET_LUA_SHELL_TIMEOUT" => Some(Self::EnetLuaShellTimeout), + "ENET_SDKFAIL_KICK" => Some(Self::EnetSdkfailKick), + "ENET_PACKET_COST_TIME" => Some(Self::EnetPacketCostTime), + "ENET_PACKET_UNION_FREQ" => Some(Self::EnetPacketUnionFreq), + "ENET_WAIT_SND_MAX" => Some(Self::EnetWaitSndMax), + "ENET_CLIENT_CONNECT_KEY" => Some(Self::EnetClientConnectKey), + "ENET_CLIENT_EDITOR_CONNECT_KEY" => Some(Self::EnetClientEditorConnectKey), + _ => None, + } + } +} \ No newline at end of file diff --git a/hk4e_proto/proto_gen/Cargo.toml b/hk4e_proto/proto_gen/Cargo.toml new file mode 100644 index 0000000..aa7ed1b --- /dev/null +++ b/hk4e_proto/proto_gen/Cargo.toml @@ -0,0 +1,12 @@ +[package] +name = "proto_gen" +version = "0.1.0" +edition = "2021" + +[dependencies] +syn = "2.0.53" +quote = "1.0.35" +proc-macro2 = "1.0.79" + +[lib] +proc-macro = true diff --git a/hk4e_proto/proto_gen/src/lib.rs b/hk4e_proto/proto_gen/src/lib.rs new file mode 100644 index 0000000..330bd38 --- /dev/null +++ b/hk4e_proto/proto_gen/src/lib.rs @@ -0,0 +1,27 @@ +use proc_macro::TokenStream; +use quote::{quote, ToTokens}; +use syn::{parse_macro_input, DeriveInput, Meta, MetaList}; + +#[proc_macro_derive(CmdID, attributes(cmdid))] +pub fn cmd_id_derive(input: TokenStream) -> TokenStream { + let input = parse_macro_input!(input as DeriveInput); + let struct_name = input.ident; + + let id = match input + .attrs + .iter() + .find(|attr| attr.path().is_ident("cmdid")) + { + Some(attr) => match attr.meta { + Meta::List(MetaList { ref tokens, .. }) => tokens.into_token_stream(), + _ => panic!("Invalid cmdid attribute value"), + }, + _ => 0u16.into_token_stream(), + }; + + TokenStream::from(quote! { + impl crate::CmdID for #struct_name { + const CMD_ID: u16 = #id; + } + }) +} diff --git a/hk4e_proto/src/lib.rs b/hk4e_proto/src/lib.rs new file mode 100644 index 0000000..780c519 --- /dev/null +++ b/hk4e_proto/src/lib.rs @@ -0,0 +1,16 @@ +include!("../out/packet_head.rs"); +include!("../out/server_only.rs"); +include!("../out/bin.rs"); +include!("../out/redis_data.rs"); +include!("../out/cmd.rs"); + +pub trait CmdID { + const CMD_ID: u16; + + fn get_cmd_id(&self) -> u16 { + Self::CMD_ID + } +} + +pub trait YSMessage: prost::Message + CmdID {} +impl YSMessage for T {} diff --git a/kcp/Cargo.toml b/kcp/Cargo.toml new file mode 100644 index 0000000..a5b9769 --- /dev/null +++ b/kcp/Cargo.toml @@ -0,0 +1,21 @@ +[package] +name = "mhy-kcp" +version.workspace = true +edition = "2021" + +[features] +fastack-conserve = [] +tokio = ["dep:tokio"] + +[dependencies] +bytes.workspace = true +log = "0.4.21" +thiserror = "1.0.58" +tokio = { version = "1.37.0", optional = true, features = ["io-util"] } +xxhash-rust = { version = "0.8.10", features = ["xxh3"] } + +[dev-dependencies] +time = "0.3.34" +rand = "0.8.5" +env_logger = "0.11.3" + diff --git a/kcp/src/error.rs b/kcp/src/error.rs new file mode 100644 index 0000000..0991d6b --- /dev/null +++ b/kcp/src/error.rs @@ -0,0 +1,56 @@ +use std::{ + error::Error as StdError, + io::{self, ErrorKind}, +}; + +/// KCP protocol errors +#[derive(Debug, thiserror::Error)] +pub enum Error { + #[error("conv inconsistent, expected {0}, found {1}")] + ConvInconsistent(u32, u32), + #[error("invalid mtu {0}")] + InvalidMtu(usize), + #[error("invalid segment size {0}")] + InvalidSegmentSize(usize), + #[error("invalid segment data size, expected {0}, found {1}")] + InvalidSegmentDataSize(usize, usize), + #[error("{0}")] + IoError( + #[from] + #[source] + io::Error, + ), + #[error("need to call update() once")] + NeedUpdate, + #[error("recv queue is empty")] + RecvQueueEmpty, + #[error("expecting fragment")] + ExpectingFragment, + #[error("command {0} is not supported")] + UnsupportedCmd(u8), + #[error("user's send buffer is too big")] + UserBufTooBig, + #[error("user's recv buffer is too small")] + UserBufTooSmall, + #[error("token mismatch, expected {0}, found {1}")] + TokenMismatch(u32, u32), +} + +fn make_io_error(kind: ErrorKind, msg: T) -> io::Error +where + T: Into>, +{ + io::Error::new(kind, msg) +} + +impl From for io::Error { + fn from(err: Error) -> Self { + let kind = match err { + Error::IoError(err) => return err, + Error::RecvQueueEmpty | Error::ExpectingFragment => ErrorKind::WouldBlock, + _ => ErrorKind::Other, + }; + + make_io_error(kind, err) + } +} diff --git a/kcp/src/kcp.rs b/kcp/src/kcp.rs new file mode 100644 index 0000000..9e1a0be --- /dev/null +++ b/kcp/src/kcp.rs @@ -0,0 +1,1528 @@ +//! KCP + +#[cfg(feature = "tokio")] +use std::pin::Pin; +#[cfg(feature = "tokio")] +use std::task::{Context, Poll}; +use std::{ + cmp, + cmp::Ordering, + collections::VecDeque, + fmt::{self, Debug}, + io::{self, Cursor, Read, Write}, +}; + +use bytes::{Buf, BufMut, BytesMut}; +#[cfg(feature = "tokio")] +use tokio::io::{AsyncWrite, AsyncWriteExt}; +use xxhash_rust::xxh3::xxh3_64; + +use crate::{error::Error, KcpResult}; + +const KCP_RTO_NDL: u32 = 20; // no delay min rto +const KCP_RTO_MIN: u32 = 100; // normal min rto +const KCP_RTO_DEF: u32 = 200; +const KCP_RTO_MAX: u32 = 60000; + +const KCP_CMD_PUSH: u8 = 81; // cmd: push data +const KCP_CMD_ACK: u8 = 82; // cmd: ack +const KCP_CMD_WASK: u8 = 83; // cmd: window probe (ask) +const KCP_CMD_WINS: u8 = 84; // cmd: window size (tell) + +const KCP_ASK_SEND: u32 = 1; // need to send IKCP_CMD_WASK +const KCP_ASK_TELL: u32 = 2; // need to send IKCP_CMD_WINS + +const KCP_WND_SND: u16 = 32; +const KCP_WND_RCV: u16 = 258; // must >= max fragment size + +const KCP_MTU_DEF: usize = 1400; +// const KCP_ACK_FAST: u32 = 3; + +const KCP_INTERVAL: u32 = 100; +/// KCP Header size +pub const KCP_OVERHEAD: usize = 32; +const KCP_DEADLINK: u32 = 20; + +const KCP_THRESH_INIT: u16 = 2; +const KCP_THRESH_MIN: u16 = 2; + +const KCP_PROBE_INIT: u32 = 7000; // 7 secs to probe window size +const KCP_PROBE_LIMIT: u32 = 120_000; // up to 120 secs to probe window +const KCP_FASTACK_LIMIT: u32 = 5; // max times to trigger fastack + +/// Read `conv` from raw buffer +#[must_use] +pub fn get_conv(mut buf: &[u8]) -> u32 { + assert!(buf.len() >= KCP_OVERHEAD); + buf.get_u32_le() +} + +/// Set `conv` to raw buffer +pub fn set_conv(mut buf: &mut [u8], conv: u32) { + assert!(buf.len() >= KCP_OVERHEAD); + buf.put_u32_le(conv); +} + +/// Get `sn` from raw buffer +#[must_use] +pub fn get_sn(buf: &[u8]) -> u32 { + assert!(buf.len() >= KCP_OVERHEAD); + (&buf[12..]).get_u32_le() +} + +#[must_use] +fn bound(lower: u32, v: u32, upper: u32) -> u32 { + cmp::min(cmp::max(lower, v), upper) +} + +#[must_use] +const fn timediff(later: u32, earlier: u32) -> i32 { + later as i32 - earlier as i32 +} + +#[derive(Default, Clone, Debug)] +struct KcpSegment { + conv: u32, + token: u32, + checksum: u32, + cmd: u8, + frg: u8, + wnd: u16, + ts: u32, + sn: u32, + una: u32, + resendts: u32, + rto: u32, + fastack: u32, + xmit: u32, + data: BytesMut, +} + +impl KcpSegment { + fn new(data: BytesMut) -> Self { + Self { + checksum: (xxh3_64(&data) & 0xFFFFFFFF) as u32, + data, + ..Default::default() + } + } + + fn encode(&self, buf: &mut BytesMut) { + assert!( + buf.remaining_mut() >= self.encoded_len(), + "REMAIN {} encoded {} {self:?}", + buf.remaining_mut(), + self.encoded_len(), + ); + + buf.put_u32_le(self.conv); + buf.put_u32_le(self.token); + buf.put_u8(self.cmd); + buf.put_u8(self.frg); + buf.put_u16_le(self.wnd); + buf.put_u32_le(self.ts); + buf.put_u32_le(self.sn); + buf.put_u32_le(self.una); + buf.put_u32_le(self.data.len() as u32); + buf.put_u32_le(self.checksum); + buf.put_slice(&self.data); + } + + fn encoded_len(&self) -> usize { + KCP_OVERHEAD + self.data.len() + } +} + +#[derive(Default)] +struct KcpOutput(O); + +impl Write for KcpOutput { + fn write(&mut self, data: &[u8]) -> io::Result { + trace!("[RO] {} bytes", data.len()); + self.0.write(data) + } + + fn flush(&mut self) -> io::Result<()> { + self.0.flush() + } +} + +#[cfg(feature = "tokio")] +impl AsyncWrite for KcpOutput { + fn poll_write( + mut self: Pin<&mut Self>, + cx: &mut Context<'_>, + buf: &[u8], + ) -> Poll> { + Pin::new(&mut self.0).poll_write(cx, buf) + } + + fn poll_flush(mut self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll> { + Pin::new(&mut self.0).poll_flush(cx) + } + + fn poll_shutdown(mut self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll> { + Pin::new(&mut self.0).poll_shutdown(cx) + } + + fn poll_write_vectored( + mut self: Pin<&mut Self>, + cx: &mut Context<'_>, + bufs: &[io::IoSlice<'_>], + ) -> Poll> { + Pin::new(&mut self.0).poll_write_vectored(cx, bufs) + } + + fn is_write_vectored(&self) -> bool { + self.0.is_write_vectored() + } +} + +/// KCP control +#[derive(Default)] +pub struct Kcp { + /// Conversation ID + conv: u32, + /// Maximum Transmission Unit + mtu: usize, + /// Maximum Segment Size + mss: usize, + /// Connection state + state: i32, + /// User token + token: u32, + + /// First unacknowledged packet + snd_una: u32, + /// Next packet + snd_nxt: u32, + /// Next packet to be received + rcv_nxt: u32, + + /// Congestion window threshold + ssthresh: u16, + + /// ACK receive variable RTT + rx_rttval: u32, + /// ACK receive static RTT + rx_srtt: u32, + /// Resend time (calculated by ACK delay time) + rx_rto: u32, + /// Minimal resend timeout + rx_minrto: u32, + + /// Send window + snd_wnd: u16, + /// Receive window + rcv_wnd: u16, + /// Remote receive window + rmt_wnd: u16, + /// Congestion window + cwnd: u16, + /// Check window + /// - `IKCP_ASK_TELL`, telling window size to remote + /// - `IKCP_ASK_SEND`, ask remote for window size + probe: u32, + + /// Last update time + current: u32, + /// Flush interval + interval: u32, + /// Next flush interval + ts_flush: u32, + xmit: u32, + + /// Enable nodelay + nodelay: bool, + /// Updated has been called or not + updated: bool, + + /// Next check window timestamp + ts_probe: u32, + /// Check window wait time + probe_wait: u32, + + /// Maximum resend time + dead_link: u32, + /// Maximum payload size + incr: usize, + + snd_queue: VecDeque, + rcv_queue: VecDeque, + snd_buf: VecDeque, + rcv_buf: VecDeque, + + /// Pending ACK + acklist: VecDeque<(u32, u32)>, + buf: BytesMut, + + /// ACK number to trigger fast resend + fastresend: u32, + fastlimit: u32, + /// Disable congestion control + nocwnd: bool, + /// Enable stream mode + stream: bool, + + /// Get conv from the next input call + input_conv: bool, + + output: KcpOutput, +} + +impl Debug for Kcp { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + f.debug_struct("Kcp") + .field("conv", &self.conv) + .field("mtu", &self.mtu) + .field("mss", &self.mss) + .field("state", &self.state) + .field("token", &self.token) + .field("snd_una", &self.snd_una) + .field("snd_nxt", &self.snd_nxt) + .field("rcv_nxt", &self.rcv_nxt) + .field("ssthresh", &self.ssthresh) + .field("rx_rttval", &self.rx_rttval) + .field("rx_srtt", &self.rx_srtt) + .field("rx_rto", &self.rx_rto) + .field("rx_minrto", &self.rx_minrto) + .field("snd_wnd", &self.snd_wnd) + .field("rcv_wnd", &self.rcv_wnd) + .field("rmt_wnd", &self.rmt_wnd) + .field("cwnd", &self.cwnd) + .field("probe", &self.probe) + .field("current", &self.current) + .field("interval", &self.interval) + .field("ts_flush", &self.ts_flush) + .field("xmit", &self.xmit) + .field("nodelay", &self.nodelay) + .field("updated", &self.updated) + .field("ts_probe", &self.ts_probe) + .field("probe_wait", &self.probe_wait) + .field("dead_link", &self.dead_link) + .field("incr", &self.incr) + .field("snd_queue.len", &self.snd_queue.len()) + .field("rcv_queue.len", &self.rcv_queue.len()) + .field("snd_buf.len", &self.snd_buf.len()) + .field("rcv_buf.len", &self.rcv_buf.len()) + .field("acklist.len", &self.acklist.len()) + .field("buf.len", &self.buf.len()) + .field("fastresend", &self.fastresend) + .field("fastlimit", &self.fastlimit) + .field("nocwnd", &self.nocwnd) + .field("stream", &self.stream) + .field("input_conv", &self.input_conv) + .finish() + } +} + +impl Kcp { + /// Create a KCP control object. + /// + /// `conv` represents the conversation, it must be equal in both endpoints given a connection + /// `token` is the token for the conversation. + /// `stream` will enable stream mode if set to `true`. + /// `output` is the callback object for writing. + pub fn new(conv: u32, token: u32, stream: bool, output: Output) -> Self { + Self { + conv, + token, + snd_una: 0, + snd_nxt: 0, + rcv_nxt: 0, + ts_probe: 0, + probe_wait: 0, + snd_wnd: KCP_WND_SND, + rcv_wnd: KCP_WND_RCV, + rmt_wnd: KCP_WND_RCV, + cwnd: 0, + incr: 0, + probe: 0, + mtu: KCP_MTU_DEF, + mss: KCP_MTU_DEF - KCP_OVERHEAD, + stream, + + buf: BytesMut::with_capacity((KCP_MTU_DEF + KCP_OVERHEAD) * 3), + + snd_queue: VecDeque::new(), + rcv_queue: VecDeque::new(), + snd_buf: VecDeque::new(), + rcv_buf: VecDeque::new(), + + state: 0, + + acklist: VecDeque::new(), + + rx_srtt: 0, + rx_rttval: 0, + rx_rto: KCP_RTO_DEF, + rx_minrto: KCP_RTO_MIN, + + current: 0, + interval: KCP_INTERVAL, + ts_flush: KCP_INTERVAL, + nodelay: false, + updated: false, + ssthresh: KCP_THRESH_INIT, + fastresend: 0, + fastlimit: KCP_FASTACK_LIMIT, + nocwnd: false, + xmit: 0, + dead_link: KCP_DEADLINK, + + input_conv: false, + output: KcpOutput(output), + } + } + + // move available data from rcv_buf -> rcv_queue + pub fn move_buf(&mut self) { + while !self.rcv_buf.is_empty() { + let nrcv_que = self.rcv_queue.len(); + { + let seg = self.rcv_buf.front().unwrap(); + if seg.sn == self.rcv_nxt && nrcv_que < self.rcv_wnd as usize { + self.rcv_nxt += 1; + } else { + break; + } + } + + let seg = self.rcv_buf.pop_front().unwrap(); + self.rcv_queue.push_back(seg); + } + } + + /// Receive data from buffer + pub fn recv(&mut self, buf: &mut [u8]) -> KcpResult { + if self.rcv_queue.is_empty() { + return Err(Error::RecvQueueEmpty); + } + + let peeksize = self.peeksize()?; + + if peeksize > buf.len() { + debug!("recv peeksize={peeksize} bufsize={} too small", buf.len()); + return Err(Error::UserBufTooSmall); + } + + let recover = self.rcv_queue.len() >= self.rcv_wnd as usize; + + // Merge fragment + let mut cur = Cursor::new(buf); + while let Some(seg) = self.rcv_queue.pop_front() { + Write::write_all(&mut cur, &seg.data)?; + + trace!("recv sn={}", seg.sn); + + if seg.frg == 0 { + break; + } + } + assert_eq!(cur.position() as usize, peeksize); + + self.move_buf(); + + // fast recover + if self.rcv_queue.len() < self.rcv_wnd as usize && recover { + // ready to send back IKCP_CMD_WINS in ikcp_flush + // tell remote my window size + self.probe |= KCP_ASK_TELL; + } + + Ok(cur.position() as usize) + } + + /// Check buffer size without actually consuming it + pub fn peeksize(&self) -> KcpResult { + match self.rcv_queue.front() { + Some(segment) => { + if segment.frg == 0 { + return Ok(segment.data.len()); + } + + if self.rcv_queue.len() < (segment.frg + 1) as usize { + return Err(Error::ExpectingFragment); + } + + let mut len = 0; + + for segment in &self.rcv_queue { + len += segment.data.len(); + if segment.frg == 0 { + break; + } + } + + Ok(len) + } + None => Err(Error::RecvQueueEmpty), + } + } + + /// Send bytes into buffer + pub fn send(&mut self, mut buf: &[u8]) -> KcpResult { + let mut sent_size = 0; + + assert!(self.mss > 0); + + // append to previous segment in streaming mode (if possible) + if self.stream { + if let Some(old) = self.snd_queue.back_mut() { + let l = old.data.len(); + if l < self.mss { + let capacity = self.mss - l; + let extend = cmp::min(buf.len(), capacity); + + trace!( + "send stream mss={} last length={l} extend={extend}", + self.mss, + ); + + let (lf, rt) = buf.split_at(extend); + old.data.extend_from_slice(lf); + buf = rt; + + old.frg = 0; + sent_size += extend; + } + } + + if buf.is_empty() { + return Ok(sent_size); + } + } + + let count = if buf.len() <= self.mss { + 1 + } else { + (buf.len() + self.mss - 1) / self.mss + }; + + if count >= KCP_WND_RCV as usize { + debug!("send bufsize={} mss={} too large", buf.len(), self.mss); + return Err(Error::UserBufTooBig); + } + + let count = cmp::max(1, count); + + for i in 0..count { + let size = cmp::min(self.mss, buf.len()); + + let (lf, rt) = buf.split_at(size); + + let mut new_segment = KcpSegment::new(lf.into()); + buf = rt; + + new_segment.frg = if self.stream { + 0 + } else { + (count - i - 1) as u8 + }; + + self.snd_queue.push_back(new_segment); + sent_size += size; + } + + Ok(sent_size) + } + + fn update_ack(&mut self, rtt: u32) { + if self.rx_srtt == 0 { + self.rx_srtt = rtt; + self.rx_rttval = rtt / 2; + } else { + let delta = if rtt > self.rx_srtt { + rtt - self.rx_srtt + } else { + self.rx_srtt - rtt + }; + self.rx_rttval = (3 * self.rx_rttval + delta) / 4; + self.rx_srtt = ((7 * u64::from(self.rx_srtt) + u64::from(rtt)) / 8) as u32; + if self.rx_srtt < 1 { + self.rx_srtt = 1; + } + } + let rto = self.rx_srtt + cmp::max(self.interval, 4 * self.rx_rttval); + self.rx_rto = bound(self.rx_minrto, rto, KCP_RTO_MAX); + } + + fn shrink_buf(&mut self) { + self.snd_una = match self.snd_buf.front() { + Some(seg) => seg.sn, + None => self.snd_nxt, + }; + } + + fn parse_ack(&mut self, sn: u32) { + if timediff(sn, self.snd_una) < 0 || timediff(sn, self.snd_nxt) >= 0 { + return; + } + + let mut i = 0_usize; + while i < self.snd_buf.len() { + match sn.cmp(&self.snd_buf[i].sn) { + Ordering::Equal => { + self.snd_buf.remove(i); + break; + } + Ordering::Less => break, + Ordering::Greater => i += 1, + } + } + } + + fn parse_una(&mut self, una: u32) { + while let Some(seg) = self.snd_buf.front() { + if timediff(una, seg.sn) > 0 { + self.snd_buf.pop_front(); + } else { + break; + } + } + } + + fn parse_fastack(&mut self, sn: u32, ts: u32) { + if timediff(sn, self.snd_una) < 0 || timediff(sn, self.snd_nxt) >= 0 { + return; + } + + for seg in &mut self.snd_buf { + if timediff(sn, seg.sn) < 0 { + break; + } else if sn != seg.sn { + #[cfg(feature = "fastack-conserve")] + { + seg.fastack += 1; + } + #[cfg(not(feature = "fastack-conserve"))] + if timediff(ts, seg.ts) >= 0 { + seg.fastack += 1; + } + } + } + } + + fn ack_push(&mut self, sn: u32, ts: u32) { + self.acklist.push_back((sn, ts)); + } + + fn parse_data(&mut self, new_segment: KcpSegment) { + let sn = new_segment.sn; + + if timediff(sn, self.rcv_nxt + u32::from(self.rcv_wnd)) >= 0 + || timediff(sn, self.rcv_nxt) < 0 + { + return; + } + + let mut repeat = false; + let mut new_index = self.rcv_buf.len(); + + for segment in self.rcv_buf.iter().rev() { + if segment.sn == sn { + repeat = true; + break; + } + if timediff(sn, segment.sn) > 0 { + break; + } + new_index -= 1; + } + + if !repeat { + self.rcv_buf.insert(new_index, new_segment); + } + + // move available data from rcv_buf -> rcv_queue + self.move_buf(); + } + + /// Get `conv` from the next `input` call + pub fn input_conv(&mut self) { + self.input_conv = true; + } + + /// Check if Kcp is waiting for the next input + #[must_use] + pub const fn waiting_conv(&self) -> bool { + self.input_conv + } + + /// Set `conv` value + pub fn set_conv(&mut self, conv: u32) { + self.conv = conv; + } + + /// Get `conv` + #[must_use] + pub const fn conv(&self) -> u32 { + self.conv + } + + /// Call this when you received a packet from raw connection + pub fn input(&mut self, buf: &[u8]) -> KcpResult { + let input_size = buf.len(); + + trace!("[RI] {} bytes", buf.len()); + + if buf.len() < KCP_OVERHEAD { + debug!( + "input bufsize={} too small, at least {KCP_OVERHEAD}", + buf.len(), + ); + return Err(Error::InvalidSegmentSize(buf.len())); + } + + let mut flag = false; + let mut max_ack = 0; + let old_una = self.snd_una; + let mut latest_ts = 0; + + let mut buf = Cursor::new(buf); + while buf.remaining() >= KCP_OVERHEAD { + let conv = buf.get_u32_le(); + if conv != self.conv { + // This allows getting conv from this call, which allows us to allocate + // conv from the server side. + if self.input_conv { + debug!("input conv={conv} updated, original conv={}", self.conv); + self.conv = conv; + self.input_conv = false; + } else { + debug!("input conv={conv} expected conv={} not match", self.conv); + return Err(Error::ConvInconsistent(self.conv, conv)); + } + } + + let token = buf.get_u32_le(); + let cmd = buf.get_u8(); + let frg = buf.get_u8(); + let wnd = buf.get_u16_le(); + let ts = buf.get_u32_le(); + let sn = buf.get_u32_le(); + let una = buf.get_u32_le(); + let len = buf.get_u32_le() as usize; + let _checksum = buf.get_u32_le(); + + if buf.remaining() < len { + debug!( + "input bufsize={input_size} payload length={len} remaining={} not match", + buf.remaining() + ); + return Err(Error::InvalidSegmentDataSize(len, buf.remaining())); + } + + match cmd { + KCP_CMD_PUSH | KCP_CMD_ACK | KCP_CMD_WASK | KCP_CMD_WINS => {} + _ => { + debug!("input cmd={cmd} unrecognized"); + return Err(Error::UnsupportedCmd(cmd)); + } + } + + if token != self.token { + return Err(Error::TokenMismatch(token, self.token)); + } + + self.rmt_wnd = wnd; + + self.parse_una(una); + self.shrink_buf(); + + let mut has_read_data = false; + + match cmd { + KCP_CMD_ACK => { + let rtt = timediff(self.current, ts); + if rtt >= 0 { + self.update_ack(rtt as u32); + } + self.parse_ack(sn); + self.shrink_buf(); + + if !flag { + flag = true; + max_ack = sn; + latest_ts = ts; + } else if timediff(sn, max_ack) > 0 { + #[cfg(feature = "fastack-conserve")] + { + max_ack = sn; + latest_ts = ts; + } + #[cfg(not(feature = "fastack-conserve"))] + if timediff(ts, latest_ts) > 0 { + max_ack = sn; + latest_ts = ts; + } + } + + trace!( + "input ack: sn={sn} rtt={} rto={}", + timediff(self.current, ts), + self.rx_rto + ); + } + KCP_CMD_PUSH => { + trace!("input psh: sn={sn} ts={ts}"); + + if timediff(sn, self.rcv_nxt + u32::from(self.rcv_wnd)) < 0 { + self.ack_push(sn, ts); + if timediff(sn, self.rcv_nxt) >= 0 { + let mut sbuf = BytesMut::with_capacity(len); + unsafe { + sbuf.set_len(len); + } + buf.read_exact(&mut sbuf).unwrap(); + has_read_data = true; + + let mut segment = KcpSegment::new(sbuf); + + segment.conv = conv; + segment.token = token; + segment.cmd = cmd; + segment.frg = frg; + segment.wnd = wnd; + segment.ts = ts; + segment.sn = sn; + segment.una = una; + + self.parse_data(segment); + } + } + } + KCP_CMD_WASK => { + // ready to send back IKCP_CMD_WINS in ikcp_flush + // tell remote my window size + trace!("input probe"); + self.probe |= KCP_ASK_TELL; + } + KCP_CMD_WINS => { + // Do nothing + trace!("input wins: {wnd}"); + } + _ => unreachable!(), + } + + // Force skip unread data + if !has_read_data { + let next_pos = buf.position() + len as u64; + buf.set_position(next_pos); + } + } + + if flag { + self.parse_fastack(max_ack, latest_ts); + } + + if timediff(self.snd_una, old_una) > 0 && self.cwnd < self.rmt_wnd { + let mss = self.mss; + if self.cwnd < self.ssthresh { + self.cwnd += 1; + self.incr += mss; + } else { + if self.incr < mss { + self.incr = mss; + } + self.incr += (mss * mss) / self.incr + (mss / 16); + if (self.cwnd as usize + 1) * mss <= self.incr { + // self.cwnd += 1; + self.cwnd = ((self.incr + mss - 1) / if mss > 0 { mss } else { 1 }) as u16; + } + } + if self.cwnd > self.rmt_wnd { + self.cwnd = self.rmt_wnd; + self.incr = self.rmt_wnd as usize * mss; + } + } + + Ok(buf.position() as usize) + } + + #[must_use] + fn wnd_unused(&self) -> u16 { + if self.rcv_queue.len() < self.rcv_wnd as usize { + self.rcv_wnd - self.rcv_queue.len() as u16 + } else { + 0 + } + } + + fn probe_wnd_size(&mut self) { + // probe window size (if remote window size equals zero) + if self.rmt_wnd == 0 { + if self.probe_wait == 0 { + self.probe_wait = KCP_PROBE_INIT; + self.ts_probe = self.current + self.probe_wait; + } else if timediff(self.current, self.ts_probe) >= 0 { + if self.probe_wait < KCP_PROBE_INIT { + self.probe_wait = KCP_PROBE_INIT; + } + + self.probe_wait += self.probe_wait / 2; + + if self.probe_wait > KCP_PROBE_LIMIT { + self.probe_wait = KCP_PROBE_LIMIT; + } + + self.ts_probe = self.current + self.probe_wait; + self.probe |= KCP_ASK_SEND; + } + } else { + self.ts_probe = 0; + self.probe_wait = 0; + } + } + + /// Determine when you should call `update`. + /// Return when you should invoke `update` in millisec, if there is no `input`/`send` calling. + /// You can call `update` in that time without calling it repeatly. + #[must_use] + pub fn check(&self, current: u32) -> u32 { + if !self.updated { + return 0; + } + + let mut ts_flush = self.ts_flush; + let mut tm_packet = u32::max_value(); + + if timediff(current, ts_flush) >= 10000 || timediff(current, ts_flush) < -10000 { + ts_flush = current; + } + + if timediff(current, ts_flush) >= 0 { + return 0; + } + + let tm_flush = timediff(ts_flush, current) as u32; + for seg in &self.snd_buf { + let diff = timediff(seg.resendts, current); + if diff <= 0 { + return 0; + } + if (diff as u32) < tm_packet { + tm_packet = diff as u32; + } + } + + let mut minimal = cmp::min(tm_packet, tm_flush); + if minimal >= self.interval { + minimal = self.interval; + } + + minimal + } + + /// Change MTU size, default is 1400 + /// + /// MTU = Maximum Transmission Unit + pub fn set_mtu(&mut self, mtu: usize) -> KcpResult<()> { + if mtu < 50 || mtu < KCP_OVERHEAD { + debug!("set_mtu mtu={mtu} invalid"); + return Err(Error::InvalidMtu(mtu)); + } + + self.mtu = mtu; + self.mss = self.mtu - KCP_OVERHEAD; + + let target_size = (mtu + KCP_OVERHEAD) * 3; + if target_size > self.buf.capacity() { + self.buf.reserve(target_size - self.buf.capacity()); + } + + Ok(()) + } + + /// Get MTU + #[must_use] + pub const fn mtu(&self) -> usize { + self.mtu + } + + /// Set check interval + pub fn set_interval(&mut self, interval: u32) { + self.interval = interval.clamp(10, 5000); + } + + /// Set nodelay + /// + /// fastest config: nodelay(true, 20, 2, true) + /// + /// `nodelay`: default is disable (false) + /// `interval`: internal update timer interval in millisec, default is 100ms + /// `resend`: 0:disable fast resend(default), 1:enable fast resend + /// `nc`: `false`: normal congestion control(default), `true`: disable congestion control + pub fn set_nodelay(&mut self, nodelay: bool, interval: i32, resend: i32, nc: bool) { + if nodelay { + self.nodelay = true; + self.rx_minrto = KCP_RTO_NDL; + } else { + self.nodelay = false; + self.rx_minrto = KCP_RTO_MIN; + } + + match interval { + interval if interval < 10 => self.interval = 10, + interval if interval > 5000 => self.interval = 5000, + _ => self.interval = interval as u32, + } + + if resend >= 0 { + self.fastresend = resend as u32; + } + + self.nocwnd = nc; + } + + /// Set `wndsize` + /// set maximum window size: `sndwnd=32`, `rcvwnd=32` by default + pub fn set_wndsize(&mut self, sndwnd: u16, rcvwnd: u16) { + if sndwnd > 0 { + self.snd_wnd = sndwnd; + } + + if rcvwnd > 0 { + self.rcv_wnd = cmp::max(rcvwnd, KCP_WND_RCV) as u16; + } + } + + /// `snd_wnd` Send window + #[must_use] + pub const fn snd_wnd(&self) -> u16 { + self.snd_wnd + } + + /// `rcv_wnd` Receive window + #[must_use] + pub const fn rcv_wnd(&self) -> u16 { + self.rcv_wnd + } + + /// Get `waitsnd`, how many packet is waiting to be sent + pub fn wait_snd(&self) -> usize { + self.snd_buf.len() + self.snd_queue.len() + } + + /// Get `rmt_wnd`, remote window size + #[must_use] + pub const fn rmt_wnd(&self) -> u16 { + self.rmt_wnd + } + + /// Set `rx_minrto` + pub fn set_rx_minrto(&mut self, rto: u32) { + self.rx_minrto = rto; + } + + /// Set `fastresend` + pub fn set_fast_resend(&mut self, fr: u32) { + self.fastresend = fr; + } + + /// KCP header size + #[must_use] + pub const fn header_len() -> usize { + KCP_OVERHEAD + } + + /// Enabled stream or not + #[must_use] + pub const fn is_stream(&self) -> bool { + self.stream + } + + /// Maximum Segment Size + #[must_use] + pub const fn mss(&self) -> usize { + self.mss + } + + /// Set maximum resend times + pub fn set_maximum_resend_times(&mut self, dead_link: u32) { + self.dead_link = dead_link; + } + + /// Check if KCP connection is dead (resend times excceeded) + #[must_use] + pub const fn is_dead_link(&self) -> bool { + self.state != 0 + } +} + +impl Kcp { + fn _flush_ack(&mut self, segment: &mut KcpSegment) -> KcpResult<()> { + // flush acknowledges + // while let Some((sn, ts)) = self.acklist.pop_front() { + for &(sn, ts) in &self.acklist { + if self.buf.len() + KCP_OVERHEAD > self.mtu { + self.output.write_all(&self.buf)?; + self.buf.clear(); + } + segment.sn = sn; + segment.ts = ts; + segment.encode(&mut self.buf); + } + self.acklist.clear(); + + Ok(()) + } + + fn _flush_probe_commands(&mut self, cmd: u8, segment: &mut KcpSegment) -> KcpResult<()> { + segment.cmd = cmd; + if self.buf.len() + KCP_OVERHEAD > self.mtu { + self.output.write_all(&self.buf)?; + self.buf.clear(); + } + segment.encode(&mut self.buf); + Ok(()) + } + + fn flush_probe_commands(&mut self, segment: &mut KcpSegment) -> KcpResult<()> { + // flush window probing commands + if (self.probe & KCP_ASK_SEND) != 0 { + self._flush_probe_commands(KCP_CMD_WASK, segment)?; + } + + // flush window probing commands + if (self.probe & KCP_ASK_TELL) != 0 { + self._flush_probe_commands(KCP_CMD_WINS, segment)?; + } + self.probe = 0; + Ok(()) + } + + /// Flush pending ACKs + pub fn flush_ack(&mut self) -> KcpResult<()> { + if !self.updated { + debug!("flush updated() must be called at least once"); + return Err(Error::NeedUpdate); + } + + let mut segment = KcpSegment { + conv: self.conv, + token: self.token, + cmd: KCP_CMD_ACK, + wnd: self.wnd_unused(), + una: self.rcv_nxt, + ..Default::default() + }; + + self._flush_ack(&mut segment) + } + + /// Flush pending data in buffer. + pub fn flush(&mut self) -> KcpResult<()> { + if !self.updated { + debug!("flush updated() must be called at least once"); + return Err(Error::NeedUpdate); + } + + let mut segment = KcpSegment { + conv: self.conv, + token: self.token, + cmd: KCP_CMD_ACK, + wnd: self.wnd_unused(), + una: self.rcv_nxt, + ..Default::default() + }; + + self._flush_ack(&mut segment)?; + self.probe_wnd_size(); + self.flush_probe_commands(&mut segment)?; + + // calculate window size + let mut cwnd = cmp::min(self.snd_wnd, self.rmt_wnd); + if !self.nocwnd { + cwnd = cmp::min(self.cwnd, cwnd); + } + + // move data from snd_queue to snd_buf + while timediff(self.snd_nxt, self.snd_una + u32::from(cwnd)) < 0 { + match self.snd_queue.pop_front() { + Some(mut new_segment) => { + new_segment.conv = self.conv; + new_segment.token = self.token; + new_segment.cmd = KCP_CMD_PUSH; + new_segment.wnd = segment.wnd; + new_segment.ts = self.current; + new_segment.sn = self.snd_nxt; + self.snd_nxt += 1; + new_segment.una = self.rcv_nxt; + new_segment.resendts = self.current; + new_segment.rto = self.rx_rto; + new_segment.fastack = 0; + new_segment.xmit = 0; + self.snd_buf.push_back(new_segment); + } + None => break, + } + } + + // calculate resent + let resent = if self.fastresend > 0 { + self.fastresend + } else { + u32::max_value() + }; + + let rtomin = if !self.nodelay { self.rx_rto >> 3 } else { 0 }; + + let mut lost = false; + let mut change = 0; + + for snd_segment in &mut self.snd_buf { + let mut need_send = false; + + if snd_segment.xmit == 0 { + need_send = true; + snd_segment.xmit += 1; + snd_segment.rto = self.rx_rto; + snd_segment.resendts = self.current + snd_segment.rto + rtomin; + } else if timediff(self.current, snd_segment.resendts) >= 0 { + need_send = true; + snd_segment.xmit += 1; + self.xmit += 1; + if !self.nodelay { + snd_segment.rto += cmp::max(snd_segment.rto, self.rx_rto); + } else { + let step = snd_segment.rto; // (kcp->nodelay < 2) ? ((IINT32)(segment->rto)) : kcp->rx_rto; + snd_segment.rto += step / 2; + } + snd_segment.resendts = self.current + snd_segment.rto; + lost = true; + } else if snd_segment.fastack >= resent + && (snd_segment.xmit <= self.fastlimit || self.fastlimit == 0) + { + need_send = true; + snd_segment.xmit += 1; + snd_segment.fastack = 0; + snd_segment.resendts = self.current + snd_segment.rto; + change += 1; + } + + if need_send { + snd_segment.ts = self.current; + snd_segment.wnd = segment.wnd; + snd_segment.una = self.rcv_nxt; + + let need = KCP_OVERHEAD + snd_segment.data.len(); + + if self.buf.len() + need > self.mtu { + self.output.write_all(&self.buf)?; + self.buf.clear(); + } + + snd_segment.encode(&mut self.buf); + + if snd_segment.xmit >= self.dead_link { + self.state = -1; // (IUINT32)-1 + } + } + } + + // Flush all data in buffer + if !self.buf.is_empty() { + self.output.write_all(&self.buf)?; + self.buf.clear(); + } + + // update ssthresh + if change > 0 { + let inflight = self.snd_nxt - self.snd_una; + self.ssthresh = inflight as u16 / 2; + if self.ssthresh < KCP_THRESH_MIN { + self.ssthresh = KCP_THRESH_MIN; + } + self.cwnd = self.ssthresh + resent as u16; + self.incr = self.cwnd as usize * self.mss; + } + + if lost { + self.ssthresh = cwnd / 2; + if self.ssthresh < KCP_THRESH_MIN { + self.ssthresh = KCP_THRESH_MIN; + } + self.cwnd = 1; + self.incr = self.mss; + } + + if self.cwnd < 1 { + self.cwnd = 1; + self.incr = self.mss; + } + + Ok(()) + } + + /// Update state every 10ms ~ 100ms. + /// + /// Or you can ask `check` when to call this again. + pub fn update(&mut self, current: u32) -> KcpResult<()> { + self.current = current; + + if !self.updated { + self.updated = true; + self.ts_flush = self.current; + } + + let mut slap = timediff(self.current, self.ts_flush); + + if !(-10000..10000).contains(&slap) { + self.ts_flush = self.current; + slap = 0; + } + + if slap >= 0 { + self.ts_flush += self.interval; + if timediff(self.current, self.ts_flush) >= 0 { + self.ts_flush = self.current + self.interval; + } + self.flush()?; + } + + Ok(()) + } +} + +#[cfg(feature = "tokio")] +impl Kcp { + async fn _async_flush_ack(&mut self, segment: &mut KcpSegment) -> KcpResult<()> { + // flush acknowledges + // while let Some((sn, ts)) = self.acklist.pop_front() { + for &(sn, ts) in &self.acklist { + if self.buf.len() + KCP_OVERHEAD > self.mtu { + self.output.write_all(&self.buf).await?; + self.buf.clear(); + } + segment.sn = sn; + segment.ts = ts; + segment.encode(&mut self.buf); + } + self.acklist.clear(); + + Ok(()) + } + + async fn _async_flush_probe_commands( + &mut self, + cmd: u8, + segment: &mut KcpSegment, + ) -> KcpResult<()> { + segment.cmd = cmd; + if self.buf.len() + KCP_OVERHEAD > self.mtu { + self.output.write_all(&self.buf).await?; + self.buf.clear(); + } + segment.encode(&mut self.buf); + Ok(()) + } + + async fn async_flush_probe_commands(&mut self, segment: &mut KcpSegment) -> KcpResult<()> { + // flush window probing commands + if (self.probe & KCP_ASK_SEND) != 0 { + self._async_flush_probe_commands(KCP_CMD_WASK, segment) + .await?; + } + + // flush window probing commands + if (self.probe & KCP_ASK_TELL) != 0 { + self._async_flush_probe_commands(KCP_CMD_WINS, segment) + .await?; + } + self.probe = 0; + Ok(()) + } + + /// Flush pending ACKs + pub async fn async_flush_ack(&mut self) -> KcpResult<()> { + if !self.updated { + debug!("flush updated() must be called at least once"); + return Err(Error::NeedUpdate); + } + + let mut segment = KcpSegment { + conv: self.conv, + token: self.token, + cmd: KCP_CMD_ACK, + wnd: self.wnd_unused(), + una: self.rcv_nxt, + ..Default::default() + }; + + self._async_flush_ack(&mut segment).await + } + + /// Flush pending data in buffer. + pub async fn async_flush(&mut self) -> KcpResult<()> { + if !self.updated { + debug!("flush updated() must be called at least once"); + return Err(Error::NeedUpdate); + } + + let mut segment = KcpSegment { + conv: self.conv, + token: self.token, + cmd: KCP_CMD_ACK, + wnd: self.wnd_unused(), + una: self.rcv_nxt, + ..Default::default() + }; + + self._async_flush_ack(&mut segment).await?; + self.probe_wnd_size(); + self.async_flush_probe_commands(&mut segment).await?; + + // calculate window size + let mut cwnd = cmp::min(self.snd_wnd, self.rmt_wnd); + if !self.nocwnd { + cwnd = cmp::min(self.cwnd, cwnd); + } + + // move data from snd_queue to snd_buf + while timediff(self.snd_nxt, self.snd_una + u32::from(cwnd)) < 0 { + match self.snd_queue.pop_front() { + Some(mut new_segment) => { + new_segment.conv = self.conv; + new_segment.token = self.token; + new_segment.cmd = KCP_CMD_PUSH; + new_segment.wnd = segment.wnd; + new_segment.ts = self.current; + new_segment.sn = self.snd_nxt; + self.snd_nxt += 1; + new_segment.una = self.rcv_nxt; + new_segment.resendts = self.current; + new_segment.rto = self.rx_rto; + new_segment.fastack = 0; + new_segment.xmit = 0; + self.snd_buf.push_back(new_segment); + } + None => break, + } + } + + // calculate resent + let resent = if self.fastresend > 0 { + self.fastresend + } else { + u32::max_value() + }; + + let rtomin = if !self.nodelay { self.rx_rto >> 3 } else { 0 }; + + let mut lost = false; + let mut change = 0; + + for snd_segment in &mut self.snd_buf { + let mut need_send = false; + + if snd_segment.xmit == 0 { + need_send = true; + snd_segment.xmit += 1; + snd_segment.rto = self.rx_rto; + snd_segment.resendts = self.current + snd_segment.rto + rtomin; + } else if timediff(self.current, snd_segment.resendts) >= 0 { + need_send = true; + snd_segment.xmit += 1; + self.xmit += 1; + if !self.nodelay { + snd_segment.rto += cmp::max(snd_segment.rto, self.rx_rto); + } else { + let step = snd_segment.rto; // (kcp->nodelay < 2) ? ((IINT32)(segment->rto)) : kcp->rx_rto; + snd_segment.rto += step / 2; + } + snd_segment.resendts = self.current + snd_segment.rto; + lost = true; + } else if snd_segment.fastack >= resent + && (snd_segment.xmit <= self.fastlimit || self.fastlimit == 0) + { + need_send = true; + snd_segment.xmit += 1; + snd_segment.fastack = 0; + snd_segment.resendts = self.current + snd_segment.rto; + change += 1; + } + + if need_send { + snd_segment.ts = self.current; + snd_segment.wnd = segment.wnd; + snd_segment.una = self.rcv_nxt; + + let need = KCP_OVERHEAD + snd_segment.data.len(); + + if self.buf.len() + need > self.mtu { + self.output.write_all(&self.buf).await?; + self.buf.clear(); + } + + snd_segment.encode(&mut self.buf); + + if snd_segment.xmit >= self.dead_link { + self.state = -1; // (IUINT32)-1 + } + } + } + + // Flush all data in buffer + if !self.buf.is_empty() { + self.output.write_all(&self.buf).await?; + self.buf.clear(); + } + + // update ssthresh + if change > 0 { + let inflight = self.snd_nxt - self.snd_una; + self.ssthresh = inflight as u16 / 2; + if self.ssthresh < KCP_THRESH_MIN { + self.ssthresh = KCP_THRESH_MIN; + } + self.cwnd = self.ssthresh + resent as u16; + self.incr = self.cwnd as usize * self.mss; + } + + if lost { + self.ssthresh = cwnd / 2; + if self.ssthresh < KCP_THRESH_MIN { + self.ssthresh = KCP_THRESH_MIN; + } + self.cwnd = 1; + self.incr = self.mss; + } + + if self.cwnd < 1 { + self.cwnd = 1; + self.incr = self.mss; + } + + Ok(()) + } + + /// Update state every 10ms ~ 100ms. + /// + /// Or you can ask `check` when to call this again. + pub async fn async_update(&mut self, current: u32) -> KcpResult<()> { + self.current = current; + + if !self.updated { + self.updated = true; + self.ts_flush = self.current; + } + + let mut slap = timediff(self.current, self.ts_flush); + + if !(-10000..10000).contains(&slap) { + self.ts_flush = self.current; + slap = 0; + } + + if slap >= 0 { + self.ts_flush += self.interval; + if timediff(self.current, self.ts_flush) >= 0 { + self.ts_flush = self.current + self.interval; + } + self.async_flush().await?; + } + + Ok(()) + } +} diff --git a/kcp/src/lib.rs b/kcp/src/lib.rs new file mode 100644 index 0000000..0f9e066 --- /dev/null +++ b/kcp/src/lib.rs @@ -0,0 +1,17 @@ +extern crate bytes; +#[macro_use] +extern crate log; + +mod error; +mod kcp; + +/// The `KCP` prelude +pub mod prelude { + pub use super::{get_conv, Kcp, KCP_OVERHEAD}; +} + +pub use error::Error; +pub use kcp::{get_conv, get_sn, set_conv, Kcp, KCP_OVERHEAD}; + +/// KCP result +pub type KcpResult = Result; diff --git a/screenshot.png b/screenshot.png new file mode 100644 index 0000000..0e7ff6e Binary files /dev/null and b/screenshot.png differ diff --git a/sdkserver/Cargo.toml b/sdkserver/Cargo.toml new file mode 100644 index 0000000..dd5664e --- /dev/null +++ b/sdkserver/Cargo.toml @@ -0,0 +1,34 @@ +[package] +name = "sdkserver" +edition = "2021" +version.workspace = true + +[dependencies] +env_logger.workspace = true + +axum.workspace = true +axum-server.workspace = true + +serde.workspace = true +serde_json.workspace = true +toml.workspace = true + +tokio.workspace = true +tokio-util.workspace = true +thiserror.workspace = true +sqlx.workspace = true +rsa.workspace = true +rand.workspace = true +rbase64.workspace = true + +tracing.workspace = true +tracing-futures.workspace = true +tracing-log.workspace = true +tracing-subscriber.workspace = true +tracing-bunyan-formatter.workspace = true + +common.workspace = true + +password-hash = { version = "0.5.0", features = ["alloc", "rand_core"] } +pbkdf2 = { version = "0.12.2", features = ["simple"] } +regex = "1.10.6" diff --git a/sdkserver/html/register.html b/sdkserver/html/register.html new file mode 100644 index 0000000..0ca68b5 --- /dev/null +++ b/sdkserver/html/register.html @@ -0,0 +1,191 @@ + + + + + + + + Register account + + + +
+
+
Register account
+
+
+ + + + +
+
+
+
+ + diff --git a/sdkserver/html/result.html b/sdkserver/html/result.html new file mode 100644 index 0000000..341d2b2 --- /dev/null +++ b/sdkserver/html/result.html @@ -0,0 +1,171 @@ + + + + + + + + Register account + + + +
+
+
Register account
+
+
%MESSAGE%
+
+
+
+ + diff --git a/sdkserver/sdkserver.toml b/sdkserver/sdkserver.toml new file mode 100644 index 0000000..fc15e6e --- /dev/null +++ b/sdkserver/sdkserver.toml @@ -0,0 +1,5 @@ +bind_addr = "0.0.0.0:21000" + +[database] +connection_string = "postgres://postgres:@localhost:5432/hk4e" +redis_url = "redis://127.0.0.1/" diff --git a/sdkserver/security/sdk_private_key.der b/sdkserver/security/sdk_private_key.der new file mode 100644 index 0000000..f5dde8b Binary files /dev/null and b/sdkserver/security/sdk_private_key.der differ diff --git a/sdkserver/src/config.rs b/sdkserver/src/config.rs new file mode 100644 index 0000000..0daf7b6 --- /dev/null +++ b/sdkserver/src/config.rs @@ -0,0 +1,20 @@ +use common::config::DatabaseConfig; +use serde::Deserialize; + +const DEFAULT_TOML: &str = include_str!("../sdkserver.toml"); + +#[derive(Deserialize)] +pub struct SdkConfig { + pub bind_addr: String, + pub database: DatabaseConfig, +} + +pub fn load() -> Option { + match common::config::load_or_create_config("sdkserver.toml", DEFAULT_TOML) { + Ok(config) => Some(config), + Err(err) => { + tracing::error!("Failed to load config: {err}"); + None + } + } +} diff --git a/sdkserver/src/database/data.rs b/sdkserver/src/database/data.rs new file mode 100644 index 0000000..6d22bfc --- /dev/null +++ b/sdkserver/src/database/data.rs @@ -0,0 +1,98 @@ +use std::sync::LazyLock; + +use regex::Regex; +use sqlx::FromRow; + +use thiserror::Error; + +use crate::util; + +#[derive(sqlx::Encode, sqlx::Decode)] +pub struct Username(String); + +impl Username { + pub fn parse(username: String) -> Option { + static ALLOWED_USERNAME_REGEX: LazyLock = + LazyLock::new(|| Regex::new("^[a-zA-Z0-9._@-]{6,25}$").unwrap()); + + ALLOWED_USERNAME_REGEX + .is_match(&username) + .then_some(Self(username)) + } + + pub fn as_str(&self) -> &str { + self.0.as_str() + } +} + +impl sqlx::Type for Username { + fn type_info() -> ::TypeInfo { + >::type_info() + } + + fn compatible(ty: &::TypeInfo) -> bool { + >::compatible(ty) + } +} + +#[derive(Error, Debug)] +pub enum PasswordError { + #[error("password pair mismatch")] + PairMismatch, + #[error("user input doesn't meet requirements")] + RequirementsMismatch, + #[error("failed to generate password hash: {0}")] + HashFailed(pbkdf2::password_hash::Error), +} + +#[derive(sqlx::Encode, sqlx::Decode)] +pub struct Password(String); + +impl Password { + pub fn new(password: String, password_v2: String) -> Result { + (password == password_v2) + .then_some(()) + .ok_or(PasswordError::PairMismatch)?; + + matches!(password.len(), 8..30) + .then_some(()) + .ok_or(PasswordError::RequirementsMismatch)?; + + let hash = util::hash_string(&password).map_err(|err| PasswordError::HashFailed(err))?; + Ok(Self(hash)) + } + + pub fn verify(&self, password: &str) -> bool { + util::verify_hash(password, &self.0).is_some() + } + + pub fn as_hash_str(&self) -> &str { + self.0.as_str() + } +} + +impl sqlx::Type for Password { + fn type_info() -> ::TypeInfo { + >::type_info() + } + + fn compatible(ty: &::TypeInfo) -> bool { + >::compatible(ty) + } +} + +#[derive(FromRow)] +pub struct DbSdkAccountRow { + pub uid: i32, + pub token: String, + pub username: Username, + pub password: Password, +} + +#[derive(FromRow)] +#[allow(dead_code)] +pub struct DbComboTokenRow { + pub account_uid: String, + pub token: String, + pub device_id: String, +} diff --git a/sdkserver/src/database/mod.rs b/sdkserver/src/database/mod.rs new file mode 100644 index 0000000..147c61c --- /dev/null +++ b/sdkserver/src/database/mod.rs @@ -0,0 +1,84 @@ +pub mod data; + +use data::{DbComboTokenRow, DbSdkAccountRow, Password, Username}; +use rand::distributions::{Alphanumeric, DistString}; +use sqlx::{query_as, PgPool}; +use thiserror::Error; + +#[derive(Error, Debug)] +pub enum DbError { + #[error("SQL error: {0}")] + SqlxError(#[from] sqlx::Error), + #[error("entry not found")] + NotFound, +} + +pub enum SelectSdkAccount { + ByUsername(String), + ByUid(i32), +} + +pub async fn insert_sdk_account( + pool: &PgPool, + username: Username, + password: Password, +) -> Result { + let token = Alphanumeric.sample_string(&mut rand::thread_rng(), 64); + + Ok(query_as( + "INSERT INTO t_sdk_account (token, username, password) VALUES ($1, $2, $3) RETURNING *", + ) + .bind(token) + .bind(username.as_str()) + .bind(password.as_hash_str()) + .fetch_one(pool) + .await?) +} + +pub async fn select_sdk_account( + pool: &PgPool, + select_mode: SelectSdkAccount, +) -> Result { + match select_mode { + SelectSdkAccount::ByUsername(username) => { + query_as("SELECT * from t_sdk_account where username = ($1)") + .bind(username) + .fetch_optional(pool) + .await? + .ok_or(DbError::NotFound) + } + SelectSdkAccount::ByUid(uid) => query_as("SELECT * from t_sdk_account where uid = ($1)") + .bind(uid) + .fetch_optional(pool) + .await? + .ok_or(DbError::NotFound), + } +} + +pub async fn insert_combo_token( + pool: &PgPool, + account_uid: &str, + device_id: &str, +) -> Result { + let token = Alphanumeric.sample_string(&mut rand::thread_rng(), 64); + + Ok( + query_as("INSERT INTO t_combo_token VALUES ($1, $2, $3) RETURNING *") + .bind(account_uid) + .bind(token) + .bind(device_id) + .fetch_one(pool) + .await?, + ) +} + +pub async fn select_combo_token_by_account( + pool: &PgPool, + account_uid: &str, +) -> Result { + query_as("SELECT * from t_combo_token where account_uid = ($1)") + .bind(account_uid) + .fetch_optional(pool) + .await? + .ok_or(DbError::NotFound) +} diff --git a/sdkserver/src/main.rs b/sdkserver/src/main.rs new file mode 100644 index 0000000..4aff077 --- /dev/null +++ b/sdkserver/src/main.rs @@ -0,0 +1,42 @@ +use std::error::Error; + +use axum::Router; +use common::log; +use services::{granter, mdk_shield, registration_page, takumi_api}; +use sqlx::PgPool; +use tracing::Level; + +mod config; +mod database; +mod services; +mod util; + +#[derive(Clone)] +pub struct SdkState { + pub pg_pool: PgPool, +} + +#[tokio::main] +async fn main() -> Result<(), Box> { + log::init_tracing(); + let span = tracing::span!(Level::DEBUG, "main"); + let _ = span.enter(); + + let config = config::load().unwrap(); + + let pg_pool = common::db::connect(&config.database.connection_string) + .await + .unwrap(); + + let router = Router::new() + .merge(takumi_api::make_routes()) + .merge(mdk_shield::make_routes()) + .merge(granter::make_routes()) + .merge(registration_page::make_routes()) + .with_state(SdkState { pg_pool }); + + let server = axum_server::bind(config.bind_addr.parse()?); + server.serve(router.into_make_service()).await?; + + Ok(()) +} diff --git a/sdkserver/src/services/granter.rs b/sdkserver/src/services/granter.rs new file mode 100644 index 0000000..ed933db --- /dev/null +++ b/sdkserver/src/services/granter.rs @@ -0,0 +1,76 @@ +use axum::extract::State; +use serde::Deserialize; +use serde_json::{from_str, Value}; + +use crate::{ + database::{self, DbError, SelectSdkAccount}, + routes, SdkState, +}; + +use super::*; + +routes! { + "/:product_name/combo/granter/login/v2/login" post(granter_login_verification); +} + +#[derive(Deserialize)] +struct RequestData { + pub uid: String, + pub token: String, +} + +#[derive(Deserialize)] +struct GranterTokenRequest { + pub data: String, + pub device: String, +} + +async fn granter_login_verification( + state: State, + request: Json, +) -> Json { + let Ok(data) = from_str::(&request.data) else { + return fail_json(-101, "Account token error"); + }; + + let Ok(uid) = data.uid.parse::() else { + return fail_json(-101, "Account token error"); + }; + + match database::select_sdk_account(&state.pg_pool, SelectSdkAccount::ByUid(uid)).await { + Ok(account) if account.token == data.token => (), + _ => return fail_json(-101, "Account token error"), + } + + match database::select_combo_token_by_account(&state.pg_pool, &data.uid).await { + Ok(token) => success_json(&data.uid, &token.token), + Err(DbError::NotFound) => { + let Ok(token) = + database::insert_combo_token(&state.pg_pool, &data.uid, &request.device).await + else { + return fail_json(-1, "Internal server error"); + }; + + success_json(&data.uid, &token.token) + } + Err(DbError::SqlxError(err)) => { + tracing::error!("SQL error: {err}"); + fail_json(-1, "Internal server error") + } + } +} + +fn success_json(uid: &str, token: &str) -> Json { + Json(json!({ + "data": { + "account_type": 1, + "combo_id": uid, + "combo_token": token, + "data": "{\"guest\":false}", + "heartbeat": false, + "open_id": uid + }, + "message": "OK", + "retcode": 0 + })) +} diff --git a/sdkserver/src/services/mdk_shield.rs b/sdkserver/src/services/mdk_shield.rs new file mode 100644 index 0000000..c391997 --- /dev/null +++ b/sdkserver/src/services/mdk_shield.rs @@ -0,0 +1,104 @@ +use axum::extract::State; +use serde::Deserialize; +use serde_json::Value; + +use super::*; + +use crate::{ + database::{self, data::DbSdkAccountRow, DbError, SelectSdkAccount}, + routes, util, SdkState, +}; + +routes! { + "/:product_name/mdk/shield/api/login" post(login); + "/:product_name/mdk/shield/api/verify" post(verify); +} + +#[derive(Deserialize)] +struct LoginRequest { + pub account: String, + pub password: String, + pub is_crypto: bool, +} + +#[derive(Deserialize)] +struct VerifyRequest { + pub uid: String, + pub token: String, +} + +async fn login(state: State, request: Json) -> Json { + if !request.is_crypto { + return fail_json( + -10, + "Invalid account format: unencrypted passwords are disabled by SDK security policy", + ); + } + + let Ok(password) = util::rsa_decrypt(&request.password) else { + return fail_json(-10, "Your patch is outdated, get a new one at https://discord.gg/reversedrooms (Password decryption failed)"); + }; + + let account = match database::select_sdk_account( + &state.pg_pool, + SelectSdkAccount::ByUsername(request.account.clone()), + ) + .await + { + Ok(account) => account, + Err(DbError::NotFound) => return fail_json(-101, "Account or password error"), + Err(DbError::SqlxError(err)) => { + tracing::error!("database error: {err}"); + return fail_json(-1, "Internal server error"); + } + }; + + if !account.password.verify(&password) { + return fail_json(-101, "Account or password error"); + } + + success_json(account) +} + +async fn verify(state: State, request: Json) -> Json { + let Ok(uid) = request.uid.parse::() else { + return fail_json(-101, "Account cache error"); + }; + + let account = + match database::select_sdk_account(&state.pg_pool, SelectSdkAccount::ByUid(uid)).await { + Ok(account) => account, + Err(DbError::NotFound) => return fail_json(-101, "Account cache error"), + Err(DbError::SqlxError(err)) => { + tracing::error!("SQL error: {err}"); + return fail_json(-1, "Internal server error"); + } + }; + + if account.token == request.token { + success_json(account) + } else { + fail_json(-101, "For account safety, please log in again") + } +} + +fn success_json(account: DbSdkAccountRow) -> Json { + Json(json!({ + "data": { + "account": { + "area_code": "**", + "email": account.username.as_str(), + "country": "RU", + "is_email_verify": "1", + "token": account.token, + "uid": account.uid.to_string() + }, + "device_grant_required": false, + "reactivate_required": false, + "realperson_required": false, + "safe_mobile_required": false + }, + "message": "OK", + "retcode": 0 + })) +} diff --git a/sdkserver/src/services/mod.rs b/sdkserver/src/services/mod.rs new file mode 100644 index 0000000..52acbb2 --- /dev/null +++ b/sdkserver/src/services/mod.rs @@ -0,0 +1,26 @@ +pub mod granter; +pub mod mdk_shield; +pub mod registration_page; +pub mod takumi_api; + +use axum::{Json, Router}; +use serde_json::json; + +#[macro_export] +macro_rules! routes { + ($($path:tt $method:ident($handler:expr);)*) => { + pub fn make_routes() -> ::axum::Router { + Router::new() + $( + .route($path, ::axum::routing::$method($handler)) + )* + } + }; +} + +fn fail_json(retcode: i32, message: &str) -> Json { + Json(json! ({ + "retcode": retcode, + "message": message + })) +} diff --git a/sdkserver/src/services/registration_page.rs b/sdkserver/src/services/registration_page.rs new file mode 100644 index 0000000..5f1c092 --- /dev/null +++ b/sdkserver/src/services/registration_page.rs @@ -0,0 +1,100 @@ +use crate::{ + database::data::{Password, PasswordError, Username}, + SdkState, +}; +use axum::{ + extract::State, + response::{Html, Redirect}, + Form, +}; +use serde::Deserialize; + +use crate::{ + database::{self, DbError}, + routes, +}; + +use super::*; + +const REGISTRATION_PAGE_HTML: &str = include_str!("../../html/register.html"); +const REGISTRATION_RESULT_HTML: &str = include_str!("../../html/result.html"); + +routes! { + "/account/register" get(|| async { Html(REGISTRATION_PAGE_HTML.to_string()) }); + "/account/register" post(process_register); + "/" get(|| async { Redirect::permanent("/account/register") }); +} + +#[derive(Deserialize)] +struct RegisterRequest { + pub username: String, + pub password: String, + pub password_v2: String, +} + +async fn process_register( + State(state): State, + Form(form): Form, +) -> Html { + let Some(username) = Username::parse(form.username) else { + return html_result(ResultStatus::Failure, "Invalid username format; should consists of characters [A-Za-z0-9_] and be at least 6 characters long."); + }; + + let password = match Password::new(form.password, form.password_v2) { + Ok(password) => password, + Err(PasswordError::PairMismatch) => { + return html_result(ResultStatus::Failure, "Passwords pair doesn't match") + } + Err(PasswordError::RequirementsMismatch) => { + return html_result( + ResultStatus::Failure, + "Password should contain at least 8 and not more than 30 characters", + ) + } + Err(PasswordError::HashFailed(err)) => { + tracing::error!("failed to hash password, err: {err}"); + return html_result(ResultStatus::Failure, "Internal server error"); + } + }; + + match database::insert_sdk_account(&state.pg_pool, username, password).await { + Ok(_) => html_result( + ResultStatus::Success, + "Account successfully registered, now you can use in-game login", + ), + Err(DbError::SqlxError(sqlx::Error::Database(e))) + if e.constraint() == Some("t_sdk_account_username_key") => + { + html_result( + ResultStatus::Failure, + "Account with specified username already exists", + ) + } + Err(err) => { + tracing::error!("database operation error: {err}"); + html_result(ResultStatus::Failure, "Internal server error") + } + } +} + +enum ResultStatus { + Failure, + Success, +} + +impl ResultStatus { + pub fn as_str(&self) -> &str { + match self { + Self::Failure => "error", + Self::Success => "success", + } + } +} + +fn html_result(result: ResultStatus, message: &str) -> Html { + Html( + REGISTRATION_RESULT_HTML + .replace("%RESULT%", result.as_str()) + .replace("%MESSAGE%", message), + ) +} diff --git a/sdkserver/src/services/takumi_api.rs b/sdkserver/src/services/takumi_api.rs new file mode 100644 index 0000000..7976278 --- /dev/null +++ b/sdkserver/src/services/takumi_api.rs @@ -0,0 +1,16 @@ +use crate::routes; + +use super::*; + +routes! { + "/account/risky/api/check" post(risky_check); +} + +#[tracing::instrument] +async fn risky_check() -> Json { + Json(json!({ + "data": {}, + "message": "OK", + "retcode": 0 + })) +} diff --git a/sdkserver/src/util.rs b/sdkserver/src/util.rs new file mode 100644 index 0000000..e1a200f --- /dev/null +++ b/sdkserver/src/util.rs @@ -0,0 +1,51 @@ +use password_hash::{PasswordHash, PasswordHasher, SaltString}; +use pbkdf2::{Params, Pbkdf2}; +use rsa::{Pkcs1v15Encrypt, RsaPrivateKey}; +use thiserror::Error; + +const SDK_PRIVATE_KEY: &[u8] = include_bytes!("../security/sdk_private_key.der"); + +#[derive(Error, Debug)] +pub enum CryptoError { + #[error("failed to decrypt: {0}")] + DecryptFailed(#[from] rsa::Error), + #[error("failed to decode base64 string")] + FromBase64Failed, + #[error("from_utf8 failed: {0}")] + FromUtf8Failed(#[from] std::string::FromUtf8Error), +} + +#[must_use] +pub fn rsa_decrypt(cipher: &str) -> Result { + let private_key: RsaPrivateKey = rsa::pkcs8::DecodePrivateKey::from_pkcs8_der(SDK_PRIVATE_KEY) + .expect("failed to decode private key"); + let payload = private_key.decrypt( + Pkcs1v15Encrypt, + &rbase64::decode(cipher).map_err(|_| CryptoError::FromBase64Failed)?, + )?; + + Ok(String::from_utf8(payload)?) +} + +#[must_use] +pub fn hash_string(content: &str) -> Result { + let salt = SaltString::generate(rand::thread_rng()); + let hash = Pbkdf2.hash_password_customized( + content.as_bytes(), + None, + None, + Params { + rounds: 10000, + output_length: 32, + }, + &salt, + )?; + + Ok(hash.serialize().to_string()) +} + +#[must_use] +pub fn verify_hash(content: &str, hash_str: &str) -> Option<()> { + let hash = PasswordHash::new(hash_str).ok()?; + hash.verify_password(&[&Pbkdf2], content).ok() +}