diff --git a/proto/AAAOLHAKGIO.proto b/proto/AAAOLHAKGIO.proto
new file mode 100644
index 00000000..2fae6234
--- /dev/null
+++ b/proto/AAAOLHAKGIO.proto
@@ -0,0 +1,14 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message AAAOLHAKGIO {
+ int32 lgcfopjlbmb = 5;
+ uint32 aeinmdecjbh = 6;
+ uint32 kopcjfaeegb = 11;
+ uint32 triggerEntityId = 10;
+ uint32 mfpmgbedfid = 15;
+}
diff --git a/proto/AAJAAOKIJHF.proto b/proto/AAJAAOKIJHF.proto
new file mode 100644
index 00000000..b114c3b8
--- /dev/null
+++ b/proto/AAJAAOKIJHF.proto
@@ -0,0 +1,16 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message AAJAAOKIJHF {
+ string shareCode = 1;
+ uint32 ownerUid = 2;
+ uint32 moduleId = 3;
+ uint32 sceneId = 4;
+ uint32 blockId = 5;
+ bool isAllowCopy = 6;
+ uint32 createTime = 7;
+}
diff --git a/proto/ABLOFNDBMFD.proto b/proto/ABLOFNDBMFD.proto
new file mode 100644
index 00000000..e3c65671
--- /dev/null
+++ b/proto/ABLOFNDBMFD.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "AAJAAOKIJHF.proto";
+
+message ABLOFNDBMFD {
+ repeated AAJAAOKIJHF briefList = 1;
+ repeated string mohcaffojgh = 2;
+}
diff --git a/proto/ACBDKPGMCNH.proto b/proto/ACBDKPGMCNH.proto
new file mode 100644
index 00000000..246fd884
--- /dev/null
+++ b/proto/ACBDKPGMCNH.proto
@@ -0,0 +1,14 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "CLMDHLAENEJ.proto";
+import "IDOELHBANCP.proto";
+
+message ACBDKPGMCNH {
+ bool aicefchaici = 33;
+ CLMDHLAENEJ jllpcjcimge = 34;
+ repeated IDOELHBANCP kcllbppiboo = 999;
+}
diff --git a/proto/ACNFCMOJFAB.proto b/proto/ACNFCMOJFAB.proto
new file mode 100644
index 00000000..c6de8098
--- /dev/null
+++ b/proto/ACNFCMOJFAB.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "BOIPHJCFLBK.proto";
+
+message ACNFCMOJFAB {
+ repeated BOIPHJCFLBK ecpfngapbhc = 14;
+}
diff --git a/proto/AEIENHDOBGJ.proto b/proto/AEIENHDOBGJ.proto
new file mode 100644
index 00000000..4a29451b
--- /dev/null
+++ b/proto/AEIENHDOBGJ.proto
@@ -0,0 +1,13 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "Vector.proto";
+
+message AEIENHDOBGJ {
+ Vector pos = 7;
+ uint32 roomId = 6;
+ Vector rot = 15;
+}
diff --git a/proto/AFLCCHIGHFC.proto b/proto/AFLCCHIGHFC.proto
new file mode 100644
index 00000000..50abadf8
--- /dev/null
+++ b/proto/AFLCCHIGHFC.proto
@@ -0,0 +1,15 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "KIEHIGCKOHO.proto";
+
+message AFLCCHIGHFC {
+ int32 fekdaediiel = 1;
+ int32 ocjodgafcna = 2;
+ int32 paamjmeflfp = 3;
+ int32 lolngckkkek = 4;
+ repeated KIEHIGCKOHO nkifjffiglb = 5;
+}
diff --git a/proto/AGEEAJGINIF.proto b/proto/AGEEAJGINIF.proto
new file mode 100644
index 00000000..43302cc0
--- /dev/null
+++ b/proto/AGEEAJGINIF.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "bytes.proto";
+
+message AGEEAJGINIF {
+ bytes value = 1;
+}
diff --git a/proto/AGGICDIEHNL.proto b/proto/AGGICDIEHNL.proto
new file mode 100644
index 00000000..1c40622c
--- /dev/null
+++ b/proto/AGGICDIEHNL.proto
@@ -0,0 +1,10 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+enum AGGICDIEHNL {
+ APOHFKNGIIJ = 0;
+ FCCAGMOBPJI = 1;
+}
diff --git a/proto/AGNLMOPPIFH.proto b/proto/AGNLMOPPIFH.proto
new file mode 100644
index 00000000..f6dc54f1
--- /dev/null
+++ b/proto/AGNLMOPPIFH.proto
@@ -0,0 +1,30 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GGLAOFMEGGK.proto";
+import "IDOELHBANCP.proto";
+
+message AGNLMOPPIFH {
+ string nmfofegamme = 1;
+ string hfjgecdoafe = 8;
+ bool elaipjlejji = 10;
+ bool knilnhpcmgi = 20;
+ bool lbkfdecnakj = 27;
+ GGLAOFMEGGK nnlmlfgoiii = 9;
+ string hocldjnpeib = 11;
+ bool cbinhdjifao = 16;
+ bool dhdndgbmaee = 17;
+ bool ipehnienipn = 18;
+ bool ehppkpbjbbi = 42;
+ bool aicefchaici = 23;
+ bool odnagkoinfk = 31;
+ string jngoobcimbd = 36;
+ string ihmcfgapoin = 37;
+ string lmnfjldcfjn = 39;
+ string fkigjalgefl = 40;
+ string njpddpidinm = 41;
+ repeated IDOELHBANCP kcllbppiboo = 999;
+}
diff --git a/proto/AHJAHOLPBLK.proto b/proto/AHJAHOLPBLK.proto
new file mode 100644
index 00000000..fa34aa1b
--- /dev/null
+++ b/proto/AHJAHOLPBLK.proto
@@ -0,0 +1,6 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+message AHJAHOLPBLK {
+}
diff --git a/proto/AIHKOACHDJH.proto b/proto/AIHKOACHDJH.proto
new file mode 100644
index 00000000..62414fdf
--- /dev/null
+++ b/proto/AIHKOACHDJH.proto
@@ -0,0 +1,28 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ExhibitionDisplayInfo.proto";
+import "IELKGAMFOLN.proto";
+
+message AIHKOACHDJH {
+ //enum BMIDNGEDLLF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 6566;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated ExhibitionDisplayInfo scoreList = 14;
+ uint32 duration = 10;
+ uint32 beginTime = 11;
+ uint32 stageType = 5;
+ repeated uint32 ggihgakpekk = 9;
+ uint32 playIndex = 12;
+ bool mdpgfcplekf = 13;
+ repeated IELKGAMFOLN settleInfoList = 7;
+ bool pdminbppnje = 3;
+}
diff --git a/proto/AJDBLJCEGMM.proto b/proto/AJDBLJCEGMM.proto
new file mode 100644
index 00000000..83d86538
--- /dev/null
+++ b/proto/AJDBLJCEGMM.proto
@@ -0,0 +1,10 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message AJDBLJCEGMM {
+ repeated string embnkjlnook = 1;
+}
diff --git a/proto/AJFDJLKFKJM.proto b/proto/AJFDJLKFKJM.proto
new file mode 100644
index 00000000..20f7031c
--- /dev/null
+++ b/proto/AJFDJLKFKJM.proto
@@ -0,0 +1,10 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message AJFDJLKFKJM {
+ float cjiphccaobe = 9;
+}
diff --git a/proto/ALCDEAAGBLC.proto b/proto/ALCDEAAGBLC.proto
new file mode 100644
index 00000000..3b8ea9f8
--- /dev/null
+++ b/proto/ALCDEAAGBLC.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ALCDEAAGBLC {
+ int64 ckgefmkgkhh = 1;
+ int32 cmhoaideaep = 2;
+}
diff --git a/proto/ALCGBNPJBHL.proto b/proto/ALCGBNPJBHL.proto
new file mode 100644
index 00000000..282e67bd
--- /dev/null
+++ b/proto/ALCGBNPJBHL.proto
@@ -0,0 +1,13 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "MassivePropSyncInfo.proto";
+
+message ALCGBNPJBHL {
+ bool isClearAll = 2;
+ repeated MassivePropSyncInfo massivePropList = 11;
+ repeated int64 amopeajfamd = 10;
+}
diff --git a/proto/AMNJIKMPMHN.proto b/proto/AMNJIKMPMHN.proto
new file mode 100644
index 00000000..b8bf72f6
--- /dev/null
+++ b/proto/AMNJIKMPMHN.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "BreakoutAction.proto";
+
+message AMNJIKMPMHN {
+ BreakoutAction henpegmkbie = 9;
+}
diff --git a/proto/ANOKFBLCGGM.proto b/proto/ANOKFBLCGGM.proto
new file mode 100644
index 00000000..b87be589
--- /dev/null
+++ b/proto/ANOKFBLCGGM.proto
@@ -0,0 +1,14 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "PDOPJIGDNPF.proto";
+
+message ANOKFBLCGGM {
+ uint32 moduleId = 1;
+ uint32 sceneId = 2;
+ bool hoogfkfbckk = 3;
+ repeated PDOPJIGDNPF lpjicbgaldo = 4;
+}
diff --git a/proto/APHNJHLAANL.proto b/proto/APHNJHLAANL.proto
new file mode 100644
index 00000000..525ca247
--- /dev/null
+++ b/proto/APHNJHLAANL.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message APHNJHLAANL {
+ //enum FAKNJNGOBKG {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 109;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 12;
+ repeated uint32 pbahnigkopb = 11;
+}
diff --git a/proto/AbilityActionGenerateElemBall.proto b/proto/AbilityActionGenerateElemBall.proto
deleted file mode 100644
index 8d5ccab5..00000000
--- a/proto/AbilityActionGenerateElemBall.proto
+++ /dev/null
@@ -1,28 +0,0 @@
-// Proto has been converted from Sorapointa to Grasscutter format
-// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
-// Copyright (C) 2022 Sorapointa Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
-syntax = "proto3";
-
-import "Vector.proto";
-
-option java_package = "emu.grasscutter.net.proto";
-
-message AbilityActionGenerateElemBall {
- uint32 room_id = 8;
- Vector rot = 1;
- Vector pos = 14;
-}
diff --git a/proto/AbilityArgument.proto b/proto/AbilityArgument.proto
new file mode 100644
index 00000000..732d741a
--- /dev/null
+++ b/proto/AbilityArgument.proto
@@ -0,0 +1,14 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message AbilityArgument {
+ oneof arg {
+ uint32 int_arg = 11;
+ float float_arg = 2;
+ string str_arg = 8;
+ }
+}
diff --git a/proto/AbilityGadget.proto b/proto/AbilityGadget.proto
new file mode 100644
index 00000000..c32cd0d3
--- /dev/null
+++ b/proto/AbilityGadget.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message AbilityGadget {
+ uint32 campId = 1;
+ uint32 olefgkameoj = 2;
+ uint32 targetEntityId = 3;
+}
diff --git a/proto/AbilityInvocationFailNotify.proto b/proto/AbilityInvocationFailNotify.proto
new file mode 100644
index 00000000..751fd69e
--- /dev/null
+++ b/proto/AbilityInvocationFailNotify.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "AbilityInvokeEntry.proto";
+
+message AbilityInvocationFailNotify {
+ //enum PIEICCOCBLN {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 1120;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ string reason = 4;
+ uint32 entityId = 13;
+ AbilityInvokeEntry invoke = 14;
+}
diff --git a/proto/AbilityInvocationFixedNotify.proto b/proto/AbilityInvocationFixedNotify.proto
new file mode 100644
index 00000000..78e1e75d
--- /dev/null
+++ b/proto/AbilityInvocationFixedNotify.proto
@@ -0,0 +1,25 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "AbilityInvokeEntry.proto";
+
+message AbilityInvocationFixedNotify {
+ //enum LAPNALALFPP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 1105;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ AbilityInvokeEntry Unk3300_LDIAOMFIBPL = 3;
+ AbilityInvokeEntry Unk3300_AHDFHHFHEFM = 6;
+ AbilityInvokeEntry Unk3300_ONGNOHLIIBO = 8;
+ AbilityInvokeEntry Unk3300_EMGKKHKLIEG = 5;
+ AbilityInvokeEntry Unk3300_KFMHLLHECCJ = 15;
+ AbilityInvokeEntry Unk3300_GAFFBFFKDIC = 1;
+}
diff --git a/proto/AbilityInvokeEntry.proto b/proto/AbilityInvokeEntry.proto
index 417ff3f1..f57ef500 100644
--- a/proto/AbilityInvokeEntry.proto
+++ b/proto/AbilityInvokeEntry.proto
@@ -2,9 +2,12 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
+
+
import "AbilityInvokeEntryHead.proto";
import "ForwardType.proto";
import "AbilityInvokeArgument.proto";
+import "bytes.proto";
message AbilityInvokeEntry {
AbilityInvokeEntryHead head = 13;
diff --git a/proto/AbilityMetaModifierChange.proto b/proto/AbilityMetaModifierChange.proto
deleted file mode 100644
index 6a2f5140..00000000
--- a/proto/AbilityMetaModifierChange.proto
+++ /dev/null
@@ -1,39 +0,0 @@
-// Proto has been converted from Sorapointa to Grasscutter format
-// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
-// Copyright (C) 2022 Sorapointa Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
-syntax = "proto3";
-
-import "AbilityAttachedModifier.proto";
-import "AbilityString.proto";
-import "ModifierAction.proto";
-import "ModifierProperty.proto";
-
-option java_package = "emu.grasscutter.net.proto";
-
-message AbilityMetaModifierChange {
- AbilityAttachedModifier attached_instanced_modifier = 3;
- bool is_attached_parent_ability = 5;
- repeated ModifierProperty properties = 14;
- bool is_mute_remote = 12;
- int32 modifier_local_id = 2;
- bool is_durability_zero = 8;
- AbilityString parent_ability_name = 13;
- uint32 server_buff_uid = 9;
- uint32 apply_entity_id = 7;
- AbilityString parent_ability_override = 15;
- ModifierAction action = 4;
-}
diff --git a/proto/AbilityMetaReInitOverrideMap.proto b/proto/AbilityMetaReInitOverrideMap.proto
deleted file mode 100644
index caebe2aa..00000000
--- a/proto/AbilityMetaReInitOverrideMap.proto
+++ /dev/null
@@ -1,26 +0,0 @@
-// Proto has been converted from Sorapointa to Grasscutter format
-// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
-// Copyright (C) 2022 Sorapointa Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
-syntax = "proto3";
-
-import "AbilityScalarValueEntry.proto";
-
-option java_package = "emu.grasscutter.net.proto";
-
-message AbilityMetaReInitOverrideMap {
- repeated AbilityScalarValueEntry override_map = 10;
-}
diff --git a/proto/AbilityMixinCostStamina.proto b/proto/AbilityMixinCostStamina.proto
deleted file mode 100644
index d2913fd6..00000000
--- a/proto/AbilityMixinCostStamina.proto
+++ /dev/null
@@ -1,24 +0,0 @@
-// Proto has been converted from Sorapointa to Grasscutter format
-// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
-// Copyright (C) 2022 Sorapointa Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
-syntax = "proto3";
-
-option java_package = "emu.grasscutter.net.proto";
-
-message AbilityMixinCostStamina {
- bool is_swim = 7;
-}
diff --git a/proto/AbilityMixinWindSeedSpawner.proto b/proto/AbilityMixinWindSeedSpawner.proto
new file mode 100644
index 00000000..34650975
--- /dev/null
+++ b/proto/AbilityMixinWindSeedSpawner.proto
@@ -0,0 +1,24 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "Vector.proto";
+
+message AbilityMixinWindSeedSpawner {
+ message AddSignal {
+ }
+ message RefreshSeed {
+ repeated Vector lfglcalgdac = 1;
+ }
+ message CatchSeed {
+ uint32 entityId = 5;
+ }
+
+ oneof EMKLHFDNJMA {
+ AddSignal add_signal = 13;
+ RefreshSeed refresh_seed = 3;
+ CatchSeed catch_seed = 4;
+ }
+}
diff --git a/proto/AcceptCityReputationRequestReq.proto b/proto/AcceptCityReputationRequestReq.proto
new file mode 100644
index 00000000..4e4bd458
--- /dev/null
+++ b/proto/AcceptCityReputationRequestReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message AcceptCityReputationRequestReq {
+ //enum GIJDOCIHNGK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2870;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 cityId = 2;
+ uint32 requestId = 12;
+}
diff --git a/proto/AcceptCityReputationRequestRsp.proto b/proto/AcceptCityReputationRequestRsp.proto
new file mode 100644
index 00000000..12487744
--- /dev/null
+++ b/proto/AcceptCityReputationRequestRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message AcceptCityReputationRequestRsp {
+ //enum AMELOFGEGPF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2862;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 cityId = 5;
+ int32 retcode = 3;
+ uint32 requestId = 9;
+}
diff --git a/proto/Achievement.proto b/proto/Achievement.proto
new file mode 100644
index 00000000..6480e47e
--- /dev/null
+++ b/proto/Achievement.proto
@@ -0,0 +1,13 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+import "Status.proto";
+
+message Achievement {
+ uint32 curProgress = 10;
+ uint32 id = 13;
+ uint32 totalProgress = 14;
+ Status status = 5;
+ uint32 finishTimestamp = 6;
+}
diff --git a/proto/AchievementAllDataNotify.proto b/proto/AchievementAllDataNotify.proto
new file mode 100644
index 00000000..60ec5f34
--- /dev/null
+++ b/proto/AchievementAllDataNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "Achievement.proto";
+
+message AchievementAllDataNotify {
+ //enum BPPEPMJFOPO {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2688;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated uint32 rewardTakenGoalIdList = 8;
+ repeated Achievement achievementList = 4;
+}
diff --git a/proto/AchievementUpdateNotify.proto b/proto/AchievementUpdateNotify.proto
new file mode 100644
index 00000000..969d931e
--- /dev/null
+++ b/proto/AchievementUpdateNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "Achievement.proto";
+
+message AchievementUpdateNotify {
+ //enum LKDGLEKOFGN {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2695;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated Achievement achievementList = 4;
+}
diff --git a/proto/ActivityAcceptAllGiveGiftReq.proto b/proto/ActivityAcceptAllGiveGiftReq.proto
new file mode 100644
index 00000000..d3ef576e
--- /dev/null
+++ b/proto/ActivityAcceptAllGiveGiftReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ActivityAcceptAllGiveGiftReq {
+ //enum ILOFGDOHANL {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8116;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 scheduleId = 10;
+}
diff --git a/proto/ActivityAcceptAllGiveGiftRsp.proto b/proto/ActivityAcceptAllGiveGiftRsp.proto
new file mode 100644
index 00000000..075a06f5
--- /dev/null
+++ b/proto/ActivityAcceptAllGiveGiftRsp.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ActivityAcceptGiftResultInfo.proto";
+
+message ActivityAcceptAllGiveGiftRsp {
+ //enum NFEIACOAPGB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8316;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 scheduleId = 15;
+ int32 retcode = 11;
+ repeated ActivityAcceptGiftResultInfo acceptGiftResultInfoList = 14;
+}
diff --git a/proto/ActivityAcceptGiftResultInfo.proto b/proto/ActivityAcceptGiftResultInfo.proto
new file mode 100644
index 00000000..70be51c4
--- /dev/null
+++ b/proto/ActivityAcceptGiftResultInfo.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ActivityAcceptGiftResultInfo {
+ map Unk3300_JFHLEBLOFMA = 14;
+ uint32 uid = 11;
+ map Unk3300_COCFNBJCFGP = 4;
+}
diff --git a/proto/ActivityAcceptGiveGiftReq.proto b/proto/ActivityAcceptGiveGiftReq.proto
new file mode 100644
index 00000000..da8b7803
--- /dev/null
+++ b/proto/ActivityAcceptGiveGiftReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ActivityAcceptGiveGiftReq {
+ //enum PFFEKBBHEBG {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8679;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 scheduleId = 2;
+ uint32 uid = 7;
+}
diff --git a/proto/ActivityAcceptGiveGiftRsp.proto b/proto/ActivityAcceptGiveGiftRsp.proto
new file mode 100644
index 00000000..406fc775
--- /dev/null
+++ b/proto/ActivityAcceptGiveGiftRsp.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ActivityAcceptGiftResultInfo.proto";
+
+message ActivityAcceptGiveGiftRsp {
+ //enum CKELMMOFJBG {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8235;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 scheduleId = 4;
+ ActivityAcceptGiftResultInfo acceptGiftResultInfo = 9;
+ int32 retcode = 6;
+}
diff --git a/proto/ActivityBannerClearReq.proto b/proto/ActivityBannerClearReq.proto
new file mode 100644
index 00000000..d9c87404
--- /dev/null
+++ b/proto/ActivityBannerClearReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ActivityBannerClearReq {
+ //enum GJAJOIDANAN {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2198;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 scheduleId = 6;
+ uint32 activityId = 3;
+}
diff --git a/proto/ActivityBannerClearRsp.proto b/proto/ActivityBannerClearRsp.proto
new file mode 100644
index 00000000..41746faa
--- /dev/null
+++ b/proto/ActivityBannerClearRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ActivityBannerClearRsp {
+ //enum CCNNOICPILH {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2143;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 activityId = 14;
+ uint32 scheduleId = 1;
+ int32 retcode = 2;
+}
diff --git a/proto/ActivityBannerNotify.proto b/proto/ActivityBannerNotify.proto
new file mode 100644
index 00000000..9736a86a
--- /dev/null
+++ b/proto/ActivityBannerNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ActivityBannerNotify {
+ //enum PGPJDNLAFNJ {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2005;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 scheduleId = 11;
+ uint32 activityId = 6;
+}
diff --git a/proto/ActivityCoinInfoNotify.proto b/proto/ActivityCoinInfoNotify.proto
new file mode 100644
index 00000000..fc092cc9
--- /dev/null
+++ b/proto/ActivityCoinInfoNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ActivityCoinInfoNotify {
+ //enum IILGOILMBMC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2055;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 activityId = 7;
+ map activityCoinMap = 14;
+ uint32 scheduleId = 15;
+}
diff --git a/proto/ActivityCondStateChangeNotify.proto b/proto/ActivityCondStateChangeNotify.proto
new file mode 100644
index 00000000..2a89ff7a
--- /dev/null
+++ b/proto/ActivityCondStateChangeNotify.proto
@@ -0,0 +1,24 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "Uint32Pair.proto";
+
+message ActivityCondStateChangeNotify {
+ //enum ACEKBANJHLJ {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2089;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated uint32 expireCondList = 2;
+ repeated uint32 activatedSaleIdList = 1;
+ uint32 scheduleId = 15;
+ uint32 activityId = 3;
+ repeated Uint32Pair disableTransferPointInteractionList = 8;
+ repeated uint32 meetCondList = 13;
+}
diff --git a/proto/ActivityDisableTransferPointInteractionNotify.proto b/proto/ActivityDisableTransferPointInteractionNotify.proto
new file mode 100644
index 00000000..36bdad2e
--- /dev/null
+++ b/proto/ActivityDisableTransferPointInteractionNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "Uint32Pair.proto";
+
+message ActivityDisableTransferPointInteractionNotify {
+ //enum CDGCBPNNOMC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8440;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ bool isDisable = 15;
+ Uint32Pair scenePointPair = 8;
+}
diff --git a/proto/ActivityDungeonAvatar.proto b/proto/ActivityDungeonAvatar.proto
new file mode 100644
index 00000000..bc7f5cbd
--- /dev/null
+++ b/proto/ActivityDungeonAvatar.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ActivityDungeonAvatar {
+ uint32 avatarId = 1;
+ bool isTrial = 2;
+ uint32 costumeId = 3;
+}
diff --git a/proto/ActivityFriendGiftWishData.proto b/proto/ActivityFriendGiftWishData.proto
new file mode 100644
index 00000000..8647a7b2
--- /dev/null
+++ b/proto/ActivityFriendGiftWishData.proto
@@ -0,0 +1,15 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ProfilePicture.proto";
+
+message ActivityFriendGiftWishData {
+ uint32 uid = 4;
+ map giftNumMap = 1;
+ string remarkName = 2;
+ string nickname = 9;
+ ProfilePicture profilePicture = 3;
+}
diff --git a/proto/ActivityGetCanGiveFriendGiftReq.proto b/proto/ActivityGetCanGiveFriendGiftReq.proto
new file mode 100644
index 00000000..298e05c7
--- /dev/null
+++ b/proto/ActivityGetCanGiveFriendGiftReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ActivityGetCanGiveFriendGiftReq {
+ //enum PEELJEBIGBJ {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8383;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 scheduleId = 8;
+}
diff --git a/proto/ActivityGetCanGiveFriendGiftRsp.proto b/proto/ActivityGetCanGiveFriendGiftRsp.proto
new file mode 100644
index 00000000..ea825762
--- /dev/null
+++ b/proto/ActivityGetCanGiveFriendGiftRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ActivityGetCanGiveFriendGiftRsp {
+ //enum MJMDIEGOJPJ {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8965;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 scheduleId = 10;
+ map giftNumMap = 4;
+ int32 retcode = 12;
+}
diff --git a/proto/ActivityGetFriendGiftWishListReq.proto b/proto/ActivityGetFriendGiftWishListReq.proto
new file mode 100644
index 00000000..d46d8618
--- /dev/null
+++ b/proto/ActivityGetFriendGiftWishListReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ActivityGetFriendGiftWishListReq {
+ //enum BCIOGIDBNAF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8246;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 scheduleId = 11;
+}
diff --git a/proto/ActivityGetFriendGiftWishListRsp.proto b/proto/ActivityGetFriendGiftWishListRsp.proto
new file mode 100644
index 00000000..6b595f37
--- /dev/null
+++ b/proto/ActivityGetFriendGiftWishListRsp.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ActivityFriendGiftWishData.proto";
+
+message ActivityGetFriendGiftWishListRsp {
+ //enum CAALHDHHDIH {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8145;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 scheduleId = 8;
+ repeated ActivityFriendGiftWishData friendGiftWishList = 13;
+ int32 retcode = 15;
+}
diff --git a/proto/ActivityGetRecvGiftListReq.proto b/proto/ActivityGetRecvGiftListReq.proto
new file mode 100644
index 00000000..2bdc3b6f
--- /dev/null
+++ b/proto/ActivityGetRecvGiftListReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ActivityGetRecvGiftListReq {
+ //enum DMCDNLPJHKJ {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8622;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 scheduleId = 5;
+}
diff --git a/proto/ActivityGetRecvGiftListRsp.proto b/proto/ActivityGetRecvGiftListRsp.proto
new file mode 100644
index 00000000..b57885a7
--- /dev/null
+++ b/proto/ActivityGetRecvGiftListRsp.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ActivityRecvGiftData.proto";
+
+message ActivityGetRecvGiftListRsp {
+ //enum KHCFDOOIHOM {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8705;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 15;
+ repeated ActivityRecvGiftData recvGiftList = 7;
+ uint32 scheduleId = 10;
+}
diff --git a/proto/ActivityGiveFriendGiftReq.proto b/proto/ActivityGiveFriendGiftReq.proto
new file mode 100644
index 00000000..722abf0d
--- /dev/null
+++ b/proto/ActivityGiveFriendGiftReq.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ActivityGiveFriendGiftReq {
+ //enum FFJGCFPIEIE {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8919;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 uid = 15;
+ map giftNumMap = 9;
+ uint32 scheduleId = 13;
+}
diff --git a/proto/ActivityGiveFriendGiftRsp.proto b/proto/ActivityGiveFriendGiftRsp.proto
new file mode 100644
index 00000000..612ff0c6
--- /dev/null
+++ b/proto/ActivityGiveFriendGiftRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ActivityGiveFriendGiftRsp {
+ //enum JNEDHBGDFJJ {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8707;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated uint32 limitGiftList = 2;
+ int32 retcode = 3;
+ uint32 scheduleId = 13;
+}
diff --git a/proto/ActivityHaveRecvGiftNotify.proto b/proto/ActivityHaveRecvGiftNotify.proto
new file mode 100644
index 00000000..b69ffb0e
--- /dev/null
+++ b/proto/ActivityHaveRecvGiftNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ActivityHaveRecvGiftNotify {
+ //enum NKCGFPNKJOE {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8600;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 scheduleId = 10;
+}
diff --git a/proto/ActivityPlayOpenAnimNotify.proto b/proto/ActivityPlayOpenAnimNotify.proto
new file mode 100644
index 00000000..095ca745
--- /dev/null
+++ b/proto/ActivityPlayOpenAnimNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ActivityPlayOpenAnimNotify {
+ //enum BOFOPFKDLEN {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2178;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 activityId = 15;
+}
diff --git a/proto/ActivityPushTipsInfoNotify.proto b/proto/ActivityPushTipsInfoNotify.proto
new file mode 100644
index 00000000..321e0028
--- /dev/null
+++ b/proto/ActivityPushTipsInfoNotify.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ActivityPushTipsData.proto";
+
+message ActivityPushTipsInfoNotify {
+ //enum EGCLPKNLNMG {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8527;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 scheduleId = 6;
+ repeated ActivityPushTipsData activityPushTipsDataList = 7;
+ uint32 activityId = 9;
+}
diff --git a/proto/ActivityReadPushTipsReq.proto b/proto/ActivityReadPushTipsReq.proto
new file mode 100644
index 00000000..78d19c86
--- /dev/null
+++ b/proto/ActivityReadPushTipsReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ActivityReadPushTipsReq {
+ //enum DLNMIJEFDKL {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8896;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ repeated uint32 activityPushTipsIdList = 11;
+ uint32 activityId = 14;
+}
diff --git a/proto/ActivityReadPushTipsRsp.proto b/proto/ActivityReadPushTipsRsp.proto
new file mode 100644
index 00000000..546784f2
--- /dev/null
+++ b/proto/ActivityReadPushTipsRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ActivityReadPushTipsRsp {
+ //enum GOBCODACHJA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8938;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 8;
+}
diff --git a/proto/ActivityRecvGiftData.proto b/proto/ActivityRecvGiftData.proto
new file mode 100644
index 00000000..e4fa52ca
--- /dev/null
+++ b/proto/ActivityRecvGiftData.proto
@@ -0,0 +1,15 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ProfilePicture.proto";
+
+message ActivityRecvGiftData {
+ string remarkName = 15;
+ string nickname = 10;
+ uint32 uid = 2;
+ map giftNumMap = 8;
+ ProfilePicture profilePicture = 5;
+}
diff --git a/proto/ActivitySaleChangeNotify.proto b/proto/ActivitySaleChangeNotify.proto
new file mode 100644
index 00000000..e723314a
--- /dev/null
+++ b/proto/ActivitySaleChangeNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ActivitySaleChangeNotify {
+ //enum DDCDJICOFHA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2058;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 saleId = 2;
+ bool isClose = 8;
+}
diff --git a/proto/ActivitySelectAvatarCardReq.proto b/proto/ActivitySelectAvatarCardReq.proto
new file mode 100644
index 00000000..25926700
--- /dev/null
+++ b/proto/ActivitySelectAvatarCardReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ActivitySelectAvatarCardReq {
+ //enum NLDDGCJAFHG {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2085;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 rewardId = 8;
+ uint32 activityId = 1;
+}
diff --git a/proto/ActivitySelectAvatarCardRsp.proto b/proto/ActivitySelectAvatarCardRsp.proto
new file mode 100644
index 00000000..196790e6
--- /dev/null
+++ b/proto/ActivitySelectAvatarCardRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ActivitySelectAvatarCardRsp {
+ //enum IDBPNCGFMFI {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2154;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 rewardId = 14;
+ uint32 activityId = 1;
+ int32 retcode = 5;
+}
diff --git a/proto/ActivitySetGiftWishReq.proto b/proto/ActivitySetGiftWishReq.proto
new file mode 100644
index 00000000..52a065a0
--- /dev/null
+++ b/proto/ActivitySetGiftWishReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ActivitySetGiftWishReq {
+ //enum OEMGMBJOBMA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8597;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 scheduleId = 2;
+ map giftNumMap = 7;
+}
diff --git a/proto/ActivitySetGiftWishRsp.proto b/proto/ActivitySetGiftWishRsp.proto
new file mode 100644
index 00000000..8eb46189
--- /dev/null
+++ b/proto/ActivitySetGiftWishRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ActivitySetGiftWishRsp {
+ //enum PFLMMCDAHKN {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8828;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 scheduleId = 14;
+ int32 retcode = 11;
+}
diff --git a/proto/ActivityTakeAllScoreRewardReq.proto b/proto/ActivityTakeAllScoreRewardReq.proto
new file mode 100644
index 00000000..1fbbf395
--- /dev/null
+++ b/proto/ActivityTakeAllScoreRewardReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ActivityTakeAllScoreRewardReq {
+ //enum BNDAGHCGHNM {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8101;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 activityId = 4;
+}
diff --git a/proto/ActivityTakeAllScoreRewardRsp.proto b/proto/ActivityTakeAllScoreRewardRsp.proto
new file mode 100644
index 00000000..55b73cbd
--- /dev/null
+++ b/proto/ActivityTakeAllScoreRewardRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ActivityTakeAllScoreRewardRsp {
+ //enum AGJHBFOEPGP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8501;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 activityId = 13;
+ repeated uint32 rewardConfigList = 7;
+ int32 retcode = 4;
+}
diff --git a/proto/ActivityTakeScoreRewardReq.proto b/proto/ActivityTakeScoreRewardReq.proto
new file mode 100644
index 00000000..a1ec1a77
--- /dev/null
+++ b/proto/ActivityTakeScoreRewardReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ActivityTakeScoreRewardReq {
+ //enum KHFHJNJIHIG {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8174;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 rewardConfigId = 14;
+ uint32 activityId = 2;
+}
diff --git a/proto/ActivityTakeScoreRewardRsp.proto b/proto/ActivityTakeScoreRewardRsp.proto
new file mode 100644
index 00000000..43f4b957
--- /dev/null
+++ b/proto/ActivityTakeScoreRewardRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ActivityTakeScoreRewardRsp {
+ //enum EILFPJBGJHG {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8946;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 rewardConfigId = 13;
+ uint32 activityId = 14;
+ int32 retcode = 15;
+}
diff --git a/proto/ActivityTakeWatcherRewardBatchReq.proto b/proto/ActivityTakeWatcherRewardBatchReq.proto
new file mode 100644
index 00000000..09275194
--- /dev/null
+++ b/proto/ActivityTakeWatcherRewardBatchReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ActivityTakeWatcherRewardBatchReq {
+ //enum MGCDKDCPFFL {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2083;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ repeated uint32 watcherIdList = 13;
+ uint32 activityId = 2;
+}
diff --git a/proto/ActivityTakeWatcherRewardBatchRsp.proto b/proto/ActivityTakeWatcherRewardBatchRsp.proto
new file mode 100644
index 00000000..8de70afd
--- /dev/null
+++ b/proto/ActivityTakeWatcherRewardBatchRsp.proto
@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ItemParam.proto";
+
+message ActivityTakeWatcherRewardBatchRsp {
+ //enum EKIKICOOEMC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2186;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 activityId = 12;
+ repeated uint32 watcherIdList = 9;
+ repeated ItemParam itemList = 8;
+ int32 retcode = 15;
+}
diff --git a/proto/AddAranaraCollectionNotify.proto b/proto/AddAranaraCollectionNotify.proto
new file mode 100644
index 00000000..ccde7923
--- /dev/null
+++ b/proto/AddAranaraCollectionNotify.proto
@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "AranaraCollectionState.proto";
+
+message AddAranaraCollectionNotify {
+ //enum DCJEFDEAHBE {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 6395;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ AranaraCollectionState Unk3300_AFBIBLNKCOD = 10;
+ AranaraCollectionState Unk3300_NJLJBBMJLBK = 15;
+ uint32 collectionId = 1;
+ uint32 collectionType = 5;
+}
diff --git a/proto/AddBlacklistReq.proto b/proto/AddBlacklistReq.proto
new file mode 100644
index 00000000..4a4ea34c
--- /dev/null
+++ b/proto/AddBlacklistReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message AddBlacklistReq {
+ //enum LEECDNBLDFJ {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4028;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 targetUid = 9;
+}
diff --git a/proto/AddBlacklistRsp.proto b/proto/AddBlacklistRsp.proto
new file mode 100644
index 00000000..b366a0ab
--- /dev/null
+++ b/proto/AddBlacklistRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "FriendBrief.proto";
+
+message AddBlacklistRsp {
+ //enum DNMNGICBLNF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4073;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ FriendBrief targetFriendBrief = 2;
+ int32 retcode = 7;
+}
diff --git a/proto/AddCards.proto b/proto/AddCards.proto
new file mode 100644
index 00000000..0b1e9cd8
--- /dev/null
+++ b/proto/AddCards.proto
@@ -0,0 +1,16 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GCGReason.proto";
+import "GCGZoneType.proto";
+
+message AddCards {
+ uint32 controllerId = 11;
+ GCGReason reason = 1;
+ uint32 pos = 6;
+ GCGZoneType zone = 9;
+ repeated uint32 cardGuidList = 5;
+}
diff --git a/proto/AddDice.proto b/proto/AddDice.proto
new file mode 100644
index 00000000..378b9510
--- /dev/null
+++ b/proto/AddDice.proto
@@ -0,0 +1,16 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GCGReason.proto";
+import "GCGDiceSideType.proto";
+
+message AddDice {
+ map Unk3300_PCMPCCLFEIM = 15;
+ map Unk3300_KFKOGOKPIFN = 5;
+ uint32 controllerId = 3;
+ GCGReason reason = 9;
+ int32 changeCount = 10;
+}
diff --git a/proto/AddFriendNotify.proto b/proto/AddFriendNotify.proto
new file mode 100644
index 00000000..73c05809
--- /dev/null
+++ b/proto/AddFriendNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "FriendBrief.proto";
+
+message AddFriendNotify {
+ //enum JAKBIGICFGI {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4092;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 targetUid = 4;
+ FriendBrief targetFriendBrief = 12;
+}
diff --git a/proto/AddNoGachaAvatarCardNotify.proto b/proto/AddNoGachaAvatarCardNotify.proto
index 0a256f46..44d3ee7c 100644
--- a/proto/AddNoGachaAvatarCardNotify.proto
+++ b/proto/AddNoGachaAvatarCardNotify.proto
@@ -16,10 +16,10 @@ message AddNoGachaAvatarCardNotify {
//}
uint32 itemId = 7;
- uint32 initial_promote_level = 3;
+ uint32 Unk3300_MGAPHPOLKKE = 3;
bool isTransferToItem = 14;
uint32 reason = 9;
repeated AddNoGachaAvatarCardTransferItem transferItemList = 10;
- uint32 initial_level = 13;
+ uint32 Unk3300_GPBINALMFDF = 13;
uint32 avatarId = 4;
}
diff --git a/proto/AddRandTaskInfoNotify.proto b/proto/AddRandTaskInfoNotify.proto
new file mode 100644
index 00000000..736cce14
--- /dev/null
+++ b/proto/AddRandTaskInfoNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "Vector.proto";
+
+message AddRandTaskInfoNotify {
+ //enum AAMKDIJOLIA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 123;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ Vector pos = 6;
+ uint32 randTaskId = 2;
+}
diff --git a/proto/AddSeenMonsterNotify.proto b/proto/AddSeenMonsterNotify.proto
new file mode 100644
index 00000000..cb5a96ea
--- /dev/null
+++ b/proto/AddSeenMonsterNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message AddSeenMonsterNotify {
+ //enum JLNJGHLBJNN {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 296;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ repeated uint32 monsterIdList = 1;
+}
diff --git a/proto/AdjustWorldLevelReq.proto b/proto/AdjustWorldLevelReq.proto
new file mode 100644
index 00000000..8927fa04
--- /dev/null
+++ b/proto/AdjustWorldLevelReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message AdjustWorldLevelReq {
+ //enum DAFJHPIGAIN {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 138;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 Unk3300_DNLKIMGLBLP = 3;
+ uint32 Unk3300_DJBKBPDCBFH = 11;
+}
diff --git a/proto/AdjustWorldLevelRsp.proto b/proto/AdjustWorldLevelRsp.proto
new file mode 100644
index 00000000..b93be61c
--- /dev/null
+++ b/proto/AdjustWorldLevelRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message AdjustWorldLevelRsp {
+ //enum ADJPAGLIHHE {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 140;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 cdOverTime = 7;
+ uint32 afterWorldLevel = 15;
+ int32 retcode = 14;
+}
diff --git a/proto/AiSyncInfo.proto b/proto/AiSyncInfo.proto
index d56c8ef0..87f0a874 100644
--- a/proto/AiSyncInfo.proto
+++ b/proto/AiSyncInfo.proto
@@ -1,8 +1,12 @@
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
+
+
+
message AiSyncInfo {
uint32 entityId = 1;
bool is_self_killing = 2;
bool has_path_to_target = 10;
-}
\ No newline at end of file
+}
diff --git a/proto/AllCoopInfoNotify.proto b/proto/AllCoopInfoNotify.proto
new file mode 100644
index 00000000..53ed2896
--- /dev/null
+++ b/proto/AllCoopInfoNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "MainCoop.proto";
+
+message AllCoopInfoNotify {
+ //enum PDNGDNMLEIN {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 1988;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated MainCoop mainCoopList = 14;
+}
diff --git a/proto/AllMarkPointNotify.proto b/proto/AllMarkPointNotify.proto
new file mode 100644
index 00000000..da61a328
--- /dev/null
+++ b/proto/AllMarkPointNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "MapMarkPoint.proto";
+
+message AllMarkPointNotify {
+ //enum AHIHKFEIPFI {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 3284;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated MapMarkPoint markList = 6;
+}
diff --git a/proto/AllSeenMonsterNotify.proto b/proto/AllSeenMonsterNotify.proto
new file mode 100644
index 00000000..eea392b1
--- /dev/null
+++ b/proto/AllSeenMonsterNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message AllSeenMonsterNotify {
+ //enum KKALDBFNKCN {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 244;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ repeated uint32 monsterIdList = 2;
+}
diff --git a/proto/AllShareCDDataNotify.proto b/proto/AllShareCDDataNotify.proto
new file mode 100644
index 00000000..722b0573
--- /dev/null
+++ b/proto/AllShareCDDataNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ShareCDInfo.proto";
+
+message AllShareCDDataNotify {
+ //enum EEMPBEJEDNO {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 9005;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ map shareCdInfoMap = 2;
+}
diff --git a/proto/AllWidgetBackgroundActiveStateNotify.proto b/proto/AllWidgetBackgroundActiveStateNotify.proto
new file mode 100644
index 00000000..79b385ba
--- /dev/null
+++ b/proto/AllWidgetBackgroundActiveStateNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message AllWidgetBackgroundActiveStateNotify {
+ //enum FHMOGDOBJLM {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 6011;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated uint32 backgroundActiveWidgetList = 11;
+}
diff --git a/proto/AnchorPointDataNotify.proto b/proto/AnchorPointDataNotify.proto
new file mode 100644
index 00000000..4c5e73f2
--- /dev/null
+++ b/proto/AnchorPointDataNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "AnchorPointData.proto";
+
+message AnchorPointDataNotify {
+ //enum ABGDBOHAGJL {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4288;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 nextUsableTime = 10;
+ repeated AnchorPointData anchorPointList = 11;
+}
diff --git a/proto/AnchorPointOpReq.proto b/proto/AnchorPointOpReq.proto
new file mode 100644
index 00000000..c0cbec62
--- /dev/null
+++ b/proto/AnchorPointOpReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message AnchorPointOpReq {
+ //enum OAIEELHBGLI {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4291;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 anchorPointId = 15;
+ uint32 anchorPointOpType = 3;
+}
diff --git a/proto/AnchorPointOpRsp.proto b/proto/AnchorPointOpRsp.proto
new file mode 100644
index 00000000..4315fc1d
--- /dev/null
+++ b/proto/AnchorPointOpRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message AnchorPointOpRsp {
+ //enum EGLPAOCDNNN {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4269;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 anchorPointId = 3;
+ int32 retcode = 4;
+ uint32 anchorPointOpType = 11;
+}
diff --git a/proto/AnimatorForceSetAirMoveNotify.proto b/proto/AnimatorForceSetAirMoveNotify.proto
new file mode 100644
index 00000000..89f2a061
--- /dev/null
+++ b/proto/AnimatorForceSetAirMoveNotify.proto
@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ForwardType.proto";
+
+message AnimatorForceSetAirMoveNotify {
+ //enum BKKMLNOEIGJ {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 330;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ bool inAirMove = 1;
+ ForwardType forwardType = 11;
+ uint32 entityId = 2;
+}
diff --git a/proto/AntiAddictNotify.proto b/proto/AntiAddictNotify.proto
new file mode 100644
index 00000000..3fd72820
--- /dev/null
+++ b/proto/AntiAddictNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message AntiAddictNotify {
+ //enum GCFCHEHELNP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 104;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ string msg = 3;
+ string level = 14;
+ int32 msgType = 13;
+}
diff --git a/proto/AranaraCollectionDataNotify.proto b/proto/AranaraCollectionDataNotify.proto
new file mode 100644
index 00000000..74119adc
--- /dev/null
+++ b/proto/AranaraCollectionDataNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "AranaraCollectionSuite.proto";
+
+message AranaraCollectionDataNotify {
+ //enum FPPAFIEEHCA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 6388;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated AranaraCollectionSuite collectionSuiteList = 7;
+}
diff --git a/proto/AranaraCollectionState.proto b/proto/AranaraCollectionState.proto
new file mode 100644
index 00000000..124b0ac7
--- /dev/null
+++ b/proto/AranaraCollectionState.proto
@@ -0,0 +1,10 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+enum AranaraCollectionState {
+ ARANARA_COLLECTION_STATE_NONE = 0;
+ ARANARA_COLLECTION_STATE_COLLECTABLE = 1;
+ ARANARA_COLLECTION_STATE_COLLECTED = 2;
+ ARANARA_COLLECTION_STATE_FINISHED = 3;
+}
diff --git a/proto/AranaraCollectionSuite.proto b/proto/AranaraCollectionSuite.proto
new file mode 100644
index 00000000..770f4eda
--- /dev/null
+++ b/proto/AranaraCollectionSuite.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "AranaraCollectionState.proto";
+
+message AranaraCollectionSuite {
+ map collectionIdStateMap = 8;
+ uint32 collectionType = 12;
+}
diff --git a/proto/AreaPlayInfoNotify.proto b/proto/AreaPlayInfoNotify.proto
new file mode 100644
index 00000000..fbfd8e92
--- /dev/null
+++ b/proto/AreaPlayInfoNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "AreaPlayType.proto";
+
+message AreaPlayInfoNotify {
+ //enum DOKMOHCABHF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 3069;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 detailPlayType = 12;
+ AreaPlayType areaPlayType = 9;
+}
diff --git a/proto/AreaPlayType.proto b/proto/AreaPlayType.proto
new file mode 100644
index 00000000..4e870dc7
--- /dev/null
+++ b/proto/AreaPlayType.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+enum AreaPlayType {
+ AREA_PLAY_TYPE_NONE = 0;
+ AREA_PLAY_TYPE_CLIMATE = 1;
+ AREA_PLAY_TYPE_REGIONAL_PLAY = 2;
+}
diff --git a/proto/ArenaChallengeActivityDetailInfo.proto b/proto/ArenaChallengeActivityDetailInfo.proto
new file mode 100644
index 00000000..a119fd14
--- /dev/null
+++ b/proto/ArenaChallengeActivityDetailInfo.proto
@@ -0,0 +1,14 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ArenaChallengeMonsterLevel.proto";
+
+message ArenaChallengeActivityDetailInfo {
+ map levelOpenTimeMap = 2;
+ uint32 worldLevel = 6;
+ repeated ArenaChallengeMonsterLevel levelList = 7;
+ bool isFinishAnyLevel = 5;
+}
diff --git a/proto/ArenaChallengeChildChallengeInfo.proto b/proto/ArenaChallengeChildChallengeInfo.proto
new file mode 100644
index 00000000..4b1d79ba
--- /dev/null
+++ b/proto/ArenaChallengeChildChallengeInfo.proto
@@ -0,0 +1,14 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ArenaChallengeChildChallengeInfo {
+ bool isSuccess = 15;
+ bool isSettled = 4;
+ uint32 challengeType = 5;
+ uint32 challengeIndex = 8;
+ uint32 challengeId = 14;
+}
diff --git a/proto/ArenaChallengeFinishNotify.proto b/proto/ArenaChallengeFinishNotify.proto
new file mode 100644
index 00000000..02ef903a
--- /dev/null
+++ b/proto/ArenaChallengeFinishNotify.proto
@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ArenaChallengeChildChallengeInfo.proto";
+
+message ArenaChallengeFinishNotify {
+ //enum MNGBJBKHOEP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2199;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ bool isSuccess = 7;
+ repeated ArenaChallengeChildChallengeInfo childChallengeList = 6;
+ uint32 Unk3300_DBHAGHMMLAI = 15;
+ uint32 Unk3300_FDFNFLAKONG = 9;
+}
diff --git a/proto/AssociateInferenceWordReq.proto b/proto/AssociateInferenceWordReq.proto
new file mode 100644
index 00000000..6eb37599
--- /dev/null
+++ b/proto/AssociateInferenceWordReq.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message AssociateInferenceWordReq {
+ //enum NCOBIJLLDLL {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 456;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 Unk3300_EPMGHELECNH = 11;
+ uint32 pageId = 3;
+ uint32 Unk3300_FDGLBLJOKOK = 13;
+}
diff --git a/proto/AssociateInferenceWordRsp.proto b/proto/AssociateInferenceWordRsp.proto
new file mode 100644
index 00000000..d9f7c13b
--- /dev/null
+++ b/proto/AssociateInferenceWordRsp.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message AssociateInferenceWordRsp {
+ //enum CPCLGHEALEH {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 490;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 Unk3300_FDGLBLJOKOK = 14;
+ uint32 Unk3300_EPMGHELECNH = 5;
+ uint32 pageId = 11;
+ int32 retcode = 13;
+}
diff --git a/proto/AsterLargeInfoNotify.proto b/proto/AsterLargeInfoNotify.proto
new file mode 100644
index 00000000..d547f306
--- /dev/null
+++ b/proto/AsterLargeInfoNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "AsterLargeDetailInfo.proto";
+
+message AsterLargeInfoNotify {
+ //enum HICENMJODEB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2185;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ AsterLargeDetailInfo info = 12;
+}
diff --git a/proto/AsterLittleInfoNotify.proto b/proto/AsterLittleInfoNotify.proto
new file mode 100644
index 00000000..5e8e3c39
--- /dev/null
+++ b/proto/AsterLittleInfoNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "AsterLittleDetailInfo.proto";
+
+message AsterLittleInfoNotify {
+ //enum FABDDBGOKAB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2063;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ AsterLittleDetailInfo info = 7;
+}
diff --git a/proto/AsterMidCampInfoNotify.proto b/proto/AsterMidCampInfoNotify.proto
new file mode 100644
index 00000000..8a6fe5ba
--- /dev/null
+++ b/proto/AsterMidCampInfoNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "AsterMidCampInfo.proto";
+
+message AsterMidCampInfoNotify {
+ //enum MHCPMCJDEHK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2151;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated AsterMidCampInfo campList = 2;
+}
diff --git a/proto/AsterMidInfoNotify.proto b/proto/AsterMidInfoNotify.proto
new file mode 100644
index 00000000..534cd998
--- /dev/null
+++ b/proto/AsterMidInfoNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "AsterMidDetailInfo.proto";
+
+message AsterMidInfoNotify {
+ //enum NLCFBMFHHDC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2007;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ AsterMidDetailInfo info = 8;
+}
diff --git a/proto/AsterMiscInfoNotify.proto b/proto/AsterMiscInfoNotify.proto
new file mode 100644
index 00000000..1dcec5bd
--- /dev/null
+++ b/proto/AsterMiscInfoNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message AsterMiscInfoNotify {
+ //enum FBFFGFLJKNO {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2165;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 Unk3300_KFDGFFPJGJC = 7;
+ uint32 Unk3300_DCHBFEJNBHP = 8;
+}
diff --git a/proto/AsterProgressInfoNotify.proto b/proto/AsterProgressInfoNotify.proto
new file mode 100644
index 00000000..ed90f079
--- /dev/null
+++ b/proto/AsterProgressInfoNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "AsterProgressDetailInfo.proto";
+
+message AsterProgressInfoNotify {
+ //enum LIELBIINANH {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2091;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ AsterProgressDetailInfo info = 7;
+}
diff --git a/proto/AttackResultCreateCount.proto b/proto/AttackResultCreateCount.proto
deleted file mode 100644
index 63f5282e..00000000
--- a/proto/AttackResultCreateCount.proto
+++ /dev/null
@@ -1,25 +0,0 @@
-// Proto has been converted from Sorapointa to Grasscutter format
-// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
-// Copyright (C) 2022 Sorapointa Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
-syntax = "proto3";
-
-option java_package = "emu.grasscutter.net.proto";
-
-message AttackResultCreateCount {
- repeated uint32 Unk3300_PFFFFJBPKGN = 8;
- repeated uint32 Unk3300_MDGFBFBAHPB = 10;
-}
diff --git a/proto/AuthorityChange.proto b/proto/AuthorityChange.proto
new file mode 100644
index 00000000..b455faa5
--- /dev/null
+++ b/proto/AuthorityChange.proto
@@ -0,0 +1,13 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "EntityAuthorityInfo.proto";
+
+message AuthorityChange {
+ uint32 authorityPeerId = 2;
+ EntityAuthorityInfo entityAuthorityInfo = 4;
+ uint32 entityId = 14;
+}
diff --git a/proto/Avatar.proto b/proto/Avatar.proto
new file mode 100644
index 00000000..5abf6057
--- /dev/null
+++ b/proto/Avatar.proto
@@ -0,0 +1,35 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "SceneWeaponInfo.proto";
+import "CurVehicleInfo.proto";
+import "AvatarExcelInfo.proto";
+import "SceneReliquaryInfo.proto";
+import "ServerBuff.proto";
+
+message Avatar {
+ uint32 uid = 1;
+ uint32 avatarId = 2;
+ uint64 guid = 3;
+ uint32 peerId = 4;
+ repeated uint32 equipIdList = 5;
+ uint32 skillDepotId = 6;
+ repeated uint32 talentIdList = 7;
+ SceneWeaponInfo weapon = 8;
+ repeated SceneReliquaryInfo reliquaryList = 9;
+ uint32 coreProudSkillLevel = 11;
+ repeated uint32 inherentProudSkillList = 12;
+ map skillLevelMap = 13;
+ map proudSkillExtraLevelMap = 14;
+ repeated ServerBuff serverBuffList = 15;
+ repeated uint32 teamResonanceList = 16;
+ uint32 wearingFlycloakId = 17;
+ uint32 bornTime = 18;
+ uint32 costumeId = 19;
+ CurVehicleInfo curVehicleInfo = 20;
+ AvatarExcelInfo excelInfo = 21;
+ uint32 animHash = 22;
+}
diff --git a/proto/AvatarBuffAddNotify.proto b/proto/AvatarBuffAddNotify.proto
new file mode 100644
index 00000000..350f1be4
--- /dev/null
+++ b/proto/AvatarBuffAddNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message AvatarBuffAddNotify {
+ //enum FHLJCLILLFG {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 328;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 buffId = 15;
+ uint64 avatarGuid = 7;
+}
diff --git a/proto/AvatarBuffDelNotify.proto b/proto/AvatarBuffDelNotify.proto
new file mode 100644
index 00000000..4c6da2b5
--- /dev/null
+++ b/proto/AvatarBuffDelNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message AvatarBuffDelNotify {
+ //enum EIDJJGIPAOB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 373;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 buffId = 15;
+ uint64 avatarGuid = 8;
+}
diff --git a/proto/AvatarCardChangeReq.proto b/proto/AvatarCardChangeReq.proto
new file mode 100644
index 00000000..4d711dc0
--- /dev/null
+++ b/proto/AvatarCardChangeReq.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message AvatarCardChangeReq {
+ //enum HPAINGGFDBE {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 628;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 itemId = 11;
+ uint64 avatarGuid = 1;
+ uint32 count = 6;
+}
diff --git a/proto/AvatarCardChangeRsp.proto b/proto/AvatarCardChangeRsp.proto
new file mode 100644
index 00000000..57dc1ca7
--- /dev/null
+++ b/proto/AvatarCardChangeRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message AvatarCardChangeRsp {
+ //enum MOINLDKAIHB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 673;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 10;
+}
diff --git a/proto/AvatarChangeAnimHashReq.proto b/proto/AvatarChangeAnimHashReq.proto
new file mode 100644
index 00000000..6f2b9b70
--- /dev/null
+++ b/proto/AvatarChangeAnimHashReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message AvatarChangeAnimHashReq {
+ //enum JPEFNCKOODN {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 1603;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint64 avatarGuid = 2;
+ uint32 animHash = 12;
+}
diff --git a/proto/AvatarChangeAnimHashRsp.proto b/proto/AvatarChangeAnimHashRsp.proto
new file mode 100644
index 00000000..90d150e6
--- /dev/null
+++ b/proto/AvatarChangeAnimHashRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message AvatarChangeAnimHashRsp {
+ //enum LLCGGMAIDBD {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 1700;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 15;
+ uint32 animHash = 9;
+ uint64 avatarGuid = 11;
+}
diff --git a/proto/AvatarDelNotify.proto b/proto/AvatarDelNotify.proto
new file mode 100644
index 00000000..046712b0
--- /dev/null
+++ b/proto/AvatarDelNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message AvatarDelNotify {
+ //enum JCFIEDDPCDF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 1670;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated uint64 avatarGuidList = 1;
+}
diff --git a/proto/AvatarEnterElementViewNotify.proto b/proto/AvatarEnterElementViewNotify.proto
new file mode 100644
index 00000000..98656f24
--- /dev/null
+++ b/proto/AvatarEnterElementViewNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message AvatarEnterElementViewNotify {
+ //enum LIFOCPJLIDM {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 351;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ bool isTriggered = 6;
+ uint32 avatarEntityId = 1;
+}
diff --git a/proto/AvatarPromoteGetRewardReq.proto b/proto/AvatarPromoteGetRewardReq.proto
new file mode 100644
index 00000000..4c70ba5b
--- /dev/null
+++ b/proto/AvatarPromoteGetRewardReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message AvatarPromoteGetRewardReq {
+ //enum AHLKOIHOHKI {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 1642;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint64 avatarGuid = 8;
+ uint32 promoteLevel = 10;
+}
diff --git a/proto/AvatarPromoteGetRewardRsp.proto b/proto/AvatarPromoteGetRewardRsp.proto
new file mode 100644
index 00000000..3e8e78cc
--- /dev/null
+++ b/proto/AvatarPromoteGetRewardRsp.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message AvatarPromoteGetRewardRsp {
+ //enum CAPLBOCEKAL {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 1718;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 rewardId = 8;
+ uint32 promoteLevel = 5;
+ int32 retcode = 12;
+ uint64 avatarGuid = 14;
+}
diff --git a/proto/AvatarSatiationData.proto b/proto/AvatarSatiationData.proto
new file mode 100644
index 00000000..4f185086
--- /dev/null
+++ b/proto/AvatarSatiationData.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message AvatarSatiationData {
+ uint64 avatarGuid = 5;
+ float finishTime = 15;
+ float penaltyFinishTime = 12;
+}
diff --git a/proto/AvatarSatiationDataNotify.proto b/proto/AvatarSatiationDataNotify.proto
new file mode 100644
index 00000000..c90ef414
--- /dev/null
+++ b/proto/AvatarSatiationDataNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "AvatarSatiationData.proto";
+
+message AvatarSatiationDataNotify {
+ //enum JKBKGEDKLLG {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 1722;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated AvatarSatiationData satiationDataList = 9;
+}
diff --git a/proto/BBKCGLAKCPM.proto b/proto/BBKCGLAKCPM.proto
new file mode 100644
index 00000000..235fe4ed
--- /dev/null
+++ b/proto/BBKCGLAKCPM.proto
@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "NOABGCFIDLD.proto";
+import "NHMKAMGOKDK.proto";
+import "POHLFOGNPII.proto";
+
+message BBKCGLAKCPM {
+ string createTime = 1;
+ int32 daehjagbjbl = 3;
+ NOABGCFIDLD plkbejkcfai = 4;
+ NHMKAMGOKDK type = 5;
+ string nkgnchooned = 6;
+ string ggmggbnbpga = 2;
+ string kppiclokhkf = 7;
+ int32 eemaljenfdh = 9;
+ string npaoooeccdm = 10;
+ POHLFOGNPII jkfdibhoggm = 8;
+}
diff --git a/proto/BDFNLKLGIBI.proto b/proto/BDFNLKLGIBI.proto
new file mode 100644
index 00000000..cb26f7d3
--- /dev/null
+++ b/proto/BDFNLKLGIBI.proto
@@ -0,0 +1,10 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message BDFNLKLGIBI {
+ uint64 value = 1;
+}
diff --git a/proto/BFIEOJNAJCA.proto b/proto/BFIEOJNAJCA.proto
new file mode 100644
index 00000000..dffb1662
--- /dev/null
+++ b/proto/BFIEOJNAJCA.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "DMIOGBOGIEG.proto";
+import "ANOKFBLCGGM.proto";
+import "PKGIAOBKFDC.proto";
+
+message BFIEOJNAJCA {
+ uint32 uid = 10;
+ string oiibnieamib = 4;
+ string token = 2;
+ string fecoacjadfm = 14;
+ DMIOGBOGIEG kcmpcninooj = 11;
+ ANOKFBLCGGM gkpgobnbfce = 7;
+ PKGIAOBKFDC lang = 1;
+ uint32 timestamp = 13;
+}
diff --git a/proto/BGADCCEEGAO.proto b/proto/BGADCCEEGAO.proto
new file mode 100644
index 00000000..29cb3015
--- /dev/null
+++ b/proto/BGADCCEEGAO.proto
@@ -0,0 +1,10 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message BGADCCEEGAO {
+ bool fhkoemgadhe = 1;
+}
diff --git a/proto/BGAOMPJLJDP.proto b/proto/BGAOMPJLJDP.proto
new file mode 100644
index 00000000..f570d22d
--- /dev/null
+++ b/proto/BGAOMPJLJDP.proto
@@ -0,0 +1,13 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message BGAOMPJLJDP {
+ uint32 challengeId = 1;
+ uint32 challengeType = 2;
+ repeated uint32 paramList = 3;
+ uint32 progress = 4;
+}
diff --git a/proto/BGPGPMLJNLP.proto b/proto/BGPGPMLJNLP.proto
new file mode 100644
index 00000000..d4dbd3a6
--- /dev/null
+++ b/proto/BGPGPMLJNLP.proto
@@ -0,0 +1,13 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "PLDKICHAHEB.proto";
+
+message BGPGPMLJNLP {
+ string createTime = 1;
+ int32 daehjagbjbl = 2;
+ repeated PLDKICHAHEB jkfdibhoggm = 3;
+}
diff --git a/proto/BJDOMLGAILM.proto b/proto/BJDOMLGAILM.proto
new file mode 100644
index 00000000..030859d0
--- /dev/null
+++ b/proto/BJDOMLGAILM.proto
@@ -0,0 +1,10 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message BJDOMLGAILM {
+ bool mlonppbojpp = 1;
+}
diff --git a/proto/BJGDBMMEDNK.proto b/proto/BJGDBMMEDNK.proto
new file mode 100644
index 00000000..7166bdf0
--- /dev/null
+++ b/proto/BJGDBMMEDNK.proto
@@ -0,0 +1,14 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "Vector.proto";
+
+message BJGDBMMEDNK {
+ Vector faceDir = 3;
+ Vector velocity = 7;
+ uint32 entityId = 6;
+ Vector pos = 4;
+}
diff --git a/proto/BKJPMFGNDAE.proto b/proto/BKJPMFGNDAE.proto
new file mode 100644
index 00000000..78b6d922
--- /dev/null
+++ b/proto/BKJPMFGNDAE.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "AbilityAppliedAbility.proto";
+
+message BKJPMFGNDAE {
+ AbilityAppliedAbility eiemljpbfin = 4;
+}
diff --git a/proto/BMAPKBNNAGD.proto b/proto/BMAPKBNNAGD.proto
new file mode 100644
index 00000000..ed2bac66
--- /dev/null
+++ b/proto/BMAPKBNNAGD.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "Vector.proto";
+
+message BMAPKBNNAGD {
+ Vector mpfmoiobaad = 2;
+ Vector eknhofiihcl = 4;
+}
diff --git a/proto/BMIPNMKJMHN.proto b/proto/BMIPNMKJMHN.proto
new file mode 100644
index 00000000..516abf36
--- /dev/null
+++ b/proto/BMIPNMKJMHN.proto
@@ -0,0 +1,9 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message BMIPNMKJMHN {
+}
diff --git a/proto/BOIPHJCFLBK.proto b/proto/BOIPHJCFLBK.proto
new file mode 100644
index 00000000..bd917d2c
--- /dev/null
+++ b/proto/BOIPHJCFLBK.proto
@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "NFHBHHJAJDA.proto";
+
+message BOIPHJCFLBK {
+ float impfndpedoa = 11;
+ uint32 attackTargetId = 15;
+ float gjnmmadghcn = 6;
+ repeated NFHBHHJAJDA hdbonehdhll = 1;
+ float dladdidhjbc = 3;
+ float ogigbahpfog = 14;
+ map dlhfjjbaggg = 12;
+ uint32 nnlkpdinema = 7;
+ uint32 kldlcmkpnaa = 4;
+ uint32 akgfenlfekh = 9;
+ uint32 egfkffbealf = 5;
+ uint32 entityId = 2;
+}
diff --git a/proto/BackMyWorldReq.proto b/proto/BackMyWorldReq.proto
new file mode 100644
index 00000000..b54c47ed
--- /dev/null
+++ b/proto/BackMyWorldReq.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message BackMyWorldReq {
+ //enum LKDIGIDFBMK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 231;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+}
diff --git a/proto/BackMyWorldRsp.proto b/proto/BackMyWorldRsp.proto
index 02e73015..5e20ca53 100644
--- a/proto/BackMyWorldRsp.proto
+++ b/proto/BackMyWorldRsp.proto
@@ -1,6 +1,18 @@
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
+
+
+
message BackMyWorldRsp {
+ //enum MHICMFDMFAI {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 276;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
int32 retcode = 9;
}
diff --git a/proto/BackPlayCustomDungeonOfficialReq.proto b/proto/BackPlayCustomDungeonOfficialReq.proto
new file mode 100644
index 00000000..a5db87b7
--- /dev/null
+++ b/proto/BackPlayCustomDungeonOfficialReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message BackPlayCustomDungeonOfficialReq {
+ //enum LEOMIABPADC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 6227;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 roomId = 4;
+}
diff --git a/proto/BackPlayCustomDungeonOfficialRsp.proto b/proto/BackPlayCustomDungeonOfficialRsp.proto
new file mode 100644
index 00000000..0535d7d0
--- /dev/null
+++ b/proto/BackPlayCustomDungeonOfficialRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message BackPlayCustomDungeonOfficialRsp {
+ //enum HCINMIHICEF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 6213;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 7;
+}
diff --git a/proto/BackRebornGalleryReq.proto b/proto/BackRebornGalleryReq.proto
new file mode 100644
index 00000000..a8eb9936
--- /dev/null
+++ b/proto/BackRebornGalleryReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message BackRebornGalleryReq {
+ //enum KIIHHCFAPOO {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5558;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 galleryId = 5;
+}
diff --git a/proto/BackRebornGalleryRsp.proto b/proto/BackRebornGalleryRsp.proto
new file mode 100644
index 00000000..77eab482
--- /dev/null
+++ b/proto/BackRebornGalleryRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message BackRebornGalleryRsp {
+ //enum BKBIFNPADFG {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5518;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 14;
+ uint32 galleryId = 3;
+}
diff --git a/proto/BalloonGalleryInfo.proto b/proto/BalloonGalleryInfo.proto
new file mode 100644
index 00000000..0a3a0df8
--- /dev/null
+++ b/proto/BalloonGalleryInfo.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "HomeBalloonGalleryRecord.proto";
+
+message BalloonGalleryInfo {
+ repeated HomeBalloonGalleryRecord recordList = 7;
+}
diff --git a/proto/BalloonGallerySettleInfo.proto b/proto/BalloonGallerySettleInfo.proto
new file mode 100644
index 00000000..a23237e2
--- /dev/null
+++ b/proto/BalloonGallerySettleInfo.proto
@@ -0,0 +1,14 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GalleryStopReason.proto";
+
+message BalloonGallerySettleInfo {
+ uint32 ownerUid = 5;
+ uint32 hitCount = 3;
+ GalleryStopReason reason = 15;
+ uint32 score = 6;
+}
diff --git a/proto/BalloonSettleInfo.proto b/proto/BalloonSettleInfo.proto
new file mode 100644
index 00000000..03905577
--- /dev/null
+++ b/proto/BalloonSettleInfo.proto
@@ -0,0 +1,15 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "OnlinePlayerInfo.proto";
+
+message BalloonSettleInfo {
+ uint32 shootCount = 3;
+ uint32 maxCombo = 14;
+ uint32 finalScore = 1;
+ uint32 uid = 11;
+ OnlinePlayerInfo playerInfo = 15;
+}
diff --git a/proto/BargainOfferPriceReq.proto b/proto/BargainOfferPriceReq.proto
new file mode 100644
index 00000000..50be2318
--- /dev/null
+++ b/proto/BargainOfferPriceReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message BargainOfferPriceReq {
+ //enum JLABCLHCCMG {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 458;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 bargainId = 12;
+ uint32 price = 7;
+}
diff --git a/proto/BargainOfferPriceRsp.proto b/proto/BargainOfferPriceRsp.proto
new file mode 100644
index 00000000..07153917
--- /dev/null
+++ b/proto/BargainOfferPriceRsp.proto
@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "BargainResultType.proto";
+
+message BargainOfferPriceRsp {
+ //enum HAOJEFGNHMK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 418;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ BargainResultType bargainResult = 2;
+ int32 retcode = 13;
+ int32 curMood = 7;
+ uint32 resultParam = 11;
+}
diff --git a/proto/BargainResultType.proto b/proto/BargainResultType.proto
new file mode 100644
index 00000000..07eb7c1c
--- /dev/null
+++ b/proto/BargainResultType.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+enum BargainResultType {
+ BARGAIN_RESULT_TYPE_COMPLETE_SUCC = 0;
+ BARGAIN_RESULT_TYPE_SINGLE_FAIL = 1;
+ BARGAIN_RESULT_TYPE_COMPLETE_FAIL = 2;
+}
diff --git a/proto/BargainSnapshot.proto b/proto/BargainSnapshot.proto
new file mode 100644
index 00000000..8e69f3be
--- /dev/null
+++ b/proto/BargainSnapshot.proto
@@ -0,0 +1,13 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message BargainSnapshot {
+ uint32 Unk3300_MHFDEBOBFNE = 10;
+ uint32 bargainId = 7;
+ int32 curMood = 13;
+ uint32 Unk3300_KOCJELACJLM = 6;
+}
diff --git a/proto/BargainStartNotify.proto b/proto/BargainStartNotify.proto
new file mode 100644
index 00000000..9c1695cd
--- /dev/null
+++ b/proto/BargainStartNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "BargainSnapshot.proto";
+
+message BargainStartNotify {
+ //enum BOPACPEHDDK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 425;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 bargainId = 12;
+ BargainSnapshot snapshot = 2;
+}
diff --git a/proto/BargainTerminateNotify.proto b/proto/BargainTerminateNotify.proto
new file mode 100644
index 00000000..ed71e54b
--- /dev/null
+++ b/proto/BargainTerminateNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message BargainTerminateNotify {
+ //enum LOMNFHBNNDG {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 475;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 bargainId = 14;
+}
diff --git a/proto/BartenderActivityDetailInfo.proto b/proto/BartenderActivityDetailInfo.proto
new file mode 100644
index 00000000..0779fe71
--- /dev/null
+++ b/proto/BartenderActivityDetailInfo.proto
@@ -0,0 +1,17 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "BartenderTaskInfo.proto";
+import "BartenderLevelInfo.proto";
+
+message BartenderActivityDetailInfo {
+ repeated BartenderTaskInfo unlockTaskList = 15;
+ bool isDevelopModuleOpen = 10;
+ repeated uint32 unlockItemList = 8;
+ repeated uint32 unlockFormulaList = 14;
+ bool leftMonsters = 2;
+ repeated BartenderLevelInfo unlockLevelList = 4;
+}
diff --git a/proto/BartenderCancelLevelReq.proto b/proto/BartenderCancelLevelReq.proto
new file mode 100644
index 00000000..ff0e1b2a
--- /dev/null
+++ b/proto/BartenderCancelLevelReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message BartenderCancelLevelReq {
+ //enum OPDJANGCECI {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8567;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 levelId = 4;
+}
diff --git a/proto/BartenderCancelLevelRsp.proto b/proto/BartenderCancelLevelRsp.proto
new file mode 100644
index 00000000..0a7c36e1
--- /dev/null
+++ b/proto/BartenderCancelLevelRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message BartenderCancelLevelRsp {
+ //enum DNGNPOJHPDI {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8492;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 2;
+ uint32 levelId = 8;
+}
diff --git a/proto/BartenderCancelOrderReq.proto b/proto/BartenderCancelOrderReq.proto
new file mode 100644
index 00000000..e02cfd59
--- /dev/null
+++ b/proto/BartenderCancelOrderReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message BartenderCancelOrderReq {
+ //enum MEKPLCKCHIL {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8663;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 questId = 10;
+}
diff --git a/proto/BartenderCancelOrderRsp.proto b/proto/BartenderCancelOrderRsp.proto
new file mode 100644
index 00000000..29a2d1ae
--- /dev/null
+++ b/proto/BartenderCancelOrderRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message BartenderCancelOrderRsp {
+ //enum FAHCDHNDEAC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8908;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 1;
+ uint32 questId = 8;
+}
diff --git a/proto/BartenderCompleteOrderReq.proto b/proto/BartenderCompleteOrderReq.proto
new file mode 100644
index 00000000..3a181a9e
--- /dev/null
+++ b/proto/BartenderCompleteOrderReq.proto
@@ -0,0 +1,26 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ItemParam.proto";
+
+message BartenderCompleteOrderReq {
+ //enum MMPNFNDBFPC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8867;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ bool isViewFormula = 10;
+ uint32 Unk3300_NKMHHHHGHIF = 6;
+ repeated ItemParam itemList = 8;
+ uint32 Unk3300_POEGPFJLNGB = 12;
+ uint32 questId = 9;
+ uint32 Unk3300_LONHKJFDOND = 15;
+ repeated uint32 optionalOrderList = 11;
+}
diff --git a/proto/BartenderCompleteOrderRsp.proto b/proto/BartenderCompleteOrderRsp.proto
new file mode 100644
index 00000000..6ebc5dce
--- /dev/null
+++ b/proto/BartenderCompleteOrderRsp.proto
@@ -0,0 +1,23 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message BartenderCompleteOrderRsp {
+ //enum BPKOEDJEEKD {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8192;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated uint32 affixList = 11;
+ int32 retcode = 15;
+ uint32 questId = 6;
+ uint32 finishOrderId = 7;
+ bool isNew = 14;
+ uint32 formulaId = 3;
+}
diff --git a/proto/BartenderFinishLevelReq.proto b/proto/BartenderFinishLevelReq.proto
new file mode 100644
index 00000000..6a844dcd
--- /dev/null
+++ b/proto/BartenderFinishLevelReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message BartenderFinishLevelReq {
+ //enum IFEFINFMELN {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8424;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 levelId = 10;
+}
diff --git a/proto/BartenderFinishLevelRsp.proto b/proto/BartenderFinishLevelRsp.proto
new file mode 100644
index 00000000..d92c5456
--- /dev/null
+++ b/proto/BartenderFinishLevelRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message BartenderFinishLevelRsp {
+ //enum DBMKKFPMLEC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8364;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 14;
+ uint32 levelId = 6;
+}
diff --git a/proto/BartenderGetFormulaReq.proto b/proto/BartenderGetFormulaReq.proto
new file mode 100644
index 00000000..1263552b
--- /dev/null
+++ b/proto/BartenderGetFormulaReq.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ItemParam.proto";
+
+message BartenderGetFormulaReq {
+ //enum PINHACBMFME {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8258;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ repeated ItemParam itemList = 4;
+ uint32 questId = 6;
+}
diff --git a/proto/BartenderGetFormulaRsp.proto b/proto/BartenderGetFormulaRsp.proto
new file mode 100644
index 00000000..aa8dc3d0
--- /dev/null
+++ b/proto/BartenderGetFormulaRsp.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message BartenderGetFormulaRsp {
+ //enum DDMOBCMKFNG {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8550;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ bool isNew = 12;
+ uint32 formulaId = 15;
+ repeated uint32 affixList = 9;
+ int32 retcode = 3;
+}
diff --git a/proto/BartenderLevelProgressNotify.proto b/proto/BartenderLevelProgressNotify.proto
new file mode 100644
index 00000000..35326391
--- /dev/null
+++ b/proto/BartenderLevelProgressNotify.proto
@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message BartenderLevelProgressNotify {
+ //enum MNIPDDGBEKK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8317;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 levelId = 13;
+ uint32 score = 3;
+ bool isNewRecord = 10;
+ bool isFinish = 5;
+}
diff --git a/proto/BartenderStartLevelReq.proto b/proto/BartenderStartLevelReq.proto
new file mode 100644
index 00000000..f1149f5f
--- /dev/null
+++ b/proto/BartenderStartLevelReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message BartenderStartLevelReq {
+ //enum OIBNODCEAJE {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8710;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 levelId = 3;
+}
diff --git a/proto/BartenderStartLevelRsp.proto b/proto/BartenderStartLevelRsp.proto
new file mode 100644
index 00000000..fb22b8ee
--- /dev/null
+++ b/proto/BartenderStartLevelRsp.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message BartenderStartLevelRsp {
+ //enum JMAIKGFHOCI {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8495;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated uint32 orderList = 3;
+ int32 retcode = 4;
+ uint32 levelId = 14;
+ uint32 time = 6;
+}
diff --git a/proto/BattlePassBuySuccNotify.proto b/proto/BattlePassBuySuccNotify.proto
new file mode 100644
index 00000000..b05cb6a2
--- /dev/null
+++ b/proto/BattlePassBuySuccNotify.proto
@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ItemParam.proto";
+
+message BattlePassBuySuccNotify {
+ //enum PCKAPDDMNHA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2642;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 Unk3300_IJOIKKDNKDE = 11;
+ uint32 Unk3300_PJODFJKAFLG = 6;
+ uint32 scheduleId = 14;
+ repeated ItemParam itemList = 2;
+}
diff --git a/proto/BattlePassMission.proto b/proto/BattlePassMission.proto
index 52ef4bdb..a94e4100 100644
--- a/proto/BattlePassMission.proto
+++ b/proto/BattlePassMission.proto
@@ -1,6 +1,11 @@
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
+
+
+import "MissionStatus.proto";
+
message BattlePassMission {
enum MissionStatus {
diff --git a/proto/BattlePassMissionDelNotify.proto b/proto/BattlePassMissionDelNotify.proto
new file mode 100644
index 00000000..4dcb6f7c
--- /dev/null
+++ b/proto/BattlePassMissionDelNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message BattlePassMissionDelNotify {
+ //enum INMLJEGLKNJ {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2646;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated uint32 delMissionIdList = 11;
+}
diff --git a/proto/BeginCameraSceneLookNotify.proto b/proto/BeginCameraSceneLookNotify.proto
new file mode 100644
index 00000000..7e14f793
--- /dev/null
+++ b/proto/BeginCameraSceneLookNotify.proto
@@ -0,0 +1,39 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "KeepRotType.proto";
+import "Vector.proto";
+
+message BeginCameraSceneLookNotify {
+ //enum CPHHCGOAFAE {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 279;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ bool Unk3300_ONBDMCHFPDL = 2;
+ bool Unk3300_PIEFLAEGGBI = 8;
+ bool Unk3300_NJLBIMJDFHJ = 1;
+ float duration = 10;
+ KeepRotType keepRotType = 14;
+ Vector Unk3300_FJDFGLNLMBN = 13;
+ float Unk3300_FIOLGCIKFLH = 5;
+ float Unk3300_HFPCHFNFJKP = 11;
+ repeated string otherParams = 12;
+ uint32 entityId = 167;
+ bool Unk3300_ODADMBBFPAP = 4;
+ bool Unk3300_EELNOAICHOJ = 3;
+ uint32 Unk3300_KCHKKBODNCJ = 1965;
+ bool Unk3300_DFPCMOFONNK = 15;
+ float Unk3300_HKKCHCEMJIE = 2004;
+ uint32 Unk3300_AJEENEOCFON = 106;
+ Vector Unk3300_PPCIDICMIEN = 7;
+ bool Unk3300_AAOGBCCNJAF = 644;
+ float Unk3300_HCLPGGAOIAC = 6;
+ bool Unk3300_ILMHDLHLKGJ = 9;
+}
diff --git a/proto/BeginCameraSceneLookWithTemplateNotify.proto b/proto/BeginCameraSceneLookWithTemplateNotify.proto
new file mode 100644
index 00000000..adbb8020
--- /dev/null
+++ b/proto/BeginCameraSceneLookWithTemplateNotify.proto
@@ -0,0 +1,25 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "Vector.proto";
+import "FollowType.proto";
+
+message BeginCameraSceneLookWithTemplateNotify {
+ //enum KDFDCPCDOJA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 3201;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 templateId = 9;
+ Vector Unk3300_FJDFGLNLMBN = 4;
+ FollowType followType = 3;
+ repeated string otherParams = 8;
+ uint32 entityId = 14;
+ Vector Unk3300_PPCIDICMIEN = 7;
+}
diff --git a/proto/BigTalentPointConvertReq.proto b/proto/BigTalentPointConvertReq.proto
new file mode 100644
index 00000000..f787e527
--- /dev/null
+++ b/proto/BigTalentPointConvertReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message BigTalentPointConvertReq {
+ //enum HANKPODKPOA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 1020;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ repeated uint64 itemGuidList = 5;
+ uint64 avatarGuid = 3;
+}
diff --git a/proto/BigTalentPointConvertRsp.proto b/proto/BigTalentPointConvertRsp.proto
new file mode 100644
index 00000000..29e877da
--- /dev/null
+++ b/proto/BigTalentPointConvertRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message BigTalentPointConvertRsp {
+ //enum ILFNHCOJDNC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 1074;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 14;
+ uint64 avatarGuid = 12;
+}
diff --git a/proto/BlessingAcceptAllGivePicReq.proto b/proto/BlessingAcceptAllGivePicReq.proto
new file mode 100644
index 00000000..9f596e7e
--- /dev/null
+++ b/proto/BlessingAcceptAllGivePicReq.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message BlessingAcceptAllGivePicReq {
+ //enum HPNEEFPDMBK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2153;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+}
diff --git a/proto/BlessingAcceptAllGivePicRsp.proto b/proto/BlessingAcceptAllGivePicRsp.proto
new file mode 100644
index 00000000..ac0486a6
--- /dev/null
+++ b/proto/BlessingAcceptAllGivePicRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message BlessingAcceptAllGivePicRsp {
+ //enum NNHNAGFFCLE {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2048;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ map acceptPicNumMap = 13;
+ repeated uint32 acceptIndexList = 3;
+ int32 retcode = 11;
+}
diff --git a/proto/BlessingAcceptGivePicReq.proto b/proto/BlessingAcceptGivePicReq.proto
new file mode 100644
index 00000000..d9952f48
--- /dev/null
+++ b/proto/BlessingAcceptGivePicReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message BlessingAcceptGivePicReq {
+ //enum JFGMAIDPGOE {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2012;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 uid = 1;
+ uint32 index = 6;
+}
diff --git a/proto/BlessingAcceptGivePicRsp.proto b/proto/BlessingAcceptGivePicRsp.proto
new file mode 100644
index 00000000..aeb3d04d
--- /dev/null
+++ b/proto/BlessingAcceptGivePicRsp.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message BlessingAcceptGivePicRsp {
+ //enum FEJBBKCGFHF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2069;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 picId = 12;
+ uint32 index = 13;
+ uint32 uid = 11;
+ int32 retcode = 14;
+}
diff --git a/proto/BlessingActivityDetailInfo.proto b/proto/BlessingActivityDetailInfo.proto
new file mode 100644
index 00000000..e4784afd
--- /dev/null
+++ b/proto/BlessingActivityDetailInfo.proto
@@ -0,0 +1,17 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message BlessingActivityDetailInfo {
+ bool leftMonsters = 5;
+ uint32 contentCloseTime = 11;
+ uint32 curDayScanNum = 12;
+ uint32 Unk3300_INOHLELBOAM = 15;
+ uint32 Unk3300_JLADHEKJPBP = 9;
+ map picNumMap = 7;
+ uint32 nextRefreshTime = 14;
+ bool isActivated = 8;
+}
diff --git a/proto/BlessingFriendPicData.proto b/proto/BlessingFriendPicData.proto
new file mode 100644
index 00000000..e213cef0
--- /dev/null
+++ b/proto/BlessingFriendPicData.proto
@@ -0,0 +1,17 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ProfilePicture.proto";
+
+message BlessingFriendPicData {
+ uint32 avatarId = 2;
+ ProfilePicture profilePicture = 4;
+ string nickname = 5;
+ string signature = 6;
+ map picNumMap = 12;
+ string remarkName = 3;
+ uint32 uid = 9;
+}
diff --git a/proto/BlessingGetAllRecvPicRecordListReq.proto b/proto/BlessingGetAllRecvPicRecordListReq.proto
new file mode 100644
index 00000000..840a4bd2
--- /dev/null
+++ b/proto/BlessingGetAllRecvPicRecordListReq.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message BlessingGetAllRecvPicRecordListReq {
+ //enum OFLAFNHNLDF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2042;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+}
diff --git a/proto/BlessingGetAllRecvPicRecordListRsp.proto b/proto/BlessingGetAllRecvPicRecordListRsp.proto
new file mode 100644
index 00000000..8c896389
--- /dev/null
+++ b/proto/BlessingGetAllRecvPicRecordListRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "BlessingRecvPicRecord.proto";
+
+message BlessingGetAllRecvPicRecordListRsp {
+ //enum PNOIBIOJPPG {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2118;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated BlessingRecvPicRecord recvPicRecordList = 9;
+ int32 retcode = 4;
+}
diff --git a/proto/BlessingGetFriendPicListReq.proto b/proto/BlessingGetFriendPicListReq.proto
new file mode 100644
index 00000000..a83d81f9
--- /dev/null
+++ b/proto/BlessingGetFriendPicListReq.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message BlessingGetFriendPicListReq {
+ //enum NEFNBCLPDFI {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2026;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+}
diff --git a/proto/BlessingGetFriendPicListRsp.proto b/proto/BlessingGetFriendPicListRsp.proto
new file mode 100644
index 00000000..902aa63c
--- /dev/null
+++ b/proto/BlessingGetFriendPicListRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "BlessingFriendPicData.proto";
+
+message BlessingGetFriendPicListRsp {
+ //enum ABMDCPAJCFJ {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2102;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated BlessingFriendPicData friendPicDataList = 12;
+ int32 retcode = 2;
+}
diff --git a/proto/BlessingGiveFriendPicReq.proto b/proto/BlessingGiveFriendPicReq.proto
new file mode 100644
index 00000000..b46ee3eb
--- /dev/null
+++ b/proto/BlessingGiveFriendPicReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message BlessingGiveFriendPicReq {
+ //enum PFFKAJIJIMP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2002;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 uid = 9;
+ uint32 picId = 8;
+}
diff --git a/proto/BlessingGiveFriendPicRsp.proto b/proto/BlessingGiveFriendPicRsp.proto
new file mode 100644
index 00000000..7bd45973
--- /dev/null
+++ b/proto/BlessingGiveFriendPicRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message BlessingGiveFriendPicRsp {
+ //enum GFFEOGMCJKA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2082;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 uid = 5;
+ uint32 picId = 15;
+ int32 retcode = 11;
+}
diff --git a/proto/BlessingRecvFriendPicNotify.proto b/proto/BlessingRecvFriendPicNotify.proto
new file mode 100644
index 00000000..42181bed
--- /dev/null
+++ b/proto/BlessingRecvFriendPicNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message BlessingRecvFriendPicNotify {
+ //enum POLFBPILKBJ {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2159;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 uid = 15;
+ uint32 picId = 14;
+}
diff --git a/proto/BlessingRecvPicRecord.proto b/proto/BlessingRecvPicRecord.proto
new file mode 100644
index 00000000..a0f41248
--- /dev/null
+++ b/proto/BlessingRecvPicRecord.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ProfilePicture.proto";
+
+message BlessingRecvPicRecord {
+ ProfilePicture profilePicture = 11;
+ string signature = 10;
+ uint32 avatarId = 8;
+ uint32 uid = 5;
+ uint32 index = 1;
+ string remarkName = 14;
+ uint32 picId = 2;
+ string nickname = 12;
+ bool isRecv = 7;
+}
diff --git a/proto/BlessingRedeemRewardReq.proto b/proto/BlessingRedeemRewardReq.proto
new file mode 100644
index 00000000..5179bbdc
--- /dev/null
+++ b/proto/BlessingRedeemRewardReq.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message BlessingRedeemRewardReq {
+ //enum NOAHKCOMDGA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2173;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+}
diff --git a/proto/BlessingRedeemRewardRsp.proto b/proto/BlessingRedeemRewardRsp.proto
new file mode 100644
index 00000000..3b653fd1
--- /dev/null
+++ b/proto/BlessingRedeemRewardRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message BlessingRedeemRewardRsp {
+ //enum DCGDNODOJKM {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2104;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 2;
+ map picNumMap = 6;
+}
diff --git a/proto/BlessingScanReq.proto b/proto/BlessingScanReq.proto
new file mode 100644
index 00000000..d9cc54b3
--- /dev/null
+++ b/proto/BlessingScanReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message BlessingScanReq {
+ //enum HMAEJOFLPCK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2179;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 entityId = 13;
+}
diff --git a/proto/BlessingScanRsp.proto b/proto/BlessingScanRsp.proto
new file mode 100644
index 00000000..986a5f26
--- /dev/null
+++ b/proto/BlessingScanRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message BlessingScanRsp {
+ //enum BHEHFEHNFDK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2122;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 8;
+ uint32 curDayScanNum = 4;
+ uint32 scanPicId = 9;
+}
diff --git a/proto/BlitzRushParkourRestartReq.proto b/proto/BlitzRushParkourRestartReq.proto
new file mode 100644
index 00000000..fef667f7
--- /dev/null
+++ b/proto/BlitzRushParkourRestartReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message BlitzRushParkourRestartReq {
+ //enum LLFCAHFMONP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8204;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 groupId = 10;
+ uint32 scheduleId = 9;
+}
diff --git a/proto/BlitzRushParkourRestartRsp.proto b/proto/BlitzRushParkourRestartRsp.proto
new file mode 100644
index 00000000..321983bb
--- /dev/null
+++ b/proto/BlitzRushParkourRestartRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message BlitzRushParkourRestartRsp {
+ //enum PBBJICEIPJD {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8502;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 scheduleId = 2;
+ uint32 groupId = 15;
+ int32 retcode = 3;
+}
diff --git a/proto/BlockInfo.proto b/proto/BlockInfo.proto
index 7add3398..84c5ce82 100644
--- a/proto/BlockInfo.proto
+++ b/proto/BlockInfo.proto
@@ -1,6 +1,11 @@
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
+
+
+import "bytes.proto";
+
message BlockInfo {
uint32 blockId = 1;
uint32 dataVersion = 2;
diff --git a/proto/BlossomChestCreateNotify.proto b/proto/BlossomChestCreateNotify.proto
new file mode 100644
index 00000000..6f6d4068
--- /dev/null
+++ b/proto/BlossomChestCreateNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message BlossomChestCreateNotify {
+ //enum EMNMLFHOMFG {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2774;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 circleCampId = 9;
+ uint32 refreshId = 1;
+}
diff --git a/proto/BlossomChestInfoNotify.proto b/proto/BlossomChestInfoNotify.proto
new file mode 100644
index 00000000..77924a27
--- /dev/null
+++ b/proto/BlossomChestInfoNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "BlossomChestInfo.proto";
+
+message BlossomChestInfoNotify {
+ //enum OJIGAMJAGGL {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 870;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ BlossomChestInfo blossomChestInfo = 5;
+ uint32 entityId = 13;
+}
diff --git a/proto/BlossomScheduleInfo.proto b/proto/BlossomScheduleInfo.proto
new file mode 100644
index 00000000..69e6861e
--- /dev/null
+++ b/proto/BlossomScheduleInfo.proto
@@ -0,0 +1,15 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message BlossomScheduleInfo {
+ uint32 refreshId = 6;
+ uint32 state = 9;
+ uint32 circleCampId = 1;
+ uint32 finishProgress = 12;
+ uint32 round = 14;
+ uint32 progress = 15;
+}
diff --git a/proto/BoatMultiInfo.proto b/proto/BoatMultiInfo.proto
new file mode 100644
index 00000000..21e11757
--- /dev/null
+++ b/proto/BoatMultiInfo.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "IPLHKNLPPHD.proto";
+
+message BoatMultiInfo {
+ repeated IPLHKNLPPHD playerData = 14;
+}
diff --git a/proto/BonusActivityUpdateNotify.proto b/proto/BonusActivityUpdateNotify.proto
new file mode 100644
index 00000000..739635c6
--- /dev/null
+++ b/proto/BonusActivityUpdateNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "BonusActivityInfo.proto";
+
+message BonusActivityUpdateNotify {
+ //enum HPNBMCFBEIK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2529;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated BonusActivityInfo bonusActivityInfoList = 8;
+}
diff --git a/proto/BonusOpActivityInfo.proto b/proto/BonusOpActivityInfo.proto
deleted file mode 100644
index 038f0fde..00000000
--- a/proto/BonusOpActivityInfo.proto
+++ /dev/null
@@ -1,24 +0,0 @@
-// Proto has been converted from Sorapointa to Grasscutter format
-// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
-// Copyright (C) 2022 Sorapointa Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
-syntax = "proto3";
-
-option java_package = "emu.grasscutter.net.proto";
-
-message BonusOpActivityInfo {
- uint32 left_bonus_count = 8;
-}
diff --git a/proto/BossChest.proto b/proto/BossChest.proto
new file mode 100644
index 00000000..654507b8
--- /dev/null
+++ b/proto/BossChest.proto
@@ -0,0 +1,15 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "WeeklyBossResinDiscountInfo.proto";
+
+message BossChest {
+ uint32 monsterConfigId = 1;
+ uint32 resin = 2;
+ repeated uint32 remainUidList = 3;
+ repeated uint32 qualifyUidList = 4;
+ map uidDiscountMap = 5;
+}
diff --git a/proto/BossChestActivateNotify.proto b/proto/BossChestActivateNotify.proto
new file mode 100644
index 00000000..55d27417
--- /dev/null
+++ b/proto/BossChestActivateNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message BossChestActivateNotify {
+ //enum FNOBDGJBPHL {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 880;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated uint32 qualifyUidList = 6;
+ uint32 entityId = 4;
+}
diff --git a/proto/BossSettleInfo.proto b/proto/BossSettleInfo.proto
new file mode 100644
index 00000000..e7650403
--- /dev/null
+++ b/proto/BossSettleInfo.proto
@@ -0,0 +1,15 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "FleurFairPlayerStatInfo.proto";
+
+message BossSettleInfo {
+ repeated FleurFairPlayerStatInfo statInfoList = 3;
+ uint32 rewardTokenNum = 4;
+ uint32 energy = 8;
+ uint32 costTime = 2;
+ bool isSuccess = 6;
+}
diff --git a/proto/BounceConjuringActivityDetailInfo.proto b/proto/BounceConjuringActivityDetailInfo.proto
new file mode 100644
index 00000000..0492a9a5
--- /dev/null
+++ b/proto/BounceConjuringActivityDetailInfo.proto
@@ -0,0 +1,13 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "BounceConjuringChapterInfo.proto";
+
+message BounceConjuringActivityDetailInfo {
+ uint32 contentCloseTime = 1;
+ bool leftMonsters = 6;
+ repeated BounceConjuringChapterInfo chapterInfoList = 7;
+}
diff --git a/proto/BounceConjuringChapterInfo.proto b/proto/BounceConjuringChapterInfo.proto
new file mode 100644
index 00000000..41a8606b
--- /dev/null
+++ b/proto/BounceConjuringChapterInfo.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message BounceConjuringChapterInfo {
+ uint32 chapterId = 2;
+ uint32 bestScore = 3;
+ uint32 openTime = 11;
+}
diff --git a/proto/BounceConjuringGallerySettleInfo.proto b/proto/BounceConjuringGallerySettleInfo.proto
new file mode 100644
index 00000000..04303f4b
--- /dev/null
+++ b/proto/BounceConjuringGallerySettleInfo.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "OnlinePlayerInfo.proto";
+import "ExhibitionDisplayInfo.proto";
+
+message BounceConjuringGallerySettleInfo {
+ uint32 Unk3300_NKGFKLGDFAC = 8;
+ float damage = 5;
+ uint32 Unk3300_PELHBJDMKAE = 9;
+ uint32 score = 7;
+ OnlinePlayerInfo playerInfo = 11;
+ repeated ExhibitionDisplayInfo cardList = 15;
+ uint32 Unk3300_CNGOBOFDEOE = 2;
+ map gadgetCountMap = 3;
+ uint32 Unk3300_BJHCDKNFDFN = 4;
+}
diff --git a/proto/BounceConjuringSettleNotify.proto b/proto/BounceConjuringSettleNotify.proto
new file mode 100644
index 00000000..7d9d7f42
--- /dev/null
+++ b/proto/BounceConjuringSettleNotify.proto
@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "BounceConjuringGallerySettleInfo.proto";
+
+message BounceConjuringSettleNotify {
+ //enum KAFJPFDFNDG {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8552;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ bool isNewRecord = 6;
+ map settleInfoMap = 7;
+ uint32 chapterId = 11;
+ uint32 totalScore = 4;
+}
diff --git a/proto/BoxInfo.proto b/proto/BoxInfo.proto
new file mode 100644
index 00000000..8125108b
--- /dev/null
+++ b/proto/BoxInfo.proto
@@ -0,0 +1,17 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "Vector.proto";
+
+message BoxInfo {
+ int32 id = 1;
+ uint32 configId = 2;
+ Vector center = 3;
+ Vector extents = 4;
+ Vector up = 5;
+ Vector forward = 6;
+ Vector right = 7;
+}
diff --git a/proto/BrickBreakerPlayerBattleInfo.proto b/proto/BrickBreakerPlayerBattleInfo.proto
new file mode 100644
index 00000000..f22c3e76
--- /dev/null
+++ b/proto/BrickBreakerPlayerBattleInfo.proto
@@ -0,0 +1,16 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message BrickBreakerPlayerBattleInfo {
+ repeated uint32 skillList = 9;
+ bool isReady = 6;
+ string nickname = 15;
+ bool isChanging = 14;
+ repeated uint32 costumeId = 12;
+ repeated uint32 avatarId = 5;
+ uint32 uid = 3;
+}
diff --git a/proto/BrickBreakerPlayerReadyNotify.proto b/proto/BrickBreakerPlayerReadyNotify.proto
new file mode 100644
index 00000000..04960d5a
--- /dev/null
+++ b/proto/BrickBreakerPlayerReadyNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message BrickBreakerPlayerReadyNotify {
+ //enum DFGMIAMDBJK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5332;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated uint32 uidList = 9;
+}
diff --git a/proto/BrickBreakerPlayerSetAvatarNotify.proto b/proto/BrickBreakerPlayerSetAvatarNotify.proto
new file mode 100644
index 00000000..a74d4243
--- /dev/null
+++ b/proto/BrickBreakerPlayerSetAvatarNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message BrickBreakerPlayerSetAvatarNotify {
+ //enum KLPPMKBNEHC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5368;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated uint32 costumeIdList = 6;
+ uint32 uid = 3;
+ repeated uint32 avatarIdList = 13;
+}
diff --git a/proto/BrickBreakerPlayerSetChangingNotify.proto b/proto/BrickBreakerPlayerSetChangingNotify.proto
new file mode 100644
index 00000000..8c637586
--- /dev/null
+++ b/proto/BrickBreakerPlayerSetChangingNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message BrickBreakerPlayerSetChangingNotify {
+ //enum MKCDBGCBFAL {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5366;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ bool isChanging = 1;
+ uint32 uid = 9;
+}
diff --git a/proto/BrickBreakerPlayerSetSkillNotify.proto b/proto/BrickBreakerPlayerSetSkillNotify.proto
new file mode 100644
index 00000000..2c070e9a
--- /dev/null
+++ b/proto/BrickBreakerPlayerSetSkillNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message BrickBreakerPlayerSetSkillNotify {
+ //enum NLDNJKCEONN {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5333;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 uid = 12;
+ repeated uint32 skillIdList = 5;
+}
diff --git a/proto/BrickBreakerQuitReq.proto b/proto/BrickBreakerQuitReq.proto
new file mode 100644
index 00000000..e3b9487a
--- /dev/null
+++ b/proto/BrickBreakerQuitReq.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message BrickBreakerQuitReq {
+ //enum GDLGFMCKOEA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 23676;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+}
diff --git a/proto/BrickBreakerQuitRsp.proto b/proto/BrickBreakerQuitRsp.proto
new file mode 100644
index 00000000..8d008867
--- /dev/null
+++ b/proto/BrickBreakerQuitRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message BrickBreakerQuitRsp {
+ //enum PECCFKOCDFL {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 23955;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 7;
+}
diff --git a/proto/BrickBreakerSelectAvatarReq.proto b/proto/BrickBreakerSelectAvatarReq.proto
new file mode 100644
index 00000000..d7915f53
--- /dev/null
+++ b/proto/BrickBreakerSelectAvatarReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message BrickBreakerSelectAvatarReq {
+ //enum FHBNKGAFMEO {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5397;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ repeated uint32 avatarId = 13;
+}
diff --git a/proto/BrickBreakerSelectAvatarRsp.proto b/proto/BrickBreakerSelectAvatarRsp.proto
new file mode 100644
index 00000000..ff231755
--- /dev/null
+++ b/proto/BrickBreakerSelectAvatarRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message BrickBreakerSelectAvatarRsp {
+ //enum HCCMDPLDFKP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5302;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated uint32 avatarId = 13;
+ int32 retcode = 9;
+}
diff --git a/proto/BrickBreakerSelectSkillReq.proto b/proto/BrickBreakerSelectSkillReq.proto
new file mode 100644
index 00000000..58ff73a9
--- /dev/null
+++ b/proto/BrickBreakerSelectSkillReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message BrickBreakerSelectSkillReq {
+ //enum JHOENKPNEGJ {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5319;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ repeated uint32 skillId = 15;
+}
diff --git a/proto/BrickBreakerSelectSkillRsp.proto b/proto/BrickBreakerSelectSkillRsp.proto
new file mode 100644
index 00000000..ddd5cfdf
--- /dev/null
+++ b/proto/BrickBreakerSelectSkillRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message BrickBreakerSelectSkillRsp {
+ //enum PEKBCBCGBAM {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5321;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated uint32 skillId = 6;
+ int32 retcode = 9;
+}
diff --git a/proto/BrickBreakerSetChangingReq.proto b/proto/BrickBreakerSetChangingReq.proto
new file mode 100644
index 00000000..f99c3e1f
--- /dev/null
+++ b/proto/BrickBreakerSetChangingReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message BrickBreakerSetChangingReq {
+ //enum GCOKFLLGHPD {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5371;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ bool isChanging = 13;
+}
diff --git a/proto/BrickBreakerSetChangingRsp.proto b/proto/BrickBreakerSetChangingRsp.proto
new file mode 100644
index 00000000..c8acf305
--- /dev/null
+++ b/proto/BrickBreakerSetChangingRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message BrickBreakerSetChangingRsp {
+ //enum CAIEMGNIPHA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5308;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 12;
+}
diff --git a/proto/BrickBreakerSetReadyReq.proto b/proto/BrickBreakerSetReadyReq.proto
new file mode 100644
index 00000000..606fc327
--- /dev/null
+++ b/proto/BrickBreakerSetReadyReq.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message BrickBreakerSetReadyReq {
+ //enum IJBEGKHFNFP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5386;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+}
diff --git a/proto/BrickBreakerSetReadyRsp.proto b/proto/BrickBreakerSetReadyRsp.proto
new file mode 100644
index 00000000..644e3eb4
--- /dev/null
+++ b/proto/BrickBreakerSetReadyRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message BrickBreakerSetReadyRsp {
+ //enum JDGBGKACGME {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5348;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 13;
+}
diff --git a/proto/BrickBreakerSettleNotify.proto b/proto/BrickBreakerSettleNotify.proto
new file mode 100644
index 00000000..c1d84e59
--- /dev/null
+++ b/proto/BrickBreakerSettleNotify.proto
@@ -0,0 +1,29 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "SettleReason.proto";
+import "Uint32Pair.proto";
+
+message BrickBreakerSettleNotify {
+ //enum EHJNACJCAIL {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 21188;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 galleryId = 11;
+ uint32 combo = 13;
+ uint32 time = 3;
+ repeated Uint32Pair updateSkillList = 8;
+ uint32 score = 1;
+ bool isDungeon = 4;
+ uint32 levelId = 5;
+ SettleReason reason = 10;
+ bool isSingleMode = 14;
+ bool isNewRecord = 7;
+}
diff --git a/proto/BrickBreakerStageInfo.proto b/proto/BrickBreakerStageInfo.proto
new file mode 100644
index 00000000..df0e7eb7
--- /dev/null
+++ b/proto/BrickBreakerStageInfo.proto
@@ -0,0 +1,14 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "BrickBreakerStageType.proto";
+import "BrickBreakerPlayerBattleInfo.proto";
+
+message BrickBreakerStageInfo {
+ uint32 levelId = 12;
+ BrickBreakerStageType stageType = 7;
+ repeated BrickBreakerPlayerBattleInfo battleInfoList = 2;
+}
diff --git a/proto/BrickBreakerStageType.proto b/proto/BrickBreakerStageType.proto
new file mode 100644
index 00000000..e10312ce
--- /dev/null
+++ b/proto/BrickBreakerStageType.proto
@@ -0,0 +1,13 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+enum BrickBreakerStageType {
+ BRICK_BREAKER_STAGE_TYPE_PREPARE = 0;
+ BRICK_BREAKER_STAGE_TYPE_PICK = 1;
+ BRICK_BREAKER_STAGE_TYPE_GAME = 2;
+ BRICK_BREAKER_STAGE_TYPE_PLAY = 3;
+ BRICK_BREAKER_STAGE_TYPE_SETTLE = 4;
+}
diff --git a/proto/BrickBreakerTwiceStartReq.proto b/proto/BrickBreakerTwiceStartReq.proto
new file mode 100644
index 00000000..973fe2ad
--- /dev/null
+++ b/proto/BrickBreakerTwiceStartReq.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message BrickBreakerTwiceStartReq {
+ //enum OEPIDOFOIEM {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 20456;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+}
diff --git a/proto/BrickBreakerTwiceStartRsp.proto b/proto/BrickBreakerTwiceStartRsp.proto
new file mode 100644
index 00000000..8965e45f
--- /dev/null
+++ b/proto/BrickBreakerTwiceStartRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message BrickBreakerTwiceStartRsp {
+ //enum HKLBALACGIP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 23952;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 9;
+}
diff --git a/proto/BrokenFloorInfo.proto b/proto/BrokenFloorInfo.proto
new file mode 100644
index 00000000..d442924c
--- /dev/null
+++ b/proto/BrokenFloorInfo.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message BrokenFloorInfo {
+ map fallCountMap = 15;
+ uint32 endTime = 10;
+}
diff --git a/proto/BuildingInfo.proto b/proto/BuildingInfo.proto
new file mode 100644
index 00000000..eb50da79
--- /dev/null
+++ b/proto/BuildingInfo.proto
@@ -0,0 +1,16 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message BuildingInfo {
+ uint32 buildingId = 1;
+ uint32 pointConfigId = 2;
+ uint32 cost = 3;
+ uint32 refund = 5;
+ uint32 ownerUid = 6;
+ uint32 currentNum = 7;
+ uint32 maxNum = 8;
+}
diff --git a/proto/BulletInfo.proto b/proto/BulletInfo.proto
new file mode 100644
index 00000000..3db4402f
--- /dev/null
+++ b/proto/BulletInfo.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message BulletInfo {
+ uint32 endTime = 8;
+ map hitCountMap = 1;
+}
diff --git a/proto/BuoyantCombatDailyInfo.proto b/proto/BuoyantCombatDailyInfo.proto
new file mode 100644
index 00000000..2b3a6847
--- /dev/null
+++ b/proto/BuoyantCombatDailyInfo.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message BuoyantCombatDailyInfo {
+ uint32 bestScore = 12;
+ uint32 startTime = 2;
+}
diff --git a/proto/BuoyantCombatGallerySettleInfo.proto b/proto/BuoyantCombatGallerySettleInfo.proto
new file mode 100644
index 00000000..5078e4ea
--- /dev/null
+++ b/proto/BuoyantCombatGallerySettleInfo.proto
@@ -0,0 +1,16 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message BuoyantCombatGallerySettleInfo {
+ uint32 killSpecialMonsterCount = 4;
+ uint32 galleryId = 14;
+ uint32 killMonsterCount = 10;
+ uint32 Unk3300_HLFHLPEKOML = 9;
+ uint32 galleryLevel = 8;
+ uint32 finalScore = 6;
+ uint32 Unk3300_KPCJBOOGEMG = 2;
+}
diff --git a/proto/BuoyantCombatSettleInfo.proto b/proto/BuoyantCombatSettleInfo.proto
new file mode 100644
index 00000000..8f05f85b
--- /dev/null
+++ b/proto/BuoyantCombatSettleInfo.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "BuoyantCombatGallerySettleInfo.proto";
+
+message BuoyantCombatSettleInfo {
+ BuoyantCombatGallerySettleInfo settleInfo = 9;
+ bool isNewRecord = 1;
+}
diff --git a/proto/BuoyantCombatSettleNotify.proto b/proto/BuoyantCombatSettleNotify.proto
new file mode 100644
index 00000000..c9c78781
--- /dev/null
+++ b/proto/BuoyantCombatSettleNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "BuoyantCombatSettleInfo.proto";
+
+message BuoyantCombatSettleNotify {
+ //enum EHEEOKAHJFL {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8267;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ BuoyantCombatSettleInfo settleInfo = 5;
+ uint32 galleryId = 15;
+}
diff --git a/proto/BuyResinReq.proto b/proto/BuyResinReq.proto
new file mode 100644
index 00000000..1712724f
--- /dev/null
+++ b/proto/BuyResinReq.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message BuyResinReq {
+ //enum ACPHABNBHCD {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 663;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+}
diff --git a/proto/BuyResinRsp.proto b/proto/BuyResinRsp.proto
new file mode 100644
index 00000000..1bc97472
--- /dev/null
+++ b/proto/BuyResinRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message BuyResinRsp {
+ //enum FNEEMDCCGOH {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 623;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 curValue = 15;
+ int32 retcode = 1;
+}
diff --git a/proto/CAFAPMPMBPO.proto b/proto/CAFAPMPMBPO.proto
new file mode 100644
index 00000000..2ab4dfae
--- /dev/null
+++ b/proto/CAFAPMPMBPO.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message CAFAPMPMBPO {
+ //enum AJHBMGOOHAM {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 6124;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ bool chfncchhlii = 14;
+}
diff --git a/proto/CBNIFFCNOEC.proto b/proto/CBNIFFCNOEC.proto
new file mode 100644
index 00000000..5130bd45
--- /dev/null
+++ b/proto/CBNIFFCNOEC.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message CBNIFFCNOEC {
+ uint64 dungeonGuid = 1;
+ uint32 minCostTime = 2;
+}
diff --git a/proto/CBPPJAIEOKC.proto b/proto/CBPPJAIEOKC.proto
new file mode 100644
index 00000000..7cc20831
--- /dev/null
+++ b/proto/CBPPJAIEOKC.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "AnimatorParameterValueInfoPair.proto";
+
+message CBPPJAIEOKC {
+ AnimatorParameterValueInfoPair value = 2;
+}
diff --git a/proto/CFBEJCCBIAL.proto b/proto/CFBEJCCBIAL.proto
new file mode 100644
index 00000000..4bbf4151
--- /dev/null
+++ b/proto/CFBEJCCBIAL.proto
@@ -0,0 +1,10 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message CFBEJCCBIAL {
+ bool jomaminoocj = 15;
+}
diff --git a/proto/CGEEOKKPKLA.proto b/proto/CGEEOKKPKLA.proto
new file mode 100644
index 00000000..240cd337
--- /dev/null
+++ b/proto/CGEEOKKPKLA.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message CGEEOKKPKLA {
+ //enum HBPMEJAKMIO {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 110;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+}
diff --git a/proto/CKGBCMJEJHH.proto b/proto/CKGBCMJEJHH.proto
new file mode 100644
index 00000000..dde3c5de
--- /dev/null
+++ b/proto/CKGBCMJEJHH.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "IDOELHBANCP.proto";
+
+message CKGBCMJEJHH {
+ repeated IDOELHBANCP kcllbppiboo = 999;
+}
diff --git a/proto/CLMDHLAENEJ.proto b/proto/CLMDHLAENEJ.proto
new file mode 100644
index 00000000..1a80a963
--- /dev/null
+++ b/proto/CLMDHLAENEJ.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+enum CLMDHLAENEJ {
+ HIHDNJGDBML = 0;
+ DPMMMOJKBIL = 1;
+ LJODKMGEFHL = 2;
+}
diff --git a/proto/CPINCMHJEIB.proto b/proto/CPINCMHJEIB.proto
new file mode 100644
index 00000000..82b5c003
--- /dev/null
+++ b/proto/CPINCMHJEIB.proto
@@ -0,0 +1,16 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "bytes.proto";
+import "HGHPBLJEAJJ.proto";
+
+message CPINCMHJEIB {
+ int32 retcode = 1;
+ repeated HGHPBLJEAJJ hjaeginkldk = 2;
+ bytes lkcfpnkfoma = 5;
+ bytes jhbailmlkio = 6;
+ bool odnjldgmjkg = 7;
+}
diff --git a/proto/CPNNKGLFFOP.proto b/proto/CPNNKGLFFOP.proto
new file mode 100644
index 00000000..16996691
--- /dev/null
+++ b/proto/CPNNKGLFFOP.proto
@@ -0,0 +1,10 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message CPNNKGLFFOP {
+ uint32 bfpknggpgbp = 10;
+}
diff --git a/proto/CameraInfo.proto b/proto/CameraInfo.proto
new file mode 100644
index 00000000..10c6fea8
--- /dev/null
+++ b/proto/CameraInfo.proto
@@ -0,0 +1,10 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message CameraInfo {
+ uint32 targetEntityId = 6;
+}
diff --git a/proto/CancelCityReputationRequestReq.proto b/proto/CancelCityReputationRequestReq.proto
new file mode 100644
index 00000000..337640f7
--- /dev/null
+++ b/proto/CancelCityReputationRequestReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message CancelCityReputationRequestReq {
+ //enum PEGIPDOPPMB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2814;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 cityId = 4;
+ uint32 requestId = 3;
+}
diff --git a/proto/CancelCityReputationRequestRsp.proto b/proto/CancelCityReputationRequestRsp.proto
new file mode 100644
index 00000000..ef0185ad
--- /dev/null
+++ b/proto/CancelCityReputationRequestRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message CancelCityReputationRequestRsp {
+ //enum DPFLDELPNAJ {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2824;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 requestId = 9;
+ int32 retcode = 12;
+ uint32 cityId = 14;
+}
diff --git a/proto/CancelCoopTaskReq.proto b/proto/CancelCoopTaskReq.proto
new file mode 100644
index 00000000..01db0094
--- /dev/null
+++ b/proto/CancelCoopTaskReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message CancelCoopTaskReq {
+ //enum IAGEEEFFNDF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 1957;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 chapterId = 3;
+}
diff --git a/proto/CancelCoopTaskRsp.proto b/proto/CancelCoopTaskRsp.proto
new file mode 100644
index 00000000..3d743674
--- /dev/null
+++ b/proto/CancelCoopTaskRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message CancelCoopTaskRsp {
+ //enum OCEJECOKKOI {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 1965;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 chapterId = 12;
+ int32 retcode = 3;
+}
diff --git a/proto/CardUpdate.proto b/proto/CardUpdate.proto
new file mode 100644
index 00000000..00d557b9
--- /dev/null
+++ b/proto/CardUpdate.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GCGCard.proto";
+
+message CardUpdate {
+ GCGCard card = 10;
+}
diff --git a/proto/CataLogFinishedGlobalWatcherAllDataNotify.proto b/proto/CataLogFinishedGlobalWatcherAllDataNotify.proto
new file mode 100644
index 00000000..08b5c958
--- /dev/null
+++ b/proto/CataLogFinishedGlobalWatcherAllDataNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "CataLogGlobalWatcherFinishedData.proto";
+
+message CataLogFinishedGlobalWatcherAllDataNotify {
+ //enum KGDHMHMGKCN {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 6352;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated CataLogGlobalWatcherFinishedData finishedGlobalWatcherDataList = 13;
+}
diff --git a/proto/CataLogGlobalWatcherFinishedData.proto b/proto/CataLogGlobalWatcherFinishedData.proto
new file mode 100644
index 00000000..ee3ecae5
--- /dev/null
+++ b/proto/CataLogGlobalWatcherFinishedData.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message CataLogGlobalWatcherFinishedData {
+ uint32 catalogType = 5;
+ repeated uint32 finishedGlobalWatcherList = 2;
+}
diff --git a/proto/CataLogNewFinishedGlobalWatcherNotify.proto b/proto/CataLogNewFinishedGlobalWatcherNotify.proto
new file mode 100644
index 00000000..d966b1df
--- /dev/null
+++ b/proto/CataLogNewFinishedGlobalWatcherNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "CataLogGlobalWatcherFinishedData.proto";
+
+message CataLogNewFinishedGlobalWatcherNotify {
+ //enum IEGJCONPBEJ {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 6390;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated CataLogGlobalWatcherFinishedData newFinishedGlobalWatcherDataList = 13;
+}
diff --git a/proto/ChallengeRecord.proto b/proto/ChallengeRecord.proto
new file mode 100644
index 00000000..e21db749
--- /dev/null
+++ b/proto/ChallengeRecord.proto
@@ -0,0 +1,13 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ChallengeRecord {
+ uint32 bestValue = 2;
+ uint32 challengeIndex = 15;
+ uint32 challengeId = 3;
+ uint32 challengeRecordType = 5;
+}
diff --git a/proto/ChallengeRecordNotify.proto b/proto/ChallengeRecordNotify.proto
new file mode 100644
index 00000000..98edb901
--- /dev/null
+++ b/proto/ChallengeRecordNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ChallengeRecord.proto";
+
+message ChallengeRecordNotify {
+ //enum KCLBIOJDAOF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 958;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 groupId = 3;
+ repeated ChallengeRecord challengeRecordList = 5;
+}
diff --git a/proto/ChangeCustomDungeonRoomReq.proto b/proto/ChangeCustomDungeonRoomReq.proto
new file mode 100644
index 00000000..e04ecdc0
--- /dev/null
+++ b/proto/ChangeCustomDungeonRoomReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ChangeCustomDungeonRoomReq {
+ //enum LOEJDJJNBPL {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 6235;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 roomId = 6;
+}
diff --git a/proto/ChangeCustomDungeonRoomRsp.proto b/proto/ChangeCustomDungeonRoomRsp.proto
new file mode 100644
index 00000000..f16341b1
--- /dev/null
+++ b/proto/ChangeCustomDungeonRoomRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ChangeCustomDungeonRoomRsp {
+ //enum AOHAENIHBLK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 6216;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 roomId = 10;
+ int32 retcode = 2;
+}
diff --git a/proto/ChangeServerGlobalValueNotify.proto b/proto/ChangeServerGlobalValueNotify.proto
new file mode 100644
index 00000000..cece0976
--- /dev/null
+++ b/proto/ChangeServerGlobalValueNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ChangeServerGlobalValueNotify {
+ //enum PPLFEGBCMHN {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 18;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 entityId = 2;
+}
diff --git a/proto/ChangeWidgetBackgroundActiveStateReq.proto b/proto/ChangeWidgetBackgroundActiveStateReq.proto
new file mode 100644
index 00000000..2e05c31e
--- /dev/null
+++ b/proto/ChangeWidgetBackgroundActiveStateReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ChangeWidgetBackgroundActiveStateReq {
+ //enum DJJNCLHIPBO {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 6092;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 materialId = 8;
+ bool isActive = 9;
+}
diff --git a/proto/ChangeWidgetBackgroundActiveStateRsp.proto b/proto/ChangeWidgetBackgroundActiveStateRsp.proto
new file mode 100644
index 00000000..4fa40f6b
--- /dev/null
+++ b/proto/ChangeWidgetBackgroundActiveStateRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ChangeWidgetBackgroundActiveStateRsp {
+ //enum MLOHDHDAHDD {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 6088;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 7;
+ uint32 materialId = 13;
+}
diff --git a/proto/ChangeWorldToSingleModeNotify.proto b/proto/ChangeWorldToSingleModeNotify.proto
new file mode 100644
index 00000000..e4893e78
--- /dev/null
+++ b/proto/ChangeWorldToSingleModeNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ChangeWorldToSingleModeNotify {
+ //enum ALLKFGAHIBD {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 3397;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+}
diff --git a/proto/ChangeWorldToSingleModeReq.proto b/proto/ChangeWorldToSingleModeReq.proto
new file mode 100644
index 00000000..a74aafc5
--- /dev/null
+++ b/proto/ChangeWorldToSingleModeReq.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ChangeWorldToSingleModeReq {
+ //enum JLMELBPCHKE {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 3171;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+}
diff --git a/proto/ChangeWorldToSingleModeRsp.proto b/proto/ChangeWorldToSingleModeRsp.proto
new file mode 100644
index 00000000..e0928fe7
--- /dev/null
+++ b/proto/ChangeWorldToSingleModeRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ChangeWorldToSingleModeRsp {
+ //enum HOCMNBAFFAL {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 3197;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 quitMpValidTime = 13;
+ int32 retcode = 3;
+}
diff --git a/proto/ChannelerSlabActivityDetailInfo.proto b/proto/ChannelerSlabActivityDetailInfo.proto
new file mode 100644
index 00000000..d5fd7c84
--- /dev/null
+++ b/proto/ChannelerSlabActivityDetailInfo.proto
@@ -0,0 +1,16 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ChannelerSlabBuffInfo.proto";
+import "ChannelerSlabLoopDungeonStageInfo.proto";
+import "ChannelerSlabChallengeStage.proto";
+
+message ChannelerSlabActivityDetailInfo {
+ ChannelerSlabBuffInfo buffInfo = 13;
+ uint32 playEndTime = 7;
+ ChannelerSlabLoopDungeonStageInfo loopDungeonStageInfo = 4;
+ repeated ChannelerSlabChallengeStage stageList = 9;
+}
diff --git a/proto/ChannelerSlabLoopDungeonResultInfo.proto b/proto/ChannelerSlabLoopDungeonResultInfo.proto
new file mode 100644
index 00000000..ffd7133a
--- /dev/null
+++ b/proto/ChannelerSlabLoopDungeonResultInfo.proto
@@ -0,0 +1,14 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ChannelerSlabLoopDungeonResultInfo {
+ uint32 challengeMaxScore = 5;
+ bool isSuccess = 13;
+ bool isInTimeLimit = 6;
+ uint32 challengeScore = 1;
+ uint32 dungeonIndex = 3;
+}
diff --git a/proto/ChannelerSlabStageActiveChallengeIndexNotify.proto b/proto/ChannelerSlabStageActiveChallengeIndexNotify.proto
new file mode 100644
index 00000000..0118a3e4
--- /dev/null
+++ b/proto/ChannelerSlabStageActiveChallengeIndexNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ChannelerSlabStageActiveChallengeIndexNotify {
+ //enum FKBDDLDGEPN {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8354;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 activeCampIndex = 6;
+ uint32 challengeIndex = 8;
+ uint32 stageId = 7;
+}
diff --git a/proto/ChannelerSlabStageOneoffDungeonNotify.proto b/proto/ChannelerSlabStageOneoffDungeonNotify.proto
new file mode 100644
index 00000000..48cbaf38
--- /dev/null
+++ b/proto/ChannelerSlabStageOneoffDungeonNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ChannelerSlabStageOneoffDungeonNotify {
+ //enum HCJDENJOCNA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8449;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ bool isDone = 4;
+ uint32 stageId = 14;
+}
diff --git a/proto/ChannellerSlabCheckEnterLoopDungeonReq.proto b/proto/ChannellerSlabCheckEnterLoopDungeonReq.proto
new file mode 100644
index 00000000..4819aee5
--- /dev/null
+++ b/proto/ChannellerSlabCheckEnterLoopDungeonReq.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ChannellerSlabCheckEnterLoopDungeonReq {
+ //enum ICIFAPFEDAO {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8678;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+}
diff --git a/proto/ChannellerSlabCheckEnterLoopDungeonRsp.proto b/proto/ChannellerSlabCheckEnterLoopDungeonRsp.proto
new file mode 100644
index 00000000..3f62eb8b
--- /dev/null
+++ b/proto/ChannellerSlabCheckEnterLoopDungeonRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ChannellerSlabCheckEnterLoopDungeonRsp {
+ //enum IHAEEPNONDH {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8961;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 8;
+}
diff --git a/proto/ChannellerSlabEnterLoopDungeonReq.proto b/proto/ChannellerSlabEnterLoopDungeonReq.proto
new file mode 100644
index 00000000..a11afe95
--- /dev/null
+++ b/proto/ChannellerSlabEnterLoopDungeonReq.proto
@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ChannellerSlabEnterLoopDungeonReq {
+ //enum ACNPALJIMAE {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8928;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 difficultyId = 14;
+ uint32 dungeonIndex = 10;
+ uint32 pointId = 3;
+ repeated uint32 conditionIdList = 2;
+}
diff --git a/proto/ChannellerSlabEnterLoopDungeonRsp.proto b/proto/ChannellerSlabEnterLoopDungeonRsp.proto
new file mode 100644
index 00000000..9d1dd7ea
--- /dev/null
+++ b/proto/ChannellerSlabEnterLoopDungeonRsp.proto
@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ChannellerSlabEnterLoopDungeonRsp {
+ //enum JEJOCNKFDPA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8892;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 5;
+ uint32 dungeonIndex = 6;
+ repeated uint32 conditionIdList = 11;
+ uint32 pointId = 2;
+ uint32 difficultyId = 4;
+}
diff --git a/proto/ChannellerSlabLoopDungeonChallengeInfoNotify.proto b/proto/ChannellerSlabLoopDungeonChallengeInfoNotify.proto
new file mode 100644
index 00000000..c0a78785
--- /dev/null
+++ b/proto/ChannellerSlabLoopDungeonChallengeInfoNotify.proto
@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ChannellerSlabLoopDungeonChallengeInfoNotify {
+ //enum NGDFPBBOCJE {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8499;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 difficultyId = 9;
+ uint32 challengeScore = 1;
+ repeated uint32 conditionIdList = 10;
+ uint32 dungeonIndex = 3;
+ repeated uint32 gihlcdadndf = 8;
+}
diff --git a/proto/ChannellerSlabLoopDungeonSelectConditionReq.proto b/proto/ChannellerSlabLoopDungeonSelectConditionReq.proto
new file mode 100644
index 00000000..75dc6098
--- /dev/null
+++ b/proto/ChannellerSlabLoopDungeonSelectConditionReq.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ChannellerSlabLoopDungeonSelectConditionReq {
+ //enum HOPMIHFAPPB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8368;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 dungeonIndex = 4;
+ uint32 difficultyId = 2;
+ repeated uint32 conditionIdList = 3;
+}
diff --git a/proto/ChannellerSlabLoopDungeonSelectConditionRsp.proto b/proto/ChannellerSlabLoopDungeonSelectConditionRsp.proto
new file mode 100644
index 00000000..57d1591b
--- /dev/null
+++ b/proto/ChannellerSlabLoopDungeonSelectConditionRsp.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ChannellerSlabLoopDungeonSelectConditionRsp {
+ //enum JGJNDJHFDMC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8943;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 5;
+ repeated uint32 conditionIdList = 10;
+ uint32 dungeonIndex = 15;
+ uint32 difficultyId = 6;
+}
diff --git a/proto/ChannellerSlabLoopDungeonTakeFirstPassRewardReq.proto b/proto/ChannellerSlabLoopDungeonTakeFirstPassRewardReq.proto
new file mode 100644
index 00000000..52a0f679
--- /dev/null
+++ b/proto/ChannellerSlabLoopDungeonTakeFirstPassRewardReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ChannellerSlabLoopDungeonTakeFirstPassRewardReq {
+ //enum DOHCBHPAGEN {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8779;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 dungeonIndex = 6;
+}
diff --git a/proto/ChannellerSlabLoopDungeonTakeFirstPassRewardRsp.proto b/proto/ChannellerSlabLoopDungeonTakeFirstPassRewardRsp.proto
new file mode 100644
index 00000000..8caeca2e
--- /dev/null
+++ b/proto/ChannellerSlabLoopDungeonTakeFirstPassRewardRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ChannellerSlabLoopDungeonTakeFirstPassRewardRsp {
+ //enum EKLACKKLBNP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8654;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 14;
+ uint32 dungeonIndex = 2;
+}
diff --git a/proto/ChannellerSlabLoopDungeonTakeScoreRewardReq.proto b/proto/ChannellerSlabLoopDungeonTakeScoreRewardReq.proto
new file mode 100644
index 00000000..1e8a729f
--- /dev/null
+++ b/proto/ChannellerSlabLoopDungeonTakeScoreRewardReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ChannellerSlabLoopDungeonTakeScoreRewardReq {
+ //enum FLOJOKLLEDO {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8751;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 rewardIndex = 4;
+}
diff --git a/proto/ChannellerSlabLoopDungeonTakeScoreRewardRsp.proto b/proto/ChannellerSlabLoopDungeonTakeScoreRewardRsp.proto
new file mode 100644
index 00000000..740458d0
--- /dev/null
+++ b/proto/ChannellerSlabLoopDungeonTakeScoreRewardRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ChannellerSlabLoopDungeonTakeScoreRewardRsp {
+ //enum GELENGHNKBJ {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8186;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 5;
+ uint32 rewardIndex = 11;
+}
diff --git a/proto/ChannellerSlabOneOffDungeonInfoNotify.proto b/proto/ChannellerSlabOneOffDungeonInfoNotify.proto
new file mode 100644
index 00000000..a758d346
--- /dev/null
+++ b/proto/ChannellerSlabOneOffDungeonInfoNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ChannellerSlabOneOffDungeonInfoNotify {
+ //enum BKAFOFOEHAN {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8038;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated uint32 gihlcdadndf = 9;
+}
diff --git a/proto/ChannellerSlabOneOffDungeonInfoReq.proto b/proto/ChannellerSlabOneOffDungeonInfoReq.proto
new file mode 100644
index 00000000..d667e020
--- /dev/null
+++ b/proto/ChannellerSlabOneOffDungeonInfoReq.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ChannellerSlabOneOffDungeonInfoReq {
+ //enum LKOJBMCAMFA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8069;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+}
diff --git a/proto/ChannellerSlabOneOffDungeonInfoRsp.proto b/proto/ChannellerSlabOneOffDungeonInfoRsp.proto
new file mode 100644
index 00000000..48d576c7
--- /dev/null
+++ b/proto/ChannellerSlabOneOffDungeonInfoRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ChannellerSlabOneOffDungeonInfoRsp {
+ //enum LLOPHGACKFN {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8731;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 2;
+ repeated uint32 gihlcdadndf = 11;
+}
diff --git a/proto/ChannellerSlabSaveAssistInfoReq.proto b/proto/ChannellerSlabSaveAssistInfoReq.proto
new file mode 100644
index 00000000..1faa639f
--- /dev/null
+++ b/proto/ChannellerSlabSaveAssistInfoReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ChannelerSlabAssistInfo.proto";
+
+message ChannellerSlabSaveAssistInfoReq {
+ //enum FOOBHNAHDGM {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8304;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ repeated ChannelerSlabAssistInfo assistInfoList = 6;
+}
diff --git a/proto/ChannellerSlabSaveAssistInfoRsp.proto b/proto/ChannellerSlabSaveAssistInfoRsp.proto
new file mode 100644
index 00000000..81f09be6
--- /dev/null
+++ b/proto/ChannellerSlabSaveAssistInfoRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ChannelerSlabAssistInfo.proto";
+
+message ChannellerSlabSaveAssistInfoRsp {
+ //enum HIPMBCPBNOK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8443;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated ChannelerSlabAssistInfo assistInfoList = 6;
+ int32 retcode = 4;
+}
diff --git a/proto/ChannellerSlabTakeoffBuffReq.proto b/proto/ChannellerSlabTakeoffBuffReq.proto
new file mode 100644
index 00000000..0cf5272d
--- /dev/null
+++ b/proto/ChannellerSlabTakeoffBuffReq.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ChannellerSlabTakeoffBuffReq {
+ //enum CMDMMBPNAPD {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8329;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ bool fhableimdgl = 8;
+ uint32 buffId = 10;
+ uint32 slotId = 13;
+}
diff --git a/proto/ChannellerSlabTakeoffBuffRsp.proto b/proto/ChannellerSlabTakeoffBuffRsp.proto
new file mode 100644
index 00000000..7ce810aa
--- /dev/null
+++ b/proto/ChannellerSlabTakeoffBuffRsp.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ChannellerSlabTakeoffBuffRsp {
+ //enum IPFMOHKHPPK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8646;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 slotId = 2;
+ bool fhableimdgl = 6;
+ uint32 buffId = 14;
+ int32 retcode = 3;
+}
diff --git a/proto/ChannellerSlabWearBuffReq.proto b/proto/ChannellerSlabWearBuffReq.proto
new file mode 100644
index 00000000..36cc3de5
--- /dev/null
+++ b/proto/ChannellerSlabWearBuffReq.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ChannellerSlabWearBuffReq {
+ //enum DANEAPMBHBG {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8487;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ bool fhableimdgl = 8;
+ uint32 slotId = 11;
+ uint32 buffId = 12;
+}
diff --git a/proto/ChannellerSlabWearBuffRsp.proto b/proto/ChannellerSlabWearBuffRsp.proto
new file mode 100644
index 00000000..8338b7cd
--- /dev/null
+++ b/proto/ChannellerSlabWearBuffRsp.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ChannellerSlabWearBuffRsp {
+ //enum GKHBJILDBJN {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8651;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 buffId = 4;
+ uint32 slotId = 5;
+ bool fhableimdgl = 9;
+ int32 retcode = 12;
+}
diff --git a/proto/CharAmusementDetailInfo.proto b/proto/CharAmusementDetailInfo.proto
new file mode 100644
index 00000000..2296c1f3
--- /dev/null
+++ b/proto/CharAmusementDetailInfo.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "CharAmusementStageData.proto";
+
+message CharAmusementDetailInfo {
+ repeated CharAmusementStageData stageDataList = 1;
+}
diff --git a/proto/CharAmusementSettleNotify.proto b/proto/CharAmusementSettleNotify.proto
new file mode 100644
index 00000000..1f808921
--- /dev/null
+++ b/proto/CharAmusementSettleNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message CharAmusementSettleNotify {
+ //enum PPKKMCEDOFG {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 21939;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 finishTime = 9;
+ bool isNewRecord = 11;
+ bool isSucc = 13;
+}
diff --git a/proto/CharAmusementStageData.proto b/proto/CharAmusementStageData.proto
new file mode 100644
index 00000000..b280e8c2
--- /dev/null
+++ b/proto/CharAmusementStageData.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message CharAmusementStageData {
+ uint32 finishTime = 11;
+ uint32 stageId = 12;
+ bool isOpen = 9;
+}
diff --git a/proto/CharDie.proto b/proto/CharDie.proto
new file mode 100644
index 00000000..60e949a7
--- /dev/null
+++ b/proto/CharDie.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message CharDie {
+ uint32 cardGuid = 10;
+ uint32 controllerId = 9;
+}
diff --git a/proto/ChatChannelDataNotify.proto b/proto/ChatChannelDataNotify.proto
new file mode 100644
index 00000000..87b53fa9
--- /dev/null
+++ b/proto/ChatChannelDataNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ChatChannelInfo.proto";
+
+message ChatChannelDataNotify {
+ //enum GDPPJBFLFNO {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5028;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated uint32 channelList = 12;
+ repeated ChatChannelInfo channelInfoList = 7;
+}
diff --git a/proto/ChatChannelInfo.proto b/proto/ChatChannelInfo.proto
new file mode 100644
index 00000000..a9db6fe2
--- /dev/null
+++ b/proto/ChatChannelInfo.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ChatChannelInfo {
+ uint32 channelId = 4;
+ bool isShield = 2;
+}
diff --git a/proto/ChatChannelInfoNotify.proto b/proto/ChatChannelInfoNotify.proto
new file mode 100644
index 00000000..0f92f100
--- /dev/null
+++ b/proto/ChatChannelInfoNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ChatChannelInfo.proto";
+
+message ChatChannelInfoNotify {
+ //enum HDDAKDGMNMB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4963;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ ChatChannelInfo channelInfo = 15;
+}
diff --git a/proto/ChatChannelShieldNotify.proto b/proto/ChatChannelShieldNotify.proto
new file mode 100644
index 00000000..109dc6d8
--- /dev/null
+++ b/proto/ChatChannelShieldNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ChatChannelShieldNotify {
+ //enum INDNLFBPOGA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4966;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 channelId = 8;
+ bool isShield = 1;
+}
diff --git a/proto/ChatChannelUpdateNotify.proto b/proto/ChatChannelUpdateNotify.proto
new file mode 100644
index 00000000..958b2059
--- /dev/null
+++ b/proto/ChatChannelUpdateNotify.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ChatChannelInfo.proto";
+
+message ChatChannelUpdateNotify {
+ //enum LJAJLOILCKG {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4979;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ bool isCreate = 13;
+ ChatChannelInfo channelInfo = 6;
+ uint32 channelId = 12;
+}
diff --git a/proto/ChatHistoryNotify.proto b/proto/ChatHistoryNotify.proto
new file mode 100644
index 00000000..1998d6ef
--- /dev/null
+++ b/proto/ChatHistoryNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ChatInfo.proto";
+
+message ChatHistoryNotify {
+ //enum NDNAPJGNDGE {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 3099;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 channelId = 14;
+ repeated ChatInfo chatInfo = 12;
+}
diff --git a/proto/CheckGroupReplacedReq.proto b/proto/CheckGroupReplacedReq.proto
new file mode 100644
index 00000000..f6abff6f
--- /dev/null
+++ b/proto/CheckGroupReplacedReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message CheckGroupReplacedReq {
+ //enum IFJJADJGMGG {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 3329;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ repeated uint32 groupIdList = 7;
+}
diff --git a/proto/CheckGroupReplacedRsp.proto b/proto/CheckGroupReplacedRsp.proto
new file mode 100644
index 00000000..00ba366f
--- /dev/null
+++ b/proto/CheckGroupReplacedRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message CheckGroupReplacedRsp {
+ //enum FJMGJMAPMLK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 3117;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 3;
+ repeated uint32 replacedGroupIdList = 6;
+}
diff --git a/proto/CheckSegmentCRCNotify.proto b/proto/CheckSegmentCRCNotify.proto
new file mode 100644
index 00000000..8833eccb
--- /dev/null
+++ b/proto/CheckSegmentCRCNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "SegmentInfo.proto";
+
+message CheckSegmentCRCNotify {
+ //enum KAMEODOLADA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 46;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated SegmentInfo infoList = 9;
+}
diff --git a/proto/CheckSegmentCRCReq.proto b/proto/CheckSegmentCRCReq.proto
new file mode 100644
index 00000000..24165e4c
--- /dev/null
+++ b/proto/CheckSegmentCRCReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "SegmentCRCInfo.proto";
+
+message CheckSegmentCRCReq {
+ //enum HFJFCONIADA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 100;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ repeated SegmentCRCInfo infoList = 1;
+}
diff --git a/proto/CheckUgcStateReq.proto b/proto/CheckUgcStateReq.proto
new file mode 100644
index 00000000..d8173c49
--- /dev/null
+++ b/proto/CheckUgcStateReq.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message CheckUgcStateReq {
+ //enum GANFKHHKGBK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 6314;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+}
diff --git a/proto/CheckUgcStateRsp.proto b/proto/CheckUgcStateRsp.proto
new file mode 100644
index 00000000..0f077fdb
--- /dev/null
+++ b/proto/CheckUgcStateRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message CheckUgcStateRsp {
+ //enum FCOLFLLKGCC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 6342;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 13;
+}
diff --git a/proto/CheckUgcUpdateReq.proto b/proto/CheckUgcUpdateReq.proto
new file mode 100644
index 00000000..0f8b4ee1
--- /dev/null
+++ b/proto/CheckUgcUpdateReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "UgcType.proto";
+
+message CheckUgcUpdateReq {
+ //enum JJLLNJHGHPD {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 6302;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ UgcType ugcType = 3;
+}
diff --git a/proto/CheckUgcUpdateRsp.proto b/proto/CheckUgcUpdateRsp.proto
new file mode 100644
index 00000000..695b8fba
--- /dev/null
+++ b/proto/CheckUgcUpdateRsp.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "UgcType.proto";
+
+message CheckUgcUpdateRsp {
+ //enum KICAKIMJIPI {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 6340;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 14;
+ UgcType ugcType = 6;
+ repeated uint64 updateUgcGuidList = 2;
+}
diff --git a/proto/ChessActivityDetailInfo.proto b/proto/ChessActivityDetailInfo.proto
new file mode 100644
index 00000000..851e46aa
--- /dev/null
+++ b/proto/ChessActivityDetailInfo.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ChessActivityDetailInfo {
+ uint32 punishOverTime = 4;
+ uint32 contentCloseTime = 10;
+ uint32 playerInfoMap = 5;
+ uint32 exp = 11;
+ bool escapedMonsters = 6;
+ uint32 selectedCardInfoList = 8;
+ uint32 level = 14;
+ repeated uint32 totalRound = 7;
+ bool leftMonsters = 15;
+}
diff --git a/proto/ChessCardInfo.proto b/proto/ChessCardInfo.proto
new file mode 100644
index 00000000..f574be61
--- /dev/null
+++ b/proto/ChessCardInfo.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ChessCardInfo {
+ uint32 cardId = 11;
+ uint32 effectStack = 12;
+}
diff --git a/proto/ChessEntranceDetailInfo.proto b/proto/ChessEntranceDetailInfo.proto
new file mode 100644
index 00000000..a8ffa006
--- /dev/null
+++ b/proto/ChessEntranceDetailInfo.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ChessEntranceInfo.proto";
+
+message ChessEntranceDetailInfo {
+ repeated ChessEntranceInfo infoList = 6;
+}
diff --git a/proto/ChessEntranceInfo.proto b/proto/ChessEntranceInfo.proto
new file mode 100644
index 00000000..62169218
--- /dev/null
+++ b/proto/ChessEntranceInfo.proto
@@ -0,0 +1,13 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ChessMonsterInfo.proto";
+
+message ChessEntranceInfo {
+ repeated ChessMonsterInfo lhjhgbpjpkl = 7;
+ uint32 dfpedbghhma = 6;
+ uint32 lfemigkpkdd = 9;
+}
diff --git a/proto/ChessEscapedMonstersNotify.proto b/proto/ChessEscapedMonstersNotify.proto
new file mode 100644
index 00000000..d9140b04
--- /dev/null
+++ b/proto/ChessEscapedMonstersNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ChessEscapedMonstersNotify {
+ //enum GIKHFKKIEIJ {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5312;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 escapedMonsters = 10;
+}
diff --git a/proto/ChessLeftMonstersNotify.proto b/proto/ChessLeftMonstersNotify.proto
new file mode 100644
index 00000000..6c87fc0d
--- /dev/null
+++ b/proto/ChessLeftMonstersNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ChessLeftMonstersNotify {
+ //enum GMFIONKIFLF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5377;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 leftMonsters = 8;
+}
diff --git a/proto/ChessManualRefreshCardsReq.proto b/proto/ChessManualRefreshCardsReq.proto
new file mode 100644
index 00000000..b7a081d9
--- /dev/null
+++ b/proto/ChessManualRefreshCardsReq.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ChessManualRefreshCardsReq {
+ //enum ADNNGAMJMPH {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5361;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+}
diff --git a/proto/ChessManualRefreshCardsRsp.proto b/proto/ChessManualRefreshCardsRsp.proto
new file mode 100644
index 00000000..cf48a32e
--- /dev/null
+++ b/proto/ChessManualRefreshCardsRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ChessManualRefreshCardsRsp {
+ //enum AKBFEJJJGDA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5365;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 1;
+}
diff --git a/proto/ChessMonsterInfo.proto b/proto/ChessMonsterInfo.proto
new file mode 100644
index 00000000..0d9f2158
--- /dev/null
+++ b/proto/ChessMonsterInfo.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ChessMonsterInfo {
+ uint32 monsterId = 9;
+ uint32 level = 2;
+ repeated uint32 affixList = 3;
+}
diff --git a/proto/ChessMysteryInfo.proto b/proto/ChessMysteryInfo.proto
new file mode 100644
index 00000000..fb589cd1
--- /dev/null
+++ b/proto/ChessMysteryInfo.proto
@@ -0,0 +1,13 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ChessEntranceDetailInfo.proto";
+
+message ChessMysteryInfo {
+ repeated uint32 mdilcblhnao = 2;
+ map lneiknbbcdd = 11;
+ map fhmdalcaomp = 5;
+}
diff --git a/proto/ChessNormalCardInfo.proto b/proto/ChessNormalCardInfo.proto
new file mode 100644
index 00000000..b21f0e21
--- /dev/null
+++ b/proto/ChessNormalCardInfo.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ChessNormalCardInfo {
+ uint32 cardId = 6;
+ bool isAttachCurse = 9;
+ uint32 costPoints = 2;
+}
diff --git a/proto/ChessPickCardNotify.proto b/proto/ChessPickCardNotify.proto
new file mode 100644
index 00000000..19e55197
--- /dev/null
+++ b/proto/ChessPickCardNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ChessNormalCardInfo.proto";
+
+message ChessPickCardNotify {
+ //enum KNIKFFKNDOB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5304;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ ChessNormalCardInfo normalCardInfo = 7;
+ uint32 curseCardId = 5;
+}
diff --git a/proto/ChessPickCardReq.proto b/proto/ChessPickCardReq.proto
new file mode 100644
index 00000000..e1050041
--- /dev/null
+++ b/proto/ChessPickCardReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ChessPickCardReq {
+ //enum OLIJEMKHFII {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5391;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 cardIndex = 9;
+ uint32 cardId = 3;
+}
diff --git a/proto/ChessPickCardRsp.proto b/proto/ChessPickCardRsp.proto
new file mode 100644
index 00000000..117f118a
--- /dev/null
+++ b/proto/ChessPickCardRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ChessPickCardRsp {
+ //enum KPCIEJPGOCL {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5360;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 cardIndex = 10;
+ uint32 cardId = 8;
+ int32 retcode = 7;
+}
diff --git a/proto/ChessPlayerInfo.proto b/proto/ChessPlayerInfo.proto
new file mode 100644
index 00000000..3363beb8
--- /dev/null
+++ b/proto/ChessPlayerInfo.proto
@@ -0,0 +1,17 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ChessNormalCardInfo.proto";
+
+message ChessPlayerInfo {
+ uint32 buildingPoints = 13;
+ uint32 Unk3300_PPFPEAGBHLP = 12;
+ uint32 Unk3300_AOCJHOKCDDM = 2;
+ repeated ChessNormalCardInfo candidateCardInfoList = 6;
+ uint32 uid = 11;
+ uint32 Unk3300_PPFBGIDKCDJ = 8;
+ uint32 Unk3300_GPNDNCCLHKE = 3;
+}
diff --git a/proto/ChessPlayerInfoNotify.proto b/proto/ChessPlayerInfoNotify.proto
new file mode 100644
index 00000000..59fb883d
--- /dev/null
+++ b/proto/ChessPlayerInfoNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ChessPlayerInfo.proto";
+
+message ChessPlayerInfoNotify {
+ //enum GIJKADEPEMA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5326;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ ChessPlayerInfo playerInfo = 15;
+}
diff --git a/proto/ChessSelectedCardsNotify.proto b/proto/ChessSelectedCardsNotify.proto
new file mode 100644
index 00000000..41511827
--- /dev/null
+++ b/proto/ChessSelectedCardsNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ChessCardInfo.proto";
+
+message ChessSelectedCardsNotify {
+ //enum EPBLFDHAOKF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5334;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated ChessCardInfo selectedCardInfoList = 9;
+}
diff --git a/proto/ChessSettleInfo.proto b/proto/ChessSettleInfo.proto
new file mode 100644
index 00000000..1fc464c0
--- /dev/null
+++ b/proto/ChessSettleInfo.proto
@@ -0,0 +1,17 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ExhibitionDisplayInfo.proto";
+
+message ChessSettleInfo {
+ uint32 Unk3300_NKHDFHAPNCN = 9;
+ uint64 sceneTimeMs = 11;
+ uint32 Unk3300_LPANFEBFJOJ = 15;
+ bool isSuccess = 2;
+ repeated ExhibitionDisplayInfo scoreList = 1;
+ uint32 Unk3300_IPGILJCBABK = 3;
+ uint32 Unk3300_EMNLLDJHMEI = 10;
+}
diff --git a/proto/CityReputationDataNotify.proto b/proto/CityReputationDataNotify.proto
new file mode 100644
index 00000000..7347b34e
--- /dev/null
+++ b/proto/CityReputationDataNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "CityReputationSimpleInfo.proto";
+
+message CityReputationDataNotify {
+ //enum EDHJAKJHIAO {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2869;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated CityReputationSimpleInfo simpleInfoList = 8;
+}
diff --git a/proto/CityReputationExploreInfo.proto b/proto/CityReputationExploreInfo.proto
new file mode 100644
index 00000000..ddf1d93f
--- /dev/null
+++ b/proto/CityReputationExploreInfo.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message CityReputationExploreInfo {
+ repeated uint32 takenExploreRewardList = 9;
+ bool isOpen = 1;
+ uint32 explorePercent = 11;
+}
diff --git a/proto/CityReputationHuntInfo.proto b/proto/CityReputationHuntInfo.proto
new file mode 100644
index 00000000..1c962ba2
--- /dev/null
+++ b/proto/CityReputationHuntInfo.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message CityReputationHuntInfo {
+ uint32 curWeekFinishNum = 1;
+ bool hasReward = 4;
+ bool isOpen = 10;
+}
diff --git a/proto/CityReputationInfo.proto b/proto/CityReputationInfo.proto
new file mode 100644
index 00000000..c47ff436
--- /dev/null
+++ b/proto/CityReputationInfo.proto
@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "CityReputationHuntInfo.proto";
+import "CityReputationExploreInfo.proto";
+import "CityReputationQuestInfo.proto";
+import "CityReputationRequestInfo.proto";
+
+message CityReputationInfo {
+ uint32 totalAcceptRequestNum = 11;
+ CityReputationHuntInfo huntInfo = 9;
+ uint32 exp = 8;
+ CityReputationExploreInfo exploreInfo = 5;
+ uint32 level = 13;
+ repeated uint32 takenLevelRewardList = 4;
+ CityReputationQuestInfo questInfo = 7;
+ CityReputationRequestInfo requestInfo = 2;
+ uint32 nextRefreshTime = 14;
+}
diff --git a/proto/CityReputationLevelupNotify.proto b/proto/CityReputationLevelupNotify.proto
new file mode 100644
index 00000000..3e1e2056
--- /dev/null
+++ b/proto/CityReputationLevelupNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message CityReputationLevelupNotify {
+ //enum IJGLMFMJHCF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2820;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 cityId = 10;
+ uint32 level = 11;
+}
diff --git a/proto/CityReputationRequestInfo.proto b/proto/CityReputationRequestInfo.proto
new file mode 100644
index 00000000..aff8ca11
--- /dev/null
+++ b/proto/CityReputationRequestInfo.proto
@@ -0,0 +1,17 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message CityReputationRequestInfo {
+ message RequestInfo {
+ uint32 requestId = 11;
+ uint32 questId = 14;
+ bool isTakenReward = 13;
+ }
+
+ bool isOpen = 1;
+ repeated RequestInfo requestInfoList = 2;
+}
diff --git a/proto/CityReputationSimpleInfo.proto b/proto/CityReputationSimpleInfo.proto
new file mode 100644
index 00000000..961bfb0d
--- /dev/null
+++ b/proto/CityReputationSimpleInfo.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message CityReputationSimpleInfo {
+ uint32 level = 10;
+ uint32 cityId = 8;
+}
diff --git a/proto/ClearRoguelikeCurseNotify.proto b/proto/ClearRoguelikeCurseNotify.proto
new file mode 100644
index 00000000..88258ab7
--- /dev/null
+++ b/proto/ClearRoguelikeCurseNotify.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ClearRoguelikeCurseNotify {
+ //enum FACMIBLDHHO {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8183;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ bool isCurseAllClear = 14;
+ bool isClearAll = 9;
+ map clearCurseMap = 12;
+ uint32 cardId = 6;
+}
diff --git a/proto/ClientAIStateNotify.proto b/proto/ClientAIStateNotify.proto
new file mode 100644
index 00000000..2054dfa0
--- /dev/null
+++ b/proto/ClientAIStateNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ClientAIStateNotify {
+ //enum LLCPDLEANOA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 1113;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 entityId = 6;
+ uint32 curTactic = 10;
+}
diff --git a/proto/ClientAbilitiesInitFinishCombineNotify.proto b/proto/ClientAbilitiesInitFinishCombineNotify.proto
new file mode 100644
index 00000000..209994ff
--- /dev/null
+++ b/proto/ClientAbilitiesInitFinishCombineNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "EntityAbilityInvokeEntry.proto";
+
+message ClientAbilitiesInitFinishCombineNotify {
+ //enum AEEPHACNEPG {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 1180;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ repeated EntityAbilityInvokeEntry entityInvokeList = 4;
+}
diff --git a/proto/ClientAbilityInitBeginNotify.proto b/proto/ClientAbilityInitBeginNotify.proto
new file mode 100644
index 00000000..81ab6350
--- /dev/null
+++ b/proto/ClientAbilityInitBeginNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ClientAbilityInitBeginNotify {
+ //enum PJFNAJGKMEC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 1187;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 entityId = 2;
+}
diff --git a/proto/ClientBulletCreateNotify.proto b/proto/ClientBulletCreateNotify.proto
new file mode 100644
index 00000000..b15cc6f9
--- /dev/null
+++ b/proto/ClientBulletCreateNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ClientBulletCreateNotify {
+ //enum MFPLLDGENIF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 25;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 param = 3;
+}
diff --git a/proto/ClientCollectorDataNotify.proto b/proto/ClientCollectorDataNotify.proto
new file mode 100644
index 00000000..9e2a524d
--- /dev/null
+++ b/proto/ClientCollectorDataNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ClientCollectorData.proto";
+
+message ClientCollectorDataNotify {
+ //enum MHKPPKBHJDO {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4292;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated ClientCollectorData clientCollectorDataList = 9;
+}
diff --git a/proto/ClientHashDebugNotify.proto b/proto/ClientHashDebugNotify.proto
new file mode 100644
index 00000000..00a82b04
--- /dev/null
+++ b/proto/ClientHashDebugNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ClientHashDebugNotify {
+ //enum NKIMHFNEGMO {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 3279;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 jobId = 2;
+}
diff --git a/proto/ClientLoadingCostumeVerificationNotify.proto b/proto/ClientLoadingCostumeVerificationNotify.proto
new file mode 100644
index 00000000..d1c68a24
--- /dev/null
+++ b/proto/ClientLoadingCostumeVerificationNotify.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ClientLoadingCostumeVerificationNotify {
+ //enum ADGJCEJGDDD {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 3441;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint64 prefabHash = 15;
+ uint32 costumeId = 8;
+ uint64 guid = 13;
+}
diff --git a/proto/ClientLockGameTimeNotify.proto b/proto/ClientLockGameTimeNotify.proto
new file mode 100644
index 00000000..ed9651c5
--- /dev/null
+++ b/proto/ClientLockGameTimeNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ClientLockGameTimeNotify {
+ //enum BPHAFNCFEOA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 112;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ bool isLock = 1;
+}
diff --git a/proto/ClientMassiveEntity.proto b/proto/ClientMassiveEntity.proto
new file mode 100644
index 00000000..9283e1ea
--- /dev/null
+++ b/proto/ClientMassiveEntity.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "WaterInfo.proto";
+import "GrassInfo.proto";
+import "BoxInfo.proto";
+
+message ClientMassiveEntity {
+ uint32 entityType = 1;
+ uint32 configId = 2;
+ int64 objId = 3;
+ oneof entity_info {
+ WaterInfo water_info = 4;
+ GrassInfo grass_info = 5;
+ BoxInfo box_info = 6;
+ }
+}
diff --git a/proto/ClientNewMailNotify.proto b/proto/ClientNewMailNotify.proto
new file mode 100644
index 00000000..81ee440c
--- /dev/null
+++ b/proto/ClientNewMailNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ClientNewMailNotify {
+ //enum BJODFBDCPEK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 1414;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 notReadNum = 3;
+ uint32 notGotAttachmentNum = 11;
+}
diff --git a/proto/ClientPauseNotify.proto b/proto/ClientPauseNotify.proto
new file mode 100644
index 00000000..83e6af14
--- /dev/null
+++ b/proto/ClientPauseNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ClientPauseNotify {
+ //enum BLDACOPAFHI {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 277;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ bool isOpen = 10;
+}
diff --git a/proto/ClientPerform.proto b/proto/ClientPerform.proto
new file mode 100644
index 00000000..5e6d7c65
--- /dev/null
+++ b/proto/ClientPerform.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GCGClientPerformType.proto";
+
+message ClientPerform {
+ GCGClientPerformType performType = 2;
+ repeated uint32 paramList = 5;
+}
diff --git a/proto/ClientReconnectNotify.proto b/proto/ClientReconnectNotify.proto
new file mode 100644
index 00000000..be413c84
--- /dev/null
+++ b/proto/ClientReconnectNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ClientReconnectReason.proto";
+
+message ClientReconnectNotify {
+ //enum JKMOFHFEHML {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 29;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ ClientReconnectReason reason = 1;
+}
diff --git a/proto/ClientReconnectReason.proto b/proto/ClientReconnectReason.proto
new file mode 100644
index 00000000..e1a249ea
--- /dev/null
+++ b/proto/ClientReconnectReason.proto
@@ -0,0 +1,10 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+enum ClientReconnectReason {
+ CLIENT_RECONNECT_REASON_NONE = 0;
+ CLIENT_RECONNECT_REASON_QUIT_MP = 1;
+}
diff --git a/proto/ClientRemoveCombatEndModifierNotify.proto b/proto/ClientRemoveCombatEndModifierNotify.proto
new file mode 100644
index 00000000..75cd9c34
--- /dev/null
+++ b/proto/ClientRemoveCombatEndModifierNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ClientRemoveCombatEndModifierNotify {
+ //enum NDBNGOODBHB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 1106;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ repeated uint32 combatEndTypeList = 12;
+}
diff --git a/proto/ClientReportNotify.proto b/proto/ClientReportNotify.proto
new file mode 100644
index 00000000..04391a3d
--- /dev/null
+++ b/proto/ClientReportNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ClientReportNotify {
+ //enum JFEGFPOGIHL {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 13;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ string reportValue = 7;
+ string reportType = 12;
+}
diff --git a/proto/ClientScriptEventNotify.proto b/proto/ClientScriptEventNotify.proto
new file mode 100644
index 00000000..3ee9552c
--- /dev/null
+++ b/proto/ClientScriptEventNotify.proto
@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ClientScriptEventNotify {
+ //enum DOLKGKDMHFA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 247;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 targetEntityId = 8;
+ repeated int32 paramList = 1;
+ uint32 sourceEntityId = 4;
+ uint32 eventType = 10;
+}
diff --git a/proto/ClientTransmitReq.proto b/proto/ClientTransmitReq.proto
new file mode 100644
index 00000000..e7151539
--- /dev/null
+++ b/proto/ClientTransmitReq.proto
@@ -0,0 +1,24 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "Vector.proto";
+import "TransmitReason.proto";
+
+message ClientTransmitReq {
+ //enum FLGIDMJKIHB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 203;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ Vector rot = 9;
+ TransmitReason reason = 13;
+ Vector pos = 12;
+ uint32 sceneId = 8;
+}
diff --git a/proto/ClientTransmitRsp.proto b/proto/ClientTransmitRsp.proto
new file mode 100644
index 00000000..89737de9
--- /dev/null
+++ b/proto/ClientTransmitRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "TransmitReason.proto";
+
+message ClientTransmitRsp {
+ //enum NJGMKOMHHIB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 253;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ TransmitReason reason = 12;
+ int32 retcode = 7;
+}
diff --git a/proto/ClientTriggerEventNotify.proto b/proto/ClientTriggerEventNotify.proto
new file mode 100644
index 00000000..c0dadaff
--- /dev/null
+++ b/proto/ClientTriggerEventNotify.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "EventTriggerType.proto";
+
+message ClientTriggerEventNotify {
+ //enum AJCCFKHMKCB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 178;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 forceId = 5;
+ EventTriggerType eventType = 1;
+}
diff --git a/proto/CloseCommonTipsNotify.proto b/proto/CloseCommonTipsNotify.proto
new file mode 100644
index 00000000..b79c0798
--- /dev/null
+++ b/proto/CloseCommonTipsNotify.proto
@@ -0,0 +1,17 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message CloseCommonTipsNotify {
+ //enum JDPGPPCNPNJ {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 3010;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+}
diff --git a/proto/CmdId.proto b/proto/CmdId.proto
new file mode 100644
index 00000000..49646d6b
--- /dev/null
+++ b/proto/CmdId.proto
@@ -0,0 +1,10 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+enum CmdId {
+ SUCC = 0;
+ FAIL = 1;
+}
diff --git a/proto/CoinCollectCheckDoubleStartPlayReq.proto b/proto/CoinCollectCheckDoubleStartPlayReq.proto
new file mode 100644
index 00000000..0f741c9c
--- /dev/null
+++ b/proto/CoinCollectCheckDoubleStartPlayReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message CoinCollectCheckDoubleStartPlayReq {
+ //enum EFLLBGNMDDG {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 24094;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 levelId = 11;
+}
diff --git a/proto/CoinCollectCheckDoubleStartPlayRsp.proto b/proto/CoinCollectCheckDoubleStartPlayRsp.proto
new file mode 100644
index 00000000..a2157d8e
--- /dev/null
+++ b/proto/CoinCollectCheckDoubleStartPlayRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message CoinCollectCheckDoubleStartPlayRsp {
+ //enum FOBGPGMPJMO {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 24464;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 11;
+ uint32 levelId = 8;
+}
diff --git a/proto/CoinCollectChooseSkillReq.proto b/proto/CoinCollectChooseSkillReq.proto
new file mode 100644
index 00000000..0f173996
--- /dev/null
+++ b/proto/CoinCollectChooseSkillReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message CoinCollectChooseSkillReq {
+ //enum AHEPOAMJKNB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 20307;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 levelId = 10;
+ uint32 chooseSkillNo = 7;
+}
diff --git a/proto/CoinCollectChooseSkillRsp.proto b/proto/CoinCollectChooseSkillRsp.proto
new file mode 100644
index 00000000..3c70f240
--- /dev/null
+++ b/proto/CoinCollectChooseSkillRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message CoinCollectChooseSkillRsp {
+ //enum PEEIKCNOFNB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 24303;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 levelId = 5;
+ int32 retcode = 7;
+ uint32 chooseSkillNo = 1;
+}
diff --git a/proto/CoinCollectGallerySettleNotify.proto b/proto/CoinCollectGallerySettleNotify.proto
new file mode 100644
index 00000000..55be11c7
--- /dev/null
+++ b/proto/CoinCollectGallerySettleNotify.proto
@@ -0,0 +1,23 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message CoinCollectGallerySettleNotify {
+ //enum LBHFNLLPEKD {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5542;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 Unk3300_CPLDPCMBHOE = 6;
+ bool isNewRecord = 8;
+ uint32 Unk3300_KDHDMOGJDNL = 15;
+ uint32 multistagePlayIndex = 10;
+ uint32 levelId = 1;
+ uint32 Unk3300_DKBJMLJGLIB = 14;
+}
diff --git a/proto/CoinCollectInterruptPlayReq.proto b/proto/CoinCollectInterruptPlayReq.proto
new file mode 100644
index 00000000..9302d969
--- /dev/null
+++ b/proto/CoinCollectInterruptPlayReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message CoinCollectInterruptPlayReq {
+ //enum FJFOAHJNPBO {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 24934;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 galleryId = 9;
+}
diff --git a/proto/CoinCollectInterruptPlayRsp.proto b/proto/CoinCollectInterruptPlayRsp.proto
new file mode 100644
index 00000000..53e46d18
--- /dev/null
+++ b/proto/CoinCollectInterruptPlayRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message CoinCollectInterruptPlayRsp {
+ //enum MJAFIBMPBCG {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 24576;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 galleryId = 7;
+ int32 retcode = 6;
+}
diff --git a/proto/CoinCollectLevelData.proto b/proto/CoinCollectLevelData.proto
new file mode 100644
index 00000000..4d105d78
--- /dev/null
+++ b/proto/CoinCollectLevelData.proto
@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "CoinCollectTeamInfoData.proto";
+
+message CoinCollectLevelData {
+ bool mffbbcobifb = 15;
+ repeated CoinCollectTeamInfoData mdjfnblbncn = 6;
+ CoinCollectTeamInfoData jkglemblhjj = 5;
+ uint32 dmgfjomildi = 13;
+ bool oahobildeen = 9;
+ bool ocbgniehaae = 2;
+ uint32 mipkplghgdb = 10;
+ uint32 gcgfggieage = 8;
+ uint32 oepemecbhfp = 14;
+ uint32 fcedmbblknb = 3;
+ uint32 levelId = 7;
+ bool caepnfpolia = 12;
+}
diff --git a/proto/CoinCollectPlayerInfo.proto b/proto/CoinCollectPlayerInfo.proto
new file mode 100644
index 00000000..a565415c
--- /dev/null
+++ b/proto/CoinCollectPlayerInfo.proto
@@ -0,0 +1,15 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "CoinCollectTeamAvatarInfo.proto";
+
+message CoinCollectPlayerInfo {
+ repeated CoinCollectTeamAvatarInfo avatarInfoList = 14;
+ bool ddbhiknpgnp = 8;
+ uint32 chooseSkillNo = 10;
+ string playerName = 4;
+ uint32 playerUid = 5;
+}
diff --git a/proto/CoinCollectPrepareReq.proto b/proto/CoinCollectPrepareReq.proto
new file mode 100644
index 00000000..b0fe65d5
--- /dev/null
+++ b/proto/CoinCollectPrepareReq.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message CoinCollectPrepareReq {
+ //enum CFOLMBHGMJK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 20471;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+}
diff --git a/proto/CoinCollectPrepareRsp.proto b/proto/CoinCollectPrepareRsp.proto
new file mode 100644
index 00000000..07b48713
--- /dev/null
+++ b/proto/CoinCollectPrepareRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message CoinCollectPrepareRsp {
+ //enum GGNBJAOJLFK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 23815;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 5;
+}
diff --git a/proto/CoinCollectPrepareStageNotify.proto b/proto/CoinCollectPrepareStageNotify.proto
new file mode 100644
index 00000000..d8cdd6ee
--- /dev/null
+++ b/proto/CoinCollectPrepareStageNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "CoinCollectInfo.proto";
+
+message CoinCollectPrepareStageNotify {
+ //enum JFIJKJFNDGB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 6441;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ CoinCollectInfo locpgggjmdl = 7;
+}
diff --git a/proto/CoinCollectStageInfo.proto b/proto/CoinCollectStageInfo.proto
new file mode 100644
index 00000000..f8cbb161
--- /dev/null
+++ b/proto/CoinCollectStageInfo.proto
@@ -0,0 +1,13 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "CoinCollectPlayerInfo.proto";
+
+message CoinCollectStageInfo {
+ uint32 levelId = 6;
+ uint32 playIndex = 12;
+ repeated CoinCollectPlayerInfo playerInfoList = 5;
+}
diff --git a/proto/CoinCollectTeamInfoData.proto b/proto/CoinCollectTeamInfoData.proto
new file mode 100644
index 00000000..2c66a7cc
--- /dev/null
+++ b/proto/CoinCollectTeamInfoData.proto
@@ -0,0 +1,15 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message CoinCollectTeamInfoData {
+ repeated uint32 kmdmpiojlbd = 5;
+ uint32 playerUid = 7;
+ bool hiidcboahjm = 15;
+ uint32 chooseSkillNo = 3;
+ repeated uint32 eodeindkpal = 6;
+ repeated uint32 avatarIdList = 2;
+}
diff --git a/proto/CombatInvocationsNotify.proto b/proto/CombatInvocationsNotify.proto
index 404d75c6..14f8a867 100644
--- a/proto/CombatInvocationsNotify.proto
+++ b/proto/CombatInvocationsNotify.proto
@@ -1,6 +1,9 @@
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
+
+
import "CombatInvokeEntry.proto";
message CombatInvocationsNotify {
diff --git a/proto/CombatInvokeEntry.proto b/proto/CombatInvokeEntry.proto
index 4ea9b964..e7507137 100644
--- a/proto/CombatInvokeEntry.proto
+++ b/proto/CombatInvokeEntry.proto
@@ -1,6 +1,10 @@
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
+
+
+import "bytes.proto";
import "CombatTypeArgument.proto";
import "ForwardType.proto";
diff --git a/proto/CommonPlayerTipsNotify.proto b/proto/CommonPlayerTipsNotify.proto
new file mode 100644
index 00000000..30329d9e
--- /dev/null
+++ b/proto/CommonPlayerTipsNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message CommonPlayerTipsNotify {
+ //enum IENNOPCOPIB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8996;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 notifyType = 11;
+ repeated string textMapIdList = 14;
+}
diff --git a/proto/CompoundUnlockNotify.proto b/proto/CompoundUnlockNotify.proto
new file mode 100644
index 00000000..65697589
--- /dev/null
+++ b/proto/CompoundUnlockNotify.proto
@@ -0,0 +1,27 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "SkillRequest.proto";
+import "ReliquaryRequest.proto";
+import "ElementReliquaryRequest.proto";
+
+message CompoundUnlockNotify {
+ //enum BDNMOGLPGBI {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 149;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 avatarId = 8;
+ oneof detail {
+ SkillRequest skill_request = 1689;
+ ReliquaryRequest reliquary_request = 118;
+ ElementReliquaryRequest element_reliquary_request = 1105;
+ }
+}
diff --git a/proto/CookGradeDataNotify.proto b/proto/CookGradeDataNotify.proto
new file mode 100644
index 00000000..a39cf923
--- /dev/null
+++ b/proto/CookGradeDataNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message CookGradeDataNotify {
+ //enum ODNEFHOIAIM {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 151;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 grade = 2;
+}
diff --git a/proto/CoopCg.proto b/proto/CoopCg.proto
new file mode 100644
index 00000000..93bab3e4
--- /dev/null
+++ b/proto/CoopCg.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message CoopCg {
+ bool isUnlock = 15;
+ uint32 id = 5;
+}
diff --git a/proto/CoopCgShowNotify.proto b/proto/CoopCgShowNotify.proto
new file mode 100644
index 00000000..e3a31fbf
--- /dev/null
+++ b/proto/CoopCgShowNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message CoopCgShowNotify {
+ //enum JNECNHGJNLE {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 1972;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated uint32 cgList = 8;
+}
diff --git a/proto/CoopCgUpdateNotify.proto b/proto/CoopCgUpdateNotify.proto
new file mode 100644
index 00000000..3ac5bd95
--- /dev/null
+++ b/proto/CoopCgUpdateNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message CoopCgUpdateNotify {
+ //enum HDNLOLLHBNM {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 1966;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated uint32 cgList = 14;
+}
diff --git a/proto/CoopChapter.proto b/proto/CoopChapter.proto
new file mode 100644
index 00000000..52f4acb9
--- /dev/null
+++ b/proto/CoopChapter.proto
@@ -0,0 +1,23 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "State.proto";
+import "CoopCg.proto";
+import "CoopReward.proto";
+import "CoopPoint.proto";
+
+message CoopChapter {
+ map seenEndingMap = 12;
+ repeated uint32 finishDialogList = 5;
+ repeated CoopCg coopCgList = 11;
+ repeated CoopReward coopRewardList = 9;
+ repeated uint32 lockReasonList = 4;
+ uint32 finishedEndCount = 8;
+ repeated CoopPoint coopPointList = 7;
+ State state = 15;
+ uint32 id = 6;
+ uint32 totalEndCount = 14;
+}
diff --git a/proto/CoopChapterState.proto b/proto/CoopChapterState.proto
deleted file mode 100644
index fe6744c2..00000000
--- a/proto/CoopChapterState.proto
+++ /dev/null
@@ -1,11 +0,0 @@
-// Proto has been converted from Sorapointa to Grasscutter format
-syntax = "proto3";
-
-option java_package = "emu.grasscutter.net.proto";
-
-enum CoopChapterState {
- Close = 0;
- CondNotMeet = 1;
- CondMeet = 2;
- Accept = 3;
-}
diff --git a/proto/CoopChapterUpdateNotify.proto b/proto/CoopChapterUpdateNotify.proto
new file mode 100644
index 00000000..1bfd3e51
--- /dev/null
+++ b/proto/CoopChapterUpdateNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "CoopChapter.proto";
+
+message CoopChapterUpdateNotify {
+ //enum BHINKPCMCOG {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 1985;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated CoopChapter chapterList = 5;
+}
diff --git a/proto/CoopDataNotify.proto b/proto/CoopDataNotify.proto
new file mode 100644
index 00000000..e6c1e857
--- /dev/null
+++ b/proto/CoopDataNotify.proto
@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "CoopChapter.proto";
+
+message CoopDataNotify {
+ //enum MBJJGCCJMPG {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 1981;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated uint32 viewedChapterList = 8;
+ bool isHaveProgress = 14;
+ repeated CoopChapter chapterList = 12;
+ uint32 curCoopPoint = 1;
+}
diff --git a/proto/CoopPoint.proto b/proto/CoopPoint.proto
new file mode 100644
index 00000000..ee4e2813
--- /dev/null
+++ b/proto/CoopPoint.proto
@@ -0,0 +1,13 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "State.proto";
+
+message CoopPoint {
+ uint32 id = 10;
+ State state = 5;
+ uint32 selfConfidence = 15;
+}
diff --git a/proto/CoopPointUpdateNotify.proto b/proto/CoopPointUpdateNotify.proto
new file mode 100644
index 00000000..31fe3d7a
--- /dev/null
+++ b/proto/CoopPointUpdateNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "CoopPoint.proto";
+
+message CoopPointUpdateNotify {
+ //enum LBMGJFEPNOG {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 1987;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ CoopPoint coopPoint = 11;
+}
diff --git a/proto/CoopProgressUpdateNotify.proto b/proto/CoopProgressUpdateNotify.proto
new file mode 100644
index 00000000..f44b4a14
--- /dev/null
+++ b/proto/CoopProgressUpdateNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message CoopProgressUpdateNotify {
+ //enum HDIKAKDLKBH {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 1956;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 curCoopPoint = 5;
+ bool isHaveProgress = 1;
+}
diff --git a/proto/CoopReward.proto b/proto/CoopReward.proto
new file mode 100644
index 00000000..6d1f3443
--- /dev/null
+++ b/proto/CoopReward.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "State.proto";
+
+message CoopReward {
+ State state = 8;
+ uint32 id = 1;
+}
diff --git a/proto/CoopRewardUpdateNotify.proto b/proto/CoopRewardUpdateNotify.proto
new file mode 100644
index 00000000..7a02e1c8
--- /dev/null
+++ b/proto/CoopRewardUpdateNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "CoopReward.proto";
+
+message CoopRewardUpdateNotify {
+ //enum FGALHHPNKKF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 1975;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated CoopReward rewardList = 11;
+}
diff --git a/proto/CostDice.proto b/proto/CostDice.proto
new file mode 100644
index 00000000..f745a4b0
--- /dev/null
+++ b/proto/CostDice.proto
@@ -0,0 +1,13 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GCGReason.proto";
+
+message CostDice {
+ GCGReason reason = 7;
+ uint32 controllerId = 9;
+ repeated uint32 selectDiceIndexList = 8;
+}
diff --git a/proto/CostRevise.proto b/proto/CostRevise.proto
new file mode 100644
index 00000000..a76b3dc9
--- /dev/null
+++ b/proto/CostRevise.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GCGCostReviseInfo.proto";
+
+message CostRevise {
+ uint32 controllerId = 15;
+ GCGCostReviseInfo costRevise = 10;
+}
diff --git a/proto/CreateGadgetInfo.proto b/proto/CreateGadgetInfo.proto
new file mode 100644
index 00000000..6ae0176e
--- /dev/null
+++ b/proto/CreateGadgetInfo.proto
@@ -0,0 +1,17 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GadgetBornType.proto";
+
+message CreateGadgetInfo {
+ message Chest {
+ uint32 chest_drop_id = 1;
+ bool isShowCutscene = 2;
+ }
+
+ GadgetBornType bornType = 1;
+ Chest chest = 2;
+}
diff --git a/proto/CreateMassiveEntityNotify.proto b/proto/CreateMassiveEntityNotify.proto
new file mode 100644
index 00000000..1c75ca5c
--- /dev/null
+++ b/proto/CreateMassiveEntityNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ServerMassiveEntity.proto";
+
+message CreateMassiveEntityNotify {
+ //enum FCEBCMCLECK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 364;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated ServerMassiveEntity massiveEntityList = 8;
+}
diff --git a/proto/CreateMassiveEntityReq.proto b/proto/CreateMassiveEntityReq.proto
new file mode 100644
index 00000000..e7ac32a3
--- /dev/null
+++ b/proto/CreateMassiveEntityReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ClientMassiveEntity.proto";
+
+message CreateMassiveEntityReq {
+ //enum AJDHCCNLMJE {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 394;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ repeated ClientMassiveEntity massiveEntityList = 5;
+}
diff --git a/proto/CreateMassiveEntityRsp.proto b/proto/CreateMassiveEntityRsp.proto
new file mode 100644
index 00000000..e7dbb334
--- /dev/null
+++ b/proto/CreateMassiveEntityRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message CreateMassiveEntityRsp {
+ //enum PEKJAPOKDHF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 381;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 2;
+}
diff --git a/proto/CreateReason.proto b/proto/CreateReason.proto
new file mode 100644
index 00000000..6f32720f
--- /dev/null
+++ b/proto/CreateReason.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+enum CreateReason {
+ CREATE_REASON_NONE = 0;
+ CREATE_REASON_QUEST = 1;
+ CREATE_REASON_ENERGY = 2;
+}
diff --git a/proto/CrucibleBattleUidInfo.proto b/proto/CrucibleBattleUidInfo.proto
new file mode 100644
index 00000000..7e29aef8
--- /dev/null
+++ b/proto/CrucibleBattleUidInfo.proto
@@ -0,0 +1,15 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ProfilePicture.proto";
+
+message CrucibleBattleUidInfo {
+ string nickname = 4;
+ uint32 icon = 5;
+ uint32 uid = 2;
+ ProfilePicture profilePicture = 11;
+ string onlineId = 6;
+}
diff --git a/proto/CrystalLinkBuffInfo.proto b/proto/CrystalLinkBuffInfo.proto
new file mode 100644
index 00000000..0e16e79c
--- /dev/null
+++ b/proto/CrystalLinkBuffInfo.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message CrystalLinkBuffInfo {
+ uint32 Unk3300_BGKLAFCBNOA = 8;
+ uint32 Unk3300_PFLAOCMEFIL = 7;
+}
diff --git a/proto/CrystalLinkDungeonInfoNotify.proto b/proto/CrystalLinkDungeonInfoNotify.proto
new file mode 100644
index 00000000..3a60a555
--- /dev/null
+++ b/proto/CrystalLinkDungeonInfoNotify.proto
@@ -0,0 +1,25 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "CrystalLinkDungeonAvatarInfo.proto";
+import "CrystalLinkBuffInfo.proto";
+
+message CrystalLinkDungeonInfoNotify {
+ //enum HLPDNAHBCNL {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8343;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 initGalleryProgress = 7;
+ uint32 difficultyId = 9;
+ repeated CrystalLinkDungeonAvatarInfo dungeonAvatarInfoList = 10;
+ bool isUpperPart = 15;
+ uint32 levelId = 6;
+ repeated CrystalLinkBuffInfo buffInfoList = 2;
+}
diff --git a/proto/CrystalLinkEnterDungeonReq.proto b/proto/CrystalLinkEnterDungeonReq.proto
new file mode 100644
index 00000000..1d57cfb6
--- /dev/null
+++ b/proto/CrystalLinkEnterDungeonReq.proto
@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "CrystalLinkTeamInfo.proto";
+
+message CrystalLinkEnterDungeonReq {
+ //enum CLAELIDGHLP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8110;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ repeated CrystalLinkTeamInfo teamInfoList = 7;
+ uint32 levelId = 8;
+ uint32 difficultyId = 4;
+}
diff --git a/proto/CrystalLinkEnterDungeonRsp.proto b/proto/CrystalLinkEnterDungeonRsp.proto
new file mode 100644
index 00000000..8f324ae3
--- /dev/null
+++ b/proto/CrystalLinkEnterDungeonRsp.proto
@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "CrystalLinkTeamInfo.proto";
+
+message CrystalLinkEnterDungeonRsp {
+ //enum KDACNHFFGAN {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8936;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 levelId = 11;
+ uint32 difficultyId = 2;
+ int32 retcode = 3;
+ repeated CrystalLinkTeamInfo teamInfoList = 10;
+}
diff --git a/proto/CrystalLinkLevelInfo.proto b/proto/CrystalLinkLevelInfo.proto
new file mode 100644
index 00000000..15c21ce5
--- /dev/null
+++ b/proto/CrystalLinkLevelInfo.proto
@@ -0,0 +1,14 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "CrystalLinkTeamInfo.proto";
+
+message CrystalLinkLevelInfo {
+ uint32 levelId = 3;
+ uint32 bestScore = 6;
+ bool isOpen = 7;
+ repeated CrystalLinkTeamInfo teamInfoList = 8;
+}
diff --git a/proto/CrystalLinkRestartDungeonReq.proto b/proto/CrystalLinkRestartDungeonReq.proto
new file mode 100644
index 00000000..c7fab1ba
--- /dev/null
+++ b/proto/CrystalLinkRestartDungeonReq.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message CrystalLinkRestartDungeonReq {
+ //enum OIGGMLAIKAB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8056;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+}
diff --git a/proto/CrystalLinkRestartDungeonRsp.proto b/proto/CrystalLinkRestartDungeonRsp.proto
new file mode 100644
index 00000000..102b2a50
--- /dev/null
+++ b/proto/CrystalLinkRestartDungeonRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message CrystalLinkRestartDungeonRsp {
+ //enum OHBMCCBCLHH {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8574;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 5;
+}
diff --git a/proto/CrystalLinkTeamInfo.proto b/proto/CrystalLinkTeamInfo.proto
new file mode 100644
index 00000000..7f395e3d
--- /dev/null
+++ b/proto/CrystalLinkTeamInfo.proto
@@ -0,0 +1,13 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "CrystalLinkAvatarInfo.proto";
+import "CrystalLinkBuffInfo.proto";
+
+message CrystalLinkTeamInfo {
+ repeated CrystalLinkAvatarInfo avatarInfoList = 13;
+ repeated CrystalLinkBuffInfo buffInfoList = 10;
+}
diff --git a/proto/CustomDungeon.proto b/proto/CustomDungeon.proto
new file mode 100644
index 00000000..1aeefdd3
--- /dev/null
+++ b/proto/CustomDungeon.proto
@@ -0,0 +1,15 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "CustomDungeonSetting.proto";
+import "CustomDungeonRoom.proto";
+
+message CustomDungeon {
+ uint64 dungeonGuid = 8;
+ repeated CustomDungeonRoom roomList = 3;
+ CustomDungeonSetting setting = 1;
+ uint32 dungeonId = 4;
+}
diff --git a/proto/CustomDungeonAbstract.proto b/proto/CustomDungeonAbstract.proto
new file mode 100644
index 00000000..14e04393
--- /dev/null
+++ b/proto/CustomDungeonAbstract.proto
@@ -0,0 +1,14 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message CustomDungeonAbstract {
+ uint32 Unk3300_EJGBHGHLFPI = 10;
+ uint32 Unk3300_JPFIHKECLMF = 2;
+ uint32 firstPublishTime = 1;
+ uint32 lastPublishTime = 4;
+ map brickStatisticsMap = 12;
+}
diff --git a/proto/CustomDungeonBanInfo.proto b/proto/CustomDungeonBanInfo.proto
new file mode 100644
index 00000000..2988c301
--- /dev/null
+++ b/proto/CustomDungeonBanInfo.proto
@@ -0,0 +1,13 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "CustomDungeonBanType.proto";
+
+message CustomDungeonBanInfo {
+ uint32 expireTime = 12;
+ CustomDungeonBanType banType = 6;
+ uint64 dungeonGuid = 1;
+}
diff --git a/proto/CustomDungeonBanType.proto b/proto/CustomDungeonBanType.proto
new file mode 100644
index 00000000..c3f4b474
--- /dev/null
+++ b/proto/CustomDungeonBanType.proto
@@ -0,0 +1,10 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+enum CustomDungeonBanType {
+ CUSTOM_DUNGEON_BAN_TYPE_NONE = 0;
+ CUSTOM_DUNGEON_BAN_TYPE_LAYOUT = 1;
+}
diff --git a/proto/CustomDungeonBattleRecordNotify.proto b/proto/CustomDungeonBattleRecordNotify.proto
new file mode 100644
index 00000000..c5ed1d82
--- /dev/null
+++ b/proto/CustomDungeonBattleRecordNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message CustomDungeonBattleRecordNotify {
+ //enum HIDDKGJANKE {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 6201;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint64 dungeonGuid = 13;
+ uint32 minCostTime = 12;
+}
diff --git a/proto/CustomDungeonBlock.proto b/proto/CustomDungeonBlock.proto
new file mode 100644
index 00000000..054ba4a3
--- /dev/null
+++ b/proto/CustomDungeonBlock.proto
@@ -0,0 +1,14 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "Vector.proto";
+
+message CustomDungeonBlock {
+ uint32 blockId = 15;
+ Vector rot = 2;
+ Vector pos = 11;
+ uint32 guid = 1;
+}
diff --git a/proto/CustomDungeonBrief.proto b/proto/CustomDungeonBrief.proto
new file mode 100644
index 00000000..a330cca9
--- /dev/null
+++ b/proto/CustomDungeonBrief.proto
@@ -0,0 +1,23 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "CustomDungeonSetting.proto";
+import "CustomDungeonAbstract.proto";
+import "CustomDungeonState.proto";
+import "CustomDungeonSocial.proto";
+
+message CustomDungeonBrief {
+ CustomDungeonSetting setting = 7;
+ bool isPsnPlatform = 4;
+ CustomDungeonAbstract abstract = 13;
+ CustomDungeonState state = 9;
+ uint64 dungeonGuid = 5;
+ repeated uint32 tagList = 15;
+ uint32 lastSaveTime = 10;
+ CustomDungeonSocial social = 8;
+ uint32 battleMinCostTime = 2;
+ uint32 dungeonId = 6;
+}
diff --git a/proto/CustomDungeonOfficialNotify.proto b/proto/CustomDungeonOfficialNotify.proto
new file mode 100644
index 00000000..09db827d
--- /dev/null
+++ b/proto/CustomDungeonOfficialNotify.proto
@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "TryCustomDungeonType.proto";
+import "EnterCustomDungeonType.proto";
+
+message CustomDungeonOfficialNotify {
+ //enum PDLFCGFJBIO {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 6236;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ TryCustomDungeonType tryType = 7;
+ repeated uint32 officialBlackCoinList = 12;
+ EnterCustomDungeonType enterType = 11;
+}
diff --git a/proto/CustomDungeonRecoverNotify.proto b/proto/CustomDungeonRecoverNotify.proto
new file mode 100644
index 00000000..2d67459c
--- /dev/null
+++ b/proto/CustomDungeonRecoverNotify.proto
@@ -0,0 +1,24 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "TryCustomDungeonType.proto";
+import "EnterCustomDungeonType.proto";
+import "CustomDungeon.proto";
+
+message CustomDungeonRecoverNotify {
+ //enum IFJDMKLPIDE {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 6233;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ TryCustomDungeonType tryType = 5;
+ EnterCustomDungeonType enterType = 10;
+ repeated uint32 officialBlackCoinList = 14;
+ CustomDungeon customDungeon = 3;
+}
diff --git a/proto/CustomDungeonRoom.proto b/proto/CustomDungeonRoom.proto
new file mode 100644
index 00000000..4b169406
--- /dev/null
+++ b/proto/CustomDungeonRoom.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "CustomDungeonBlock.proto";
+
+message CustomDungeonRoom {
+ repeated CustomDungeonBlock blockList = 7;
+ uint32 roomId = 3;
+}
diff --git a/proto/CustomDungeonSetting.proto b/proto/CustomDungeonSetting.proto
new file mode 100644
index 00000000..c143c14e
--- /dev/null
+++ b/proto/CustomDungeonSetting.proto
@@ -0,0 +1,16 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message CustomDungeonSetting {
+ repeated uint32 openRoomList = 13;
+ uint32 lifeNum = 9;
+ uint32 coinLimit = 4;
+ uint32 startRoomId = 10;
+ bool isForbidSkill = 11;
+ uint32 timeLimit = 2;
+ bool isArriveFinish = 14;
+}
diff --git a/proto/CustomDungeonSocial.proto b/proto/CustomDungeonSocial.proto
new file mode 100644
index 00000000..52407927
--- /dev/null
+++ b/proto/CustomDungeonSocial.proto
@@ -0,0 +1,13 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message CustomDungeonSocial {
+ uint32 storeNum = 7;
+ uint32 winNum = 11;
+ uint32 likeNum = 6;
+ uint32 playNum = 12;
+}
diff --git a/proto/CustomDungeonState.proto b/proto/CustomDungeonState.proto
new file mode 100644
index 00000000..8be4fb48
--- /dev/null
+++ b/proto/CustomDungeonState.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+enum CustomDungeonState {
+ CUSTOM_DUNGEON_STATE_EDIT = 0;
+ CUSTOM_DUNGEON_STATE_SELF_PASS = 1;
+ CUSTOM_DUNGEON_STATE_PUBLISHED = 2;
+}
diff --git a/proto/CustomDungeonUpdateNotify.proto b/proto/CustomDungeonUpdateNotify.proto
new file mode 100644
index 00000000..ddab0e62
--- /dev/null
+++ b/proto/CustomDungeonUpdateNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "CustomDungeonBrief.proto";
+
+message CustomDungeonUpdateNotify {
+ //enum LNAOFFLEHHK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 6203;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ CustomDungeonBrief dungeonBrief = 14;
+}
diff --git a/proto/CutSceneBeginNotify.proto b/proto/CutSceneBeginNotify.proto
index c374d4c4..1d167e44 100644
--- a/proto/CutSceneBeginNotify.proto
+++ b/proto/CutSceneBeginNotify.proto
@@ -1,9 +1,20 @@
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
+
+
import "CutSceneExtraParam.proto";
message CutSceneBeginNotify {
+ //enum EODCIEGJJEE {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 217;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
bool isWaitOthers = 3;
repeated CutSceneExtraParam extraParamList = 14;
uint32 cutsceneId = 2;
diff --git a/proto/CutSceneEndNotify.proto b/proto/CutSceneEndNotify.proto
new file mode 100644
index 00000000..f8ffd665
--- /dev/null
+++ b/proto/CutSceneEndNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message CutSceneEndNotify {
+ //enum JNHHBPGAFGE {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 299;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 cutsceneId = 15;
+ int32 retcode = 9;
+}
diff --git a/proto/CutSceneExtraParam.proto b/proto/CutSceneExtraParam.proto
index 337d5c76..21b8765d 100644
--- a/proto/CutSceneExtraParam.proto
+++ b/proto/CutSceneExtraParam.proto
@@ -1,6 +1,10 @@
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
+
+
+
message CutSceneExtraParam {
repeated double detailParamList = 3;
}
diff --git a/proto/CutSceneFinishNotify.proto b/proto/CutSceneFinishNotify.proto
new file mode 100644
index 00000000..230d609a
--- /dev/null
+++ b/proto/CutSceneFinishNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message CutSceneFinishNotify {
+ //enum ABOAOLLFIOD {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 257;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 cutsceneId = 14;
+}
diff --git a/proto/CylinderRegionSize.proto b/proto/CylinderRegionSize.proto
new file mode 100644
index 00000000..5fae5da6
--- /dev/null
+++ b/proto/CylinderRegionSize.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message CylinderRegionSize {
+ float height = 4;
+ float radius = 14;
+}
diff --git a/proto/CylinderSize.proto b/proto/CylinderSize.proto
new file mode 100644
index 00000000..5c00f76f
--- /dev/null
+++ b/proto/CylinderSize.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message CylinderSize {
+ float height = 4;
+ float radius = 14;
+}
diff --git a/proto/DALLDMAANFE.proto b/proto/DALLDMAANFE.proto
new file mode 100644
index 00000000..6484e371
--- /dev/null
+++ b/proto/DALLDMAANFE.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "Vector.proto";
+
+message DALLDMAANFE {
+ uint32 entityId = 7;
+ Vector skillAnchorPosition = 9;
+}
diff --git a/proto/DBIBEJBEOEE.proto b/proto/DBIBEJBEOEE.proto
new file mode 100644
index 00000000..7a31ba8c
--- /dev/null
+++ b/proto/DBIBEJBEOEE.proto
@@ -0,0 +1,13 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "EIEBDOJCDBH.proto";
+
+message DBIBEJBEOEE {
+ string createTime = 1;
+ int32 daehjagbjbl = 2;
+ EIEBDOJCDBH jkfdibhoggm = 3;
+}
diff --git a/proto/DENJLLKHOMJ.proto b/proto/DENJLLKHOMJ.proto
new file mode 100644
index 00000000..75b80826
--- /dev/null
+++ b/proto/DENJLLKHOMJ.proto
@@ -0,0 +1,13 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "Vector.proto";
+
+message DENJLLKHOMJ {
+ Vector eknhofiihcl = 7;
+ uint32 entityId = 13;
+ Vector boedpkfedkp = 9;
+}
diff --git a/proto/DEOFBFHGCBD.proto b/proto/DEOFBFHGCBD.proto
new file mode 100644
index 00000000..33edb5f0
--- /dev/null
+++ b/proto/DEOFBFHGCBD.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message DEOFBFHGCBD {
+ bool gkdhighenkl = 9;
+ float bomgjkinedc = 2;
+}
diff --git a/proto/DFAIPJMKBCC.proto b/proto/DFAIPJMKBCC.proto
new file mode 100644
index 00000000..6990197c
--- /dev/null
+++ b/proto/DFAIPJMKBCC.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GCGOperation.proto";
+
+message DFAIPJMKBCC {
+ GCGOperation op = 15;
+ uint32 controllerId = 10;
+}
diff --git a/proto/DFOIMMLICEG.proto b/proto/DFOIMMLICEG.proto
new file mode 100644
index 00000000..f2180bc1
--- /dev/null
+++ b/proto/DFOIMMLICEG.proto
@@ -0,0 +1,13 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "Vector.proto";
+
+message DFOIMMLICEG {
+ Vector pos = 7;
+ Vector mjehpphliia = 12;
+ Vector rot = 9;
+}
diff --git a/proto/DHOADHACDHA.proto b/proto/DHOADHACDHA.proto
new file mode 100644
index 00000000..3339da7e
--- /dev/null
+++ b/proto/DHOADHACDHA.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message DHOADHACDHA {
+ uint32 id = 7;
+ uint32 num = 6;
+ repeated uint32 type = 1;
+}
diff --git a/proto/DJLDJFDPBEI.proto b/proto/DJLDJFDPBEI.proto
new file mode 100644
index 00000000..bfcd28e7
--- /dev/null
+++ b/proto/DJLDJFDPBEI.proto
@@ -0,0 +1,15 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+enum DJLDJFDPBEI {
+ DJLDJFDPBEI_NONE = 0;
+ CDFMIMCCFKH = 1;
+ FIIEHMIEFKF = 2;
+ EFEBEKMCOAN = 3;
+ GNPNHKCKDHL = 4;
+ DIHJPJCKIAP = 5;
+ JJOIEEDMABA = 6;
+}
diff --git a/proto/DJOOIPGJPFC.proto b/proto/DJOOIPGJPFC.proto
new file mode 100644
index 00000000..16c2734d
--- /dev/null
+++ b/proto/DJOOIPGJPFC.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "AbilityString.proto";
+
+message DJOOIPGJPFC {
+ float value = 14;
+ AbilityString key = 8;
+}
diff --git a/proto/DKCAEHHPAGD.proto b/proto/DKCAEHHPAGD.proto
new file mode 100644
index 00000000..7f51f7c6
--- /dev/null
+++ b/proto/DKCAEHHPAGD.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "EFJNIGDJCLH.proto";
+
+message DKCAEHHPAGD {
+ repeated EFJNIGDJCLH blnaldeiekj = 1;
+ string createTime = 2;
+}
diff --git a/proto/DKMDNEAEGDF.proto b/proto/DKMDNEAEGDF.proto
new file mode 100644
index 00000000..bb886735
--- /dev/null
+++ b/proto/DKMDNEAEGDF.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message DKMDNEAEGDF {
+ //enum HGNBEDAOKOC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 166;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 clientGameTime = 14;
+ uint32 gameTime = 15;
+ int32 retcode = 12;
+}
diff --git a/proto/DMIOGBOGIEG.proto b/proto/DMIOGBOGIEG.proto
new file mode 100644
index 00000000..225a62e4
--- /dev/null
+++ b/proto/DMIOGBOGIEG.proto
@@ -0,0 +1,15 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "NAMOHGAFBJP.proto";
+
+message DMIOGBOGIEG {
+ uint32 sceneId = 11;
+ uint32 hoogfkfbckk = 15;
+ repeated NAMOHGAFBJP idgelpihkph = 5;
+ uint32 moduleId = 13;
+ uint32 version = 9;
+}
diff --git a/proto/DNEFMCCIFDH.proto b/proto/DNEFMCCIFDH.proto
new file mode 100644
index 00000000..6fe04495
--- /dev/null
+++ b/proto/DNEFMCCIFDH.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "IDOELHBANCP.proto";
+
+message DNEFMCCIFDH {
+ bool aicefchaici = 33;
+ repeated IDOELHBANCP kcllbppiboo = 999;
+}
diff --git a/proto/DPBLIEBAKGI.proto b/proto/DPBLIEBAKGI.proto
new file mode 100644
index 00000000..d2d3605c
--- /dev/null
+++ b/proto/DPBLIEBAKGI.proto
@@ -0,0 +1,15 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "IDOELHBANCP.proto";
+
+message DPBLIEBAKGI {
+ bool oahpenjnboe = 1;
+ bool gimhlmfcojd = 2;
+ bool aicefchaici = 3;
+ bool docgilpleod = 7;
+ repeated IDOELHBANCP kcllbppiboo = 999;
+}
diff --git a/proto/DPLPLLGGJJC.proto b/proto/DPLPLLGGJJC.proto
new file mode 100644
index 00000000..f52355d8
--- /dev/null
+++ b/proto/DPLPLLGGJJC.proto
@@ -0,0 +1,15 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "BDKPJAMLNCL.proto";
+import "MEIDIANHEDD.proto";
+import "FKJCFGLHNPM.proto";
+
+message DPLPLLGGJJC {
+ BDKPJAMLNCL raceInfo = 4;
+ MEIDIANHEDD campInfo = 11;
+ FKJCFGLHNPM jpegcngalgi = 3;
+}
diff --git a/proto/DailyTaskFilterCityRsp.proto b/proto/DailyTaskFilterCityRsp.proto
index 55fab089..7a7d17ec 100644
--- a/proto/DailyTaskFilterCityRsp.proto
+++ b/proto/DailyTaskFilterCityRsp.proto
@@ -14,6 +14,5 @@ message DailyTaskFilterCityRsp {
// NNBKOLMPOEA = 1;
//}
- int32 retcode = 5;
- uint32 city_id = 15;
+ repeated uint32 cikenonelim = 15;
}
diff --git a/proto/DailyTaskScoreRewardNotify.proto b/proto/DailyTaskScoreRewardNotify.proto
new file mode 100644
index 00000000..75b907e6
--- /dev/null
+++ b/proto/DailyTaskScoreRewardNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message DailyTaskScoreRewardNotify {
+ //enum GGOENPJJPMC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 127;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 rewardId = 9;
+}
diff --git a/proto/DataResVersionNotify.proto b/proto/DataResVersionNotify.proto
new file mode 100644
index 00000000..b2261da2
--- /dev/null
+++ b/proto/DataResVersionNotify.proto
@@ -0,0 +1,28 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ResVersionConfig.proto";
+import "DataResVersionOpType.proto";
+
+message DataResVersionNotify {
+ //enum MCCFGOPDKDA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 164;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ string clientSilenceMd5 = 12;
+ string clientMd5 = 1;
+ uint32 clientDataVersion = 3;
+ string clientSilenceVersionSuffix = 15;
+ ResVersionConfig resVersionConfig = 7;
+ bool isDataNeedRelogin = 6;
+ uint32 clientSilenceDataVersion = 5;
+ DataResVersionOpType opType = 14;
+ string clientVersionSuffix = 8;
+}
diff --git a/proto/DataResVersionOpType.proto b/proto/DataResVersionOpType.proto
new file mode 100644
index 00000000..2df17a3c
--- /dev/null
+++ b/proto/DataResVersionOpType.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+enum DataResVersionOpType {
+ DATA_RES_VERSION_OP_TYPE_NONE = 0;
+ DATA_RES_VERSION_OP_TYPE_RELOGIN = 1;
+ DATA_RES_VERSION_OP_TYPE_MP_RELOGIN = 2;
+}
diff --git a/proto/DeathZoneInfo.proto b/proto/DeathZoneInfo.proto
new file mode 100644
index 00000000..abcad2e3
--- /dev/null
+++ b/proto/DeathZoneInfo.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message DeathZoneInfo {
+ bool isOpen = 15;
+ uint32 id = 6;
+}
diff --git a/proto/DeathZoneInfoNotify.proto b/proto/DeathZoneInfoNotify.proto
new file mode 100644
index 00000000..ba368a91
--- /dev/null
+++ b/proto/DeathZoneInfoNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "DeathZoneInfo.proto";
+
+message DeathZoneInfoNotify {
+ //enum OHCAJKINFPJ {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 6295;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated DeathZoneInfo deathZoneInfoList = 3;
+}
diff --git a/proto/DeathZoneObserveNotify.proto b/proto/DeathZoneObserveNotify.proto
new file mode 100644
index 00000000..6a1e8ed2
--- /dev/null
+++ b/proto/DeathZoneObserveNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message DeathZoneObserveNotify {
+ //enum GHGHPJPPIKH {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 3059;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 sourceEntityId = 5;
+ uint32 targetEntityId = 7;
+}
diff --git a/proto/DebugNotify.proto b/proto/DebugNotify.proto
new file mode 100644
index 00000000..458abeb9
--- /dev/null
+++ b/proto/DebugNotify.proto
@@ -0,0 +1,25 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+import "CmdId.proto";
+
+message DebugNotify {
+ //enum LEBINLJNBIN {
+ // option allow_alias= true;
+ // KDIIPNENMIM = 0;
+ // PEPPOHPHJOJ = 101;
+ // ANGMONKOIOA = 101;
+ // DCDNILFDFLB = 2;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ enum Retcode {
+ SUCC = 0;
+ FAIL = 1;
+ }
+
+ uint32 id = 1;
+ string name = 2;
+ CmdId retcode = 3;
+}
diff --git a/proto/DelScenePlayTeamEntityNotify.proto b/proto/DelScenePlayTeamEntityNotify.proto
new file mode 100644
index 00000000..6a4f7bc1
--- /dev/null
+++ b/proto/DelScenePlayTeamEntityNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message DelScenePlayTeamEntityNotify {
+ //enum NECOFJCADFL {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 3203;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 sceneId = 9;
+ repeated uint32 delEntityIdList = 6;
+}
diff --git a/proto/DeshretObeliskChestInfo.proto b/proto/DeshretObeliskChestInfo.proto
new file mode 100644
index 00000000..738004c6
--- /dev/null
+++ b/proto/DeshretObeliskChestInfo.proto
@@ -0,0 +1,14 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "Vector.proto";
+
+message DeshretObeliskChestInfo {
+ uint32 sceneId = 4;
+ uint32 configId = 13;
+ uint32 groupId = 11;
+ Vector pos = 10;
+}
diff --git a/proto/DeshretObeliskChestInfoNotify.proto b/proto/DeshretObeliskChestInfoNotify.proto
new file mode 100644
index 00000000..422ff61e
--- /dev/null
+++ b/proto/DeshretObeliskChestInfoNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "DeshretObeliskChestInfo.proto";
+
+message DeshretObeliskChestInfoNotify {
+ //enum ABOJDFAFAIE {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 807;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated DeshretObeliskChestInfo chestInfoList = 4;
+}
diff --git a/proto/DestroyMassiveEntityNotify.proto b/proto/DestroyMassiveEntityNotify.proto
new file mode 100644
index 00000000..4cca74a9
--- /dev/null
+++ b/proto/DestroyMassiveEntityNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ClientMassiveEntity.proto";
+
+message DestroyMassiveEntityNotify {
+ //enum NJBEJKONIMB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 383;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ repeated ClientMassiveEntity massiveEntityList = 9;
+}
diff --git a/proto/DiceReroll.proto b/proto/DiceReroll.proto
new file mode 100644
index 00000000..be9e30a9
--- /dev/null
+++ b/proto/DiceReroll.proto
@@ -0,0 +1,13 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GCGDiceSideType.proto";
+
+message DiceReroll {
+ uint32 controllerId = 8;
+ repeated GCGDiceSideType diceSideList = 7;
+ repeated uint32 selectDiceIndexList = 13;
+}
diff --git a/proto/DiceRoll.proto b/proto/DiceRoll.proto
new file mode 100644
index 00000000..50bc3140
--- /dev/null
+++ b/proto/DiceRoll.proto
@@ -0,0 +1,13 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GCGDiceSideType.proto";
+
+message DiceRoll {
+ uint32 controllerId = 8;
+ uint32 diceNum = 11;
+ repeated GCGDiceSideType diceSideList = 7;
+}
diff --git a/proto/DigActivityChangeGadgetStateReq.proto b/proto/DigActivityChangeGadgetStateReq.proto
new file mode 100644
index 00000000..fd6514a4
--- /dev/null
+++ b/proto/DigActivityChangeGadgetStateReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message DigActivityChangeGadgetStateReq {
+ //enum FFAMMHGJEKH {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8676;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 entityId = 6;
+}
diff --git a/proto/DigActivityChangeGadgetStateRsp.proto b/proto/DigActivityChangeGadgetStateRsp.proto
new file mode 100644
index 00000000..2d68a4a6
--- /dev/null
+++ b/proto/DigActivityChangeGadgetStateRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message DigActivityChangeGadgetStateRsp {
+ //enum IDNACLGGCNF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8810;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 5;
+ uint32 entityId = 14;
+}
diff --git a/proto/DigActivityMarkPointChangeNotify.proto b/proto/DigActivityMarkPointChangeNotify.proto
new file mode 100644
index 00000000..b07e6d03
--- /dev/null
+++ b/proto/DigActivityMarkPointChangeNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "DigMarkPoint.proto";
+
+message DigActivityMarkPointChangeNotify {
+ //enum PDOCNKGLODB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8508;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated DigMarkPoint digMarkPointList = 4;
+}
diff --git a/proto/DisableRoguelikeTrapNotify.proto b/proto/DisableRoguelikeTrapNotify.proto
new file mode 100644
index 00000000..b24343d3
--- /dev/null
+++ b/proto/DisableRoguelikeTrapNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message DisableRoguelikeTrapNotify {
+ //enum NCCBEODMJMC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8726;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 cardId = 8;
+}
diff --git a/proto/DoRoguelikeDungeonCardGachaReq.proto b/proto/DoRoguelikeDungeonCardGachaReq.proto
new file mode 100644
index 00000000..00625c95
--- /dev/null
+++ b/proto/DoRoguelikeDungeonCardGachaReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message DoRoguelikeDungeonCardGachaReq {
+ //enum GGEHBAGNIOK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8752;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 cellId = 13;
+ uint32 dungeonId = 6;
+}
diff --git a/proto/DoRoguelikeDungeonCardGachaRsp.proto b/proto/DoRoguelikeDungeonCardGachaRsp.proto
new file mode 100644
index 00000000..7d37d2a8
--- /dev/null
+++ b/proto/DoRoguelikeDungeonCardGachaRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message DoRoguelikeDungeonCardGachaRsp {
+ //enum KDEHOIKFNNB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8820;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ bool isCanRefresh = 7;
+ int32 retcode = 15;
+ repeated uint32 cardList = 8;
+}
diff --git a/proto/DraftGuestReplyInviteNotify.proto b/proto/DraftGuestReplyInviteNotify.proto
new file mode 100644
index 00000000..83c297c7
--- /dev/null
+++ b/proto/DraftGuestReplyInviteNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message DraftGuestReplyInviteNotify {
+ //enum MFEGBELFGPP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5470;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 guestUid = 13;
+ uint32 draftId = 15;
+ bool isAgree = 7;
+}
diff --git a/proto/DraftGuestReplyInviteReq.proto b/proto/DraftGuestReplyInviteReq.proto
new file mode 100644
index 00000000..59561b6f
--- /dev/null
+++ b/proto/DraftGuestReplyInviteReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message DraftGuestReplyInviteReq {
+ //enum PBDFCHILMPK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5474;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ bool isAgree = 13;
+ uint32 draftId = 10;
+}
diff --git a/proto/DraftGuestReplyInviteRsp.proto b/proto/DraftGuestReplyInviteRsp.proto
new file mode 100644
index 00000000..626ac293
--- /dev/null
+++ b/proto/DraftGuestReplyInviteRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message DraftGuestReplyInviteRsp {
+ //enum NNJLOPDFBFK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5480;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 draftId = 4;
+ bool isAgree = 7;
+ int32 retcode = 2;
+}
diff --git a/proto/DraftGuestReplyTwiceConfirmNotify.proto b/proto/DraftGuestReplyTwiceConfirmNotify.proto
new file mode 100644
index 00000000..3144d530
--- /dev/null
+++ b/proto/DraftGuestReplyTwiceConfirmNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message DraftGuestReplyTwiceConfirmNotify {
+ //enum MOKKGEHPGJK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5416;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ bool isAgree = 5;
+ uint32 draftId = 6;
+ uint32 guestUid = 11;
+}
diff --git a/proto/DraftGuestReplyTwiceConfirmReq.proto b/proto/DraftGuestReplyTwiceConfirmReq.proto
new file mode 100644
index 00000000..e9bf271e
--- /dev/null
+++ b/proto/DraftGuestReplyTwiceConfirmReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message DraftGuestReplyTwiceConfirmReq {
+ //enum ICCGBEDAJPE {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5424;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ bool isAgree = 10;
+ uint32 draftId = 11;
+}
diff --git a/proto/DraftGuestReplyTwiceConfirmRsp.proto b/proto/DraftGuestReplyTwiceConfirmRsp.proto
new file mode 100644
index 00000000..ab0b6595
--- /dev/null
+++ b/proto/DraftGuestReplyTwiceConfirmRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message DraftGuestReplyTwiceConfirmRsp {
+ //enum DILHBEBBNHC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5429;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 3;
+ bool isAgree = 5;
+ uint32 draftId = 15;
+}
diff --git a/proto/DraftInviteFailInfo.proto b/proto/DraftInviteFailInfo.proto
new file mode 100644
index 00000000..86f6ccd9
--- /dev/null
+++ b/proto/DraftInviteFailInfo.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "DraftInviteFailReason.proto";
+
+message DraftInviteFailInfo {
+ DraftInviteFailReason reason = 9;
+ uint32 uid = 1;
+}
diff --git a/proto/DraftInviteFailReason.proto b/proto/DraftInviteFailReason.proto
new file mode 100644
index 00000000..21527d73
--- /dev/null
+++ b/proto/DraftInviteFailReason.proto
@@ -0,0 +1,14 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+enum DraftInviteFailReason {
+ DRAFT_INVITE_FAIL_REASON_UNKNOWN = 0;
+ DRAFT_INVITE_FAIL_REASON_ACTIVITY_NOT_OPEN = 1;
+ DRAFT_INVITE_FAIL_REASON_ACTIVITY_PLAY_NOT_OPEN = 2;
+ DRAFT_INVITE_FAIL_REASON_SCENE_NOT_MEET = 3;
+ DRAFT_INVITE_FAIL_REASON_WORLD_NOT_MEET = 4;
+ DRAFT_INVITE_FAIL_REASON_PLAY_LIMIT_NOT_MEET = 5;
+}
diff --git a/proto/DraftInviteResultNotify.proto b/proto/DraftInviteResultNotify.proto
new file mode 100644
index 00000000..d10fe7be
--- /dev/null
+++ b/proto/DraftInviteResultNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message DraftInviteResultNotify {
+ //enum KELFMBPAIKI {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5462;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ bool isAllAgree = 1;
+ uint32 draftId = 5;
+}
diff --git a/proto/DraftOwnerInviteNotify.proto b/proto/DraftOwnerInviteNotify.proto
new file mode 100644
index 00000000..3d192241
--- /dev/null
+++ b/proto/DraftOwnerInviteNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message DraftOwnerInviteNotify {
+ //enum GDCHMFMAEGI {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5420;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 draftId = 9;
+ uint32 inviteDeadlineTime = 1;
+}
diff --git a/proto/DraftOwnerStartInviteReq.proto b/proto/DraftOwnerStartInviteReq.proto
new file mode 100644
index 00000000..7f0909c8
--- /dev/null
+++ b/proto/DraftOwnerStartInviteReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message DraftOwnerStartInviteReq {
+ //enum JLCKFEKJMDG {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5487;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 draftId = 1;
+}
diff --git a/proto/DraftOwnerStartInviteRsp.proto b/proto/DraftOwnerStartInviteRsp.proto
new file mode 100644
index 00000000..a6c42432
--- /dev/null
+++ b/proto/DraftOwnerStartInviteRsp.proto
@@ -0,0 +1,23 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "DraftInviteFailInfo.proto";
+
+message DraftOwnerStartInviteRsp {
+ //enum KNMCBAGKHHM {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5498;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ repeated DraftInviteFailInfo inviteFailInfoList = 6;
+ int32 retcode = 11;
+ uint32 draftId = 9;
+ uint32 wrongUid = 15;
+}
diff --git a/proto/DraftOwnerTwiceConfirmNotify.proto b/proto/DraftOwnerTwiceConfirmNotify.proto
new file mode 100644
index 00000000..357b9bb5
--- /dev/null
+++ b/proto/DraftOwnerTwiceConfirmNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message DraftOwnerTwiceConfirmNotify {
+ //enum APMIOPBAHIP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5414;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 draftId = 15;
+ uint32 twiceConfirmDeadlineTime = 7;
+}
diff --git a/proto/DraftTwiceConfirmResultNotify.proto b/proto/DraftTwiceConfirmResultNotify.proto
new file mode 100644
index 00000000..11ab4c9d
--- /dev/null
+++ b/proto/DraftTwiceConfirmResultNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message DraftTwiceConfirmResultNotify {
+ //enum LEBGFMOMICL {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5478;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ bool isAllAgree = 15;
+ uint32 draftId = 7;
+}
diff --git a/proto/DragonSpineChapterFinishNotify.proto b/proto/DragonSpineChapterFinishNotify.proto
new file mode 100644
index 00000000..39f253c1
--- /dev/null
+++ b/proto/DragonSpineChapterFinishNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message DragonSpineChapterFinishNotify {
+ //enum FHHHLJNDHLK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2132;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 scheduleId = 5;
+ uint32 weaponEnhanceLevel = 2;
+ uint32 chapterId = 9;
+}
diff --git a/proto/DragonSpineChapterOpenNotify.proto b/proto/DragonSpineChapterOpenNotify.proto
new file mode 100644
index 00000000..3140d855
--- /dev/null
+++ b/proto/DragonSpineChapterOpenNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message DragonSpineChapterOpenNotify {
+ //enum HNFIEEJIJHJ {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2037;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 chapterId = 10;
+ uint32 scheduleId = 8;
+}
diff --git a/proto/DragonSpineChapterProgressChangeNotify.proto b/proto/DragonSpineChapterProgressChangeNotify.proto
new file mode 100644
index 00000000..338bd56a
--- /dev/null
+++ b/proto/DragonSpineChapterProgressChangeNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message DragonSpineChapterProgressChangeNotify {
+ //enum CGACJMNBCBA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2086;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 chapterId = 8;
+ uint32 curProgress = 5;
+ uint32 scheduleId = 15;
+}
diff --git a/proto/DragonSpineCoinChangeNotify.proto b/proto/DragonSpineCoinChangeNotify.proto
new file mode 100644
index 00000000..bb6a7b5e
--- /dev/null
+++ b/proto/DragonSpineCoinChangeNotify.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message DragonSpineCoinChangeNotify {
+ //enum FNJPMJCMKPB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2067;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 Unk3300_FOHJDGCAKEK = 7;
+ uint32 scheduleId = 14;
+ uint32 Unk3300_IMLKIJAOADF = 1;
+ uint32 Unk3300_NEOCMGJCEOJ = 5;
+}
diff --git a/proto/Duel.proto b/proto/Duel.proto
new file mode 100644
index 00000000..40e9a8f3
--- /dev/null
+++ b/proto/Duel.proto
@@ -0,0 +1,39 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GCGCostReviseInfo.proto";
+import "GCGGameBusinessType.proto";
+import "GCGPhase.proto";
+import "GCGCard.proto";
+import "GCGMessagePack.proto";
+import "GCGControllerShowInfo.proto";
+import "Unk3300_ADHENCIFKNI.proto";
+import "GCGPVEIntention.proto";
+import "GCGPlayerField.proto";
+import "GCGDuelChallenge.proto";
+
+message Duel {
+ repeated GCGCard cardList = 1;
+ uint32 Unk3300_JHDDNKFPINA = 5;
+ repeated uint32 forbidFinishChallengeList = 1985;
+ repeated GCGCard historyCardList = 1326;
+ repeated GCGMessagePack historyMsgPackList = 1636;
+ uint32 Unk3300_BIANMOPDEHO = 14;
+ repeated GCGControllerShowInfo showInfoList = 10;
+ repeated Unk3300_ADHENCIFKNI Unk3300_CDCMBOKBLAK = 1950;
+ repeated GCGPVEIntention intentionList = 15;
+ GCGCostReviseInfo costRevise = 6;
+ uint32 controllerId = 2;
+ repeated GCGPlayerField fieldList = 3;
+ GCGGameBusinessType businessType = 7;
+ GCGPhase phase = 8;
+ repeated GCGDuelChallenge challengeList = 37;
+ repeated uint32 cardIdList = 12;
+ uint32 serverSeq = 11;
+ uint32 round = 4;
+ uint32 gameId = 9;
+ uint32 Unk3300_JBBMBKGOONO = 13;
+}
diff --git a/proto/DuelDataChange.proto b/proto/DuelDataChange.proto
new file mode 100644
index 00000000..2af71317
--- /dev/null
+++ b/proto/DuelDataChange.proto
@@ -0,0 +1,10 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message DuelDataChange {
+ uint32 round = 8;
+}
diff --git a/proto/DuelHeartCgEndNotify.proto b/proto/DuelHeartCgEndNotify.proto
new file mode 100644
index 00000000..18fdef53
--- /dev/null
+++ b/proto/DuelHeartCgEndNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message DuelHeartCgEndNotify {
+ //enum ACIAFBKGECB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 20166;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+}
diff --git a/proto/DuelHeartEnterDungeonReq.proto b/proto/DuelHeartEnterDungeonReq.proto
new file mode 100644
index 00000000..e356c648
--- /dev/null
+++ b/proto/DuelHeartEnterDungeonReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message DuelHeartEnterDungeonReq {
+ //enum DHEJCFIKBCL {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 23310;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 levelId = 13;
+}
diff --git a/proto/DuelHeartEnterDungeonRsp.proto b/proto/DuelHeartEnterDungeonRsp.proto
new file mode 100644
index 00000000..259e9a8a
--- /dev/null
+++ b/proto/DuelHeartEnterDungeonRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message DuelHeartEnterDungeonRsp {
+ //enum JKGELIPJMOD {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 22551;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 14;
+}
diff --git a/proto/DuelHeartRestartDungeonReq.proto b/proto/DuelHeartRestartDungeonReq.proto
new file mode 100644
index 00000000..a85a0d3e
--- /dev/null
+++ b/proto/DuelHeartRestartDungeonReq.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message DuelHeartRestartDungeonReq {
+ //enum MDMJNFMIGFD {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 21530;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+}
diff --git a/proto/DuelHeartRestartDungeonRsp.proto b/proto/DuelHeartRestartDungeonRsp.proto
new file mode 100644
index 00000000..ca34df87
--- /dev/null
+++ b/proto/DuelHeartRestartDungeonRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message DuelHeartRestartDungeonRsp {
+ //enum IKGKHMFBPBO {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 22153;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 5;
+}
diff --git a/proto/DuelHeartSelectDifficultyReq.proto b/proto/DuelHeartSelectDifficultyReq.proto
new file mode 100644
index 00000000..518562e2
--- /dev/null
+++ b/proto/DuelHeartSelectDifficultyReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message DuelHeartSelectDifficultyReq {
+ //enum PPBLCFIDCFN {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 23596;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 difficulty = 2;
+}
diff --git a/proto/DuelHeartSelectDifficultyRsp.proto b/proto/DuelHeartSelectDifficultyRsp.proto
new file mode 100644
index 00000000..35887ecb
--- /dev/null
+++ b/proto/DuelHeartSelectDifficultyRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message DuelHeartSelectDifficultyRsp {
+ //enum KPFDDJIABAD {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 21405;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 8;
+}
diff --git a/proto/DuelHeartSettleNotify.proto b/proto/DuelHeartSettleNotify.proto
new file mode 100644
index 00000000..58894553
--- /dev/null
+++ b/proto/DuelHeartSettleNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message DuelHeartSettleNotify {
+ //enum DCPKPJOKOHK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 20655;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ bool isNewRecord = 4;
+ bool isSucc = 5;
+ uint32 costTime = 1;
+}
diff --git a/proto/DungeonCandidateTeamAvatar.proto b/proto/DungeonCandidateTeamAvatar.proto
new file mode 100644
index 00000000..6dd23744
--- /dev/null
+++ b/proto/DungeonCandidateTeamAvatar.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "AvatarInfo.proto";
+
+message DungeonCandidateTeamAvatar {
+ uint32 playerUid = 5;
+ AvatarInfo avatarInfo = 8;
+}
diff --git a/proto/DungeonCandidateTeamCreateReq.proto b/proto/DungeonCandidateTeamCreateReq.proto
new file mode 100644
index 00000000..e9ba2b59
--- /dev/null
+++ b/proto/DungeonCandidateTeamCreateReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message DungeonCandidateTeamCreateReq {
+ //enum FOPCKCAPOLG {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 945;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 dungeonId = 8;
+ uint32 pointId = 12;
+}
diff --git a/proto/DungeonCandidateTeamCreateRsp.proto b/proto/DungeonCandidateTeamCreateRsp.proto
new file mode 100644
index 00000000..a63e9fe0
--- /dev/null
+++ b/proto/DungeonCandidateTeamCreateRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message DungeonCandidateTeamCreateRsp {
+ //enum LNHBJKPDCHB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 985;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 12;
+}
diff --git a/proto/DungeonCandidateTeamDismissNotify.proto b/proto/DungeonCandidateTeamDismissNotify.proto
new file mode 100644
index 00000000..22e66b5a
--- /dev/null
+++ b/proto/DungeonCandidateTeamDismissNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "DungeonCandidateTeamPlayerDismissReason.proto";
+
+message DungeonCandidateTeamDismissNotify {
+ //enum HFEANILHKJP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 922;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 playerUid = 3;
+ DungeonCandidateTeamPlayerDismissReason reason = 4;
+}
diff --git a/proto/DungeonCandidateTeamInfoNotify.proto b/proto/DungeonCandidateTeamInfoNotify.proto
new file mode 100644
index 00000000..6a1136ad
--- /dev/null
+++ b/proto/DungeonCandidateTeamInfoNotify.proto
@@ -0,0 +1,24 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "DungeonCandidateTeamAvatar.proto";
+import "DungeonCandidateTeamPlayerState.proto";
+
+message DungeonCandidateTeamInfoNotify {
+ //enum DBHENGJMANB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 918;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 dungeonId = 9;
+ repeated DungeonCandidateTeamAvatar avatarList = 8;
+ repeated uint32 readyPlayerUid = 11;
+ uint32 matchType = 2;
+ map playerStateMap = 15;
+}
diff --git a/proto/DungeonCandidateTeamInviteNotify.proto b/proto/DungeonCandidateTeamInviteNotify.proto
new file mode 100644
index 00000000..045f68b5
--- /dev/null
+++ b/proto/DungeonCandidateTeamInviteNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message DungeonCandidateTeamInviteNotify {
+ //enum HODGCDLNFPG {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 975;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 dungeonId = 15;
+ uint32 playerUid = 9;
+ uint32 validDeadlineTimeSec = 4;
+}
diff --git a/proto/DungeonCandidateTeamInviteReq.proto b/proto/DungeonCandidateTeamInviteReq.proto
new file mode 100644
index 00000000..c4117b45
--- /dev/null
+++ b/proto/DungeonCandidateTeamInviteReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message DungeonCandidateTeamInviteReq {
+ //enum OOHLDBKPHDC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 951;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ repeated uint32 playerUids = 11;
+}
diff --git a/proto/DungeonCandidateTeamInviteRsp.proto b/proto/DungeonCandidateTeamInviteRsp.proto
new file mode 100644
index 00000000..5e95cbba
--- /dev/null
+++ b/proto/DungeonCandidateTeamInviteRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message DungeonCandidateTeamInviteRsp {
+ //enum ALIACMCCKPP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 942;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated uint32 invalidPlayerUids = 4;
+ int32 retcode = 13;
+}
diff --git a/proto/DungeonCandidateTeamKickReq.proto b/proto/DungeonCandidateTeamKickReq.proto
new file mode 100644
index 00000000..a8d3479e
--- /dev/null
+++ b/proto/DungeonCandidateTeamKickReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message DungeonCandidateTeamKickReq {
+ //enum ICKNJIBDCMK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 950;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 playerUid = 14;
+}
diff --git a/proto/DungeonCandidateTeamKickRsp.proto b/proto/DungeonCandidateTeamKickRsp.proto
new file mode 100644
index 00000000..1879262e
--- /dev/null
+++ b/proto/DungeonCandidateTeamKickRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message DungeonCandidateTeamKickRsp {
+ //enum OIINDECIBLD {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 930;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 13;
+}
diff --git a/proto/DungeonCandidateTeamLeaveReq.proto b/proto/DungeonCandidateTeamLeaveReq.proto
new file mode 100644
index 00000000..f598ef77
--- /dev/null
+++ b/proto/DungeonCandidateTeamLeaveReq.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message DungeonCandidateTeamLeaveReq {
+ //enum NDONFCCLECL {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 943;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+}
diff --git a/proto/DungeonCandidateTeamLeaveRsp.proto b/proto/DungeonCandidateTeamLeaveRsp.proto
new file mode 100644
index 00000000..def20b6b
--- /dev/null
+++ b/proto/DungeonCandidateTeamLeaveRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message DungeonCandidateTeamLeaveRsp {
+ //enum GLCANOEGILM {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 935;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 2;
+}
diff --git a/proto/DungeonCandidateTeamPlayerDismissReason.proto b/proto/DungeonCandidateTeamPlayerDismissReason.proto
new file mode 100644
index 00000000..d7e49c94
--- /dev/null
+++ b/proto/DungeonCandidateTeamPlayerDismissReason.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+enum DungeonCandidateTeamPlayerDismissReason {
+ DUNGEON_CANDIDATE_TEAM_PLAYER_DISMISS_REASON_TPDR_NORMAL = 0;
+ DUNGEON_CANDIDATE_TEAM_PLAYER_DISMISS_REASON_TPDR_DIE = 1;
+ DUNGEON_CANDIDATE_TEAM_PLAYER_DISMISS_REASON_TPDR_DISCONNECT = 2;
+}
diff --git a/proto/DungeonCandidateTeamPlayerLeaveNotify.proto b/proto/DungeonCandidateTeamPlayerLeaveNotify.proto
new file mode 100644
index 00000000..bd3bdf5f
--- /dev/null
+++ b/proto/DungeonCandidateTeamPlayerLeaveNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "DungeonCandidateTeamPlayerLeaveReason.proto";
+
+message DungeonCandidateTeamPlayerLeaveNotify {
+ //enum GBCDMANHHJE {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 973;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ DungeonCandidateTeamPlayerLeaveReason reason = 2;
+ uint32 playerUid = 12;
+}
diff --git a/proto/DungeonCandidateTeamPlayerLeaveReason.proto b/proto/DungeonCandidateTeamPlayerLeaveReason.proto
new file mode 100644
index 00000000..cada52ee
--- /dev/null
+++ b/proto/DungeonCandidateTeamPlayerLeaveReason.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+enum DungeonCandidateTeamPlayerLeaveReason {
+ DUNGEON_CANDIDATE_TEAM_PLAYER_LEAVE_REASON_TPLR_NORMAL = 0;
+ DUNGEON_CANDIDATE_TEAM_PLAYER_LEAVE_REASON_TPLR_DIE = 1;
+ DUNGEON_CANDIDATE_TEAM_PLAYER_LEAVE_REASON_TPLR_BE_KICK = 2;
+ DUNGEON_CANDIDATE_TEAM_PLAYER_LEAVE_REASON_TPLR_DISCONNECT = 3;
+}
diff --git a/proto/DungeonCandidateTeamPlayerState.proto b/proto/DungeonCandidateTeamPlayerState.proto
new file mode 100644
index 00000000..22a85f3d
--- /dev/null
+++ b/proto/DungeonCandidateTeamPlayerState.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+enum DungeonCandidateTeamPlayerState {
+ DUNGEON_CANDIDATE_TEAM_PLAYER_STATE_IDLE = 0;
+ DUNGEON_CANDIDATE_TEAM_PLAYER_STATE_CHANGING_AV_ATAR = 1;
+ DUNGEON_CANDIDATE_TEAM_PLAYER_STATE_READY = 2;
+}
diff --git a/proto/DungeonCandidateTeamRefuseNotify.proto b/proto/DungeonCandidateTeamRefuseNotify.proto
new file mode 100644
index 00000000..43f9c341
--- /dev/null
+++ b/proto/DungeonCandidateTeamRefuseNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message DungeonCandidateTeamRefuseNotify {
+ //enum PGLCDOFPPOP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 928;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 playerUid = 10;
+}
diff --git a/proto/DungeonCandidateTeamReplyInviteReq.proto b/proto/DungeonCandidateTeamReplyInviteReq.proto
new file mode 100644
index 00000000..aea26608
--- /dev/null
+++ b/proto/DungeonCandidateTeamReplyInviteReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message DungeonCandidateTeamReplyInviteReq {
+ //enum IPHFJLNEGHL {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 907;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ bool isAccept = 3;
+}
diff --git a/proto/DungeonCandidateTeamReplyInviteRsp.proto b/proto/DungeonCandidateTeamReplyInviteRsp.proto
new file mode 100644
index 00000000..a1e77d89
--- /dev/null
+++ b/proto/DungeonCandidateTeamReplyInviteRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message DungeonCandidateTeamReplyInviteRsp {
+ //enum MGFIHEDCGOJ {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 952;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ bool isTransPoint = 2;
+ int32 retcode = 1;
+}
diff --git a/proto/DungeonCandidateTeamSetChangingAvatarReq.proto b/proto/DungeonCandidateTeamSetChangingAvatarReq.proto
new file mode 100644
index 00000000..658e5a70
--- /dev/null
+++ b/proto/DungeonCandidateTeamSetChangingAvatarReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message DungeonCandidateTeamSetChangingAvatarReq {
+ //enum MCOGCNOEKLM {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 937;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ bool isChangingAvatar = 4;
+}
diff --git a/proto/DungeonCandidateTeamSetChangingAvatarRsp.proto b/proto/DungeonCandidateTeamSetChangingAvatarRsp.proto
new file mode 100644
index 00000000..414e36c8
--- /dev/null
+++ b/proto/DungeonCandidateTeamSetChangingAvatarRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message DungeonCandidateTeamSetChangingAvatarRsp {
+ //enum BOLLLGFBBCI {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 984;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 10;
+}
diff --git a/proto/DungeonCandidateTeamSetReadyReq.proto b/proto/DungeonCandidateTeamSetReadyReq.proto
new file mode 100644
index 00000000..935f0fe5
--- /dev/null
+++ b/proto/DungeonCandidateTeamSetReadyReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message DungeonCandidateTeamSetReadyReq {
+ //enum OPODDEPOOFE {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 903;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ bool isReady = 1;
+}
diff --git a/proto/DungeonCandidateTeamSetReadyRsp.proto b/proto/DungeonCandidateTeamSetReadyRsp.proto
new file mode 100644
index 00000000..1caa3a14
--- /dev/null
+++ b/proto/DungeonCandidateTeamSetReadyRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message DungeonCandidateTeamSetReadyRsp {
+ //enum OFCNMNMKDIL {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 953;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 2;
+}
diff --git a/proto/DungeonDataNotify.proto b/proto/DungeonDataNotify.proto
new file mode 100644
index 00000000..59b869c5
--- /dev/null
+++ b/proto/DungeonDataNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message DungeonDataNotify {
+ //enum NGHIOIPHHIA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 906;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ map dungeonDataMap = 6;
+}
diff --git a/proto/DungeonDieOptionReq.proto b/proto/DungeonDieOptionReq.proto
new file mode 100644
index 00000000..d9822f67
--- /dev/null
+++ b/proto/DungeonDieOptionReq.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "PlayerDieOption.proto";
+
+message DungeonDieOptionReq {
+ //enum LFBCHPDCDDJ {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 929;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ PlayerDieOption dieOption = 3;
+ bool isQuitImmediately = 11;
+}
diff --git a/proto/DungeonDieOptionRsp.proto b/proto/DungeonDieOptionRsp.proto
new file mode 100644
index 00000000..e74464c6
--- /dev/null
+++ b/proto/DungeonDieOptionRsp.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "PlayerDieOption.proto";
+
+message DungeonDieOptionRsp {
+ //enum EKKHFALCGCJ {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 978;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 15;
+ PlayerDieOption dieOption = 4;
+ uint32 reviveCount = 10;
+}
diff --git a/proto/DungeonEntryBlockReason.proto b/proto/DungeonEntryBlockReason.proto
new file mode 100644
index 00000000..a3dee7ca
--- /dev/null
+++ b/proto/DungeonEntryBlockReason.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+enum DungeonEntryBlockReason {
+ DUNGEON_ENTRY_BLOCK_REASON_NONE = 0;
+ DUNGEON_ENTRY_BLOCK_REASON_LEVEL = 1;
+ DUNGEON_ENTRY_BLOCK_REASON_QUEST = 2;
+ DUNGEON_ENTRY_BLOCK_REASON_MULTIPLE = 3;
+}
diff --git a/proto/DungeonEntryCond.proto b/proto/DungeonEntryCond.proto
new file mode 100644
index 00000000..1c61af88
--- /dev/null
+++ b/proto/DungeonEntryCond.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "DungeonEntryBlockReason.proto";
+
+message DungeonEntryCond {
+ DungeonEntryBlockReason condReason = 14;
+ uint32 param1 = 12;
+}
diff --git a/proto/DungeonEntryToBeExploreNotify.proto b/proto/DungeonEntryToBeExploreNotify.proto
new file mode 100644
index 00000000..8aa18d5f
--- /dev/null
+++ b/proto/DungeonEntryToBeExploreNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message DungeonEntryToBeExploreNotify {
+ //enum KNJKHGDNHID {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 3446;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 sceneId = 9;
+ uint32 dungeonEntryScenePointId = 6;
+ uint32 dungeonEntryConfigId = 4;
+}
diff --git a/proto/DungeonFollowNotify.proto b/proto/DungeonFollowNotify.proto
new file mode 100644
index 00000000..fa3cfc94
--- /dev/null
+++ b/proto/DungeonFollowNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message DungeonFollowNotify {
+ //enum CLEIEEBDJNI {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 992;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 targetUid = 9;
+}
diff --git a/proto/DungeonGetStatueDropReq.proto b/proto/DungeonGetStatueDropReq.proto
new file mode 100644
index 00000000..0a881d0a
--- /dev/null
+++ b/proto/DungeonGetStatueDropReq.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message DungeonGetStatueDropReq {
+ //enum JCNBHFJPNCL {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 988;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+}
diff --git a/proto/DungeonGetStatueDropRsp.proto b/proto/DungeonGetStatueDropRsp.proto
new file mode 100644
index 00000000..470ae61e
--- /dev/null
+++ b/proto/DungeonGetStatueDropRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message DungeonGetStatueDropRsp {
+ //enum MOJDOMCKKAA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 925;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 14;
+}
diff --git a/proto/DungeonInterruptChallengeReq.proto b/proto/DungeonInterruptChallengeReq.proto
new file mode 100644
index 00000000..5940d497
--- /dev/null
+++ b/proto/DungeonInterruptChallengeReq.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message DungeonInterruptChallengeReq {
+ //enum FPKAOOCIPDI {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 927;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 groupId = 13;
+ uint32 challengeId = 1;
+ uint32 challengeIndex = 11;
+}
diff --git a/proto/DungeonInterruptChallengeRsp.proto b/proto/DungeonInterruptChallengeRsp.proto
new file mode 100644
index 00000000..a0c0c9e8
--- /dev/null
+++ b/proto/DungeonInterruptChallengeRsp.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message DungeonInterruptChallengeRsp {
+ //enum CLOMHHDDPLI {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 963;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 groupId = 7;
+ uint32 challengeId = 10;
+ uint32 challengeIndex = 3;
+ int32 retcode = 13;
+}
diff --git a/proto/DungeonPlayerDieNotify.proto b/proto/DungeonPlayerDieNotify.proto
new file mode 100644
index 00000000..ef98181d
--- /dev/null
+++ b/proto/DungeonPlayerDieNotify.proto
@@ -0,0 +1,29 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "PlayerDieType.proto";
+import "StrengthenPointData.proto";
+
+message DungeonPlayerDieNotify {
+ //enum MFAFMCMKDDB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 924;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ PlayerDieType dieType = 15;
+ uint32 murdererEntityId = 5;
+ uint32 waitTime = 3;
+ map strengthenPointDataMap = 12;
+ uint32 reviveCount = 8;
+ oneof entity {
+ uint32 monster_id = 10;
+ uint32 gadget_id = 7;
+ }
+ uint32 dungeonId = 6;
+}
diff --git a/proto/DungeonPlayerDieReq.proto b/proto/DungeonPlayerDieReq.proto
new file mode 100644
index 00000000..32ebcacb
--- /dev/null
+++ b/proto/DungeonPlayerDieReq.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "PlayerDieType.proto";
+
+message DungeonPlayerDieReq {
+ //enum MAHLGPOEAMD {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 913;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 dungeonId = 14;
+ PlayerDieType dieType = 1;
+}
diff --git a/proto/DungeonPlayerDieRsp.proto b/proto/DungeonPlayerDieRsp.proto
new file mode 100644
index 00000000..d552392b
--- /dev/null
+++ b/proto/DungeonPlayerDieRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message DungeonPlayerDieRsp {
+ //enum CGFJGGMFKLA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 969;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 14;
+}
diff --git a/proto/DungeonRestartInviteNotify.proto b/proto/DungeonRestartInviteNotify.proto
new file mode 100644
index 00000000..e6318245
--- /dev/null
+++ b/proto/DungeonRestartInviteNotify.proto
@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message DungeonRestartInviteNotify {
+ //enum GAKFHACEJCA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 990;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 cd = 11;
+ uint32 playerUid = 1;
+ uint32 dungeonId = 7;
+ uint32 pointId = 14;
+}
diff --git a/proto/DungeonRestartInviteReplyNotify.proto b/proto/DungeonRestartInviteReplyNotify.proto
new file mode 100644
index 00000000..e5d4d030
--- /dev/null
+++ b/proto/DungeonRestartInviteReplyNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message DungeonRestartInviteReplyNotify {
+ //enum NJIFOEPPIGA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 967;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ bool isAccept = 8;
+ uint32 playerUid = 1;
+}
diff --git a/proto/DungeonRestartInviteReplyReq.proto b/proto/DungeonRestartInviteReplyReq.proto
new file mode 100644
index 00000000..8719e5d3
--- /dev/null
+++ b/proto/DungeonRestartInviteReplyReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message DungeonRestartInviteReplyReq {
+ //enum JDJIKAOJOIE {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 954;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ bool isAccept = 1;
+}
diff --git a/proto/DungeonRestartInviteReplyRsp.proto b/proto/DungeonRestartInviteReplyRsp.proto
new file mode 100644
index 00000000..c03ef60e
--- /dev/null
+++ b/proto/DungeonRestartInviteReplyRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message DungeonRestartInviteReplyRsp {
+ //enum GGNKAFEAOMG {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 995;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ bool isTransPoint = 14;
+ bool isAccept = 9;
+ int32 retcode = 5;
+}
diff --git a/proto/DungeonRestartReq.proto b/proto/DungeonRestartReq.proto
new file mode 100644
index 00000000..fa17de90
--- /dev/null
+++ b/proto/DungeonRestartReq.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message DungeonRestartReq {
+ //enum HGECHMICOKP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 915;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+}
diff --git a/proto/DungeonRestartResultNotify.proto b/proto/DungeonRestartResultNotify.proto
new file mode 100644
index 00000000..b47b9d9a
--- /dev/null
+++ b/proto/DungeonRestartResultNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message DungeonRestartResultNotify {
+ //enum PMANCBLLHHM {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 901;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ bool isAddAccept = 11;
+}
diff --git a/proto/DungeonRestartRsp.proto b/proto/DungeonRestartRsp.proto
new file mode 100644
index 00000000..85211237
--- /dev/null
+++ b/proto/DungeonRestartRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message DungeonRestartRsp {
+ //enum JKBHGPBACPD {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 956;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 dungeonId = 6;
+ int32 retcode = 4;
+ uint32 pointId = 1;
+}
diff --git a/proto/DungeonReviseLevelNotify.proto b/proto/DungeonReviseLevelNotify.proto
new file mode 100644
index 00000000..b01f61ea
--- /dev/null
+++ b/proto/DungeonReviseLevelNotify.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message DungeonReviseLevelNotify {
+ //enum FOMJMOBFJHH {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 991;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 reviseLevel = 11;
+ uint32 sceneLevel = 13;
+ uint32 dungeonId = 12;
+}
diff --git a/proto/DynamicLayerNodes.proto b/proto/DynamicLayerNodes.proto
new file mode 100644
index 00000000..9aeb140e
--- /dev/null
+++ b/proto/DynamicLayerNodes.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "DynamicSVONode.proto";
+
+message DynamicLayerNodes {
+ repeated DynamicSVONode nodes = 8;
+ int32 level = 12;
+}
diff --git a/proto/DynamicNodes.proto b/proto/DynamicNodes.proto
new file mode 100644
index 00000000..fcc101b7
--- /dev/null
+++ b/proto/DynamicNodes.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "DynamicLayerNodes.proto";
+
+message DynamicNodes {
+ repeated DynamicLayerNodes nodes = 8;
+}
diff --git a/proto/DynamicSVONode.proto b/proto/DynamicSVONode.proto
new file mode 100644
index 00000000..9ff290ab
--- /dev/null
+++ b/proto/DynamicSVONode.proto
@@ -0,0 +1,13 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "Vector.proto";
+
+message DynamicSVONode {
+ int32 area = 13;
+ int64 index = 11;
+ Vector referPos = 9;
+}
diff --git a/proto/EBBEHKPKPFK.proto b/proto/EBBEHKPKPFK.proto
new file mode 100644
index 00000000..2b5d34d0
--- /dev/null
+++ b/proto/EBBEHKPKPFK.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message EBBEHKPKPFK {
+ //enum AOIIIGEEGIA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 24683;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 14;
+ uint32 galleryId = 7;
+ uint32 difficulty = 1;
+ uint32 stageId = 10;
+}
diff --git a/proto/ECLDFPKCOPE.proto b/proto/ECLDFPKCOPE.proto
new file mode 100644
index 00000000..7e06d1de
--- /dev/null
+++ b/proto/ECLDFPKCOPE.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "AttackResult.proto";
+
+message ECLDFPKCOPE {
+ AttackResult attackResult = 13;
+ uint32 peerId = 3;
+}
diff --git a/proto/EDCGBLJECHI.proto b/proto/EDCGBLJECHI.proto
new file mode 100644
index 00000000..0f22d150
--- /dev/null
+++ b/proto/EDCGBLJECHI.proto
@@ -0,0 +1,15 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "Vector.proto";
+
+message EDCGBLJECHI {
+ uint32 entityId = 12;
+ uint32 aemmidgkohc = 7;
+ Vector pos = 2;
+ int32 faceAngleCompact = 3;
+ uint32 normalizedTimeCompact = 1;
+}
diff --git a/proto/EEFBMLFKDFG.proto b/proto/EEFBMLFKDFG.proto
new file mode 100644
index 00000000..daf8a9d8
--- /dev/null
+++ b/proto/EEFBMLFKDFG.proto
@@ -0,0 +1,14 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "EMFJMDELOJN.proto";
+
+message EEFBMLFKDFG {
+ bool isCgViewed = 1;
+ uint32 levelId = 11;
+ repeated EMFJMDELOJN ggfnmmfjggi = 8;
+ bool isOpen = 12;
+}
diff --git a/proto/EFJNIGDJCLH.proto b/proto/EFJNIGDJCLH.proto
new file mode 100644
index 00000000..533a064d
--- /dev/null
+++ b/proto/EFJNIGDJCLH.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message EFJNIGDJCLH {
+ string type = 1;
+ string content = 2;
+ uint32 iofedkimpfp = 3;
+}
diff --git a/proto/EIBBNBEBHGD.proto b/proto/EIBBNBEBHGD.proto
new file mode 100644
index 00000000..a5257e7a
--- /dev/null
+++ b/proto/EIBBNBEBHGD.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message EIBBNBEBHGD {
+ uint32 avatarId = 13;
+ bool ljppmbgmjpk = 5;
+}
diff --git a/proto/EICAFCBBJMG.proto b/proto/EICAFCBBJMG.proto
new file mode 100644
index 00000000..ae6444bb
--- /dev/null
+++ b/proto/EICAFCBBJMG.proto
@@ -0,0 +1,10 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message EICAFCBBJMG {
+ string value = 1;
+}
diff --git a/proto/EIEBDOJCDBH.proto b/proto/EIEBDOJCDBH.proto
new file mode 100644
index 00000000..b809797c
--- /dev/null
+++ b/proto/EIEBDOJCDBH.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "IDOELHBANCP.proto";
+
+message EIEBDOJCDBH {
+ bool aicefchaici = 1;
+ repeated IDOELHBANCP kcllbppiboo = 999;
+}
diff --git a/proto/EKLDJGJBLNF.proto b/proto/EKLDJGJBLNF.proto
new file mode 100644
index 00000000..1738c670
--- /dev/null
+++ b/proto/EKLDJGJBLNF.proto
@@ -0,0 +1,10 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message EKLDJGJBLNF {
+ uint32 dmkljglcbij = 1;
+}
diff --git a/proto/ELFNDEIADMP.proto b/proto/ELFNDEIADMP.proto
new file mode 100644
index 00000000..98abfe83
--- /dev/null
+++ b/proto/ELFNDEIADMP.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "Vector.proto";
+
+message ELFNDEIADMP {
+ Vector rot = 10;
+ Vector pos = 14;
+}
diff --git a/proto/EMFJMDELOJN.proto b/proto/EMFJMDELOJN.proto
new file mode 100644
index 00000000..915c93f1
--- /dev/null
+++ b/proto/EMFJMDELOJN.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message EMFJMDELOJN {
+ uint32 difficulty = 7;
+ bool isOpen = 1;
+ uint32 costTime = 6;
+}
diff --git a/proto/ENAHEFOGJAE.proto b/proto/ENAHEFOGJAE.proto
new file mode 100644
index 00000000..c7f46cc1
--- /dev/null
+++ b/proto/ENAHEFOGJAE.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GalleryStopReason.proto";
+
+message ENAHEFOGJAE {
+ GalleryStopReason reason = 3;
+}
diff --git a/proto/ENHFICGOKEE.proto b/proto/ENHFICGOKEE.proto
new file mode 100644
index 00000000..80717a76
--- /dev/null
+++ b/proto/ENHFICGOKEE.proto
@@ -0,0 +1,10 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ENHFICGOKEE {
+ uint32 regPlatform = 1;
+}
diff --git a/proto/EchoNotify.proto b/proto/EchoNotify.proto
new file mode 100644
index 00000000..7d0f9ac5
--- /dev/null
+++ b/proto/EchoNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message EchoNotify {
+ //enum LOPEEDHIPKE {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 88;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ string content = 4;
+ uint32 seqId = 3;
+}
diff --git a/proto/EchoShellTakeRewardReq.proto b/proto/EchoShellTakeRewardReq.proto
new file mode 100644
index 00000000..7f7de0fd
--- /dev/null
+++ b/proto/EchoShellTakeRewardReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message EchoShellTakeRewardReq {
+ //enum CBIPKHHIOKP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8614;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 rewardId = 8;
+}
diff --git a/proto/EchoShellTakeRewardRsp.proto b/proto/EchoShellTakeRewardRsp.proto
new file mode 100644
index 00000000..47571f53
--- /dev/null
+++ b/proto/EchoShellTakeRewardRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message EchoShellTakeRewardRsp {
+ //enum LKHKMOJGIDI {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8180;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 rewardId = 2;
+ int32 retcode = 1;
+}
diff --git a/proto/EchoShellUpdateNotify.proto b/proto/EchoShellUpdateNotify.proto
new file mode 100644
index 00000000..713db274
--- /dev/null
+++ b/proto/EchoShellUpdateNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message EchoShellUpdateNotify {
+ //enum JEGAKPHMPAM {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8560;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 shellId = 12;
+}
diff --git a/proto/EdgeType.proto b/proto/EdgeType.proto
new file mode 100644
index 00000000..24076154
--- /dev/null
+++ b/proto/EdgeType.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+enum EdgeType {
+ EDGE_TYPE_INNER = 0;
+ EDGE_TYPE_TILE_BOUND = 1;
+ EDGE_TYPE_TILE_BOUND_UNCONNECT = 2;
+ EDGE_TYPE_TILE_BOUND_OVERIDE = 3;
+}
diff --git a/proto/EffigyChallengeInfoNotify.proto b/proto/EffigyChallengeInfoNotify.proto
new file mode 100644
index 00000000..72f33f22
--- /dev/null
+++ b/proto/EffigyChallengeInfoNotify.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message EffigyChallengeInfoNotify {
+ //enum JMGJJCNMHAN {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2164;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 challengeScore = 12;
+ repeated uint32 conditionIdList = 2;
+ uint32 difficultyId = 7;
+ uint32 challengeId = 8;
+}
diff --git a/proto/EffigyChallengeResultNotify.proto b/proto/EffigyChallengeResultNotify.proto
new file mode 100644
index 00000000..9fadcfa7
--- /dev/null
+++ b/proto/EffigyChallengeResultNotify.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message EffigyChallengeResultNotify {
+ //enum PJAHGOOCLJB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2145;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 challengeId = 14;
+ uint32 challengeMaxScore = 1;
+ uint32 challengeScore = 5;
+ bool isSuccess = 4;
+}
diff --git a/proto/EffigyChallengeV2ChooseSkillReq.proto b/proto/EffigyChallengeV2ChooseSkillReq.proto
new file mode 100644
index 00000000..a79073d6
--- /dev/null
+++ b/proto/EffigyChallengeV2ChooseSkillReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message EffigyChallengeV2ChooseSkillReq {
+ //enum PNOLANBPFKF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 22489;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 levelId = 15;
+ uint32 challengeModeSkillNo = 12;
+}
diff --git a/proto/EffigyChallengeV2ChooseSkillRsp.proto b/proto/EffigyChallengeV2ChooseSkillRsp.proto
new file mode 100644
index 00000000..0c25a4be
--- /dev/null
+++ b/proto/EffigyChallengeV2ChooseSkillRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message EffigyChallengeV2ChooseSkillRsp {
+ //enum NPHDEAPKFJD {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 21025;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 9;
+ uint32 levelId = 14;
+ uint32 challengeModeSkillNo = 13;
+}
diff --git a/proto/EffigyChallengeV2DungeonInfoNotify.proto b/proto/EffigyChallengeV2DungeonInfoNotify.proto
new file mode 100644
index 00000000..bc488b18
--- /dev/null
+++ b/proto/EffigyChallengeV2DungeonInfoNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message EffigyChallengeV2DungeonInfoNotify {
+ //enum MKHAEAENIHE {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 20626;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 levelId = 6;
+ uint32 challengeModeDifficulty = 4;
+ uint32 skillNo = 10;
+}
diff --git a/proto/EffigyChallengeV2EnterDungeonReq.proto b/proto/EffigyChallengeV2EnterDungeonReq.proto
new file mode 100644
index 00000000..7b79aec0
--- /dev/null
+++ b/proto/EffigyChallengeV2EnterDungeonReq.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message EffigyChallengeV2EnterDungeonReq {
+ //enum OHPCHJBJCCG {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 23798;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 levelId = 10;
+ uint32 challengeModeSkillNo = 12;
+ uint32 challengeModeDifficulty = 8;
+}
diff --git a/proto/EffigyChallengeV2EnterDungeonRsp.proto b/proto/EffigyChallengeV2EnterDungeonRsp.proto
new file mode 100644
index 00000000..7cbc7304
--- /dev/null
+++ b/proto/EffigyChallengeV2EnterDungeonRsp.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message EffigyChallengeV2EnterDungeonRsp {
+ //enum NCGEDBHPGLH {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 23456;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 challengeModeSkillNo = 3;
+ uint32 levelId = 7;
+ int32 retcode = 15;
+ uint32 challengeModeDifficulty = 5;
+}
diff --git a/proto/EffigyChallengeV2LevelData.proto b/proto/EffigyChallengeV2LevelData.proto
new file mode 100644
index 00000000..849e86d7
--- /dev/null
+++ b/proto/EffigyChallengeV2LevelData.proto
@@ -0,0 +1,15 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message EffigyChallengeV2LevelData {
+ bool caepnfpolia = 13;
+ uint32 ondofpcjekh = 14;
+ uint32 levelId = 15;
+ uint32 nbnfhjjkbam = 5;
+ uint32 acjpagacphl = 7;
+ uint32 lhhbbgpaiin = 9;
+}
diff --git a/proto/EffigyChallengeV2RestartDungeonReq.proto b/proto/EffigyChallengeV2RestartDungeonReq.proto
new file mode 100644
index 00000000..df6e1a30
--- /dev/null
+++ b/proto/EffigyChallengeV2RestartDungeonReq.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message EffigyChallengeV2RestartDungeonReq {
+ //enum AINDJOCOOMK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 21461;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+}
diff --git a/proto/EffigyChallengeV2RestartDungeonRsp.proto b/proto/EffigyChallengeV2RestartDungeonRsp.proto
new file mode 100644
index 00000000..9edb1ef4
--- /dev/null
+++ b/proto/EffigyChallengeV2RestartDungeonRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message EffigyChallengeV2RestartDungeonRsp {
+ //enum GIDHCFHNJOI {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 21563;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 3;
+}
diff --git a/proto/ElectroherculesBattleSelectDifficultyReq.proto b/proto/ElectroherculesBattleSelectDifficultyReq.proto
new file mode 100644
index 00000000..5807c324
--- /dev/null
+++ b/proto/ElectroherculesBattleSelectDifficultyReq.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ElectroherculesBattleSelectDifficultyReq {
+ //enum KMECNJLAMJA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 21178;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 2;
+}
diff --git a/proto/ElectroherculesBattleSelectDifficultyRsp.proto b/proto/ElectroherculesBattleSelectDifficultyRsp.proto
new file mode 100644
index 00000000..9079f26a
--- /dev/null
+++ b/proto/ElectroherculesBattleSelectDifficultyRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ElectroherculesBattleSelectDifficultyRsp {
+ //enum CPDJJMDIKDO {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 23974;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ repeated uint64 meclfjmmlmh = 2;
+}
diff --git a/proto/ElectroherculesBattleSettleNotify.proto b/proto/ElectroherculesBattleSettleNotify.proto
new file mode 100644
index 00000000..242e530c
--- /dev/null
+++ b/proto/ElectroherculesBattleSettleNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ElectroherculesBattleSettleNotify {
+ //enum KEDDPOIOGKM {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 24914;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 2;
+}
diff --git a/proto/ElectroherculesStartParam.proto b/proto/ElectroherculesStartParam.proto
new file mode 100644
index 00000000..2ba93438
--- /dev/null
+++ b/proto/ElectroherculesStartParam.proto
@@ -0,0 +1,10 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ElectroherculesStartParam {
+ uint32 difficulty = 5;
+}
diff --git a/proto/EndCoinCollectPlaySingleModeReq.proto b/proto/EndCoinCollectPlaySingleModeReq.proto
new file mode 100644
index 00000000..f67dc53f
--- /dev/null
+++ b/proto/EndCoinCollectPlaySingleModeReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message EndCoinCollectPlaySingleModeReq {
+ //enum CMDNHEBKKEO {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 20052;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 multistagePlayIndex = 9;
+}
diff --git a/proto/EndCoinCollectPlaySingleModeRsp.proto b/proto/EndCoinCollectPlaySingleModeRsp.proto
new file mode 100644
index 00000000..aa7fb852
--- /dev/null
+++ b/proto/EndCoinCollectPlaySingleModeRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message EndCoinCollectPlaySingleModeRsp {
+ //enum JPPBIFNNJPD {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 20893;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 2;
+}
diff --git a/proto/EnterChessDungeonReq.proto b/proto/EnterChessDungeonReq.proto
new file mode 100644
index 00000000..21c51382
--- /dev/null
+++ b/proto/EnterChessDungeonReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message EnterChessDungeonReq {
+ //enum DOPBHOIGALM {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8079;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 mapId = 10;
+}
diff --git a/proto/EnterChessDungeonRsp.proto b/proto/EnterChessDungeonRsp.proto
new file mode 100644
index 00000000..3b79bb2e
--- /dev/null
+++ b/proto/EnterChessDungeonRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message EnterChessDungeonRsp {
+ //enum GPFKLCCJALD {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8741;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 mapId = 1;
+ int32 retcode = 4;
+}
diff --git a/proto/EnterCustomDungeonReq.proto b/proto/EnterCustomDungeonReq.proto
new file mode 100644
index 00000000..0533319b
--- /dev/null
+++ b/proto/EnterCustomDungeonReq.proto
@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "EnterCustomDungeonType.proto";
+
+message EnterCustomDungeonReq {
+ //enum IOAECBCGFOB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 6238;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ EnterCustomDungeonType enterType = 2;
+ uint32 dungeonId = 13;
+ uint64 dungeonGuid = 3;
+}
diff --git a/proto/EnterCustomDungeonRsp.proto b/proto/EnterCustomDungeonRsp.proto
new file mode 100644
index 00000000..e185bb8c
--- /dev/null
+++ b/proto/EnterCustomDungeonRsp.proto
@@ -0,0 +1,23 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "EnterCustomDungeonType.proto";
+import "CustomDungeon.proto";
+
+message EnterCustomDungeonRsp {
+ //enum GDMJLOJDLBK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 6245;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 9;
+ EnterCustomDungeonType enterType = 4;
+ map roomCostMap = 2;
+ CustomDungeon customDungeon = 7;
+}
diff --git a/proto/EnterCustomDungeonType.proto b/proto/EnterCustomDungeonType.proto
new file mode 100644
index 00000000..054f77da
--- /dev/null
+++ b/proto/EnterCustomDungeonType.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+enum EnterCustomDungeonType {
+ ENTER_CUSTOM_DUNGEON_TYPE_NONE = 0;
+ ENTER_CUSTOM_DUNGEON_TYPE_EDIT = 1;
+ ENTER_CUSTOM_DUNGEON_TYPE_PLAY = 2;
+ ENTER_CUSTOM_DUNGEON_TYPE_OFFICIAL = 3;
+}
diff --git a/proto/EnterFishingReq.proto b/proto/EnterFishingReq.proto
new file mode 100644
index 00000000..1471a3da
--- /dev/null
+++ b/proto/EnterFishingReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message EnterFishingReq {
+ //enum FKMDHJEKDFL {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5838;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 fishPoolId = 9;
+}
diff --git a/proto/EnterFishingRsp.proto b/proto/EnterFishingRsp.proto
new file mode 100644
index 00000000..b1138f1d
--- /dev/null
+++ b/proto/EnterFishingRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message EnterFishingRsp {
+ //enum CECLNOHPNIC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5845;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 1;
+ uint32 fishPoolId = 7;
+}
diff --git a/proto/EnterFungusFighterPlotDungeonReq.proto b/proto/EnterFungusFighterPlotDungeonReq.proto
new file mode 100644
index 00000000..690ae897
--- /dev/null
+++ b/proto/EnterFungusFighterPlotDungeonReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message EnterFungusFighterPlotDungeonReq {
+ //enum EGEAFDPOHND {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 23842;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 dungeonId = 11;
+ repeated uint32 fungusIdList = 6;
+}
diff --git a/proto/EnterFungusFighterPlotDungeonRsp.proto b/proto/EnterFungusFighterPlotDungeonRsp.proto
new file mode 100644
index 00000000..580a025a
--- /dev/null
+++ b/proto/EnterFungusFighterPlotDungeonRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message EnterFungusFighterPlotDungeonRsp {
+ //enum BJGOKLGJCHD {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 23496;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 3;
+ repeated uint32 fungusIdList = 13;
+ uint32 dungeonId = 4;
+}
diff --git a/proto/EnterFungusFighterTrainingDungeonReq.proto b/proto/EnterFungusFighterTrainingDungeonReq.proto
new file mode 100644
index 00000000..4168623b
--- /dev/null
+++ b/proto/EnterFungusFighterTrainingDungeonReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message EnterFungusFighterTrainingDungeonReq {
+ //enum JKJDAMGKHCB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 22698;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 dungeonId = 10;
+}
diff --git a/proto/EnterFungusFighterTrainingDungeonRsp.proto b/proto/EnterFungusFighterTrainingDungeonRsp.proto
new file mode 100644
index 00000000..b30b4037
--- /dev/null
+++ b/proto/EnterFungusFighterTrainingDungeonRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message EnterFungusFighterTrainingDungeonRsp {
+ //enum MIFBOFOBNBC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 21261;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 15;
+ uint32 dungeonId = 14;
+}
diff --git a/proto/EnterIrodoriChessDungeonReq.proto b/proto/EnterIrodoriChessDungeonReq.proto
new file mode 100644
index 00000000..9b8f7ac1
--- /dev/null
+++ b/proto/EnterIrodoriChessDungeonReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message EnterIrodoriChessDungeonReq {
+ //enum NJHNGMFLHGD {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8505;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 levelId = 1;
+ bool isHardMap = 6;
+}
diff --git a/proto/EnterIrodoriChessDungeonRsp.proto b/proto/EnterIrodoriChessDungeonRsp.proto
new file mode 100644
index 00000000..6fece3c7
--- /dev/null
+++ b/proto/EnterIrodoriChessDungeonRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message EnterIrodoriChessDungeonRsp {
+ //enum OEMFHLPBHEB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8598;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 levelId = 11;
+ int32 retcode = 4;
+ bool isHardMap = 3;
+}
diff --git a/proto/EnterMechanicusDungeonReq.proto b/proto/EnterMechanicusDungeonReq.proto
new file mode 100644
index 00000000..8bf25627
--- /dev/null
+++ b/proto/EnterMechanicusDungeonReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message EnterMechanicusDungeonReq {
+ //enum GACCJFLFBHM {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 3924;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 difficultLevel = 10;
+}
diff --git a/proto/EnterMechanicusDungeonRsp.proto b/proto/EnterMechanicusDungeonRsp.proto
new file mode 100644
index 00000000..ee4f57ed
--- /dev/null
+++ b/proto/EnterMechanicusDungeonRsp.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message EnterMechanicusDungeonRsp {
+ //enum PELGLFCIAIO {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 3929;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 difficultLevel = 6;
+ int32 retcode = 8;
+ uint32 dungeonId = 9;
+ uint32 wrongUid = 14;
+}
diff --git a/proto/EnterRogueDiaryDungeonReq.proto b/proto/EnterRogueDiaryDungeonReq.proto
new file mode 100644
index 00000000..b7fd90e5
--- /dev/null
+++ b/proto/EnterRogueDiaryDungeonReq.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "RogueDiaryAvatar.proto";
+
+message EnterRogueDiaryDungeonReq {
+ //enum HADGELIIHCG {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8647;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ repeated RogueDiaryAvatar chosenAvatarList = 5;
+ repeated uint32 chosenCardList = 2;
+}
diff --git a/proto/EnterRogueDiaryDungeonRsp.proto b/proto/EnterRogueDiaryDungeonRsp.proto
new file mode 100644
index 00000000..63c6362c
--- /dev/null
+++ b/proto/EnterRogueDiaryDungeonRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message EnterRogueDiaryDungeonRsp {
+ //enum BNIMLNKMNKM {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8395;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 2;
+}
diff --git a/proto/EnterRoguelikeDungeonNotify.proto b/proto/EnterRoguelikeDungeonNotify.proto
new file mode 100644
index 00000000..625ab9b3
--- /dev/null
+++ b/proto/EnterRoguelikeDungeonNotify.proto
@@ -0,0 +1,35 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "RogueCellInfo.proto";
+import "RoguelikeRuneRecord.proto";
+
+message EnterRoguelikeDungeonNotify {
+ //enum NNLLNKHBFEH {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8098;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated uint64 onstageAvatarGuidList = 11;
+ map cellInfoMap = 14;
+ uint32 dungeonId = 2;
+ uint32 Unk3300_PKDLOJADIPA = 15;
+ uint32 Unk3300_KLFDKOCGAHN = 917;
+ uint32 Unk3300_DBDABNIINEL = 3;
+ float bonusResourceProp = 1;
+ uint32 reviseMonsterLevel = 1665;
+ uint32 stageId = 8;
+ repeated uint32 exploredCellList = 5;
+ repeated uint64 backstageAvatarGuidList = 7;
+ uint32 curLevel = 12;
+ bool Unk3300_GBHHLEDAGAM = 6;
+ repeated RoguelikeRuneRecord runeRecordList = 4;
+ uint32 Unk3300_IIIJDDNJEBB = 13;
+ bool Unk3300_PKPOKOAAOKF = 379;
+}
diff --git a/proto/EnterSceneWeatherAreaNotify.proto b/proto/EnterSceneWeatherAreaNotify.proto
new file mode 100644
index 00000000..d98ae952
--- /dev/null
+++ b/proto/EnterSceneWeatherAreaNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message EnterSceneWeatherAreaNotify {
+ //enum BOOCKPHFONC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 236;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 weatherGadgetId = 11;
+}
diff --git a/proto/EnterTrialAvatarActivityDungeonReq.proto b/proto/EnterTrialAvatarActivityDungeonReq.proto
new file mode 100644
index 00000000..ca32780b
--- /dev/null
+++ b/proto/EnterTrialAvatarActivityDungeonReq.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message EnterTrialAvatarActivityDungeonReq {
+ //enum PMPDAILAONN {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2167;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 activityId = 3;
+ uint32 enterPointId = 13;
+ uint32 trialAvatarIndexId = 4;
+}
diff --git a/proto/EnterTrialAvatarActivityDungeonRsp.proto b/proto/EnterTrialAvatarActivityDungeonRsp.proto
new file mode 100644
index 00000000..439d3cf0
--- /dev/null
+++ b/proto/EnterTrialAvatarActivityDungeonRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message EnterTrialAvatarActivityDungeonRsp {
+ //enum MMNFECNBJIG {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2046;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 trialAvatarIndexId = 8;
+ uint32 activityId = 2;
+ int32 retcode = 11;
+}
diff --git a/proto/EntityAiKillSelfNotify.proto b/proto/EntityAiKillSelfNotify.proto
new file mode 100644
index 00000000..98a1e847
--- /dev/null
+++ b/proto/EntityAiKillSelfNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message EntityAiKillSelfNotify {
+ //enum KFPDMIAOGED {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 301;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 entityId = 15;
+}
diff --git a/proto/EntityAuthorityChangeNotify.proto b/proto/EntityAuthorityChangeNotify.proto
new file mode 100644
index 00000000..c3d7d093
--- /dev/null
+++ b/proto/EntityAuthorityChangeNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "AuthorityChange.proto";
+
+message EntityAuthorityChangeNotify {
+ //enum FILIKBJBANB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 375;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated AuthorityChange authorityChangeList = 2;
+}
diff --git a/proto/EntityConfigHashEntry.proto b/proto/EntityConfigHashEntry.proto
new file mode 100644
index 00000000..1550cf7f
--- /dev/null
+++ b/proto/EntityConfigHashEntry.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message EntityConfigHashEntry {
+ uint32 entityId = 3;
+ uint32 jobId = 12;
+ int32 hashValue = 6;
+}
diff --git a/proto/EntityConfigHashNotify.proto b/proto/EntityConfigHashNotify.proto
new file mode 100644
index 00000000..a323bc07
--- /dev/null
+++ b/proto/EntityConfigHashNotify.proto
@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "EntityConfigHashEntry.proto";
+
+message EntityConfigHashNotify {
+ //enum DCBKEDEMKOE {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 3265;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ repeated EntityConfigHashEntry avatarEntryList = 12;
+ repeated EntityConfigHashEntry abilityEntryList = 7;
+ repeated EntityConfigHashEntry combatEntryList = 1;
+}
diff --git a/proto/EntityFightPropNotify.proto b/proto/EntityFightPropNotify.proto
new file mode 100644
index 00000000..94ffd48d
--- /dev/null
+++ b/proto/EntityFightPropNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message EntityFightPropNotify {
+ //enum OCJILNPKBEB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 1287;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 entityId = 7;
+ map fightPropMap = 15;
+}
diff --git a/proto/EntityForceSyncReq.proto b/proto/EntityForceSyncReq.proto
new file mode 100644
index 00000000..62e7da55
--- /dev/null
+++ b/proto/EntityForceSyncReq.proto
@@ -0,0 +1,23 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "MotionInfo.proto";
+
+message EntityForceSyncReq {
+ //enum FDCKKALCCGO {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 230;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ MotionInfo motionInfo = 13;
+ uint32 sceneTime = 11;
+ uint32 entityId = 8;
+ uint32 roomId = 9;
+}
diff --git a/proto/EntityForceSyncRsp.proto b/proto/EntityForceSyncRsp.proto
new file mode 100644
index 00000000..4bf57366
--- /dev/null
+++ b/proto/EntityForceSyncRsp.proto
@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "MotionInfo.proto";
+
+message EntityForceSyncRsp {
+ //enum OEJPBNDBAHE {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 243;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ MotionInfo failMotion = 1;
+ int32 retcode = 3;
+ uint32 entityId = 6;
+ uint32 sceneTime = 2;
+}
diff --git a/proto/EntityJumpNotify.proto b/proto/EntityJumpNotify.proto
new file mode 100644
index 00000000..59287123
--- /dev/null
+++ b/proto/EntityJumpNotify.proto
@@ -0,0 +1,23 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "Vector.proto";
+import "Type.proto";
+
+message EntityJumpNotify {
+ //enum GFBPAOPKOEK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 292;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ Vector rot = 8;
+ Vector pos = 5;
+ uint32 entityId = 11;
+ Type jumpType = 3;
+}
diff --git a/proto/EntityMoveFailInfo.proto b/proto/EntityMoveFailInfo.proto
new file mode 100644
index 00000000..87808132
--- /dev/null
+++ b/proto/EntityMoveFailInfo.proto
@@ -0,0 +1,15 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "MotionInfo.proto";
+
+message EntityMoveFailInfo {
+ MotionInfo failMotion = 2;
+ uint32 sceneTime = 7;
+ int32 retcode = 3;
+ uint32 entityId = 6;
+ uint32 reliableSeq = 4;
+}
diff --git a/proto/EntityMoveRoomNotify.proto b/proto/EntityMoveRoomNotify.proto
new file mode 100644
index 00000000..631a3513
--- /dev/null
+++ b/proto/EntityMoveRoomNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message EntityMoveRoomNotify {
+ //enum DNGKHLFAPNJ {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 3186;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 entityId = 2;
+ uint32 destRoomId = 5;
+}
diff --git a/proto/EntityPropNotify.proto b/proto/EntityPropNotify.proto
new file mode 100644
index 00000000..32c03e9d
--- /dev/null
+++ b/proto/EntityPropNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "PropValue.proto";
+
+message EntityPropNotify {
+ //enum HGECCJNCHOG {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 1205;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ map propMap = 6;
+ uint32 entityId = 9;
+}
diff --git a/proto/EntityTagChangeNotify.proto b/proto/EntityTagChangeNotify.proto
new file mode 100644
index 00000000..0dcca997
--- /dev/null
+++ b/proto/EntityTagChangeNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message EntityTagChangeNotify {
+ //enum GOEKNJLNFKG {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 3442;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ string tag = 14;
+ uint32 entityId = 11;
+ bool isAdd = 1;
+}
diff --git a/proto/EquipParamList.proto b/proto/EquipParamList.proto
deleted file mode 100644
index 8a0e4014..00000000
--- a/proto/EquipParamList.proto
+++ /dev/null
@@ -1,26 +0,0 @@
-// Proto has been converted from Sorapointa to Grasscutter format
-// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
-// Copyright (C) 2022 Sorapointa Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
-syntax = "proto3";
-
-import "EquipParam.proto";
-
-option java_package = "emu.grasscutter.net.proto";
-
-message EquipParamList {
- repeated EquipParam item_list = 1;
-}
diff --git a/proto/EventTriggerType.proto b/proto/EventTriggerType.proto
new file mode 100644
index 00000000..0a124eef
--- /dev/null
+++ b/proto/EventTriggerType.proto
@@ -0,0 +1,10 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+enum EventTriggerType {
+ EVENT_TRIGGER_TYPE_NONE = 0;
+ EVENT_TRIGGER_TYPE_ENTER_FORCE = 1;
+}
diff --git a/proto/EvtAnimatorParameterNotify.proto b/proto/EvtAnimatorParameterNotify.proto
new file mode 100644
index 00000000..50bc17a4
--- /dev/null
+++ b/proto/EvtAnimatorParameterNotify.proto
@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "EvtAnimatorParameterInfo.proto";
+import "ForwardType.proto";
+
+message EvtAnimatorParameterNotify {
+ //enum AHLNEJMIKCK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 355;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ EvtAnimatorParameterInfo animatorParamInfo = 10;
+ ForwardType forwardType = 4;
+}
diff --git a/proto/EvtAnimatorStateChangedInfo.proto b/proto/EvtAnimatorStateChangedInfo.proto
new file mode 100644
index 00000000..24c10fe7
--- /dev/null
+++ b/proto/EvtAnimatorStateChangedInfo.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "Vector.proto";
+
+message EvtAnimatorStateChangedInfo {
+ uint32 normalizedTimeCompact = 9;
+ float fadeDuration = 8;
+ uint32 entityId = 11;
+ bool Unk3300_KLMEKMGFGPD = 13;
+ bool Unk3300_MEOPKEDJCIN = 12;
+ int32 faceAngleCompact = 3;
+ uint32 toStateHash = 4;
+ uint32 layer = 5;
+ Vector pos = 7;
+}
diff --git a/proto/EvtAnimatorStateChangedNotify.proto b/proto/EvtAnimatorStateChangedNotify.proto
new file mode 100644
index 00000000..2221cf88
--- /dev/null
+++ b/proto/EvtAnimatorStateChangedNotify.proto
@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ForwardType.proto";
+import "EvtAnimatorStateChangedInfo.proto";
+
+message EvtAnimatorStateChangedNotify {
+ //enum NEOAHLKEDBE {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 324;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ ForwardType forwardType = 6;
+ EvtAnimatorStateChangedInfo evtAnimatorStateChangedInfo = 8;
+}
diff --git a/proto/EvtAvatarEnterFocusNotify.proto b/proto/EvtAvatarEnterFocusNotify.proto
new file mode 100644
index 00000000..a17923eb
--- /dev/null
+++ b/proto/EvtAvatarEnterFocusNotify.proto
@@ -0,0 +1,33 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ForwardType.proto";
+import "Vector.proto";
+
+message EvtAvatarEnterFocusNotify {
+ //enum OBPPMEJCAGB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 325;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ ForwardType forwardType = 14;
+ bool Unk3300_NALGJBLGNJI = 5;
+ bool Unk3300_GGHCEGJEHND = 13;
+ bool Unk3300_NPBLDGPCDOC = 6;
+ bool Unk3300_IJHHDFDIJMA = 10;
+ bool Unk3300_KMAFBMKJDAK = 4;
+ bool Unk3300_FHHDDNENEDD = 12;
+ bool Unk3300_LNLOOKDHJGF = 11;
+ bool Unk3300_CDAJJHIPIKH = 9;
+ bool Unk3300_NLNIBJAFADG = 15;
+ Vector focusForward = 8;
+ uint32 entityId = 2;
+ bool Unk3300_OOOPPHEJKDI = 3;
+}
diff --git a/proto/EvtAvatarExitFocusNotify.proto b/proto/EvtAvatarExitFocusNotify.proto
new file mode 100644
index 00000000..beab7322
--- /dev/null
+++ b/proto/EvtAvatarExitFocusNotify.proto
@@ -0,0 +1,23 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "Vector.proto";
+import "ForwardType.proto";
+
+message EvtAvatarExitFocusNotify {
+ //enum ALNCPNJCAIF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 358;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ Vector finishForward = 7;
+ uint32 entityId = 13;
+ ForwardType forwardType = 14;
+}
diff --git a/proto/EvtAvatarUpdateFocusNotify.proto b/proto/EvtAvatarUpdateFocusNotify.proto
new file mode 100644
index 00000000..a96259a4
--- /dev/null
+++ b/proto/EvtAvatarUpdateFocusNotify.proto
@@ -0,0 +1,23 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ForwardType.proto";
+import "Vector.proto";
+
+message EvtAvatarUpdateFocusNotify {
+ //enum MBMKKADEAPP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 318;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 entityId = 5;
+ ForwardType forwardType = 15;
+ Vector focusForward = 3;
+}
diff --git a/proto/EvtBeingHealedNotify.proto b/proto/EvtBeingHealedNotify.proto
new file mode 100644
index 00000000..7f2d06a2
--- /dev/null
+++ b/proto/EvtBeingHealedNotify.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message EvtBeingHealedNotify {
+ //enum AHFCMEGDDAA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 391;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 sourceId = 13;
+ float realHealAmount = 12;
+ float healAmount = 11;
+ uint32 targetId = 8;
+}
diff --git a/proto/EvtBeingHitNotify.proto b/proto/EvtBeingHitNotify.proto
new file mode 100644
index 00000000..a4394bb7
--- /dev/null
+++ b/proto/EvtBeingHitNotify.proto
@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ForwardType.proto";
+import "EvtBeingHitInfo.proto";
+
+message EvtBeingHitNotify {
+ //enum OBLDJNMPBNB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 305;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ ForwardType forwardType = 4;
+ EvtBeingHitInfo beingHitInfo = 15;
+}
diff --git a/proto/EvtBeingHitsCombineNotify.proto b/proto/EvtBeingHitsCombineNotify.proto
new file mode 100644
index 00000000..d897c97d
--- /dev/null
+++ b/proto/EvtBeingHitsCombineNotify.proto
@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ForwardType.proto";
+import "EvtBeingHitInfo.proto";
+
+message EvtBeingHitsCombineNotify {
+ //enum DOELOHEBHGL {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 335;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ ForwardType forwardType = 3;
+ repeated EvtBeingHitInfo evtBeingHitInfoList = 4;
+}
diff --git a/proto/EvtBulletDeactiveNotify.proto b/proto/EvtBulletDeactiveNotify.proto
new file mode 100644
index 00000000..7ea49db6
--- /dev/null
+++ b/proto/EvtBulletDeactiveNotify.proto
@@ -0,0 +1,23 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "Vector.proto";
+import "ForwardType.proto";
+
+message EvtBulletDeactiveNotify {
+ //enum KLDKJAMLKPC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 316;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 entityId = 4;
+ Vector disappearPos = 5;
+ ForwardType forwardType = 12;
+}
diff --git a/proto/EvtBulletHitNotify.proto b/proto/EvtBulletHitNotify.proto
new file mode 100644
index 00000000..187d7cfd
--- /dev/null
+++ b/proto/EvtBulletHitNotify.proto
@@ -0,0 +1,30 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "Vector.proto";
+import "ForwardType.proto";
+import "HitColliderType.proto";
+
+message EvtBulletHitNotify {
+ //enum PABCPHNPKDA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 378;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ Vector hitNormal = 4;
+ uint32 hitEntityId = 14;
+ int32 hitBoxIndex = 15;
+ ForwardType forwardType = 6;
+ uint32 entityId = 10;
+ uint32 forwardPeer = 13;
+ uint32 singleBulletId = 12;
+ HitColliderType hitColliderType = 8;
+ Vector hitPoint = 1;
+}
diff --git a/proto/EvtBulletMoveNotify.proto b/proto/EvtBulletMoveNotify.proto
new file mode 100644
index 00000000..0843ff76
--- /dev/null
+++ b/proto/EvtBulletMoveNotify.proto
@@ -0,0 +1,23 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ForwardType.proto";
+import "Vector.proto";
+
+message EvtBulletMoveNotify {
+ //enum PJJNHKNDFFO {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 388;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ ForwardType forwardType = 11;
+ Vector curPos = 13;
+ uint32 entityId = 1;
+}
diff --git a/proto/EvtCombatSteerMotionInfo.proto b/proto/EvtCombatSteerMotionInfo.proto
deleted file mode 100644
index c918b3f0..00000000
--- a/proto/EvtCombatSteerMotionInfo.proto
+++ /dev/null
@@ -1,29 +0,0 @@
-// Proto has been converted from Sorapointa to Grasscutter format
-// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
-// Copyright (C) 2022 Sorapointa Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
-syntax = "proto3";
-
-import "Vector.proto";
-
-option java_package = "emu.grasscutter.net.proto";
-
-message EvtCombatSteerMotionInfo {
- Vector face_dir = 5;
- Vector pos = 1;
- Vector velocity = 8;
- uint32 entity_id = 11;
-}
diff --git a/proto/EvtCostStaminaNotify.proto b/proto/EvtCostStaminaNotify.proto
new file mode 100644
index 00000000..79e2a2e4
--- /dev/null
+++ b/proto/EvtCostStaminaNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message EvtCostStaminaNotify {
+ //enum FFCGOJBIAEJ {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 362;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ float costStamina = 8;
+ uint32 skillId = 14;
+}
diff --git a/proto/EvtDestroyServerGadgetNotify.proto b/proto/EvtDestroyServerGadgetNotify.proto
new file mode 100644
index 00000000..9f8eded5
--- /dev/null
+++ b/proto/EvtDestroyServerGadgetNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message EvtDestroyServerGadgetNotify {
+ //enum ANMBLLKNHOD {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 367;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 entityId = 14;
+}
diff --git a/proto/EvtEntityStartDieEndNotify.proto b/proto/EvtEntityStartDieEndNotify.proto
new file mode 100644
index 00000000..e44b04a6
--- /dev/null
+++ b/proto/EvtEntityStartDieEndNotify.proto
@@ -0,0 +1,23 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ForwardType.proto";
+
+message EvtEntityStartDieEndNotify {
+ //enum APOIPPEMOKA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 313;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 entityId = 11;
+ bool immediately = 9;
+ ForwardType forwardType = 15;
+ uint32 dieStateFlag = 8;
+}
diff --git a/proto/EvtFaceToDirInfo.proto b/proto/EvtFaceToDirInfo.proto
new file mode 100644
index 00000000..b5c3f502
--- /dev/null
+++ b/proto/EvtFaceToDirInfo.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "Vector.proto";
+
+message EvtFaceToDirInfo {
+ Vector faceDir = 2;
+ uint32 entityId = 5;
+}
diff --git a/proto/EvtFaceToDirNotify.proto b/proto/EvtFaceToDirNotify.proto
new file mode 100644
index 00000000..faac33b6
--- /dev/null
+++ b/proto/EvtFaceToDirNotify.proto
@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ForwardType.proto";
+import "EvtFaceToDirInfo.proto";
+
+message EvtFaceToDirNotify {
+ //enum CCMHJJMINHO {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 370;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ ForwardType forwardType = 14;
+ EvtFaceToDirInfo evtFaceToDirInfo = 2;
+}
diff --git a/proto/EvtFaceToEntityNotify.proto b/proto/EvtFaceToEntityNotify.proto
new file mode 100644
index 00000000..30a6bba0
--- /dev/null
+++ b/proto/EvtFaceToEntityNotify.proto
@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ForwardType.proto";
+
+message EvtFaceToEntityNotify {
+ //enum BCNDFKFNGLK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 380;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 entityId = 8;
+ uint32 faceEntityId = 4;
+ ForwardType forwardType = 10;
+}
diff --git a/proto/EvtLocalGadgetOwnerLeaveSceneNotify.proto b/proto/EvtLocalGadgetOwnerLeaveSceneNotify.proto
new file mode 100644
index 00000000..4b00be91
--- /dev/null
+++ b/proto/EvtLocalGadgetOwnerLeaveSceneNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message EvtLocalGadgetOwnerLeaveSceneNotify {
+ //enum PHEOIIBBDMF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 360;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 entityId = 11;
+}
diff --git a/proto/EvtMotionInfoDuringSteerAttack.proto b/proto/EvtMotionInfoDuringSteerAttack.proto
deleted file mode 100644
index 59a9025f..00000000
--- a/proto/EvtMotionInfoDuringSteerAttack.proto
+++ /dev/null
@@ -1,29 +0,0 @@
-// Proto has been converted from Sorapointa to Grasscutter format
-// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
-// Copyright (C) 2022 Sorapointa Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
-syntax = "proto3";
-
-import "Vector.proto";
-
-option java_package = "emu.grasscutter.net.proto";
-
-message EvtMotionInfoDuringSteerAttack {
- Vector face_dir = 15;
- Vector pos = 8;
- uint32 entity_id = 4;
- Vector velocity = 14;
-}
diff --git a/proto/EvtRushMoveInfo.proto b/proto/EvtRushMoveInfo.proto
new file mode 100644
index 00000000..08e55f82
--- /dev/null
+++ b/proto/EvtRushMoveInfo.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "Vector.proto";
+
+message EvtRushMoveInfo {
+ Vector velocity = 13;
+ uint32 entityId = 5;
+ Vector Unk3300_FGAPBJIPJFG = 6;
+ float timeRange = 10;
+ int32 faceAngleCompact = 9;
+ Vector pos = 14;
+ Vector Unk3300_NEBMDDGPBON = 8;
+ int32 stateNameHash = 7;
+}
diff --git a/proto/EvtRushMoveNotify.proto b/proto/EvtRushMoveNotify.proto
new file mode 100644
index 00000000..f75d6e51
--- /dev/null
+++ b/proto/EvtRushMoveNotify.proto
@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "EvtRushMoveInfo.proto";
+import "ForwardType.proto";
+
+message EvtRushMoveNotify {
+ //enum BMLMEMGLNHK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 329;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ EvtRushMoveInfo evtRushMoveInfo = 13;
+ ForwardType forwardType = 1;
+}
diff --git a/proto/EvtSetAttackTargetInfo.proto b/proto/EvtSetAttackTargetInfo.proto
new file mode 100644
index 00000000..2bf4f79f
--- /dev/null
+++ b/proto/EvtSetAttackTargetInfo.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message EvtSetAttackTargetInfo {
+ uint32 entityId = 14;
+ uint32 attackTargetId = 8;
+ uint32 selectPointIndex = 4;
+}
diff --git a/proto/EvtSetAttackTargetNotify.proto b/proto/EvtSetAttackTargetNotify.proto
new file mode 100644
index 00000000..41529436
--- /dev/null
+++ b/proto/EvtSetAttackTargetNotify.proto
@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "EvtSetAttackTargetInfo.proto";
+import "ForwardType.proto";
+
+message EvtSetAttackTargetNotify {
+ //enum MCPMLMLNKLN {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 314;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ EvtSetAttackTargetInfo evtSetAttackTargetInfo = 1;
+ ForwardType forwardType = 15;
+}
diff --git a/proto/ExclusiveRuleNotify.proto b/proto/ExclusiveRuleNotify.proto
new file mode 100644
index 00000000..8d77f5a7
--- /dev/null
+++ b/proto/ExclusiveRuleNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ExclusiveRuleNotify {
+ //enum GDCHJMMCHEC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 159;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 compoundId = 6;
+}
diff --git a/proto/ExecuteGadgetLuaReq.proto b/proto/ExecuteGadgetLuaReq.proto
new file mode 100644
index 00000000..4922f75d
--- /dev/null
+++ b/proto/ExecuteGadgetLuaReq.proto
@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ExecuteGadgetLuaReq {
+ //enum PPNJBKMHPHF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 210;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ int32 param2 = 15;
+ int32 param3 = 8;
+ uint32 sourceEntityId = 6;
+ int32 param1 = 14;
+}
diff --git a/proto/ExecuteGadgetLuaRsp.proto b/proto/ExecuteGadgetLuaRsp.proto
new file mode 100644
index 00000000..ab0e6139
--- /dev/null
+++ b/proto/ExecuteGadgetLuaRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ExecuteGadgetLuaRsp {
+ //enum NFAENIKEMPJ {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 209;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 13;
+}
diff --git a/proto/ExecuteGroupTriggerReq.proto b/proto/ExecuteGroupTriggerReq.proto
new file mode 100644
index 00000000..d56b6538
--- /dev/null
+++ b/proto/ExecuteGroupTriggerReq.proto
@@ -0,0 +1,24 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ExecuteGroupTriggerReq {
+ //enum JHBIBOPILPJ {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 290;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ int32 param3 = 2;
+ int32 param1 = 7;
+ uint32 sourceEntityId = 8;
+ int32 param2 = 4;
+ uint32 targetEntityId = 3;
+ string sourceName = 5;
+}
diff --git a/proto/ExecuteGroupTriggerRsp.proto b/proto/ExecuteGroupTriggerRsp.proto
new file mode 100644
index 00000000..0ee834be
--- /dev/null
+++ b/proto/ExecuteGroupTriggerRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ExecuteGroupTriggerRsp {
+ //enum AAKHNNKGEJJ {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 254;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 13;
+}
diff --git a/proto/ExitCustomDungeonTryReq.proto b/proto/ExitCustomDungeonTryReq.proto
new file mode 100644
index 00000000..8f080b5e
--- /dev/null
+++ b/proto/ExitCustomDungeonTryReq.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ExitCustomDungeonTryReq {
+ //enum OJDADJCAEBK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 6207;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+}
diff --git a/proto/ExitCustomDungeonTryRsp.proto b/proto/ExitCustomDungeonTryRsp.proto
new file mode 100644
index 00000000..4fac8526
--- /dev/null
+++ b/proto/ExitCustomDungeonTryRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ExitCustomDungeonTryRsp {
+ //enum MCADCECCMJL {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 6215;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 7;
+}
diff --git a/proto/ExitFishingReq.proto b/proto/ExitFishingReq.proto
new file mode 100644
index 00000000..d9cb19d1
--- /dev/null
+++ b/proto/ExitFishingReq.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ExitFishingReq {
+ //enum JAKIIHGDDKH {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5842;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+}
diff --git a/proto/ExitFishingRsp.proto b/proto/ExitFishingRsp.proto
new file mode 100644
index 00000000..6eac7558
--- /dev/null
+++ b/proto/ExitFishingRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ExitFishingRsp {
+ //enum FLBAKFJOMHB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5807;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 12;
+}
diff --git a/proto/ExitSceneWeatherAreaNotify.proto b/proto/ExitSceneWeatherAreaNotify.proto
new file mode 100644
index 00000000..6f6b1447
--- /dev/null
+++ b/proto/ExitSceneWeatherAreaNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ExitSceneWeatherAreaNotify {
+ //enum FKPDOFNMKHD {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 294;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 weatherGadgetId = 15;
+}
diff --git a/proto/ExpeditionAssistInfo.proto b/proto/ExpeditionAssistInfo.proto
new file mode 100644
index 00000000..1b5f1a92
--- /dev/null
+++ b/proto/ExpeditionAssistInfo.proto
@@ -0,0 +1,14 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ExpeditionAssistInfo {
+ uint32 assistTime = 4;
+ uint32 avatarId = 11;
+ string targetNickName = 9;
+ uint32 costumeId = 15;
+ string onlineId = 13;
+}
diff --git a/proto/ExpeditionChallengeEnterRegionNotify.proto b/proto/ExpeditionChallengeEnterRegionNotify.proto
new file mode 100644
index 00000000..ae9d2f9f
--- /dev/null
+++ b/proto/ExpeditionChallengeEnterRegionNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ExpeditionChallengeEnterRegionNotify {
+ //enum KCKONFGJEJF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2092;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 id = 7;
+ bool isPuzzleFinished = 11;
+}
diff --git a/proto/ExpeditionChallengeFinishedNotify.proto b/proto/ExpeditionChallengeFinishedNotify.proto
new file mode 100644
index 00000000..2d03ce2a
--- /dev/null
+++ b/proto/ExpeditionChallengeFinishedNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ExpeditionChallengeFinishedNotify {
+ //enum BAJDKJFEJAB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2094;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 id = 8;
+}
diff --git a/proto/ExpeditionRecallReq.proto b/proto/ExpeditionRecallReq.proto
new file mode 100644
index 00000000..06a4af34
--- /dev/null
+++ b/proto/ExpeditionRecallReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ExpeditionRecallReq {
+ //enum PGCHKPOPGFP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2011;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 pathId = 7;
+}
diff --git a/proto/ExpeditionRecallRsp.proto b/proto/ExpeditionRecallRsp.proto
new file mode 100644
index 00000000..7f1beac0
--- /dev/null
+++ b/proto/ExpeditionRecallRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ExpeditionRecallRsp {
+ //enum NOCOAJDGING {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2156;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 pathId = 3;
+ int32 retcode = 8;
+}
diff --git a/proto/ExpeditionStartReq.proto b/proto/ExpeditionStartReq.proto
new file mode 100644
index 00000000..f5a43925
--- /dev/null
+++ b/proto/ExpeditionStartReq.proto
@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ExpeditionStartReq {
+ //enum CJLHEKIMJCC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2020;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 Unk3300_AIEJKADFLKG = 4;
+ uint32 pathId = 10;
+ repeated uint32 avatarIdList = 8;
+ uint32 Unk3300_AFGPGIIGAKA = 7;
+}
diff --git a/proto/ExpeditionStartRsp.proto b/proto/ExpeditionStartRsp.proto
new file mode 100644
index 00000000..b3e76d90
--- /dev/null
+++ b/proto/ExpeditionStartRsp.proto
@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ExpeditionStartRsp {
+ //enum HJCFHHNKFEF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2157;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 13;
+ uint32 Unk3300_AFGPGIIGAKA = 7;
+ uint32 Unk3300_AIEJKADFLKG = 9;
+ uint32 pathId = 4;
+ repeated uint32 avatarIdList = 12;
+}
diff --git a/proto/ExpeditionTakeRewardReq.proto b/proto/ExpeditionTakeRewardReq.proto
new file mode 100644
index 00000000..4f8307a2
--- /dev/null
+++ b/proto/ExpeditionTakeRewardReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ExpeditionTakeRewardReq {
+ //enum CNFKJKDIPPC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2163;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 pathId = 2;
+}
diff --git a/proto/ExpeditionTakeRewardRsp.proto b/proto/ExpeditionTakeRewardRsp.proto
new file mode 100644
index 00000000..a6c6a242
--- /dev/null
+++ b/proto/ExpeditionTakeRewardRsp.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ExpeditionTakeRewardRsp {
+ //enum ACMHBHOMOBI {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2065;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 pathId = 14;
+ uint32 rewardLevel = 7;
+ int32 retcode = 8;
+ bool isBonus = 13;
+}
diff --git a/proto/FADIHKCGEDF.proto b/proto/FADIHKCGEDF.proto
new file mode 100644
index 00000000..b76f6c9c
--- /dev/null
+++ b/proto/FADIHKCGEDF.proto
@@ -0,0 +1,10 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message FADIHKCGEDF {
+ int64 value = 1;
+}
diff --git a/proto/FBCAAKCBPMH.proto b/proto/FBCAAKCBPMH.proto
new file mode 100644
index 00000000..97148b48
--- /dev/null
+++ b/proto/FBCAAKCBPMH.proto
@@ -0,0 +1,10 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message FBCAAKCBPMH {
+ uint32 targetEntityId = 7;
+}
diff --git a/proto/FBKJENFAAKN.proto b/proto/FBKJENFAAKN.proto
new file mode 100644
index 00000000..28a6056d
--- /dev/null
+++ b/proto/FBKJENFAAKN.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "EIBBNBEBHGD.proto";
+
+message FBKJENFAAKN {
+ repeated uint32 ehbfihcdoli = 12;
+ repeated EIBBNBEBHGD avatarInfoList = 6;
+}
diff --git a/proto/FEKJJACPMJI.proto b/proto/FEKJJACPMJI.proto
new file mode 100644
index 00000000..89e86390
--- /dev/null
+++ b/proto/FEKJJACPMJI.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message FEKJJACPMJI {
+ float mgljfjenkkl = 14;
+ float hldifipdbfb = 7;
+}
diff --git a/proto/FFJPPIJOJLI.proto b/proto/FFJPPIJOJLI.proto
new file mode 100644
index 00000000..03707498
--- /dev/null
+++ b/proto/FFJPPIJOJLI.proto
@@ -0,0 +1,13 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "Vector.proto";
+
+message FFJPPIJOJLI {
+ uint32 furnitureId = 1;
+ Vector spawnPos = 2;
+ Vector spawnRot = 3;
+}
diff --git a/proto/FGJKDICFADH.proto b/proto/FGJKDICFADH.proto
new file mode 100644
index 00000000..64b6127e
--- /dev/null
+++ b/proto/FGJKDICFADH.proto
@@ -0,0 +1,14 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "CBNIFFCNOEC.proto";
+
+message FGJKDICFADH {
+ uint32 uid = 1;
+ repeated uint64 milgfplpdhp = 2;
+ repeated uint64 dljdncgnbgk = 3;
+ repeated CBNIFFCNOEC leilkaldnem = 4;
+}
diff --git a/proto/FGPNDDNEBJO.proto b/proto/FGPNDDNEBJO.proto
new file mode 100644
index 00000000..0a951efe
--- /dev/null
+++ b/proto/FGPNDDNEBJO.proto
@@ -0,0 +1,14 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "Vector.proto";
+
+message FGPNDDNEBJO {
+ Vector pos = 8;
+ Vector mjehpphliia = 1;
+ uint32 djmnfklkcaf = 2;
+ Vector rot = 12;
+}
diff --git a/proto/FJMGEBIAMDB.proto b/proto/FJMGEBIAMDB.proto
new file mode 100644
index 00000000..1065756d
--- /dev/null
+++ b/proto/FJMGEBIAMDB.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "IDOELHBANCP.proto";
+
+message FJMGEBIAMDB {
+ repeated IDOELHBANCP kcllbppiboo = 999;
+}
diff --git a/proto/FallPlayerBrief.proto b/proto/FallPlayerBrief.proto
new file mode 100644
index 00000000..b6be331e
--- /dev/null
+++ b/proto/FallPlayerBrief.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message FallPlayerBrief {
+ uint32 uid = 12;
+ bool isGround = 8;
+ uint32 score = 13;
+}
diff --git a/proto/FallSettleInfo.proto b/proto/FallSettleInfo.proto
new file mode 100644
index 00000000..caed4557
--- /dev/null
+++ b/proto/FallSettleInfo.proto
@@ -0,0 +1,16 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "OnlinePlayerInfo.proto";
+
+message FallSettleInfo {
+ OnlinePlayerInfo playerInfo = 7;
+ uint32 remainTime = 14;
+ uint32 uid = 3;
+ uint32 catchCount = 10;
+ map flowerRingCatchCountMap = 4;
+ uint32 finalScore = 9;
+}
diff --git a/proto/FinishDeliveryNotify.proto b/proto/FinishDeliveryNotify.proto
new file mode 100644
index 00000000..79d2f149
--- /dev/null
+++ b/proto/FinishDeliveryNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message FinishDeliveryNotify {
+ //enum GCNLHHAIBJA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2044;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 dayIndex = 2;
+ uint32 finishedQuestIndex = 4;
+ uint32 scheduleId = 8;
+}
diff --git a/proto/FinishLanternProjectionReq.proto b/proto/FinishLanternProjectionReq.proto
new file mode 100644
index 00000000..6436f6ff
--- /dev/null
+++ b/proto/FinishLanternProjectionReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message FinishLanternProjectionReq {
+ //enum MPFJNIPOFOF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8236;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 finishTime = 15;
+ uint32 levelId = 10;
+}
diff --git a/proto/FinishLanternProjectionRsp.proto b/proto/FinishLanternProjectionRsp.proto
new file mode 100644
index 00000000..0d95b506
--- /dev/null
+++ b/proto/FinishLanternProjectionRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message FinishLanternProjectionRsp {
+ //enum DMBLJFCAIBD {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8132;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 15;
+}
diff --git a/proto/FinishMainCoopReq.proto b/proto/FinishMainCoopReq.proto
new file mode 100644
index 00000000..e06cf4fc
--- /dev/null
+++ b/proto/FinishMainCoopReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message FinishMainCoopReq {
+ //enum GCDJKLLAJKL {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 1969;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 id = 11;
+ uint32 endingSavePointId = 5;
+}
diff --git a/proto/FinishMainCoopRsp.proto b/proto/FinishMainCoopRsp.proto
new file mode 100644
index 00000000..a8a4757f
--- /dev/null
+++ b/proto/FinishMainCoopRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message FinishMainCoopRsp {
+ //enum BIANAGKJMMK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 1993;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 id = 12;
+ uint32 endingSavePointId = 4;
+ int32 retcode = 14;
+}
diff --git a/proto/FinishReason.proto b/proto/FinishReason.proto
new file mode 100644
index 00000000..ae895c20
--- /dev/null
+++ b/proto/FinishReason.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+enum FinishReason {
+ FINISH_REASON_DEFAULT = 0;
+ FINISH_REASON_CLEAR = 1;
+ FINISH_REASON_DISTANCE = 2;
+ FINISH_REASON_FINISH = 3;
+}
diff --git a/proto/FinishedTalkIdListNotify.proto b/proto/FinishedTalkIdListNotify.proto
new file mode 100644
index 00000000..4bc06e89
--- /dev/null
+++ b/proto/FinishedTalkIdListNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message FinishedTalkIdListNotify {
+ //enum LOPEKGOKHKB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 562;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated uint32 finishedTalkIdList = 10;
+}
diff --git a/proto/FireWorkData.proto b/proto/FireWorkData.proto
deleted file mode 100644
index 11d7c550..00000000
--- a/proto/FireWorkData.proto
+++ /dev/null
@@ -1,11 +0,0 @@
-// Proto has been converted from Sorapointa to Grasscutter format
-syntax = "proto3";
-
-option java_package = "emu.grasscutter.net.proto";
-
-import "FireWorkInstance.proto";
-
-message FireWorkData {
- uint32 id = 1;
- repeated FireWorkInstance fireWorkInstance = 2;
-}
diff --git a/proto/FireWorkInstance.proto b/proto/FireWorkInstance.proto
deleted file mode 100644
index b801bcee..00000000
--- a/proto/FireWorkInstance.proto
+++ /dev/null
@@ -1,11 +0,0 @@
-// Proto has been converted from Sorapointa to Grasscutter format
-syntax = "proto3";
-
-option java_package = "emu.grasscutter.net.proto";
-
-import "FireWorkType.proto";
-
-message FireWorkInstance {
- FireWorkType type = 1;
- int32 value = 2;
-}
diff --git a/proto/FireWorkNotify.proto b/proto/FireWorkNotify.proto
deleted file mode 100644
index 67503e80..00000000
--- a/proto/FireWorkNotify.proto
+++ /dev/null
@@ -1,13 +0,0 @@
-// Proto has been converted from Sorapointa to Grasscutter format
-syntax = "proto3";
-
-option java_package = "emu.grasscutter.net.proto";
-
-import "FireWorkData.proto";
-
-// CmdId: 6079
-// EnetChannelId: 0
-// EnetIsReliable: true
-message FireWorkNotify {
- repeated FireWorkData fireWorkData = 1;
-}
diff --git a/proto/FireWorkReq.proto b/proto/FireWorkReq.proto
deleted file mode 100644
index 9f645394..00000000
--- a/proto/FireWorkReq.proto
+++ /dev/null
@@ -1,14 +0,0 @@
-// Proto has been converted from Sorapointa to Grasscutter format
-syntax = "proto3";
-
-option java_package = "emu.grasscutter.net.proto";
-
-import "FireWorkData.proto";
-
-// CmdId: 6068
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
-message FireWorkReq {
- FireWorkData fireWorkData = 7;
-}
diff --git a/proto/FireWorkType.proto b/proto/FireWorkType.proto
deleted file mode 100644
index 4730c9d7..00000000
--- a/proto/FireWorkType.proto
+++ /dev/null
@@ -1,13 +0,0 @@
-// Proto has been converted from Sorapointa to Grasscutter format
-syntax = "proto3";
-
-option java_package = "emu.grasscutter.net.proto";
-
-enum FireWorkType {
- FireWorkType_ODJKANKMPPJ = 0;
- FireWorkType_EFGLHEIODFN = 1;
- FireWorkType_JPBBBCFGHAK = 2;
- FireWorkType_IDCMGHBHBFH = 3;
- FireWorkType_ODDBNNDFMBO = 4;
- FireWorkType_AGIDMOGJOBD = 5;
-}
diff --git a/proto/FireworkSetData.proto b/proto/FireworkSetData.proto
deleted file mode 100644
index 6da0c798..00000000
--- a/proto/FireworkSetData.proto
+++ /dev/null
@@ -1,12 +0,0 @@
-// Proto has been converted from Sorapointa to Grasscutter format
-syntax = "proto3";
-
-option java_package = "emu.grasscutter.net.proto";
-
-import "FireWorkInstance.proto";
-
-message FireworkSetData {
- uint32 id = 1;
- repeated uint32 _unknown_field_ = 2;
- repeated FireWorkInstance fireWorkInstance = 3;
-}
diff --git a/proto/FireworkSetNotify.proto b/proto/FireworkSetNotify.proto
deleted file mode 100644
index 80868783..00000000
--- a/proto/FireworkSetNotify.proto
+++ /dev/null
@@ -1,14 +0,0 @@
-// Proto has been converted from Sorapointa to Grasscutter format
-syntax = "proto3";
-
-option java_package = "emu.grasscutter.net.proto";
-
-import "FireworkSetData.proto";
-
-// CmdId: 5934
-// EnetChannelId: 0
-// EnetIsReliable: true
-message FireworkSetNotify {
- uint32 code = 1;
- repeated FireworkSetData data = 9;
-}
diff --git a/proto/FireworkSetReq.proto b/proto/FireworkSetReq.proto
deleted file mode 100644
index 7216b353..00000000
--- a/proto/FireworkSetReq.proto
+++ /dev/null
@@ -1,14 +0,0 @@
-// Proto has been converted from Sorapointa to Grasscutter format
-syntax = "proto3";
-
-option java_package = "emu.grasscutter.net.proto";
-
-import "FireworkSetData.proto";
-
-// CmdId: 6099
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
-message FireworkSetReq {
- FireworkSetData data = 2;
-}
diff --git a/proto/FireworkSetRsp.proto b/proto/FireworkSetRsp.proto
deleted file mode 100644
index 229ba490..00000000
--- a/proto/FireworkSetRsp.proto
+++ /dev/null
@@ -1,11 +0,0 @@
-// Proto has been converted from Sorapointa to Grasscutter format
-syntax = "proto3";
-
-option java_package = "emu.grasscutter.net.proto";
-
-// CmdId: 5969
-// EnetChannelId: 0
-// EnetIsReliable: true
-message NBFJOJPCCEK_Rsp {
- int32 retcode = 7;
-}
diff --git a/proto/FireworksLaunchDataNotify.proto b/proto/FireworksLaunchDataNotify.proto
new file mode 100644
index 00000000..bbb43470
--- /dev/null
+++ b/proto/FireworksLaunchDataNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "FireworksLaunchSchemeData.proto";
+
+message FireworksLaunchDataNotify {
+ //enum LBBDGOELNDE {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5979;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 lastUseSchemeId = 6;
+ repeated FireworksLaunchSchemeData schemeDataList = 2;
+}
diff --git a/proto/FireworksLaunchParam.proto b/proto/FireworksLaunchParam.proto
new file mode 100644
index 00000000..1178fc1b
--- /dev/null
+++ b/proto/FireworksLaunchParam.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "FireworksLaunchParamType.proto";
+
+message FireworksLaunchParam {
+ FireworksLaunchParamType type = 5;
+ int32 value = 14;
+}
diff --git a/proto/FireworksLaunchParamType.proto b/proto/FireworksLaunchParamType.proto
new file mode 100644
index 00000000..62166faa
--- /dev/null
+++ b/proto/FireworksLaunchParamType.proto
@@ -0,0 +1,14 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+enum FireworksLaunchParamType {
+ FIREWORKS_LAUNCH_PARAM_TYPE_NONE = 0;
+ FIREWORKS_LAUNCH_PARAM_TYPE_REPEAT = 1;
+ FIREWORKS_LAUNCH_PARAM_TYPE_INTERVAL = 2;
+ FIREWORKS_LAUNCH_PARAM_TYPE_DELAY = 3;
+ FIREWORKS_LAUNCH_PARAM_TYPE_ROUND_INTERVAL = 4;
+ FIREWORKS_LAUNCH_PARAM_TYPE_MAX = 5;
+}
diff --git a/proto/FireworksLaunchSchemeData.proto b/proto/FireworksLaunchSchemeData.proto
new file mode 100644
index 00000000..411c7ef3
--- /dev/null
+++ b/proto/FireworksLaunchSchemeData.proto
@@ -0,0 +1,13 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "FireworksLaunchParam.proto";
+
+message FireworksLaunchSchemeData {
+ uint32 schemeId = 2;
+ repeated FireworksLaunchParam launchParamList = 13;
+ repeated uint32 fireworksIdList = 1;
+}
diff --git a/proto/FireworksReformData.proto b/proto/FireworksReformData.proto
new file mode 100644
index 00000000..2ca5886e
--- /dev/null
+++ b/proto/FireworksReformData.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "FireworksReformParam.proto";
+
+message FireworksReformData {
+ repeated FireworksReformParam reformParamList = 2;
+ uint32 id = 7;
+}
diff --git a/proto/FireworksReformDataNotify.proto b/proto/FireworksReformDataNotify.proto
new file mode 100644
index 00000000..2fd723c2
--- /dev/null
+++ b/proto/FireworksReformDataNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "FireworksReformData.proto";
+
+message FireworksReformDataNotify {
+ //enum PLDJGEPPBIC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 6001;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated FireworksReformData fireworksReformDataList = 7;
+}
diff --git a/proto/FireworksReformParam.proto b/proto/FireworksReformParam.proto
new file mode 100644
index 00000000..8b615536
--- /dev/null
+++ b/proto/FireworksReformParam.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "FireworksReformParamType.proto";
+
+message FireworksReformParam {
+ int32 value = 8;
+ FireworksReformParamType type = 11;
+}
diff --git a/proto/FireworksReformParamType.proto b/proto/FireworksReformParamType.proto
new file mode 100644
index 00000000..584bf727
--- /dev/null
+++ b/proto/FireworksReformParamType.proto
@@ -0,0 +1,14 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+enum FireworksReformParamType {
+ FIREWORKS_REFORM_PARAM_TYPE_NONE = 0;
+ FIREWORKS_REFORM_PARAM_TYPE_COLOR = 1;
+ FIREWORKS_REFORM_PARAM_TYPE_HEIGHT = 2;
+ FIREWORKS_REFORM_PARAM_TYPE_SIZE = 3;
+ FIREWORKS_REFORM_PARAM_TYPE_DENSITY = 4;
+ FIREWORKS_REFORM_PARAM_TYPE_Vector = 5;
+}
diff --git a/proto/FirstStageInfo.proto b/proto/FirstStageInfo.proto
new file mode 100644
index 00000000..3bd29fba
--- /dev/null
+++ b/proto/FirstStageInfo.proto
@@ -0,0 +1,13 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message FirstStageInfo {
+ uint32 score = 13;
+ uint32 Unk3300_HIKADHBLPEB = 8;
+ uint32 Unk3300_IPAJLKOBDKC = 3;
+ uint32 Unk3300_NILGNHOPGLD = 1;
+}
diff --git a/proto/FishAttractNotify.proto b/proto/FishAttractNotify.proto
new file mode 100644
index 00000000..9a753b81
--- /dev/null
+++ b/proto/FishAttractNotify.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "Vector.proto";
+
+message FishAttractNotify {
+ //enum NMCHBPBNIKA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5815;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ Vector pos = 3;
+ repeated uint32 fishIdList = 5;
+ uint32 uid = 10;
+}
diff --git a/proto/FishBaitGoneNotify.proto b/proto/FishBaitGoneNotify.proto
new file mode 100644
index 00000000..61f86cd7
--- /dev/null
+++ b/proto/FishBaitGoneNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message FishBaitGoneNotify {
+ //enum BKKEEMKPBIB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5803;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 uid = 8;
+}
diff --git a/proto/FishBattleBeginReq.proto b/proto/FishBattleBeginReq.proto
new file mode 100644
index 00000000..a16fc58e
--- /dev/null
+++ b/proto/FishBattleBeginReq.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message FishBattleBeginReq {
+ //enum IPALOBNGPCP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5802;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+}
diff --git a/proto/FishBattleBeginRsp.proto b/proto/FishBattleBeginRsp.proto
new file mode 100644
index 00000000..f3e1f469
--- /dev/null
+++ b/proto/FishBattleBeginRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message FishBattleBeginRsp {
+ //enum NMPKOMDADLO {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5840;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 6;
+}
diff --git a/proto/FishBattleEndReq.proto b/proto/FishBattleEndReq.proto
new file mode 100644
index 00000000..d2d60a1e
--- /dev/null
+++ b/proto/FishBattleEndReq.proto
@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "FishBattleResult.proto";
+
+message FishBattleEndReq {
+ //enum JCIOFMDHFDP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5837;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ FishBattleResult battleResult = 11;
+ uint32 maxBonusTime = 10;
+ bool isAlwaysBonus = 5;
+}
diff --git a/proto/FishBattleEndRsp.proto b/proto/FishBattleEndRsp.proto
new file mode 100644
index 00000000..b6e0380e
--- /dev/null
+++ b/proto/FishBattleEndRsp.proto
@@ -0,0 +1,27 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "FishBattleResult.proto";
+import "FishNoRewardReason.proto";
+import "ItemParam.proto";
+
+message FishBattleEndRsp {
+ //enum NFCGJNBLAOP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5814;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated ItemParam rewardItemList = 3;
+ repeated ItemParam Unk3300_MDCKKPGNKGL = 12;
+ FishBattleResult battleResult = 10;
+ FishNoRewardReason noRewardReason = 5;
+ bool isGotReward = 8;
+ int32 retcode = 2;
+ repeated ItemParam Unk3300_ABBBGOBDJEC = 15;
+}
diff --git a/proto/FishBattleResult.proto b/proto/FishBattleResult.proto
new file mode 100644
index 00000000..433fad6d
--- /dev/null
+++ b/proto/FishBattleResult.proto
@@ -0,0 +1,14 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+enum FishBattleResult {
+ FISH_BATTLE_RESULT_NONE = 0;
+ FISH_BATTLE_RESULT_SUCC = 1;
+ FISH_BATTLE_RESULT_FAIL = 2;
+ FISH_BATTLE_RESULT_TIMEOUT = 3;
+ FISH_BATTLE_RESULT_CANCEL = 4;
+ FISH_BATTLE_RESULT_EXIT = 5;
+}
\ No newline at end of file
diff --git a/proto/FishBiteReq.proto b/proto/FishBiteReq.proto
new file mode 100644
index 00000000..3c3fa5c7
--- /dev/null
+++ b/proto/FishBiteReq.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message FishBiteReq {
+ //enum AJPGOFFIDNE {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5816;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+}
diff --git a/proto/FishBiteRsp.proto b/proto/FishBiteRsp.proto
new file mode 100644
index 00000000..479a7f6d
--- /dev/null
+++ b/proto/FishBiteRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message FishBiteRsp {
+ //enum HJHLODICPOC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5825;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 14;
+}
diff --git a/proto/FishCastRodReq.proto b/proto/FishCastRodReq.proto
new file mode 100644
index 00000000..eeca2e1a
--- /dev/null
+++ b/proto/FishCastRodReq.proto
@@ -0,0 +1,23 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "Vector.proto";
+
+message FishCastRodReq {
+ //enum IKCMBMPOMAI {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5819;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 rodEntityId = 2;
+ Vector pos = 1;
+ uint32 Unk3300_ICALEIBJCDA = 15;
+ uint32 Unk3300_PJFHEDDFOBM = 8;
+}
diff --git a/proto/FishCastRodRsp.proto b/proto/FishCastRodRsp.proto
new file mode 100644
index 00000000..c7d0c133
--- /dev/null
+++ b/proto/FishCastRodRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message FishCastRodRsp {
+ //enum GIFIMANBHOB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5843;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 8;
+}
diff --git a/proto/FishChosenNotify.proto b/proto/FishChosenNotify.proto
new file mode 100644
index 00000000..5b781cd9
--- /dev/null
+++ b/proto/FishChosenNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message FishChosenNotify {
+ //enum AFKIPPKMOJA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5831;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 fishId = 14;
+}
diff --git a/proto/FishEscapeNotify.proto b/proto/FishEscapeNotify.proto
new file mode 100644
index 00000000..8a37fd08
--- /dev/null
+++ b/proto/FishEscapeNotify.proto
@@ -0,0 +1,23 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "Vector.proto";
+import "FishEscapeReason.proto";
+
+message FishEscapeNotify {
+ //enum BAKJLJJGKJM {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5835;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ Vector pos = 9;
+ uint32 uid = 15;
+ repeated uint32 fishIdList = 5;
+ FishEscapeReason reason = 7;
+}
diff --git a/proto/FishEscapeReason.proto b/proto/FishEscapeReason.proto
new file mode 100644
index 00000000..7b29faad
--- /dev/null
+++ b/proto/FishEscapeReason.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+enum FishEscapeReason {
+ FISH_ESCAPE_REASON_NONE = 0;
+ FISH_ESCAPE_REASON_SHOCKED = 1;
+ FISH_ESCAPE_REASON_UNHOOK = 2;
+}
diff --git a/proto/FishInfo.proto b/proto/FishInfo.proto
new file mode 100644
index 00000000..59be6985
--- /dev/null
+++ b/proto/FishInfo.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message FishInfo {
+ uint32 pjkdcbfhaoo = 4;
+ uint32 defebhbifge = 6;
+}
diff --git a/proto/FishNoRewardReason.proto b/proto/FishNoRewardReason.proto
new file mode 100644
index 00000000..31143c23
--- /dev/null
+++ b/proto/FishNoRewardReason.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+enum FishNoRewardReason {
+ FISH_NO_REWARD_REASON_NONE = 0;
+ FISH_NO_REWARD_REASON_ACTIVITY_LIMIT = 1;
+ FISH_NO_REWARD_REASON_BAG_LIMIT = 2;
+ FISH_NO_REWARD_REASON_POOL_LIMIT = 3;
+}
diff --git a/proto/FishPoolDataNotify.proto b/proto/FishPoolDataNotify.proto
new file mode 100644
index 00000000..3a35c834
--- /dev/null
+++ b/proto/FishPoolDataNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message FishPoolDataNotify {
+ //enum AABCBDJMGOH {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5806;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 todayFishNum = 10;
+ uint32 entityId = 5;
+}
diff --git a/proto/FishingGallerySettleInfo.proto b/proto/FishingGallerySettleInfo.proto
new file mode 100644
index 00000000..c0bbdbba
--- /dev/null
+++ b/proto/FishingGallerySettleInfo.proto
@@ -0,0 +1,13 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "FishingScore.proto";
+import "FishInfo.proto";
+
+message FishingGallerySettleInfo {
+ repeated FishingScore fishingScoreList = 4;
+ map fishMap = 9;
+}
diff --git a/proto/FishingGallerySettleNotify.proto b/proto/FishingGallerySettleNotify.proto
new file mode 100644
index 00000000..2aab560c
--- /dev/null
+++ b/proto/FishingGallerySettleNotify.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "FishingGallerySettleInfo.proto";
+
+message FishingGallerySettleNotify {
+ //enum OBGLILAIIAG {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8356;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ FishingGallerySettleInfo settleInfo = 3;
+ uint32 galleryId = 7;
+ uint32 levelId = 6;
+}
diff --git a/proto/FishingScore.proto b/proto/FishingScore.proto
new file mode 100644
index 00000000..79a17e59
--- /dev/null
+++ b/proto/FishingScore.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message FishingScore {
+ bool isNewRecord = 13;
+ uint32 bcjgjjefnci = 10;
+}
diff --git a/proto/FleurFairBalloonInfo.proto b/proto/FleurFairBalloonInfo.proto
new file mode 100644
index 00000000..e0338865
--- /dev/null
+++ b/proto/FleurFairBalloonInfo.proto
@@ -0,0 +1,10 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message FleurFairBalloonInfo {
+ uint32 bestScore = 7;
+}
diff --git a/proto/FleurFairBalloonSettleInfo.proto b/proto/FleurFairBalloonSettleInfo.proto
new file mode 100644
index 00000000..ac7f87e5
--- /dev/null
+++ b/proto/FleurFairBalloonSettleInfo.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "BalloonSettleInfo.proto";
+
+message FleurFairBalloonSettleInfo {
+ BalloonSettleInfo settleInfo = 13;
+ bool isNewRecord = 8;
+}
diff --git a/proto/FleurFairBalloonSettleNotify.proto b/proto/FleurFairBalloonSettleNotify.proto
new file mode 100644
index 00000000..d1d68a12
--- /dev/null
+++ b/proto/FleurFairBalloonSettleNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "FleurFairBalloonSettleInfo.proto";
+
+message FleurFairBalloonSettleNotify {
+ //enum MIOADOGMIFA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2183;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 minigameId = 10;
+ map settleInfoMap = 5;
+}
diff --git a/proto/FleurFairBossSettleInfo.proto b/proto/FleurFairBossSettleInfo.proto
new file mode 100644
index 00000000..7aa066d0
--- /dev/null
+++ b/proto/FleurFairBossSettleInfo.proto
@@ -0,0 +1,15 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "FleurFairPlayerStatInfo.proto";
+
+message FleurFairBossSettleInfo {
+ repeated FleurFairPlayerStatInfo statInfoList = 3;
+ uint32 rewardTokenNum = 4;
+ uint32 energy = 8;
+ uint32 costTime = 2;
+ bool isSuccess = 6;
+}
diff --git a/proto/FleurFairBuffEnergyNotify.proto b/proto/FleurFairBuffEnergyNotify.proto
new file mode 100644
index 00000000..a9c26503
--- /dev/null
+++ b/proto/FleurFairBuffEnergyNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message FleurFairBuffEnergyNotify {
+ //enum DFPMDLBKENG {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5353;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 energy = 1;
+}
diff --git a/proto/FleurFairFallInfo.proto b/proto/FleurFairFallInfo.proto
new file mode 100644
index 00000000..1c025059
--- /dev/null
+++ b/proto/FleurFairFallInfo.proto
@@ -0,0 +1,10 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message FleurFairFallInfo {
+ uint32 bestScore = 9;
+}
diff --git a/proto/FleurFairFallSettleInfo.proto b/proto/FleurFairFallSettleInfo.proto
new file mode 100644
index 00000000..db3b96b8
--- /dev/null
+++ b/proto/FleurFairFallSettleInfo.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "FallSettleInfo.proto";
+
+message FleurFairFallSettleInfo {
+ FallSettleInfo settleInfo = 11;
+ bool isNewRecord = 14;
+}
diff --git a/proto/FleurFairFallSettleNotify.proto b/proto/FleurFairFallSettleNotify.proto
new file mode 100644
index 00000000..47207658
--- /dev/null
+++ b/proto/FleurFairFallSettleNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "FleurFairFallSettleInfo.proto";
+
+message FleurFairFallSettleNotify {
+ //enum FPJHACIOBMD {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2150;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ map settleInfoMap = 5;
+ uint32 minigameId = 12;
+}
diff --git a/proto/FleurFairFinishGalleryStageNotify.proto b/proto/FleurFairFinishGalleryStageNotify.proto
new file mode 100644
index 00000000..cd44ac6f
--- /dev/null
+++ b/proto/FleurFairFinishGalleryStageNotify.proto
@@ -0,0 +1,17 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message FleurFairFinishGalleryStageNotify {
+ //enum ELBNLHPKFDO {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5394;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+}
diff --git a/proto/FleurFairGallerySettleInfo.proto b/proto/FleurFairGallerySettleInfo.proto
new file mode 100644
index 00000000..ae44674e
--- /dev/null
+++ b/proto/FleurFairGallerySettleInfo.proto
@@ -0,0 +1,14 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message FleurFairGallerySettleInfo {
+ bool isSuccess = 5;
+ uint32 energy = 7;
+ map energyStatMap = 9;
+ uint32 galleryStageCount = 14;
+ uint32 galleryStageIndex = 15;
+}
diff --git a/proto/FleurFairMusicGameInfo.proto b/proto/FleurFairMusicGameInfo.proto
new file mode 100644
index 00000000..fa0caafd
--- /dev/null
+++ b/proto/FleurFairMusicGameInfo.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "FleurFairMusicRecord.proto";
+
+message FleurFairMusicGameInfo {
+ map fbmomkmdima = 9;
+}
diff --git a/proto/FleurFairPlayerStatInfo.proto b/proto/FleurFairPlayerStatInfo.proto
new file mode 100644
index 00000000..d16c306d
--- /dev/null
+++ b/proto/FleurFairPlayerStatInfo.proto
@@ -0,0 +1,17 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ProfilePicture.proto";
+
+message FleurFairPlayerStatInfo {
+ int32 param = 4;
+ ProfilePicture profilePicture = 14;
+ string onlineId = 3;
+ string nickName = 5;
+ uint32 statId = 2;
+ uint32 headImage = 8;
+ uint32 uid = 13;
+}
diff --git a/proto/FleurFairReplayMiniGameReq.proto b/proto/FleurFairReplayMiniGameReq.proto
new file mode 100644
index 00000000..105753de
--- /dev/null
+++ b/proto/FleurFairReplayMiniGameReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message FleurFairReplayMiniGameReq {
+ //enum HEPOHMMJCBN {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2004;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 minigameId = 11;
+}
diff --git a/proto/FleurFairReplayMiniGameRsp.proto b/proto/FleurFairReplayMiniGameRsp.proto
new file mode 100644
index 00000000..4b1fba63
--- /dev/null
+++ b/proto/FleurFairReplayMiniGameRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message FleurFairReplayMiniGameRsp {
+ //enum HOHDNAPCOJF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2040;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 minigameId = 9;
+ int32 retcode = 14;
+}
diff --git a/proto/FleurFairStageSettleNotify.proto b/proto/FleurFairStageSettleNotify.proto
new file mode 100644
index 00000000..4d1f3780
--- /dev/null
+++ b/proto/FleurFairStageSettleNotify.proto
@@ -0,0 +1,24 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GallerySettleInfo.proto";
+import "BossSettleInfo.proto";
+
+message FleurFairStageSettleNotify {
+ //enum IBGGENNBBPK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5336;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 stageType = 9;
+ oneof detail {
+ GallerySettleInfo gallery_settle_info = 10;
+ BossSettleInfo boss_settle_info = 8;
+ }
+}
diff --git a/proto/FlightActivityRestartReq.proto b/proto/FlightActivityRestartReq.proto
new file mode 100644
index 00000000..9ae0733a
--- /dev/null
+++ b/proto/FlightActivityRestartReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message FlightActivityRestartReq {
+ //enum EAAJOJIFNON {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2017;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 groupId = 15;
+ uint32 scheduleId = 14;
+}
diff --git a/proto/FlightActivityRestartRsp.proto b/proto/FlightActivityRestartRsp.proto
new file mode 100644
index 00000000..92466628
--- /dev/null
+++ b/proto/FlightActivityRestartRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message FlightActivityRestartRsp {
+ //enum DLOFJFLBFPA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2071;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 scheduleId = 6;
+ int32 retcode = 13;
+ uint32 groupId = 12;
+}
diff --git a/proto/FlightActivitySettleNotify.proto b/proto/FlightActivitySettleNotify.proto
new file mode 100644
index 00000000..4bf5e67a
--- /dev/null
+++ b/proto/FlightActivitySettleNotify.proto
@@ -0,0 +1,25 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message FlightActivitySettleNotify {
+ //enum GHLJGNNHDHM {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2169;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 Unk3300_PLFMJPNPPLI = 9;
+ bool isSuccess = 13;
+ uint32 Unk3300_MEEKFJJIOKE = 2;
+ bool isNewRecord = 15;
+ uint32 totalNum = 3;
+ uint32 groupId = 10;
+ uint32 score = 12;
+ uint32 leftTime = 5;
+}
diff --git a/proto/FlowerInfo.proto b/proto/FlowerInfo.proto
new file mode 100644
index 00000000..50ae51a6
--- /dev/null
+++ b/proto/FlowerInfo.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message FlowerInfo {
+ uint32 curScore = 7;
+ uint32 targetScore = 6;
+ uint32 endTime = 8;
+}
diff --git a/proto/FlowerStartParam.proto b/proto/FlowerStartParam.proto
new file mode 100644
index 00000000..dd7a611a
--- /dev/null
+++ b/proto/FlowerStartParam.proto
@@ -0,0 +1,10 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message FlowerStartParam {
+ uint32 targetScore = 8;
+}
diff --git a/proto/FocusAvatarReq.proto b/proto/FocusAvatarReq.proto
new file mode 100644
index 00000000..744db71b
--- /dev/null
+++ b/proto/FocusAvatarReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message FocusAvatarReq {
+ //enum BHCOIMJLIFJ {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 1608;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ bool isFocus = 15;
+ uint64 avatarGuid = 10;
+}
diff --git a/proto/FocusAvatarRsp.proto b/proto/FocusAvatarRsp.proto
new file mode 100644
index 00000000..5eefd4c2
--- /dev/null
+++ b/proto/FocusAvatarRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message FocusAvatarRsp {
+ //enum BIJICDDEIAN {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 1779;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ bool isFocus = 11;
+ int32 retcode = 1;
+ uint64 avatarGuid = 15;
+}
diff --git a/proto/FollowType.proto b/proto/FollowType.proto
new file mode 100644
index 00000000..0f36d130
--- /dev/null
+++ b/proto/FollowType.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+enum FollowType {
+ FOLLOW_TYPE_INIT_FOLLOW_POS = 0;
+ FOLLOW_TYPE_SET_FOLLOW_POS = 1;
+ FOLLOW_TYPE_SET_ABS_FOLLOW_POS = 2;
+}
diff --git a/proto/ForceAddPlayerFriendReq.proto b/proto/ForceAddPlayerFriendReq.proto
new file mode 100644
index 00000000..706a0b42
--- /dev/null
+++ b/proto/ForceAddPlayerFriendReq.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ForceAddPlayerFriendReq {
+ //enum GEDCMHGGPCN {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4090;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 targetUid = 7;
+}
diff --git a/proto/ForceAddPlayerFriendRsp.proto b/proto/ForceAddPlayerFriendRsp.proto
new file mode 100644
index 00000000..010f7a33
--- /dev/null
+++ b/proto/ForceAddPlayerFriendRsp.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "FriendBrief.proto";
+
+message ForceAddPlayerFriendRsp {
+ //enum NFIMNEOOLPH {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4054;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ FriendBrief targetFriendBrief = 12;
+ uint32 targetUid = 14;
+ int32 retcode = 11;
+}
diff --git a/proto/ForceDragAvatarNotify.proto b/proto/ForceDragAvatarNotify.proto
new file mode 100644
index 00000000..97182039
--- /dev/null
+++ b/proto/ForceDragAvatarNotify.proto
@@ -0,0 +1,24 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "MotionInfo.proto";
+
+message ForceDragAvatarNotify {
+ //enum FPGMGAGADJM {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 3071;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint64 Unk3300_AFLCLLFDPBD = 14;
+ uint32 entityId = 8;
+ MotionInfo motionInfo = 11;
+ uint64 Unk3300_IMFNNPGHKJJ = 1;
+ bool isFirstValid = 5;
+ uint32 sceneTime = 4;
+}
diff --git a/proto/ForceDragBackTransferNotify.proto b/proto/ForceDragBackTransferNotify.proto
new file mode 100644
index 00000000..420d2464
--- /dev/null
+++ b/proto/ForceDragBackTransferNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ForceDragBackTransferNotify {
+ //enum FIBALKEINNG {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 3032;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+}
diff --git a/proto/ForceUdpate.proto b/proto/ForceUdpate.proto
new file mode 100644
index 00000000..b060ae12
--- /dev/null
+++ b/proto/ForceUdpate.proto
@@ -0,0 +1,10 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ForceUdpate {
+ string dpinghecdgc = 1;
+}
diff --git a/proto/ForceUpdateInfo.proto b/proto/ForceUpdateInfo.proto
deleted file mode 100644
index 2e3e530f..00000000
--- a/proto/ForceUpdateInfo.proto
+++ /dev/null
@@ -1,24 +0,0 @@
-// Proto has been converted from Sorapointa to Grasscutter format
-// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
-// Copyright (C) 2022 Sorapointa Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
-syntax = "proto3";
-
-option java_package = "emu.grasscutter.net.proto";
-
-message ForceUpdateInfo {
- string force_update_url = 1;
-}
diff --git a/proto/FoundationNotify.proto b/proto/FoundationNotify.proto
new file mode 100644
index 00000000..d09a9d2a
--- /dev/null
+++ b/proto/FoundationNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "FoundationInfo.proto";
+
+message FoundationNotify {
+ //enum FONPOGNLPGE {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 839;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 gadgetEntityId = 5;
+ FoundationInfo info = 2;
+}
diff --git a/proto/FoundationOpType.proto b/proto/FoundationOpType.proto
new file mode 100644
index 00000000..8e587cd7
--- /dev/null
+++ b/proto/FoundationOpType.proto
@@ -0,0 +1,15 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+enum FoundationOpType {
+ FOUNDATION_OP_TYPE_NONE = 0;
+ FOUNDATION_OP_TYPE_BUILD = 1;
+ FOUNDATION_OP_TYPE_DEMOLITION = 2;
+ FOUNDATION_OP_TYPE_REBUILD = 3;
+ FOUNDATION_OP_TYPE_ROTATE = 4;
+ FOUNDATION_OP_TYPE_LOCK = 5;
+ FOUNDATION_OP_TYPE_UNLOCK = 6;
+}
diff --git a/proto/FoundationReq.proto b/proto/FoundationReq.proto
new file mode 100644
index 00000000..84249b3b
--- /dev/null
+++ b/proto/FoundationReq.proto
@@ -0,0 +1,23 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "FoundationOpType.proto";
+
+message FoundationReq {
+ //enum OPCDIPANKEJ {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 869;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 pointConfigId = 2;
+ FoundationOpType opType = 10;
+ uint32 buildingId = 13;
+ uint32 gadgetEntityId = 4;
+}
diff --git a/proto/FoundationRsp.proto b/proto/FoundationRsp.proto
new file mode 100644
index 00000000..ac2aa610
--- /dev/null
+++ b/proto/FoundationRsp.proto
@@ -0,0 +1,23 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "FoundationOpType.proto";
+
+message FoundationRsp {
+ //enum KFLDKIJLBGN {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 806;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 pointConfigId = 14;
+ int32 retcode = 1;
+ uint32 gadgetEntityId = 10;
+ FoundationOpType opType = 15;
+ uint32 buildingId = 8;
+}
diff --git a/proto/FriendInfoChangeNotify.proto b/proto/FriendInfoChangeNotify.proto
new file mode 100644
index 00000000..9d9f441a
--- /dev/null
+++ b/proto/FriendInfoChangeNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message FriendInfoChangeNotify {
+ //enum FAOBCGEFJBE {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4026;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ string onlineId = 2;
+ uint32 uid = 9;
+}
diff --git a/proto/FungusCaptureSettleNotify.proto b/proto/FungusCaptureSettleNotify.proto
new file mode 100644
index 00000000..a2e60b33
--- /dev/null
+++ b/proto/FungusCaptureSettleNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message FungusCaptureSettleNotify {
+ //enum MIBABDMJBJL {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5585;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ bool isSuccess = 4;
+}
diff --git a/proto/FungusCultivateReq.proto b/proto/FungusCultivateReq.proto
new file mode 100644
index 00000000..12c7819c
--- /dev/null
+++ b/proto/FungusCultivateReq.proto
@@ -0,0 +1,26 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message FungusCultivateReq {
+ //enum NIMDMBGIEOP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 22123;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 cultivateId = 15;
+ uint32 time = 12;
+ uint32 Unk3300_MBPLICBFAGL = 5;
+ uint32 Unk3300_PGJKEICFKLL = 3;
+ uint32 Unk3300_DJEGJDACDEF = 7;
+ uint32 Unk3300_AEGCNHLOPEP = 8;
+ uint32 Unk3300_IMEGFNOLDCE = 13;
+ uint32 Unk3300_IOANLJBMBAI = 2;
+}
diff --git a/proto/FungusCultivateRsp.proto b/proto/FungusCultivateRsp.proto
new file mode 100644
index 00000000..843dcc2e
--- /dev/null
+++ b/proto/FungusCultivateRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message FungusCultivateRsp {
+ //enum FLGGLCPECFO {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 23930;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 cultivateId = 13;
+ int32 retcode = 12;
+ bool isNewRecord = 2;
+}
diff --git a/proto/FungusFighterCaptureInfo.proto b/proto/FungusFighterCaptureInfo.proto
new file mode 100644
index 00000000..6f97d137
--- /dev/null
+++ b/proto/FungusFighterCaptureInfo.proto
@@ -0,0 +1,10 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message FungusFighterCaptureInfo {
+ bool isHideProgress = 3;
+}
diff --git a/proto/FungusFighterClearTrainingRuntimeDataReq.proto b/proto/FungusFighterClearTrainingRuntimeDataReq.proto
new file mode 100644
index 00000000..3b52970b
--- /dev/null
+++ b/proto/FungusFighterClearTrainingRuntimeDataReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message FungusFighterClearTrainingRuntimeDataReq {
+ //enum JHCNJHLONKJ {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 23642;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 dungeonId = 3;
+}
diff --git a/proto/FungusFighterClearTrainingRuntimeDataRsp.proto b/proto/FungusFighterClearTrainingRuntimeDataRsp.proto
new file mode 100644
index 00000000..381c4962
--- /dev/null
+++ b/proto/FungusFighterClearTrainingRuntimeDataRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message FungusFighterClearTrainingRuntimeDataRsp {
+ //enum JEFCAPDINIK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 22321;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 2;
+}
diff --git a/proto/FungusFighterDetailInfo.proto b/proto/FungusFighterDetailInfo.proto
new file mode 100644
index 00000000..042338ba
--- /dev/null
+++ b/proto/FungusFighterDetailInfo.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "FungusDetail.proto";
+import "FungusTrainingProgressDetail.proto";
+import "FungusPlotStageDetail.proto";
+import "FungusTrainingDungeonDetail.proto";
+
+message FungusFighterDetailInfo {
+ repeated FungusDetail fungusDetailList = 3;
+ repeated uint32 Unk3300_GIHAKKAJHDH = 9;
+ repeated FungusTrainingProgressDetail trainingDungeonProgressDetailList = 4;
+ repeated uint32 Unk3300_HPDOJOBPFMJ = 2;
+ repeated uint32 Unk3300_KGKFJJHFHAB = 13;
+ repeated FungusPlotStageDetail plotStageDetailList = 6;
+ repeated FungusTrainingDungeonDetail trainingDungeonDetailList = 12;
+}
diff --git a/proto/FungusFighterPlotInfoNotify.proto b/proto/FungusFighterPlotInfoNotify.proto
new file mode 100644
index 00000000..8eefcd2f
--- /dev/null
+++ b/proto/FungusFighterPlotInfoNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message FungusFighterPlotInfoNotify {
+ //enum MDJGOPHLFOJ {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 24391;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated uint32 fungusIdList = 1;
+ uint32 dungeonId = 12;
+}
diff --git a/proto/FungusFighterRestartTraningDungeonReq.proto b/proto/FungusFighterRestartTraningDungeonReq.proto
new file mode 100644
index 00000000..0af60258
--- /dev/null
+++ b/proto/FungusFighterRestartTraningDungeonReq.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message FungusFighterRestartTraningDungeonReq {
+ //enum INLJMEDOALP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 20900;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+}
diff --git a/proto/FungusFighterRestartTraningDungeonRsp.proto b/proto/FungusFighterRestartTraningDungeonRsp.proto
new file mode 100644
index 00000000..99acff15
--- /dev/null
+++ b/proto/FungusFighterRestartTraningDungeonRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message FungusFighterRestartTraningDungeonRsp {
+ //enum NAPBFJHJONH {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 24603;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 10;
+}
diff --git a/proto/FungusFighterRuntimeDataNotify.proto b/proto/FungusFighterRuntimeDataNotify.proto
new file mode 100644
index 00000000..4a09a1c3
--- /dev/null
+++ b/proto/FungusFighterRuntimeDataNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "FungusTrainingProgressDetail.proto";
+
+message FungusFighterRuntimeDataNotify {
+ //enum OGHEKMNGNAM {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 22858;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ FungusTrainingProgressDetail progressDetail = 14;
+}
diff --git a/proto/FungusFighterTrainingGallerySettleNotify.proto b/proto/FungusFighterTrainingGallerySettleNotify.proto
new file mode 100644
index 00000000..a670a895
--- /dev/null
+++ b/proto/FungusFighterTrainingGallerySettleNotify.proto
@@ -0,0 +1,26 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GalleryStopReason.proto";
+
+message FungusFighterTrainingGallerySettleNotify {
+ //enum PCMLJAAPJMF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 23677;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 finalScore = 6;
+ uint32 Unk3300_KKFBMHLOLFC = 14;
+ GalleryStopReason reason = 3;
+ uint32 Unk3300_BHOMHPHLOHL = 11;
+ uint32 Unk3300_POCDEGBHJEA = 12;
+ uint32 totalUsedTime = 9;
+ bool isFinalSettle = 7;
+ bool isNewRecord = 5;
+}
diff --git a/proto/FungusFighterTrainingInfo.proto b/proto/FungusFighterTrainingInfo.proto
new file mode 100644
index 00000000..8b16841e
--- /dev/null
+++ b/proto/FungusFighterTrainingInfo.proto
@@ -0,0 +1,16 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message FungusFighterTrainingInfo {
+ uint32 Unk3300_GMLIPFDMDOG = 5;
+ uint32 buffId = 15;
+ uint32 Unk3300_IOEELCAMDCK = 4;
+ uint32 maxMonsterCount = 1;
+ uint32 Unk3300_EKAMCPNGCGH = 10;
+ uint32 Unk3300_EDHANEGNMJM = 3;
+ uint32 Unk3300_HGPGNCMNDJN = 6;
+}
diff --git a/proto/FungusFighterTrainingInfoNotify.proto b/proto/FungusFighterTrainingInfoNotify.proto
new file mode 100644
index 00000000..2c27145a
--- /dev/null
+++ b/proto/FungusFighterTrainingInfoNotify.proto
@@ -0,0 +1,24 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message FungusFighterTrainingInfoNotify {
+ //enum JBHPHCENNEO {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5545;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 Unk3300_EDHANEGNMJM = 15;
+ uint32 Unk3300_IOEELCAMDCK = 14;
+ uint32 Unk3300_EKAMCPNGCGH = 1;
+ uint32 Unk3300_GMLIPFDMDOG = 7;
+ uint32 maxMonsterCount = 3;
+ uint32 buffId = 6;
+ uint32 Unk3300_HGPGNCMNDJN = 13;
+}
diff --git a/proto/FungusFighterTrainingSelectFungusReq.proto b/proto/FungusFighterTrainingSelectFungusReq.proto
new file mode 100644
index 00000000..089d0d79
--- /dev/null
+++ b/proto/FungusFighterTrainingSelectFungusReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message FungusFighterTrainingSelectFungusReq {
+ //enum EIKEOMNDPJM {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 21917;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ repeated uint32 backupFungusIdList = 5;
+ repeated uint32 fightFungusIdList = 2;
+}
diff --git a/proto/FungusFighterTrainingSelectFungusRsp.proto b/proto/FungusFighterTrainingSelectFungusRsp.proto
new file mode 100644
index 00000000..9744e201
--- /dev/null
+++ b/proto/FungusFighterTrainingSelectFungusRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message FungusFighterTrainingSelectFungusRsp {
+ //enum FNLLKEMCFDD {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 20972;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 15;
+}
diff --git a/proto/FungusFighterUseBackupFungusReq.proto b/proto/FungusFighterUseBackupFungusReq.proto
new file mode 100644
index 00000000..82ebeec8
--- /dev/null
+++ b/proto/FungusFighterUseBackupFungusReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message FungusFighterUseBackupFungusReq {
+ //enum MBJBDMEMKOF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 22618;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ repeated uint32 backupFungusIdList = 13;
+}
diff --git a/proto/FungusFighterUseBackupFungusRsp.proto b/proto/FungusFighterUseBackupFungusRsp.proto
new file mode 100644
index 00000000..f6586b8b
--- /dev/null
+++ b/proto/FungusFighterUseBackupFungusRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message FungusFighterUseBackupFungusRsp {
+ //enum FJMCGFHJHEO {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 23332;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 2;
+}
diff --git a/proto/FungusRenameReq.proto b/proto/FungusRenameReq.proto
new file mode 100644
index 00000000..1bc1b79d
--- /dev/null
+++ b/proto/FungusRenameReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message FungusRenameReq {
+ //enum DMLOEJOIBHO {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 21219;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 nameId = 2;
+ uint32 fungusId = 5;
+}
diff --git a/proto/FungusRenameRsp.proto b/proto/FungusRenameRsp.proto
new file mode 100644
index 00000000..90b0b072
--- /dev/null
+++ b/proto/FungusRenameRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message FungusRenameRsp {
+ //enum NJFOKBFCGEJ {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 23858;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 12;
+ uint32 fungusId = 3;
+ uint32 nameId = 7;
+}
diff --git a/proto/FunitureMakeMakeInfoChangeNotify.proto b/proto/FunitureMakeMakeInfoChangeNotify.proto
new file mode 100644
index 00000000..82f12948
--- /dev/null
+++ b/proto/FunitureMakeMakeInfoChangeNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "FurnitureMakeInfo.proto";
+
+message FunitureMakeMakeInfoChangeNotify {
+ //enum DNJNMEOICMI {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4592;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ FurnitureMakeInfo ijdbngdlgdb = 8;
+}
diff --git a/proto/FurnitureMakeInfoChangeNotify.proto b/proto/FurnitureMakeInfoChangeNotify.proto
deleted file mode 100644
index 9ecf9a7c..00000000
--- a/proto/FurnitureMakeInfoChangeNotify.proto
+++ /dev/null
@@ -1,34 +0,0 @@
-// Proto has been converted from Sorapointa to Grasscutter format
-// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
-// Copyright (C) 2022 Sorapointa Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
-syntax = "proto3";
-
-import "FurnitureMakeInfo.proto";
-
-option java_package = "emu.grasscutter.net.proto";
-
-message FurnitureMakeInfoChangeNotify {
- // enum CmdId {
- // option allow_alias = true;
- // NONE = 0;
- // CMD_ID = 4882;
- // ENET_CHANNEL_ID = 0;
- // ENET_IS_RELIABLE = 1;
- // }
-
- FurnitureMakeInfo make_info = 10;
-}
diff --git a/proto/FurnitureMakeMakeInfo.proto b/proto/FurnitureMakeMakeInfo.proto
deleted file mode 100644
index 5c864445..00000000
--- a/proto/FurnitureMakeMakeInfo.proto
+++ /dev/null
@@ -1,25 +0,0 @@
-// Proto has been converted from Sorapointa to Grasscutter format
-// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
-// Copyright (C) 2022 Sorapointa Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
-syntax = "proto3";
-
-option java_package = "emu.grasscutter.net.proto";
-
-message FurnitureMakeMakeInfo {
- uint32 furniture_id = 13;
- uint32 make_count = 9;
-}
diff --git a/proto/GAELKEHFLHD.proto b/proto/GAELKEHFLHD.proto
new file mode 100644
index 00000000..bd8ad0a7
--- /dev/null
+++ b/proto/GAELKEHFLHD.proto
@@ -0,0 +1,14 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "Vector.proto";
+
+message GAELKEHFLHD {
+ uint32 ocnblncnkge = 13;
+ uint32 entityId = 1;
+ uint32 gfiihkfomol = 15;
+ Vector eknhofiihcl = 14;
+}
diff --git a/proto/GBOKNAPLKFB.proto b/proto/GBOKNAPLKFB.proto
new file mode 100644
index 00000000..ea263981
--- /dev/null
+++ b/proto/GBOKNAPLKFB.proto
@@ -0,0 +1,10 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GBOKNAPLKFB {
+ bool value = 1;
+}
diff --git a/proto/GCGActionType.proto b/proto/GCGActionType.proto
new file mode 100644
index 00000000..1639f044
--- /dev/null
+++ b/proto/GCGActionType.proto
@@ -0,0 +1,34 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+enum GCGActionType {
+ GCG_ACTION_TYPE_NONE = 0;
+ GCG_ACTION_TYPE_SPECIAL_PHASE = 1;
+ GCG_ACTION_TYPE_NEXT_PHASE = 2;
+ GCG_ACTION_TYPE_DRAW = 3;
+ GCG_ACTION_TYPE_REDRAW = 4;
+ GCG_ACTION_TYPE_SELECT_ONSTAGE = 5;
+ GCG_ACTION_TYPE_ROLL = 6;
+ GCG_ACTION_TYPE_REROLL = 7;
+ GCG_ACTION_TYPE_ATTACK = 8;
+ GCG_ACTION_TYPE_PLAY_CARD = 9;
+ GCG_ACTION_TYPE_PASS = 10;
+ GCG_ACTION_TYPE_REBOOT = 11;
+ GCG_ACTION_TYPE_GAME_OVER = 12;
+ GCG_ACTION_TYPE_TRIGGER = 13;
+ GCG_ACTION_TYPE_PHASE_EXIT = 14;
+ GCG_ACTION_TYPE_CUSTOM = 15;
+ GCG_ACTION_TYPE_NOTIFY_COST = 16;
+ GCG_ACTION_TYPE_AFTER_OPERATION = 17;
+ GCG_ACTION_TYPE_USE_SKILL = 18;
+ GCG_ACTION_TYPE_NOTIFY_SKILL_PREVIEW = 19;
+ GCG_ACTION_TYPE_PREVIEW_ATTACK = 20;
+ GCG_ACTION_TYPE_PREVIEW_AFTER_ATTACK = 21;
+ GCG_ACTION_TYPE_SEND_MESSAGE = 22;
+ GCG_ACTION_TYPE_WAITING_CHARACTER = 23;
+ GCG_ACTION_TYPE_TRIGGER_SKILL = 24;
+ GCG_ACTION_TYPE_BEFORE_NEXT_OPERATION = 25;
+}
diff --git a/proto/GCGApplyInviteBattleNotify.proto b/proto/GCGApplyInviteBattleNotify.proto
new file mode 100644
index 00000000..a1f76de6
--- /dev/null
+++ b/proto/GCGApplyInviteBattleNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GCGApplyInviteBattleNotify {
+ //enum ALFOCFCKOIK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 7300;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ bool isAgree = 7;
+}
diff --git a/proto/GCGApplyInviteBattleReq.proto b/proto/GCGApplyInviteBattleReq.proto
new file mode 100644
index 00000000..0db97b6a
--- /dev/null
+++ b/proto/GCGApplyInviteBattleReq.proto
@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GCGApplyInviteBattleReq {
+ //enum BMEFPIBIJLP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 7465;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 ljemjfinpph = 13;
+ int32 retcode = 15;
+ uint32 confirmEndTime = 7;
+ uint32 uid = 4;
+ uint32 punishEndTime = 5;
+}
diff --git a/proto/GCGApplyInviteBattleRsp.proto b/proto/GCGApplyInviteBattleRsp.proto
new file mode 100644
index 00000000..86a460c3
--- /dev/null
+++ b/proto/GCGApplyInviteBattleRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GCGApplyInviteBattleRsp {
+ //enum BBKBNGLJNAL {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 7482;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 ljemjfinpph = 8;
+ uint32 confirmEndTime = 9;
+}
diff --git a/proto/GCGAskDuelReq.proto b/proto/GCGAskDuelReq.proto
new file mode 100644
index 00000000..376c8f3c
--- /dev/null
+++ b/proto/GCGAskDuelReq.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GCGAskDuelReq {
+ //enum CIIBFDEIFGD {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 7646;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+}
diff --git a/proto/GCGAskDuelRsp.proto b/proto/GCGAskDuelRsp.proto
new file mode 100644
index 00000000..8a0803fe
--- /dev/null
+++ b/proto/GCGAskDuelRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "Duel.proto";
+
+message GCGAskDuelRsp {
+ //enum BJKEODEOFEE {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 7928;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ Duel duel = 5;
+ int32 retcode = 7;
+}
diff --git a/proto/GCGAttackCostInfo.proto b/proto/GCGAttackCostInfo.proto
new file mode 100644
index 00000000..0f8ee0f6
--- /dev/null
+++ b/proto/GCGAttackCostInfo.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "Uint32Pair.proto";
+
+message GCGAttackCostInfo {
+ repeated Uint32Pair costMap = 6;
+ uint32 skillId = 13;
+}
diff --git a/proto/GCGBackToDuelReq.proto b/proto/GCGBackToDuelReq.proto
new file mode 100644
index 00000000..0f0a5bd7
--- /dev/null
+++ b/proto/GCGBackToDuelReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GCGBackToDuelReq {
+ //enum MMAKOJOIMMB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 7038;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ bool isBack = 13;
+}
diff --git a/proto/GCGBackToDuelRsp.proto b/proto/GCGBackToDuelRsp.proto
new file mode 100644
index 00000000..3767cf5c
--- /dev/null
+++ b/proto/GCGBackToDuelRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GCGBackToDuelRsp {
+ //enum BBAJGFENCAD {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 7304;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 1;
+}
diff --git a/proto/GCGBasicDataNotify.proto b/proto/GCGBasicDataNotify.proto
new file mode 100644
index 00000000..e65ff415
--- /dev/null
+++ b/proto/GCGBasicDataNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GCGTavernNpcInfo.proto";
+
+message GCGBasicDataNotify {
+ //enum MFOGKBFIDLO {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 7511;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ GCGTavernNpcInfo option = 13;
+}
diff --git a/proto/GCGBossChallengeData.proto b/proto/GCGBossChallengeData.proto
new file mode 100644
index 00000000..339235a8
--- /dev/null
+++ b/proto/GCGBossChallengeData.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GCGBossChallengeData {
+ repeated uint32 lidokiohkmh = 1;
+ uint32 id = 5;
+}
diff --git a/proto/GCGBossChallengeUpdateNotify.proto b/proto/GCGBossChallengeUpdateNotify.proto
new file mode 100644
index 00000000..ae8ad5ef
--- /dev/null
+++ b/proto/GCGBossChallengeUpdateNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GCGBossChallengeData.proto";
+
+message GCGBossChallengeUpdateNotify {
+ //enum OGCPGBNLNOM {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 7119;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ GCGBossChallengeData jmpbgnfplkb = 9;
+}
diff --git a/proto/GCGCard.proto b/proto/GCGCard.proto
new file mode 100644
index 00000000..04d52847
--- /dev/null
+++ b/proto/GCGCard.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GCGToken.proto";
+import "GCGSkillLimitsInfo.proto";
+
+message GCGCard {
+ repeated uint32 skillIdList = 11;
+ repeated GCGToken tokenList = 3;
+ uint32 controllerId = 2;
+ repeated uint32 tagList = 9;
+ uint32 retcode = 1;
+ uint32 guid = 8;
+ uint32 id = 14;
+ bool isShow = 13;
+ repeated GCGSkillLimitsInfo skillLimitsList = 12;
+}
diff --git a/proto/GCGCardSkillLimitsInfo.proto b/proto/GCGCardSkillLimitsInfo.proto
new file mode 100644
index 00000000..8f1daed1
--- /dev/null
+++ b/proto/GCGCardSkillLimitsInfo.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GCGSkillLimitsInfo.proto";
+
+message GCGCardSkillLimitsInfo {
+ repeated GCGSkillLimitsInfo skillLimitsList = 13;
+}
diff --git a/proto/GCGChallengeUpdateNotify.proto b/proto/GCGChallengeUpdateNotify.proto
new file mode 100644
index 00000000..0bb5e992
--- /dev/null
+++ b/proto/GCGChallengeUpdateNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GCGDuelChallenge.proto";
+
+message GCGChallengeUpdateNotify {
+ //enum PHDBJKPOOMO {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 7731;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ GCGDuelChallenge challenge = 4;
+ uint32 serverSeq = 9;
+}
diff --git a/proto/GCGChangeOnstageInfo.proto b/proto/GCGChangeOnstageInfo.proto
new file mode 100644
index 00000000..845c0c4e
--- /dev/null
+++ b/proto/GCGChangeOnstageInfo.proto
@@ -0,0 +1,13 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GCGSkillPreviewInfo.proto";
+
+message GCGChangeOnstageInfo {
+ uint32 cardGuid = 4;
+ GCGSkillPreviewInfo changeOnstagePreviewInfo = 8;
+ bool isQuick = 5;
+}
diff --git a/proto/GCGClientPerformType.proto b/proto/GCGClientPerformType.proto
new file mode 100644
index 00000000..70d58b68
--- /dev/null
+++ b/proto/GCGClientPerformType.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+enum GCGClientPerformType {
+ GCG_CLIENT_PERFORM_TYPE_INVALID = 0;
+ GCG_CLIENT_PERFORM_TYPE_CARD_EXCHANGE = 1;
+ GCG_CLIENT_PERFORM_TYPE_FIRST_HAND = 2;
+ GCG_CLIENT_PERFORM_TYPE_REROLL = 3;
+}
diff --git a/proto/GCGClientSettleReq.proto b/proto/GCGClientSettleReq.proto
new file mode 100644
index 00000000..1bf43f11
--- /dev/null
+++ b/proto/GCGClientSettleReq.proto
@@ -0,0 +1,28 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GCGEndReason.proto";
+import "GCGGameBusinessType.proto";
+import "ItemParam.proto";
+
+message GCGClientSettleReq {
+ //enum NAEPLBPDGDG {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 7773;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated uint32 forbidFinishChallengeList = 14;
+ GCGEndReason reason = 12;
+ bool isWin = 4;
+ repeated ItemParam rewardItemList = 9;
+ repeated uint32 adobcdcfbpn = 11;
+ uint32 winControllerId = 2;
+ uint32 gameId = 7;
+ GCGGameBusinessType businessType = 3;
+}
diff --git a/proto/GCGClientSettleRsp.proto b/proto/GCGClientSettleRsp.proto
new file mode 100644
index 00000000..1d0579ce
--- /dev/null
+++ b/proto/GCGClientSettleRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GCGClientSettleRsp {
+ //enum FPGBMFBIEEF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 7894;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ bool njfkmlcpbbh = 2;
+}
diff --git a/proto/GCGControllerShowInfo.proto b/proto/GCGControllerShowInfo.proto
new file mode 100644
index 00000000..10869590
--- /dev/null
+++ b/proto/GCGControllerShowInfo.proto
@@ -0,0 +1,15 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ProfilePicture.proto";
+
+message GCGControllerShowInfo {
+ string onlineId = 5;
+ uint32 controllerId = 6;
+ string nickName = 1;
+ ProfilePicture profilePicture = 4;
+ string psnId = 10;
+}
diff --git a/proto/GCGCostReviseInfo.proto b/proto/GCGCostReviseInfo.proto
new file mode 100644
index 00000000..6dcf0386
--- /dev/null
+++ b/proto/GCGCostReviseInfo.proto
@@ -0,0 +1,17 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GCGSelectOnStageCostInfo.proto";
+import "GCGAttackCostInfo.proto";
+import "GCGPlayCardCostInfo.proto";
+
+message GCGCostReviseInfo {
+ bool isCanAttack = 2;
+ repeated GCGSelectOnStageCostInfo selectOnStageCostList = 5;
+ repeated GCGAttackCostInfo attackCostList = 8;
+ repeated uint32 canUseHandCardIdList = 7;
+ repeated GCGPlayCardCostInfo playCardCostList = 15;
+}
diff --git a/proto/GCGDSBanCardNotify.proto b/proto/GCGDSBanCardNotify.proto
new file mode 100644
index 00000000..a2c14aab
--- /dev/null
+++ b/proto/GCGDSBanCardNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GCGDSBanCardNotify {
+ //enum AJDEPLPALCB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 7289;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 rewardIndex = 2;
+ uint32 cardId = 14;
+}
diff --git a/proto/GCGDSCardBackUnlockNotify.proto b/proto/GCGDSCardBackUnlockNotify.proto
new file mode 100644
index 00000000..eb165716
--- /dev/null
+++ b/proto/GCGDSCardBackUnlockNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GCGDSCardBackUnlockNotify {
+ //enum JAKDACJEGNP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 7884;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ string egefalocknh = 2;
+ bool isSuccess = 8;
+ string cardBackId = 4;
+}
diff --git a/proto/GCGDSCardData.proto b/proto/GCGDSCardData.proto
new file mode 100644
index 00000000..1b482510
--- /dev/null
+++ b/proto/GCGDSCardData.proto
@@ -0,0 +1,15 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GCGDSCardData {
+ uint32 cardId = 7;
+ repeated uint32 cnmaiaajihc = 15;
+ uint32 retcode = 2;
+ uint32 num = 4;
+ uint32 proficiency = 12;
+ repeated uint32 mdmigcefmmd = 10;
+}
diff --git a/proto/GCGDSCardFaceUnlockNotify.proto b/proto/GCGDSCardFaceUnlockNotify.proto
new file mode 100644
index 00000000..0173fc55
--- /dev/null
+++ b/proto/GCGDSCardFaceUnlockNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GCGDSCardFaceUnlockNotify {
+ //enum EEDHFJJLEOA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 7493;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 faceType = 9;
+}
diff --git a/proto/GCGDSCardFaceUpdateNotify.proto b/proto/GCGDSCardFaceUpdateNotify.proto
new file mode 100644
index 00000000..26e365d4
--- /dev/null
+++ b/proto/GCGDSCardFaceUpdateNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GCGDSCardFaceUpdateNotify {
+ //enum KJBMLLHFAPH {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 7895;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 proficiency = 4;
+ uint32 cardId = 7;
+}
diff --git a/proto/GCGDSCardNumChangeNotify.proto b/proto/GCGDSCardNumChangeNotify.proto
new file mode 100644
index 00000000..ba84d92d
--- /dev/null
+++ b/proto/GCGDSCardNumChangeNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GCGDSCardNumChangeNotify {
+ //enum JAIHIOOIECC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 7075;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 ccdlgbcdpbp = 8;
+}
diff --git a/proto/GCGDSCardProficiencyNotify.proto b/proto/GCGDSCardProficiencyNotify.proto
new file mode 100644
index 00000000..4f395dcd
--- /dev/null
+++ b/proto/GCGDSCardProficiencyNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GCGDSCardProficiencyNotify {
+ //enum GKKOJFEKJII {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 7399;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 rewardIndex = 14;
+ int32 retcode = 10;
+}
diff --git a/proto/GCGDSChangeCardBackReq.proto b/proto/GCGDSChangeCardBackReq.proto
new file mode 100644
index 00000000..86f956a8
--- /dev/null
+++ b/proto/GCGDSChangeCardBackReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GCGDSChangeCardBackReq {
+ //enum OGFFMKDEDLF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 7178;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 cardId = 12;
+ uint32 retcode = 9;
+}
diff --git a/proto/GCGDSChangeCardBackRsp.proto b/proto/GCGDSChangeCardBackRsp.proto
new file mode 100644
index 00000000..df95e867
--- /dev/null
+++ b/proto/GCGDSChangeCardBackRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GCGDSChangeCardBackRsp {
+ //enum CMAKFMMIJKK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 7641;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 deckId = 13;
+ int32 retcode = 3;
+ uint32 cardId = 6;
+}
diff --git a/proto/GCGDSChangeCardFaceReq.proto b/proto/GCGDSChangeCardFaceReq.proto
new file mode 100644
index 00000000..06e0e727
--- /dev/null
+++ b/proto/GCGDSChangeCardFaceReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GCGDSChangeCardFaceReq {
+ //enum KLACDDBMIDG {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 7126;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 retcode = 8;
+ uint32 cardId = 6;
+}
diff --git a/proto/GCGDSChangeCardFaceRsp.proto b/proto/GCGDSChangeCardFaceRsp.proto
new file mode 100644
index 00000000..24b1b76f
--- /dev/null
+++ b/proto/GCGDSChangeCardFaceRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GCGDSChangeCardFaceRsp {
+ //enum ILMHAKGOCAK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 7605;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 cardId = 6;
+ uint32 num = 3;
+}
diff --git a/proto/GCGDSChangeCurDeckReq.proto b/proto/GCGDSChangeCurDeckReq.proto
new file mode 100644
index 00000000..af8acb38
--- /dev/null
+++ b/proto/GCGDSChangeCurDeckReq.proto
@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GCGDSChangeCurDeckReq {
+ //enum ICKJBGMKFAN {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 7478;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ string createTime = 11;
+ uint32 rewardIndex = 14;
+ repeated uint32 cardList = 13;
+ repeated uint32 iegclabmkdb = 12;
+}
diff --git a/proto/GCGDSChangeCurDeckRsp.proto b/proto/GCGDSChangeCurDeckRsp.proto
new file mode 100644
index 00000000..483627bf
--- /dev/null
+++ b/proto/GCGDSChangeCurDeckRsp.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GCGDSChangeCurDeckRsp {
+ //enum KMBJACGLCPJ {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 7791;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 createTime = 8;
+ uint32 rewardIndex = 1;
+ bool pofiiedegjn = 11;
+ int32 retcode = 3;
+}
diff --git a/proto/GCGDSChangeDeckNameReq.proto b/proto/GCGDSChangeDeckNameReq.proto
new file mode 100644
index 00000000..a9d5cd2a
--- /dev/null
+++ b/proto/GCGDSChangeDeckNameReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GCGDSChangeDeckNameReq {
+ //enum OGLNJLNHADG {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 7691;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 rewardIndex = 15;
+ uint32 ccdlgbcdpbp = 2;
+}
diff --git a/proto/GCGDSChangeDeckNameRsp.proto b/proto/GCGDSChangeDeckNameRsp.proto
new file mode 100644
index 00000000..78e60b16
--- /dev/null
+++ b/proto/GCGDSChangeDeckNameRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GCGDSChangeDeckNameRsp {
+ //enum IHFJEPEMDGL {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 7818;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 ccdlgbcdpbp = 12;
+ uint32 rewardIndex = 1;
+ int32 retcode = 6;
+}
diff --git a/proto/GCGDSChangeFieldReq.proto b/proto/GCGDSChangeFieldReq.proto
new file mode 100644
index 00000000..92a92a0c
--- /dev/null
+++ b/proto/GCGDSChangeFieldReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GCGDSChangeFieldReq {
+ //enum DOPEECEBIKM {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 7628;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 rewardIndex = 1;
+ uint32 faceType = 9;
+}
diff --git a/proto/GCGDSChangeFieldRsp.proto b/proto/GCGDSChangeFieldRsp.proto
new file mode 100644
index 00000000..0903e19f
--- /dev/null
+++ b/proto/GCGDSChangeFieldRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GCGDSChangeFieldRsp {
+ //enum OFPOBKOCGBC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 7569;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 faceType = 6;
+ uint32 rewardIndex = 3;
+ int32 retcode = 4;
+}
diff --git a/proto/GCGDSCurDeckChangeNotify.proto b/proto/GCGDSCurDeckChangeNotify.proto
new file mode 100644
index 00000000..1de7d79a
--- /dev/null
+++ b/proto/GCGDSCurDeckChangeNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GCGDSCurDeckChangeNotify {
+ //enum HCIELDHJKAO {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 7372;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 rewardIndex = 11;
+}
diff --git a/proto/GCGDSDataNotify.proto b/proto/GCGDSDataNotify.proto
new file mode 100644
index 00000000..ef822f7a
--- /dev/null
+++ b/proto/GCGDSDataNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "CmdId.proto";
+
+message GCGDSDataNotify {
+ //enum GHNDNNPCIJP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 7534;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ CmdId mjjacnclhpf = 1;
+}
diff --git a/proto/GCGDSDeckData.proto b/proto/GCGDSDeckData.proto
new file mode 100644
index 00000000..cb49334e
--- /dev/null
+++ b/proto/GCGDSDeckData.proto
@@ -0,0 +1,17 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GCGDSDeckData {
+ repeated uint32 iegclabmkdb = 14;
+ bool pofiiedegjn = 4;
+ uint32 createTime = 9;
+ string idk = 3;
+ uint32 faceType = 2;
+ uint32 ccdlgbcdpbp = 6;
+ repeated uint32 cardList = 12;
+ uint32 id = 15;
+}
diff --git a/proto/GCGDSDeckSaveReq.proto b/proto/GCGDSDeckSaveReq.proto
new file mode 100644
index 00000000..947244ef
--- /dev/null
+++ b/proto/GCGDSDeckSaveReq.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GCGDSDeckSaveReq {
+ //enum IOLDDAGKLEA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 7769;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ bool isValid = 7;
+ string createTime = 1;
+ uint32 rewardIndex = 5;
+}
diff --git a/proto/GCGDSDeckSaveRsp.proto b/proto/GCGDSDeckSaveRsp.proto
new file mode 100644
index 00000000..8972644e
--- /dev/null
+++ b/proto/GCGDSDeckSaveRsp.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GCGDSDeckSaveRsp {
+ //enum INBIKEHAJAL {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 7459;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ string createTime = 9;
+ bool isValid = 2;
+ uint32 rewardIndex = 14;
+ int32 retcode = 15;
+}
diff --git a/proto/GCGDSDeckUnlockNotify.proto b/proto/GCGDSDeckUnlockNotify.proto
new file mode 100644
index 00000000..6b1bd241
--- /dev/null
+++ b/proto/GCGDSDeckUnlockNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GCGDSDeckUnlockNotify {
+ //enum HNEACGFFDBO {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 7002;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 rewardIndex = 11;
+}
diff --git a/proto/GCGDSDeckUpdateNotify.proto b/proto/GCGDSDeckUpdateNotify.proto
new file mode 100644
index 00000000..f49e6b18
--- /dev/null
+++ b/proto/GCGDSDeckUpdateNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GCGDSDeckUpdateNotify {
+ //enum FCEEKKCPDBD {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 7096;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 rewardIndex = 12;
+}
diff --git a/proto/GCGDSDeleteDeckReq.proto b/proto/GCGDSDeleteDeckReq.proto
new file mode 100644
index 00000000..5b714d0e
--- /dev/null
+++ b/proto/GCGDSDeleteDeckReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GCGDSDeleteDeckReq {
+ //enum BAHGDHIPKGL {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 7565;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 9;
+ uint32 rewardIndex = 12;
+}
diff --git a/proto/GCGDSDeleteDeckRsp.proto b/proto/GCGDSDeleteDeckRsp.proto
new file mode 100644
index 00000000..3d54ace8
--- /dev/null
+++ b/proto/GCGDSDeleteDeckRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GCGDSDeleteDeckRsp {
+ //enum DNLIPHOHIFO {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 7023;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 rewardIndex = 7;
+}
diff --git a/proto/GCGDSFieldUnlockNotify.proto b/proto/GCGDSFieldUnlockNotify.proto
new file mode 100644
index 00000000..2d5ef8bb
--- /dev/null
+++ b/proto/GCGDSFieldUnlockNotify.proto
@@ -0,0 +1,25 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GCGDSCardData.proto";
+import "GCGDSDeckData.proto";
+
+message GCGDSFieldUnlockNotify {
+ //enum EGDHDJOMKPG {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 7558;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated uint32 mpojoaeafpn = 5;
+ repeated GCGDSCardData cardList = 7;
+ uint32 fkppeakjlmb = 2;
+ repeated uint32 noclfjjcgeo = 13;
+ repeated GCGDSDeckData ocigcagdgml = 11;
+ repeated uint32 bcmbnjhmble = 8;
+}
diff --git a/proto/GCGDSTakeCardProficiencyRewardReq.proto b/proto/GCGDSTakeCardProficiencyRewardReq.proto
new file mode 100644
index 00000000..007a9c96
--- /dev/null
+++ b/proto/GCGDSTakeCardProficiencyRewardReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GCGDSTakeCardProficiencyRewardReq {
+ //enum MGAEFBLCDDL {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 7267;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ bool pofiiedegjn = 4;
+ uint32 rewardIndex = 3;
+}
diff --git a/proto/GCGDSTakeCardProficiencyRewardRsp.proto b/proto/GCGDSTakeCardProficiencyRewardRsp.proto
new file mode 100644
index 00000000..bf080d3a
--- /dev/null
+++ b/proto/GCGDSTakeCardProficiencyRewardRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GCGDSTakeCardProficiencyRewardRsp {
+ //enum LNHHPEEHCIF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 7763;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 retcode = 12;
+ uint32 cardId = 1;
+}
diff --git a/proto/GCGDamageDetail.proto b/proto/GCGDamageDetail.proto
new file mode 100644
index 00000000..db1ec432
--- /dev/null
+++ b/proto/GCGDamageDetail.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GCGDamageDetail {
+ uint32 skillId = 9;
+ uint32 cardGuid = 10;
+}
diff --git a/proto/GCGDebugReplayNotify.proto b/proto/GCGDebugReplayNotify.proto
new file mode 100644
index 00000000..34268f8f
--- /dev/null
+++ b/proto/GCGDebugReplayNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GCGDebugReplayNotify {
+ //enum MHKMBENLMDA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 7443;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ string jsonStr = 3;
+}
diff --git a/proto/GCGDiceSideType.proto b/proto/GCGDiceSideType.proto
new file mode 100644
index 00000000..39584f54
--- /dev/null
+++ b/proto/GCGDiceSideType.proto
@@ -0,0 +1,17 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+enum GCGDiceSideType {
+ GCG_DICE_SIDE_TYPE_INVALID = 0;
+ GCG_DICE_SIDE_TYPE_CRYO = 1;
+ GCG_DICE_SIDE_TYPE_HYDRO = 2;
+ GCG_DICE_SIDE_TYPE_PYRO = 3;
+ GCG_DICE_SIDE_TYPE_ELECTRO = 4;
+ GCG_DICE_SIDE_TYPE_GEO = 5;
+ GCG_DICE_SIDE_TYPE_DENDRO = 6;
+ GCG_DICE_SIDE_TYPE_ANEMO = 7;
+ GCG_DICE_SIDE_TYPE_PAIMON = 8;
+}
diff --git a/proto/GCGDuel.proto b/proto/GCGDuel.proto
new file mode 100644
index 00000000..7350a1ab
--- /dev/null
+++ b/proto/GCGDuel.proto
@@ -0,0 +1,39 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GCGCostReviseInfo.proto";
+import "GCGGameBusinessType.proto";
+import "GCGPhase.proto";
+import "GCGCard.proto";
+import "GCGMessagePack.proto";
+import "GCGControllerShowInfo.proto";
+import "Unk3300_ADHENCIFKNI.proto";
+import "GCGPVEIntention.proto";
+import "GCGPlayerField.proto";
+import "GCGDuelChallenge.proto";
+
+message GCGDuel {
+ repeated GCGCard cardList = 1;
+ uint32 Unk3300_JHDDNKFPINA = 5;
+ repeated uint32 forbidFinishChallengeList = 1985;
+ repeated GCGCard historyCardList = 1326;
+ repeated GCGMessagePack historyMsgPackList = 1636;
+ uint32 Unk3300_BIANMOPDEHO = 14;
+ repeated GCGControllerShowInfo showInfoList = 10;
+ repeated Unk3300_ADHENCIFKNI Unk3300_CDCMBOKBLAK = 1950;
+ repeated GCGPVEIntention intentionList = 15;
+ GCGCostReviseInfo costRevise = 6;
+ uint32 controllerId = 2;
+ repeated GCGPlayerField fieldList = 3;
+ GCGGameBusinessType businessType = 7;
+ GCGPhase phase = 8;
+ repeated GCGDuelChallenge challengeList = 37;
+ repeated uint32 cardIdList = 12;
+ uint32 serverSeq = 11;
+ uint32 round = 4;
+ uint32 gameId = 9;
+ uint32 Unk3300_JBBMBKGOONO = 13;
+}
diff --git a/proto/GCGDuelChallenge.proto b/proto/GCGDuelChallenge.proto
new file mode 100644
index 00000000..35676454
--- /dev/null
+++ b/proto/GCGDuelChallenge.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GCGDuelChallenge {
+ uint32 totalProgress = 9;
+ uint32 challengeId = 10;
+ uint32 curProgress = 1;
+}
diff --git a/proto/GCGEndReason.proto b/proto/GCGEndReason.proto
new file mode 100644
index 00000000..dd7a0dc5
--- /dev/null
+++ b/proto/GCGEndReason.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+enum GCGEndReason {
+ GCG_END_REASON_DEFAULT = 0;
+ GCG_END_REASON_DIE = 1;
+ GCG_END_REASON_SURRENDER = 2;
+ GCG_END_REASON_DISCONNECTED = 3;
+ GCG_END_REASON_ROUND_LIMIT = 4;
+ GCG_END_REASON_GM = 5;
+ GCG_END_REASON_NO_PLAYER = 6;
+ GCG_END_REASON_GIVE_UP = 7;
+ GCG_END_REASON_INIT_TIMEOUT = 8;
+ GCG_END_REASON_EFFECT = 9;
+ GCG_END_REASON_Unk3300_INAPHKAKKHF = 10;
+}
\ No newline at end of file
diff --git a/proto/GCGGameBriefData.proto b/proto/GCGGameBriefData.proto
new file mode 100644
index 00000000..65ee2a35
--- /dev/null
+++ b/proto/GCGGameBriefData.proto
@@ -0,0 +1,17 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GCGGameBusinessType.proto";
+import "GCGPlayerBriefData.proto";
+
+message GCGGameBriefData {
+ uint32 Unk3300_FJJDMIBIBJN = 11;
+ repeated GCGPlayerBriefData playerBriefList = 5;
+ GCGGameBusinessType businessType = 10;
+ uint32 gameId = 1;
+ uint32 Unk3300_NCLDOGNCHGF = 6;
+ uint32 platformType = 13;
+}
diff --git a/proto/GCGGameBriefDataNotify.proto b/proto/GCGGameBriefDataNotify.proto
new file mode 100644
index 00000000..ae405b1e
--- /dev/null
+++ b/proto/GCGGameBriefDataNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GCGGameBriefData.proto";
+
+message GCGGameBriefDataNotify {
+ //enum BKKLKPMDKMP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 7654;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ GCGGameBriefData gcgBriefData = 4;
+ bool isNewGame = 12;
+}
diff --git a/proto/GCGGameBusinessType.proto b/proto/GCGGameBusinessType.proto
new file mode 100644
index 00000000..f6fed711
--- /dev/null
+++ b/proto/GCGGameBusinessType.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+enum GCGGameBusinessType {
+ GCG_GAME_BUSINESS_TYPE_NONE = 0;
+ GCG_GAME_BUSINESS_TYPE_GM = 1;
+ GCG_GAME_BUSINESS_TYPE_MATCH = 2;
+ GCG_GAME_BUSINESS_TYPE_PVP = 3;
+ GCG_GAME_BUSINESS_TYPE_TAVERN_CHALLENGE = 4;
+ GCG_GAME_BUSINESS_TYPE_CONST_CHALLENGE = 5;
+ GCG_GAME_BUSINESS_TYPE_WORLD_CHALLENGE = 6;
+ GCG_GAME_BUSINESS_TYPE_BOSS_CHALLENGE = 7;
+ GCG_GAME_BUSINESS_TYPE_WEEK_CHALLENGE = 8;
+ GCG_GAME_BUSINESS_TYPE_BREAK_CHALLENGE = 9;
+ GCG_GAME_BUSINESS_TYPE_QUEST = 10;
+ GCG_GAME_BUSINESS_TYPE_GUIDE_GROUP = 11;
+ KOGBPIPKHNF = 12;
+}
diff --git a/proto/GCGGameCreateFailReasonNotify.proto b/proto/GCGGameCreateFailReasonNotify.proto
new file mode 100644
index 00000000..1483b2e6
--- /dev/null
+++ b/proto/GCGGameCreateFailReasonNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GCGGameCreateReason.proto";
+
+message GCGGameCreateFailReasonNotify {
+ //enum NGJHBGBPDDB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 7551;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ GCGGameCreateReason reason = 2;
+}
diff --git a/proto/GCGGameCreateReason.proto b/proto/GCGGameCreateReason.proto
new file mode 100644
index 00000000..fcf5ab80
--- /dev/null
+++ b/proto/GCGGameCreateReason.proto
@@ -0,0 +1,14 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+enum GCGGameCreateReason {
+ GCG_GAME_CREATE_REASON_NONE = 0;
+ GCG_GAME_CREATE_REASON_GAME_MAX = 1;
+ GCG_GAME_CREATE_REASON_CLIENT_VERSION_NOT_LATEST = 2;
+ GCG_GAME_CREATE_REASON_RESOURCE_NOT_COMPLETE = 3;
+ GCG_GAME_CREATE_REASON_TIMEOUT = 4;
+ GCG_GAME_CREATE_REASON_Unk3300_EMCDFGGFFAH = 5;
+}
diff --git a/proto/GCGGameMaxNotify.proto b/proto/GCGGameMaxNotify.proto
new file mode 100644
index 00000000..f22523e2
--- /dev/null
+++ b/proto/GCGGameMaxNotify.proto
@@ -0,0 +1,17 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GCGGameMaxNotify {
+ //enum CKMILFFEBON {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 7537;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+}
diff --git a/proto/GCGGrowthLevelNotify.proto b/proto/GCGGrowthLevelNotify.proto
new file mode 100644
index 00000000..9737f80c
--- /dev/null
+++ b/proto/GCGGrowthLevelNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GCGTCTavernChallengeData.proto";
+
+message GCGGrowthLevelNotify {
+ //enum POPILOEOCIK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 7722;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated GCGTCTavernChallengeData eekdbogblnc = 5;
+}
diff --git a/proto/GCGGrowthLevelRewardNotify.proto b/proto/GCGGrowthLevelRewardNotify.proto
new file mode 100644
index 00000000..016e600a
--- /dev/null
+++ b/proto/GCGGrowthLevelRewardNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GCGTCTavernChallengeData.proto";
+
+message GCGGrowthLevelRewardNotify {
+ //enum BOGLAPKFCMG {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 7570;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ GCGTCTavernChallengeData oaemlknkeio = 10;
+}
diff --git a/proto/GCGGrowthLevelTakeRewardReq.proto b/proto/GCGGrowthLevelTakeRewardReq.proto
new file mode 100644
index 00000000..41c9fdc6
--- /dev/null
+++ b/proto/GCGGrowthLevelTakeRewardReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GCGGrowthLevelTakeRewardReq {
+ //enum MDHCDLJDDCI {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 7327;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 exp = 15;
+ uint32 level = 5;
+}
diff --git a/proto/GCGGrowthLevelTakeRewardRsp.proto b/proto/GCGGrowthLevelTakeRewardRsp.proto
new file mode 100644
index 00000000..bfc2ec65
--- /dev/null
+++ b/proto/GCGGrowthLevelTakeRewardRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GCGGrowthLevelTakeRewardRsp {
+ //enum EGBNAKCLKLL {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 7338;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated uint32 cfajcibjpln = 1;
+}
diff --git a/proto/GCGHeartBeatNotify.proto b/proto/GCGHeartBeatNotify.proto
new file mode 100644
index 00000000..56df314d
--- /dev/null
+++ b/proto/GCGHeartBeatNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GCGHeartBeatNotify {
+ //enum IMDPCLGHIIH {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 7499;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 serverSeq = 3;
+}
diff --git a/proto/GCGInitFinishReq.proto b/proto/GCGInitFinishReq.proto
new file mode 100644
index 00000000..44e2b4d0
--- /dev/null
+++ b/proto/GCGInitFinishReq.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GCGInitFinishReq {
+ //enum LPGOFBNMEKN {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 7751;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+}
diff --git a/proto/GCGInitFinishRsp.proto b/proto/GCGInitFinishRsp.proto
new file mode 100644
index 00000000..08836b84
--- /dev/null
+++ b/proto/GCGInitFinishRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GCGInitFinishRsp {
+ //enum JDKIDNJEKCD {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 7186;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 3;
+}
diff --git a/proto/GCGIntentionChangeType.proto b/proto/GCGIntentionChangeType.proto
new file mode 100644
index 00000000..b1e8400a
--- /dev/null
+++ b/proto/GCGIntentionChangeType.proto
@@ -0,0 +1,10 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+enum GCGIntentionChangeType {
+ GCG_INTENTION_CHANGE_TYPE_NONE = 0;
+ GCG_INTENTION_CHANGE_TYPE_RM = 1;
+}
diff --git a/proto/GCGInviteBattleNotify.proto b/proto/GCGInviteBattleNotify.proto
new file mode 100644
index 00000000..3d07ebcf
--- /dev/null
+++ b/proto/GCGInviteBattleNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GCGInviteBattleNotify {
+ //enum ILEBINGDNDO {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 7254;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 uid = 11;
+ uint32 ljemjfinpph = 12;
+}
diff --git a/proto/GCGInviteGuestBattleReq.proto b/proto/GCGInviteGuestBattleReq.proto
new file mode 100644
index 00000000..59e9d2ec
--- /dev/null
+++ b/proto/GCGInviteGuestBattleReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GCGInviteGuestBattleReq {
+ //enum BBHGHAMIGPI {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 7040;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 level = 8;
+}
diff --git a/proto/GCGInviteGuestBattleRsp.proto b/proto/GCGInviteGuestBattleRsp.proto
new file mode 100644
index 00000000..4e655620
--- /dev/null
+++ b/proto/GCGInviteGuestBattleRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GCGInviteGuestBattleRsp {
+ //enum EFADHMKIAIP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 7671;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 13;
+ uint32 level = 6;
+}
diff --git a/proto/GCGLevelChallengeDeleteNotify.proto b/proto/GCGLevelChallengeDeleteNotify.proto
new file mode 100644
index 00000000..fbfc5ae3
--- /dev/null
+++ b/proto/GCGLevelChallengeDeleteNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GCGLevelChallengeDeleteNotify {
+ //enum BDOLPLLDNIN {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 7737;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated uint32 fdpppbpejae = 14;
+}
diff --git a/proto/GCGLevelChallengeFinishNotify.proto b/proto/GCGLevelChallengeFinishNotify.proto
new file mode 100644
index 00000000..8aa5214b
--- /dev/null
+++ b/proto/GCGLevelChallengeFinishNotify.proto
@@ -0,0 +1,24 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "uint32.proto";
+
+message GCGLevelChallengeFinishNotify {
+ //enum JFHPNEMLEIG {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 7127;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 unlockWorldChallengeList = 9;
+ uint32 levelId = 10;
+ repeated uint32 finishedChallengeIdList = 15;
+ repeated uint32 exceededItemList = 13;
+ int32 retcode = 11;
+ uint32 configId = 8;
+}
diff --git a/proto/GCGLevelChallengeNotify.proto b/proto/GCGLevelChallengeNotify.proto
new file mode 100644
index 00000000..41029e2f
--- /dev/null
+++ b/proto/GCGLevelChallengeNotify.proto
@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "uint32.proto";
+
+message GCGLevelChallengeNotify {
+ //enum CNMDOPLFCKF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 7187;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 levelId = 7;
+ uint32 unlockWorldChallengeList = 11;
+ uint32 configId = 13;
+}
diff --git a/proto/GCGLevelData.proto b/proto/GCGLevelData.proto
new file mode 100644
index 00000000..d930ffa2
--- /dev/null
+++ b/proto/GCGLevelData.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GCGLevelData {
+ uint32 levelId = 13;
+ repeated uint32 adobcdcfbpn = 4;
+}
diff --git a/proto/GCGLevelType.proto b/proto/GCGLevelType.proto
new file mode 100644
index 00000000..4eec77b3
--- /dev/null
+++ b/proto/GCGLevelType.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GCGLevelType {
+ uint32 levelId = 3;
+ uint32 scenePointId = 2;
+ uint32 id = 6;
+}
diff --git a/proto/GCGLimitsInfo.proto b/proto/GCGLimitsInfo.proto
new file mode 100644
index 00000000..5f6e31df
--- /dev/null
+++ b/proto/GCGLimitsInfo.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GCGLimitsInfo {
+ uint32 Unk3300_MNCNOLHHGPA = 15;
+ uint32 Unk3300_PHKPKFBDGJF = 3;
+}
diff --git a/proto/GCGMatchInfo.proto b/proto/GCGMatchInfo.proto
new file mode 100644
index 00000000..b920fab1
--- /dev/null
+++ b/proto/GCGMatchInfo.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "MatchPlayerInfo.proto";
+
+message GCGMatchInfo {
+ repeated MatchPlayerInfo playerList = 5;
+}
diff --git a/proto/GCGMessage.proto b/proto/GCGMessage.proto
new file mode 100644
index 00000000..cd495b70
--- /dev/null
+++ b/proto/GCGMessage.proto
@@ -0,0 +1,79 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "TokenChange.proto";
+import "PhaseChange.proto";
+import "AddCards.proto";
+import "RemoveCards.proto";
+import "SelectOnStage.proto";
+import "DiceRoll.proto";
+import "DiceReroll.proto";
+import "Pass.proto";
+import "CharDie.proto";
+import "SkillResult.proto";
+import "CostDice.proto";
+import "AddDice.proto";
+import "MoveCard.proto";
+import "UseSkill.proto";
+import "NewCard.proto";
+import "UpdateController.proto";
+import "ModifyAdd.proto";
+import "ModifyRemove.proto";
+import "UseSkillEnd.proto";
+import "DuelDataChange.proto";
+import "ClientPerform.proto";
+import "GameOver.proto";
+import "OpTimer.proto";
+import "WaitingListChange.proto";
+import "CardUpdate.proto";
+import "SelectOnStageByEffect.proto";
+import "CostRevise.proto";
+import "PhaseContinue.proto";
+import "PveIntentionInfo.proto";
+import "PveIntentionChange.proto";
+import "SkillLimitsChange.proto";
+import "NoDamageSkillResult.proto";
+import "ReactionBegin.proto";
+import "ReactionEnd.proto";
+
+message GCGMessage {
+ oneof message {
+ TokenChange token_change = 10;
+ PhaseChange phase_change = 15;
+ AddCards add_cards = 11;
+ RemoveCards remove_cards = 7;
+ SelectOnStage select_on_stage = 9;
+ DiceRoll dice_roll = 3;
+ DiceReroll dice_reroll = 12;
+ Pass pass = 5;
+ CharDie char_die = 6;
+ SkillResult skill_result = 1;
+ CostDice cost_dice = 4;
+ AddDice add_dice = 13;
+ MoveCard move_card = 14;
+ UseSkill use_skill = 2;
+ NewCard new_card = 1658;
+ UpdateController update_controller = 204;
+ ModifyAdd modify_add = 1001;
+ ModifyRemove modify_remove = 1447;
+ UseSkillEnd use_skill_end = 1779;
+ DuelDataChange duel_data_change = 1102;
+ ClientPerform client_perform = 1225;
+ GameOver game_over = 640;
+ OpTimer op_timer = 778;
+ WaitingListChange waiting_list_change = 517;
+ CardUpdate card_update = 1284;
+ SelectOnStageByEffect select_on_stage_by_effect = 542;
+ CostRevise cost_revise = 662;
+ PhaseContinue phase_continue = 344;
+ PveIntentionInfo pve_intention_info = 975;
+ PveIntentionChange pve_intention_change = 719;
+ SkillLimitsChange skill_limits_change = 597;
+ NoDamageSkillResult no_damage_skill_result = 1483;
+ ReactionBegin reaction_begin = 170;
+ ReactionEnd reaction_end = 58;
+ }
+}
diff --git a/proto/GCGMessagePack.proto b/proto/GCGMessagePack.proto
new file mode 100644
index 00000000..83e25d5b
--- /dev/null
+++ b/proto/GCGMessagePack.proto
@@ -0,0 +1,15 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GCGActionType.proto";
+import "GCGMessage.proto";
+
+message GCGMessagePack {
+ uint32 controllerId = 12;
+ uint32 ijojhencdld = 1;
+ repeated GCGMessage msgList = 3;
+ GCGActionType actionType = 8;
+}
diff --git a/proto/GCGMessagePackNotify.proto b/proto/GCGMessagePackNotify.proto
new file mode 100644
index 00000000..4604776a
--- /dev/null
+++ b/proto/GCGMessagePackNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GCGMessagePack.proto";
+
+message GCGMessagePackNotify {
+ //enum DNMFDNBGPOC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 7329;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated GCGMessagePack msgPackList = 13;
+ uint32 serverSeq = 6;
+}
diff --git a/proto/GCGMsgAddCards.proto b/proto/GCGMsgAddCards.proto
new file mode 100644
index 00000000..e24d4b5f
--- /dev/null
+++ b/proto/GCGMsgAddCards.proto
@@ -0,0 +1,16 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GCGReason.proto";
+import "GCGZoneType.proto";
+
+message GCGMsgAddCards {
+ uint32 controllerId = 11;
+ GCGReason reason = 1;
+ uint32 pos = 6;
+ GCGZoneType zone = 9;
+ repeated uint32 cardGuidList = 5;
+}
diff --git a/proto/GCGMsgAddDice.proto b/proto/GCGMsgAddDice.proto
new file mode 100644
index 00000000..b8e7ab54
--- /dev/null
+++ b/proto/GCGMsgAddDice.proto
@@ -0,0 +1,16 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GCGReason.proto";
+import "GCGDiceSideType.proto";
+
+message GCGMsgAddDice {
+ map Unk3300_PCMPCCLFEIM = 15;
+ map Unk3300_KFKOGOKPIFN = 5;
+ uint32 controllerId = 3;
+ GCGReason reason = 9;
+ int32 changeCount = 10;
+}
diff --git a/proto/GCGMsgCharDie.proto b/proto/GCGMsgCharDie.proto
new file mode 100644
index 00000000..da076ee5
--- /dev/null
+++ b/proto/GCGMsgCharDie.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GCGMsgCharDie {
+ uint32 cardGuid = 10;
+ uint32 controllerId = 9;
+}
diff --git a/proto/GCGMsgClientPerform.proto b/proto/GCGMsgClientPerform.proto
new file mode 100644
index 00000000..23790d04
--- /dev/null
+++ b/proto/GCGMsgClientPerform.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GCGClientPerformType.proto";
+
+message GCGMsgClientPerform {
+ GCGClientPerformType performType = 2;
+ repeated uint32 paramList = 5;
+}
diff --git a/proto/GCGMsgCostDice.proto b/proto/GCGMsgCostDice.proto
new file mode 100644
index 00000000..5592643c
--- /dev/null
+++ b/proto/GCGMsgCostDice.proto
@@ -0,0 +1,13 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GCGReason.proto";
+
+message GCGMsgCostDice {
+ GCGReason reason = 7;
+ uint32 controllerId = 9;
+ repeated uint32 selectDiceIndexList = 8;
+}
diff --git a/proto/GCGMsgCostRevise.proto b/proto/GCGMsgCostRevise.proto
new file mode 100644
index 00000000..87bf9942
--- /dev/null
+++ b/proto/GCGMsgCostRevise.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GCGCostReviseInfo.proto";
+
+message GCGMsgCostRevise {
+ uint32 controllerId = 15;
+ GCGCostReviseInfo costRevise = 10;
+}
diff --git a/proto/GCGMsgGameOver.proto b/proto/GCGMsgGameOver.proto
new file mode 100644
index 00000000..adb6d21c
--- /dev/null
+++ b/proto/GCGMsgGameOver.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GCGEndReason.proto";
+
+message GCGMsgGameOver {
+ GCGEndReason endReason = 4;
+ uint32 winControllerId = 10;
+}
diff --git a/proto/GCGMsgModifyAdd.proto b/proto/GCGMsgModifyAdd.proto
new file mode 100644
index 00000000..f4976a18
--- /dev/null
+++ b/proto/GCGMsgModifyAdd.proto
@@ -0,0 +1,15 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GCGReason.proto";
+
+message GCGMsgModifyAdd {
+ uint32 pos = 11;
+ uint32 ownerCardGuid = 10;
+ uint32 controllerId = 7;
+ GCGReason reason = 14;
+ repeated uint32 cardGuidList = 4;
+}
diff --git a/proto/GCGMsgModifyRemove.proto b/proto/GCGMsgModifyRemove.proto
new file mode 100644
index 00000000..764b4b3c
--- /dev/null
+++ b/proto/GCGMsgModifyRemove.proto
@@ -0,0 +1,14 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GCGReason.proto";
+
+message GCGMsgModifyRemove {
+ uint32 controllerId = 7;
+ repeated uint32 cardGuidList = 3;
+ GCGReason reason = 1;
+ uint32 ownerCardGuid = 2;
+}
diff --git a/proto/GCGMsgNewCard.proto b/proto/GCGMsgNewCard.proto
new file mode 100644
index 00000000..3be5ed17
--- /dev/null
+++ b/proto/GCGMsgNewCard.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GCGCard.proto";
+
+message GCGMsgNewCard {
+ GCGCard card = 5;
+}
diff --git a/proto/GCGMsgNoDamageSkillResult.proto b/proto/GCGMsgNoDamageSkillResult.proto
new file mode 100644
index 00000000..740a49e8
--- /dev/null
+++ b/proto/GCGMsgNoDamageSkillResult.proto
@@ -0,0 +1,17 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GCGDamageDetail.proto";
+
+message GCGMsgNoDamageSkillResult {
+ uint32 Unk3300_NNJAOEHNPPD = 3;
+ uint32 Unk3300_NIGDCIGLAKE = 1;
+ uint32 Unk3300_LPGLOCDDPCL = 13;
+ repeated GCGDamageDetail detailList = 9;
+ uint32 Unk3300_EPNDCIAJOJP = 5;
+ uint32 skillId = 15;
+ uint32 targetCardGuid = 4;
+}
diff --git a/proto/GCGMsgPVEIntention.proto b/proto/GCGMsgPVEIntention.proto
new file mode 100644
index 00000000..1d65cee4
--- /dev/null
+++ b/proto/GCGMsgPVEIntention.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GCGMsgPVEIntention {
+ repeated uint32 skillIdList = 3;
+ uint32 cardGuid = 9;
+}
diff --git a/proto/GCGMsgPVEIntentionChange.proto b/proto/GCGMsgPVEIntentionChange.proto
new file mode 100644
index 00000000..7800d2c1
--- /dev/null
+++ b/proto/GCGMsgPVEIntentionChange.proto
@@ -0,0 +1,13 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GCGIntentionChangeType.proto";
+import "GCGMsgPVEIntention.proto";
+
+message GCGMsgPVEIntentionChange {
+ GCGIntentionChangeType changeType = 6;
+ repeated GCGMsgPVEIntention changeIntentionList = 2;
+}
diff --git a/proto/GCGMsgPVEIntentionInfo.proto b/proto/GCGMsgPVEIntentionInfo.proto
new file mode 100644
index 00000000..566829e9
--- /dev/null
+++ b/proto/GCGMsgPVEIntentionInfo.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GCGMsgPVEIntention.proto";
+
+message GCGMsgPVEIntentionInfo {
+ map intentionMap = 15;
+}
diff --git a/proto/GCGMsgPass.proto b/proto/GCGMsgPass.proto
new file mode 100644
index 00000000..c4ece1b6
--- /dev/null
+++ b/proto/GCGMsgPass.proto
@@ -0,0 +1,10 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GCGMsgPass {
+ uint32 controllerId = 12;
+}
diff --git a/proto/GCGMsgPhaseChange.proto b/proto/GCGMsgPhaseChange.proto
new file mode 100644
index 00000000..660fa2cb
--- /dev/null
+++ b/proto/GCGMsgPhaseChange.proto
@@ -0,0 +1,14 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GCGPhaseType.proto";
+import "Uint32Pair.proto";
+
+message GCGMsgPhaseChange {
+ repeated Uint32Pair allowControllerMap = 7;
+ GCGPhaseType afterPhase = 13;
+ GCGPhaseType beforePhase = 8;
+}
diff --git a/proto/GCGMsgPhaseContinue.proto b/proto/GCGMsgPhaseContinue.proto
new file mode 100644
index 00000000..94f6b2a4
--- /dev/null
+++ b/proto/GCGMsgPhaseContinue.proto
@@ -0,0 +1,9 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GCGMsgPhaseContinue {
+}
diff --git a/proto/GCGMsgReactionBegin.proto b/proto/GCGMsgReactionBegin.proto
new file mode 100644
index 00000000..835d8ff4
--- /dev/null
+++ b/proto/GCGMsgReactionBegin.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GCGMsgReactionBegin {
+ uint32 skillId = 8;
+ uint32 cardGuid = 3;
+}
diff --git a/proto/GCGMsgRemoveCards.proto b/proto/GCGMsgRemoveCards.proto
new file mode 100644
index 00000000..20df069f
--- /dev/null
+++ b/proto/GCGMsgRemoveCards.proto
@@ -0,0 +1,15 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GCGZoneType.proto";
+import "GCGReason.proto";
+
+message GCGMsgRemoveCards {
+ repeated uint32 cardGuidList = 14;
+ GCGZoneType zone = 9;
+ uint32 controllerId = 4;
+ GCGReason reason = 6;
+}
diff --git a/proto/GCGMsgSelectOnStage.proto b/proto/GCGMsgSelectOnStage.proto
new file mode 100644
index 00000000..fe0d7450
--- /dev/null
+++ b/proto/GCGMsgSelectOnStage.proto
@@ -0,0 +1,13 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GCGReason.proto";
+
+message GCGMsgSelectOnStage {
+ GCGReason reason = 13;
+ uint32 cardGuid = 5;
+ uint32 controllerId = 2;
+}
diff --git a/proto/GCGMsgSelectOnStageByEffect.proto b/proto/GCGMsgSelectOnStageByEffect.proto
new file mode 100644
index 00000000..2b6d6a07
--- /dev/null
+++ b/proto/GCGMsgSelectOnStageByEffect.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GCGMsgSelectOnStageByEffect {
+ uint32 skillId = 4;
+ uint32 cardGuid = 2;
+ uint32 controllerId = 13;
+}
diff --git a/proto/GCGMsgSkillLimitsChange.proto b/proto/GCGMsgSkillLimitsChange.proto
new file mode 100644
index 00000000..4446f4c5
--- /dev/null
+++ b/proto/GCGMsgSkillLimitsChange.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GCGCardSkillLimitsInfo.proto";
+
+message GCGMsgSkillLimitsChange {
+ map cardLimitsChangeMap = 13;
+}
diff --git a/proto/GCGMsgSkillResult.proto b/proto/GCGMsgSkillResult.proto
new file mode 100644
index 00000000..ed07a819
--- /dev/null
+++ b/proto/GCGMsgSkillResult.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GCGDamageDetail.proto";
+
+message GCGMsgSkillResult {
+ uint32 Unk3300_NNJAOEHNPPD = 15;
+ uint32 Unk3300_EPNDCIAJOJP = 2;
+ uint32 ahkoidfnbgc = 3;
+ uint32 targetCardGuid = 7;
+ uint32 Unk3300_NIGDCIGLAKE = 1;
+ uint32 Unk3300_PDBAGJINFPF = 13;
+ uint32 npllnhifdoo = 6;
+ repeated GCGDamageDetail detailList = 12;
+ uint32 damage = 11;
+ uint32 skillId = 4;
+ uint32 Unk3300_LPGLOCDDPCL = 14;
+}
diff --git a/proto/GCGMsgUpdateController.proto b/proto/GCGMsgUpdateController.proto
new file mode 100644
index 00000000..b17535a1
--- /dev/null
+++ b/proto/GCGMsgUpdateController.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "Uint32Pair.proto";
+
+message GCGMsgUpdateController {
+ repeated Uint32Pair allowControllerMap = 3;
+}
diff --git a/proto/GCGMsgUseSkillEnd.proto b/proto/GCGMsgUseSkillEnd.proto
new file mode 100644
index 00000000..7d8ecf76
--- /dev/null
+++ b/proto/GCGMsgUseSkillEnd.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GCGMsgUseSkillEnd {
+ uint32 skillId = 5;
+ uint32 cardGuid = 13;
+}
diff --git a/proto/GCGMsgWaitingListChange.proto b/proto/GCGMsgWaitingListChange.proto
new file mode 100644
index 00000000..a98b1c66
--- /dev/null
+++ b/proto/GCGMsgWaitingListChange.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GCGMsgWaitingListChange {
+ uint32 controllerId = 4;
+ uint32 curIndex = 3;
+}
diff --git a/proto/GCGOperation.proto b/proto/GCGOperation.proto
new file mode 100644
index 00000000..2756b8b8
--- /dev/null
+++ b/proto/GCGOperation.proto
@@ -0,0 +1,27 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "OpRedraw.proto";
+import "OpSelectOnStage.proto";
+import "OpReroll.proto";
+import "OpAttack.proto";
+import "OpPass.proto";
+import "OpPlayCard.proto";
+import "OpReboot.proto";
+import "OpSurrender.proto";
+
+message GCGOperation {
+ oneof op {
+ OpRedraw op_redraw = 12;
+ OpSelectOnStage op_select_on_stage = 4;
+ OpReroll op_reroll = 13;
+ OpAttack op_attack = 9;
+ OpPass op_pass = 10;
+ OpPlayCard op_play_card = 8;
+ OpReboot op_reboot = 6;
+ OpSurrender op_surrender = 15;
+ }
+}
diff --git a/proto/GCGOperationPass.proto b/proto/GCGOperationPass.proto
new file mode 100644
index 00000000..9b413c7e
--- /dev/null
+++ b/proto/GCGOperationPass.proto
@@ -0,0 +1,9 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GCGOperationPass {
+}
diff --git a/proto/GCGOperationRedraw.proto b/proto/GCGOperationRedraw.proto
new file mode 100644
index 00000000..6cb1990e
--- /dev/null
+++ b/proto/GCGOperationRedraw.proto
@@ -0,0 +1,10 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GCGOperationRedraw {
+ repeated uint32 cardList = 12;
+}
diff --git a/proto/GCGOperationReq.proto b/proto/GCGOperationReq.proto
new file mode 100644
index 00000000..378d0311
--- /dev/null
+++ b/proto/GCGOperationReq.proto
@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GCGOperation.proto";
+
+message GCGOperationReq {
+ //enum GMDGEMKCKPF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 7487;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 redirectUid = 3;
+ uint32 opSeq = 6;
+ GCGOperation op = 11;
+}
diff --git a/proto/GCGOperationRsp.proto b/proto/GCGOperationRsp.proto
new file mode 100644
index 00000000..6debef94
--- /dev/null
+++ b/proto/GCGOperationRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GCGOperationRsp {
+ //enum ILJPBGCIOBB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 7651;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 opSeq = 7;
+ int32 retcode = 3;
+}
diff --git a/proto/GCGPVEIntention.proto b/proto/GCGPVEIntention.proto
new file mode 100644
index 00000000..a8be95b5
--- /dev/null
+++ b/proto/GCGPVEIntention.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GCGPVEIntention {
+ uint32 cardGuid = 11;
+ repeated uint32 skillIdList = 3;
+}
diff --git a/proto/GCGPhase.proto b/proto/GCGPhase.proto
new file mode 100644
index 00000000..0d790ede
--- /dev/null
+++ b/proto/GCGPhase.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GCGPhaseType.proto";
+
+message GCGPhase {
+ GCGPhaseType phaseType = 5;
+ map allowControllerMap = 14;
+}
diff --git a/proto/GCGPhaseType.proto b/proto/GCGPhaseType.proto
new file mode 100644
index 00000000..3c6699c5
--- /dev/null
+++ b/proto/GCGPhaseType.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+enum GCGPhaseType {
+ GCG_PHASE_TYPE_INVALID = 0;
+ GCG_PHASE_TYPE_START = 1;
+ GCG_PHASE_TYPE_DRAW = 2;
+ GCG_PHASE_TYPE_ON_STAGE = 3;
+ GCG_PHASE_TYPE_DICE = 4;
+ GCG_PHASE_TYPE_MAIN = 5;
+ GCG_PHASE_TYPE_END = 6;
+ GCG_PHASE_TYPE_DIE = 7;
+ GCG_PHASE_TYPE_FIN = 8;
+ GCG_PHASE_TYPE_PRE_MAIN = 9;
+ GCG_PHASE_TYPE_REROLL = 10;
+}
diff --git a/proto/GCGPlayCardCostInfo.proto b/proto/GCGPlayCardCostInfo.proto
new file mode 100644
index 00000000..c17a88ee
--- /dev/null
+++ b/proto/GCGPlayCardCostInfo.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "Uint32Pair.proto";
+
+message GCGPlayCardCostInfo {
+ uint32 cardId = 3;
+ repeated Uint32Pair costMap = 10;
+}
diff --git a/proto/GCGPlayerBriefData.proto b/proto/GCGPlayerBriefData.proto
new file mode 100644
index 00000000..852d43e3
--- /dev/null
+++ b/proto/GCGPlayerBriefData.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ProfilePicture.proto";
+
+message GCGPlayerBriefData {
+ string psnId = 7;
+ map cardFaceMap = 4;
+ ProfilePicture profilePicture = 14;
+ uint32 uid = 3;
+ string nickName = 2;
+ string onlineId = 10;
+ uint32 controllerId = 11;
+ repeated uint32 cardIdList = 13;
+}
diff --git a/proto/GCGPlayerField.proto b/proto/GCGPlayerField.proto
new file mode 100644
index 00000000..1ebdab7f
--- /dev/null
+++ b/proto/GCGPlayerField.proto
@@ -0,0 +1,30 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GCGZone.proto";
+import "GCGDiceSideType.proto";
+import "GCGPVEIntention.proto";
+import "GCGWaitingCharacter.proto";
+
+message GCGPlayerField {
+ GCGZone Unk3300_EIHOMDLENMK = 4;
+ uint32 Unk3300_FDFPHNDOJML = 12;
+ repeated GCGDiceSideType diceSideList = 7;
+ uint32 Unk3300_GGHKFFADEAL = 181;
+ repeated GCGPVEIntention intentionList = 1273;
+ uint32 Unk3300_GLNIFLOKBPM = 14;
+ uint32 Unk3300_PBECINKKHND = 1;
+ uint32 Unk3300_IKJMGAHCFPM = 6;
+ uint32 controllerId = 3;
+ map modifyZoneMap = 11;
+ GCGZone Unk3300_IPLMHKCNDLE = 10;
+ uint32 deckCardNum = 15;
+ GCGZone Unk3300_EFNAEFBECHD = 5;
+ GCGZone Unk3300_INDJNJJJNKL = 8;
+ GCGZone Unk3300_AOPJIOHMPOF = 9;
+ repeated GCGWaitingCharacter waitingList = 2;
+ bool isPassed = 13;
+}
diff --git a/proto/GCGPlayerGCGState.proto b/proto/GCGPlayerGCGState.proto
new file mode 100644
index 00000000..92b37e36
--- /dev/null
+++ b/proto/GCGPlayerGCGState.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GCGPlayerGCGState {
+ bool plmancmlpmo = 14;
+ uint32 uid = 15;
+ bool pdjilolocgj = 11;
+}
diff --git a/proto/GCGReason.proto b/proto/GCGReason.proto
new file mode 100644
index 00000000..56b72282
--- /dev/null
+++ b/proto/GCGReason.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+enum GCGReason {
+ GCG_REASON_DEFAULT = 0;
+ GCG_REASON_EFFECT = 1;
+ GCG_REASON_COST = 2;
+ GCG_REASON_GM = 3;
+ GCG_REASON_ATTACK = 4;
+ GCG_REASON_REBOOT = 5;
+ GCG_REASON_PLAY_CARD = 6;
+ GCG_REASON_QUICKLY_ONSTAGE = 7;
+ GCG_REASON_REMOVE_AFTER_DIE = 8;
+ GCG_REASON_INIT = 9;
+ GCG_REASON_EFFECT_DAMAGE = 10;
+ GCG_REASON_EFFECT_HEAL = 11;
+ GCG_REASON_EFFECT_REVIVE = 12;
+}
diff --git a/proto/GCGResourceStateNotify.proto b/proto/GCGResourceStateNotify.proto
new file mode 100644
index 00000000..842af7d1
--- /dev/null
+++ b/proto/GCGResourceStateNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GCGPlayerGCGState.proto";
+
+message GCGResourceStateNotify {
+ //enum NGMOOLEDMPJ {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 7280;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 2;
+ repeated GCGPlayerGCGState lolbinbndgc = 5;
+}
diff --git a/proto/GCGSelectOnStageCostInfo.proto b/proto/GCGSelectOnStageCostInfo.proto
new file mode 100644
index 00000000..92e87e4a
--- /dev/null
+++ b/proto/GCGSelectOnStageCostInfo.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "Uint32Pair.proto";
+
+message GCGSelectOnStageCostInfo {
+ uint32 cardGuid = 14;
+ repeated Uint32Pair costMap = 10;
+}
diff --git a/proto/GCGSettleNotify.proto b/proto/GCGSettleNotify.proto
new file mode 100644
index 00000000..ef721774
--- /dev/null
+++ b/proto/GCGSettleNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GCGSettleNotify {
+ //enum PAMHONEHELB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 7623;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+}
diff --git a/proto/GCGSettleOptionReq.proto b/proto/GCGSettleOptionReq.proto
new file mode 100644
index 00000000..42758251
--- /dev/null
+++ b/proto/GCGSettleOptionReq.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GCGSettleOptionReq {
+ //enum PBAIAFJCCPL {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 7849;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+}
diff --git a/proto/GCGSettleOptionRsp.proto b/proto/GCGSettleOptionRsp.proto
new file mode 100644
index 00000000..61814889
--- /dev/null
+++ b/proto/GCGSettleOptionRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GCGSettleOptionRsp {
+ //enum MPINNEEFPFP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 7490;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 14;
+ uint32 closeTime = 7;
+}
diff --git a/proto/GCGSkillHpChangeType.proto b/proto/GCGSkillHpChangeType.proto
new file mode 100644
index 00000000..b2bfc396
--- /dev/null
+++ b/proto/GCGSkillHpChangeType.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+enum GCGSkillHpChangeType {
+ GCG_SKILL_HP_CHANGE_TYPE_NONE = 0;
+ GCG_SKILL_HP_CHANGE_TYPE_DAMAGE = 1;
+ GCG_SKILL_HP_CHANGE_TYPE_HEAL = 2;
+}
diff --git a/proto/GCGSkillLimitsInfo.proto b/proto/GCGSkillLimitsInfo.proto
new file mode 100644
index 00000000..974a5c05
--- /dev/null
+++ b/proto/GCGSkillLimitsInfo.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GCGLimitsInfo.proto";
+
+message GCGSkillLimitsInfo {
+ repeated GCGLimitsInfo limitsList = 8;
+ uint32 skillId = 9;
+}
diff --git a/proto/GCGSkillPreviewAskReq.proto b/proto/GCGSkillPreviewAskReq.proto
new file mode 100644
index 00000000..817e638d
--- /dev/null
+++ b/proto/GCGSkillPreviewAskReq.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GCGSkillPreviewAskReq {
+ //enum INKPEIEHJOF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 7943;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+}
diff --git a/proto/GCGSkillPreviewAskRsp.proto b/proto/GCGSkillPreviewAskRsp.proto
new file mode 100644
index 00000000..798cae62
--- /dev/null
+++ b/proto/GCGSkillPreviewAskRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GCGSkillPreviewAskRsp {
+ //enum PAJIGLCOKBN {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 7069;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 7;
+}
diff --git a/proto/GCGSkillPreviewCardInfo.proto b/proto/GCGSkillPreviewCardInfo.proto
new file mode 100644
index 00000000..ba06492e
--- /dev/null
+++ b/proto/GCGSkillPreviewCardInfo.proto
@@ -0,0 +1,16 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GCGZoneType.proto";
+
+message GCGSkillPreviewCardInfo {
+ GCGZoneType zoneType = 13;
+ uint32 controllerId = 1;
+ uint32 ownerCardGuid = 7;
+ uint32 cardGuid = 12;
+ uint32 retcode = 10;
+ uint32 cardId = 5;
+}
diff --git a/proto/GCGSkillPreviewElementReactionInfo.proto b/proto/GCGSkillPreviewElementReactionInfo.proto
new file mode 100644
index 00000000..5b19d818
--- /dev/null
+++ b/proto/GCGSkillPreviewElementReactionInfo.proto
@@ -0,0 +1,13 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GCGSkillPreviewReactionInfo.proto";
+
+message GCGSkillPreviewElementReactionInfo {
+ repeated uint32 Unk3300_BELBNDNDGAO = 12;
+ repeated uint32 Unk3300_JOBNBDJHAPJ = 2;
+ repeated GCGSkillPreviewReactionInfo reactionList = 9;
+}
diff --git a/proto/GCGSkillPreviewExtraInfo.proto b/proto/GCGSkillPreviewExtraInfo.proto
new file mode 100644
index 00000000..421ff9e6
--- /dev/null
+++ b/proto/GCGSkillPreviewExtraInfo.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GCGSkillPreviewCardInfo.proto";
+
+message GCGSkillPreviewExtraInfo {
+ repeated GCGSkillPreviewCardInfo Unk3300_KIFFJGFDNKA = 6;
+ repeated GCGSkillPreviewCardInfo Unk3300_GMEMMDJKCGN = 11;
+}
diff --git a/proto/GCGSkillPreviewHpInfo.proto b/proto/GCGSkillPreviewHpInfo.proto
new file mode 100644
index 00000000..9099dc79
--- /dev/null
+++ b/proto/GCGSkillPreviewHpInfo.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GCGSkillHpChangeType.proto";
+
+message GCGSkillPreviewHpInfo {
+ uint32 hpChangeValue = 1;
+ GCGSkillHpChangeType changeType = 9;
+}
diff --git a/proto/GCGSkillPreviewInfo.proto b/proto/GCGSkillPreviewInfo.proto
new file mode 100644
index 00000000..bd8fa0d8
--- /dev/null
+++ b/proto/GCGSkillPreviewInfo.proto
@@ -0,0 +1,23 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GCGSkillPreviewExtraInfo.proto";
+import "GCGSkillPreviewTokenChangeInfo.proto";
+import "GCGSkillPreviewOnstageChangeInfo.proto";
+import "GCGSkillPreviewHpInfo.proto";
+import "GCGSkillPreviewElementReactionInfo.proto";
+import "GCGSkillPreviewCardInfo.proto";
+
+message GCGSkillPreviewInfo {
+ map cardTokenChangeMap = 12;
+ repeated GCGSkillPreviewOnstageChangeInfo changeOnstageCharacterList = 14;
+ GCGSkillPreviewExtraInfo extraInfo = 6;
+ map hpInfoMap = 1;
+ map reactionInfoMap = 9;
+ repeated GCGSkillPreviewCardInfo Unk3300_AGNONGELFGC = 11;
+ uint32 skillId = 2;
+ repeated GCGSkillPreviewCardInfo Unk3300_DAJFJEDNLKK = 15;
+}
diff --git a/proto/GCGSkillPreviewNotify.proto b/proto/GCGSkillPreviewNotify.proto
new file mode 100644
index 00000000..284c5a99
--- /dev/null
+++ b/proto/GCGSkillPreviewNotify.proto
@@ -0,0 +1,25 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GCGChangeOnstageInfo.proto";
+import "GCGSkillPreviewInfo.proto";
+import "GCGSkillPreviewPlayCardInfo.proto";
+
+message GCGSkillPreviewNotify {
+ //enum EBIPPGMBKOL {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 7368;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated GCGChangeOnstageInfo changeOnstagePreviewList = 2;
+ uint32 controllerId = 3;
+ repeated GCGSkillPreviewInfo skillPreviewList = 6;
+ repeated GCGSkillPreviewPlayCardInfo playCardList = 9;
+ uint32 onstageCardGuid = 10;
+}
diff --git a/proto/GCGSkillPreviewOnstageChangeInfo.proto b/proto/GCGSkillPreviewOnstageChangeInfo.proto
new file mode 100644
index 00000000..2827c57f
--- /dev/null
+++ b/proto/GCGSkillPreviewOnstageChangeInfo.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GCGSkillPreviewOnstageChangeInfo {
+ uint32 Unk3300_EHHDPPFDIFB = 5;
+ uint32 Unk3300_BALADGFAPKL = 3;
+}
diff --git a/proto/GCGSkillPreviewPlayCardInfo.proto b/proto/GCGSkillPreviewPlayCardInfo.proto
new file mode 100644
index 00000000..4c137b9e
--- /dev/null
+++ b/proto/GCGSkillPreviewPlayCardInfo.proto
@@ -0,0 +1,13 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GCGSkillPreviewInfo.proto";
+
+message GCGSkillPreviewPlayCardInfo {
+ GCGSkillPreviewInfo playCardInfo = 15;
+ uint32 targetCardGuid = 9;
+ uint32 handCardGuid = 2;
+}
diff --git a/proto/GCGSkillPreviewReactionInfo.proto b/proto/GCGSkillPreviewReactionInfo.proto
new file mode 100644
index 00000000..76be5537
--- /dev/null
+++ b/proto/GCGSkillPreviewReactionInfo.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GCGSkillPreviewReactionInfo {
+ uint32 Unk3300_AENPLEDPMJH = 9;
+ uint32 Unk3300_PDEHPHJFAKD = 10;
+}
diff --git a/proto/GCGSkillPreviewTokenChangeInfo.proto b/proto/GCGSkillPreviewTokenChangeInfo.proto
new file mode 100644
index 00000000..3b5352a4
--- /dev/null
+++ b/proto/GCGSkillPreviewTokenChangeInfo.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GCGSkillPreviewTokenInfo.proto";
+
+message GCGSkillPreviewTokenChangeInfo {
+ repeated GCGSkillPreviewTokenInfo tokenChangeList = 1;
+}
diff --git a/proto/GCGSkillPreviewTokenInfo.proto b/proto/GCGSkillPreviewTokenInfo.proto
new file mode 100644
index 00000000..25dfccfe
--- /dev/null
+++ b/proto/GCGSkillPreviewTokenInfo.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GCGSkillPreviewTokenInfo {
+ uint32 Unk3300_MMIKPPJMHAD = 7;
+ uint32 Unk3300_IKICJMEFEON = 6;
+ uint32 tokenType = 8;
+}
diff --git a/proto/GCGStartChallengeByCheckRewardReq.proto b/proto/GCGStartChallengeByCheckRewardReq.proto
new file mode 100644
index 00000000..6a39e2ea
--- /dev/null
+++ b/proto/GCGStartChallengeByCheckRewardReq.proto
@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "uint32.proto";
+
+message GCGStartChallengeByCheckRewardReq {
+ //enum OBMPGGOELEB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 7351;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 configId = 11;
+ uint32 unlockWorldChallengeList = 6;
+ uint32 levelId = 5;
+ int32 retcode = 14;
+}
diff --git a/proto/GCGStartChallengeByCheckRewardRsp.proto b/proto/GCGStartChallengeByCheckRewardRsp.proto
new file mode 100644
index 00000000..d4a8bfe5
--- /dev/null
+++ b/proto/GCGStartChallengeByCheckRewardRsp.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "uint32.proto";
+
+message GCGStartChallengeByCheckRewardRsp {
+ //enum BPPOMFBCIKL {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 7890;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ bool bphdgokdnnk = 7;
+ uint32 nextRefreshTime = 9;
+ repeated uint32 exceededItemTypeList = 8;
+}
diff --git a/proto/GCGStartChallengeReq.proto b/proto/GCGStartChallengeReq.proto
new file mode 100644
index 00000000..1595fffe
--- /dev/null
+++ b/proto/GCGStartChallengeReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GCGStartChallengeReq {
+ //enum EKNAAOCIFJJ {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 7017;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated uint32 cfajcibjpln = 8;
+ uint32 exp = 11;
+ uint32 level = 1;
+}
diff --git a/proto/GCGStartChallengeRsp.proto b/proto/GCGStartChallengeRsp.proto
new file mode 100644
index 00000000..4fc5aa83
--- /dev/null
+++ b/proto/GCGStartChallengeRsp.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GCGLevelType.proto";
+
+message GCGStartChallengeRsp {
+ //enum EEEIHMNDOCL {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 7851;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated GCGLevelType megbpmengog = 15;
+ repeated GCGLevelType nojngpppded = 5;
+ GCGLevelType levelType = 12;
+}
diff --git a/proto/GCGTCInviteReq.proto b/proto/GCGTCInviteReq.proto
new file mode 100644
index 00000000..9eeaf5a2
--- /dev/null
+++ b/proto/GCGTCInviteReq.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GCGTCInviteReq {
+ //enum IHPPDDIPNOD {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 7734;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated uint32 cardList = 3;
+}
diff --git a/proto/GCGTCInviteRsp.proto b/proto/GCGTCInviteRsp.proto
new file mode 100644
index 00000000..76bffee3
--- /dev/null
+++ b/proto/GCGTCInviteRsp.proto
@@ -0,0 +1,24 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GCGTCInviteRsp {
+ //enum BJPECKHGPIC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 7206;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ bool ibiikedgnhn = 3;
+ uint32 elementType = 9;
+ uint32 pointId = 15;
+ bool retcode = 2;
+ uint32 caaaccpgkff = 5;
+ uint32 levelId = 7;
+ uint32 avatarId = 13;
+}
diff --git a/proto/GCGTCTavernChallengeData.proto b/proto/GCGTCTavernChallengeData.proto
new file mode 100644
index 00000000..fcbc2371
--- /dev/null
+++ b/proto/GCGTCTavernChallengeData.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GCGTCTavernChallengeData {
+ repeated uint32 lidokiohkmh = 13;
+ uint32 caaaccpgkff = 1;
+}
diff --git a/proto/GCGTCTavernChallengeUpdateNotify.proto b/proto/GCGTCTavernChallengeUpdateNotify.proto
new file mode 100644
index 00000000..ba3f46e6
--- /dev/null
+++ b/proto/GCGTCTavernChallengeUpdateNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GCGTCTavernChallengeUpdateNotify {
+ //enum MINOBCLFFCG {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 7188;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 caaaccpgkff = 13;
+ int32 retcode = 4;
+}
diff --git a/proto/GCGTCTavernInfoNotify.proto b/proto/GCGTCTavernInfoNotify.proto
new file mode 100644
index 00000000..75a7f0dd
--- /dev/null
+++ b/proto/GCGTCTavernInfoNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GCGTCTavernInfoNotify {
+ //enum JNIEFIACMPI {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 7198;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 11;
+ uint32 cardId = 14;
+ uint32 rewardIndex = 12;
+}
diff --git a/proto/GCGTavernNpcInfo.proto b/proto/GCGTavernNpcInfo.proto
new file mode 100644
index 00000000..661676fd
--- /dev/null
+++ b/proto/GCGTavernNpcInfo.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+enum GCGTavernNpcInfo {
+ GCG_SETTLE_OPTION_OPT_NONE = 0;
+ GCG_SETTLE_OPTION_OPT_EXIT = 1;
+ GCG_SETTLE_OPTION_OPT_CONTINUE = 2;
+ GCG_SETTLE_OPTION_OPT_RESTART = 3;
+}
diff --git a/proto/GCGTavernNpcInfoNotify.proto b/proto/GCGTavernNpcInfoNotify.proto
new file mode 100644
index 00000000..6cb2ddf3
--- /dev/null
+++ b/proto/GCGTavernNpcInfoNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GCGTavernNpcInfo.proto";
+
+message GCGTavernNpcInfoNotify {
+ //enum GDGKDAPJIME {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 7222;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ GCGTavernNpcInfo option = 6;
+ int32 retcode = 2;
+}
diff --git a/proto/GCGToken.proto b/proto/GCGToken.proto
new file mode 100644
index 00000000..a7370124
--- /dev/null
+++ b/proto/GCGToken.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GCGToken {
+ uint32 key = 9;
+ uint32 value = 5;
+}
diff --git a/proto/GCGWaitingCharacter.proto b/proto/GCGWaitingCharacter.proto
new file mode 100644
index 00000000..e3ed1ec1
--- /dev/null
+++ b/proto/GCGWaitingCharacter.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GCGWaitingCharacter {
+ uint32 condCount = 9;
+ uint32 cardId = 2;
+}
diff --git a/proto/GCGWeekChallengeInfoNotify.proto b/proto/GCGWeekChallengeInfoNotify.proto
new file mode 100644
index 00000000..d64438c1
--- /dev/null
+++ b/proto/GCGWeekChallengeInfoNotify.proto
@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "uint32.proto";
+
+message GCGWeekChallengeInfoNotify {
+ //enum KLADMGMNMPN {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 7857;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 configId = 15;
+ uint32 unlockWorldChallengeList = 11;
+ uint32 levelId = 10;
+}
diff --git a/proto/GCGWorldChallengeUnlockNotify.proto b/proto/GCGWorldChallengeUnlockNotify.proto
new file mode 100644
index 00000000..14de2fcc
--- /dev/null
+++ b/proto/GCGWorldChallengeUnlockNotify.proto
@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GCGLevelData.proto";
+import "GCGBossChallengeData.proto";
+
+message GCGWorldChallengeUnlockNotify {
+ //enum HDFPCKFMMLI {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 7016;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated GCGLevelData levelList = 13;
+ repeated uint32 dglpakpipci = 1;
+ repeated GCGBossChallengeData effafbokpha = 11;
+}
diff --git a/proto/GCGWorldPlayerGCGStateReq.proto b/proto/GCGWorldPlayerGCGStateReq.proto
new file mode 100644
index 00000000..74b1a1c1
--- /dev/null
+++ b/proto/GCGWorldPlayerGCGStateReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GCGWorldPlayerGCGStateReq {
+ //enum NCBEIOCBEMI {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 7358;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 punishEndTime = 6;
+ int32 retcode = 10;
+}
diff --git a/proto/GCGWorldPlayerGCGStateRsp.proto b/proto/GCGWorldPlayerGCGStateRsp.proto
new file mode 100644
index 00000000..f0463361
--- /dev/null
+++ b/proto/GCGWorldPlayerGCGStateRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GCGWorldPlayerGCGStateRsp {
+ //enum FEBOBCEMECA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 7941;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 14;
+ bool isAgree = 10;
+}
diff --git a/proto/GCGZone.proto b/proto/GCGZone.proto
new file mode 100644
index 00000000..a5ce55a3
--- /dev/null
+++ b/proto/GCGZone.proto
@@ -0,0 +1,10 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GCGZone {
+ repeated uint32 cardList = 14;
+}
diff --git a/proto/GCGZoneType.proto b/proto/GCGZoneType.proto
new file mode 100644
index 00000000..4ea7cec1
--- /dev/null
+++ b/proto/GCGZoneType.proto
@@ -0,0 +1,17 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+enum GCGZoneType {
+ GCG_ZONE_TYPE_INVALID = 0;
+ GCG_ZONE_TYPE_DECK = 1;
+ GCG_ZONE_TYPE_HAND = 2;
+ GCG_ZONE_TYPE_CHARACTER = 3;
+ GCG_ZONE_TYPE_MODIFY = 4;
+ GCG_ZONE_TYPE_SUMMON = 5;
+ GCG_ZONE_TYPE_ASSIST = 7;
+ GCG_ZONE_TYPE_ONSTAGE = 8;
+ GCG_ZONE_TYPE_RULE = 9;
+}
diff --git a/proto/GFCKMNHGFEP.proto b/proto/GFCKMNHGFEP.proto
new file mode 100644
index 00000000..be0ffedc
--- /dev/null
+++ b/proto/GFCKMNHGFEP.proto
@@ -0,0 +1,13 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GFCKMNHGFEP {
+ repeated uint32 playerUidList = 4;
+ uint32 matchId = 11;
+ uint32 mapId = 15;
+ bool mdpgfcplekf = 8;
+}
diff --git a/proto/GFOIPJIJFPP.proto b/proto/GFOIPJIJFPP.proto
new file mode 100644
index 00000000..ee0bcfdd
--- /dev/null
+++ b/proto/GFOIPJIJFPP.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "Vector.proto";
+
+message GFOIPJIJFPP {
+ Vector initPos = 6;
+ Vector forward = 9;
+}
diff --git a/proto/GGLAOFMEGGK.proto b/proto/GGLAOFMEGGK.proto
new file mode 100644
index 00000000..74c49eba
--- /dev/null
+++ b/proto/GGLAOFMEGGK.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+enum GGLAOFMEGGK {
+ GGLAOFMEGGK_NONE = 0;
+ speed = 1;
+ NLKFKAOKKGB = 2;
+ AOMJCNMNCDB = 3;
+}
diff --git a/proto/GHHGMFFFGNL.proto b/proto/GHHGMFFFGNL.proto
new file mode 100644
index 00000000..6a39ae02
--- /dev/null
+++ b/proto/GHHGMFFFGNL.proto
@@ -0,0 +1,24 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GHHGMFFFGNL {
+ //enum KFDMEIHCMLP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 21217;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 galleryId = 6;
+ bool hkhgjjepeio = 1;
+ uint32 stageId = 5;
+ uint32 finishTime = 15;
+ bool isNewRecord = 11;
+ uint32 difficulty = 9;
+ bool isSucc = 7;
+}
diff --git a/proto/GJBKGONOBJD.proto b/proto/GJBKGONOBJD.proto
new file mode 100644
index 00000000..5b2945ae
--- /dev/null
+++ b/proto/GJBKGONOBJD.proto
@@ -0,0 +1,13 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GJBKGONOBJD {
+ uint32 playNum = 1;
+ uint32 likeNum = 2;
+ uint32 storeNum = 3;
+ uint32 winNum = 4;
+}
diff --git a/proto/GJPHKJFFMOM.proto b/proto/GJPHKJFFMOM.proto
new file mode 100644
index 00000000..78a66913
--- /dev/null
+++ b/proto/GJPHKJFFMOM.proto
@@ -0,0 +1,10 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+enum GJPHKJFFMOM {
+ PHBJNMNOPOI = 0;
+ EFGPKKDHDHP = 1;
+}
diff --git a/proto/GMFNAIJFBFD.proto b/proto/GMFNAIJFBFD.proto
new file mode 100644
index 00000000..43abea22
--- /dev/null
+++ b/proto/GMFNAIJFBFD.proto
@@ -0,0 +1,10 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GMFNAIJFBFD {
+ uint32 applyEntityId = 6;
+}
diff --git a/proto/GMIEDKDENPO.proto b/proto/GMIEDKDENPO.proto
new file mode 100644
index 00000000..580b5b24
--- /dev/null
+++ b/proto/GMIEDKDENPO.proto
@@ -0,0 +1,9 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GMIEDKDENPO {
+}
diff --git a/proto/GMJDGJIDDCI.proto b/proto/GMJDGJIDDCI.proto
new file mode 100644
index 00000000..d0273096
--- /dev/null
+++ b/proto/GMJDGJIDDCI.proto
@@ -0,0 +1,10 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GMJDGJIDDCI {
+ string lehnbmgfalp = 1;
+}
diff --git a/proto/GMObstacleInfo.proto b/proto/GMObstacleInfo.proto
new file mode 100644
index 00000000..6259f4aa
--- /dev/null
+++ b/proto/GMObstacleInfo.proto
@@ -0,0 +1,25 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ShapeType.proto";
+import "Vector.proto";
+import "MathQuaternion.proto";
+import "Vector3Int.proto";
+
+message GMObstacleInfo {
+
+ enum ShapeType {
+ SHAPE_TYPE_OBSTACLE_SHAPE_CAPSULE = 0;
+ SHAPE_TYPE_OBSTACLE_SHAPE_BOX = 1;
+ }
+
+ int64 timestamp = 13;
+ ShapeType shape = 3;
+ Vector center = 9;
+ int32 obstacleId = 15;
+ MathQuaternion rotation = 4;
+ Vector3Int extents = 5;
+}
diff --git a/proto/GMShowNavMeshReq.proto b/proto/GMShowNavMeshReq.proto
new file mode 100644
index 00000000..53cf546c
--- /dev/null
+++ b/proto/GMShowNavMeshReq.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "Vector.proto";
+
+message GMShowNavMeshReq {
+ //enum LOEAPFJINIE {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2390;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ Vector center = 6;
+ Vector extent = 13;
+}
diff --git a/proto/GMShowNavMeshRsp.proto b/proto/GMShowNavMeshRsp.proto
new file mode 100644
index 00000000..0c886767
--- /dev/null
+++ b/proto/GMShowNavMeshRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "PBNavMeshTile.proto";
+
+message GMShowNavMeshRsp {
+ //enum JLMKGAADEMI {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2354;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated PBNavMeshTile tiles = 9;
+ int32 retcode = 4;
+}
diff --git a/proto/GMShowObstacleReq.proto b/proto/GMShowObstacleReq.proto
new file mode 100644
index 00000000..bdb168af
--- /dev/null
+++ b/proto/GMShowObstacleReq.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GMShowObstacleReq {
+ //enum MLIFNLABNMJ {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2315;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+}
diff --git a/proto/GMShowObstacleRsp.proto b/proto/GMShowObstacleRsp.proto
new file mode 100644
index 00000000..2d173c2d
--- /dev/null
+++ b/proto/GMShowObstacleRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GMObstacleInfo.proto";
+
+message GMShowObstacleRsp {
+ //enum GABNEDGIPNN {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2356;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 12;
+ repeated GMObstacleInfo obstacles = 7;
+}
diff --git a/proto/GOMAOCCEFNM.proto b/proto/GOMAOCCEFNM.proto
new file mode 100644
index 00000000..917c5908
--- /dev/null
+++ b/proto/GOMAOCCEFNM.proto
@@ -0,0 +1,10 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GOMAOCCEFNM {
+ string dpinghecdgc = 1;
+}
diff --git a/proto/GachaActivityCreateRobotReq.proto b/proto/GachaActivityCreateRobotReq.proto
new file mode 100644
index 00000000..1e8d80ec
--- /dev/null
+++ b/proto/GachaActivityCreateRobotReq.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GachaActivityCreateRobotReq {
+ //enum JHBDOFNKMMA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8503;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+}
diff --git a/proto/GachaActivityCreateRobotRsp.proto b/proto/GachaActivityCreateRobotRsp.proto
new file mode 100644
index 00000000..6f5cf1ec
--- /dev/null
+++ b/proto/GachaActivityCreateRobotRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GachaActivityCreateRobotRsp {
+ //enum LFIPCANMILP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8997;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 2;
+ uint32 robotId = 15;
+}
diff --git a/proto/GachaActivityNextStageReq.proto b/proto/GachaActivityNextStageReq.proto
new file mode 100644
index 00000000..f6d99b89
--- /dev/null
+++ b/proto/GachaActivityNextStageReq.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GachaActivityNextStageReq {
+ //enum EBHDPIEBEFF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8201;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+}
diff --git a/proto/GachaActivityNextStageRsp.proto b/proto/GachaActivityNextStageRsp.proto
new file mode 100644
index 00000000..e034cea9
--- /dev/null
+++ b/proto/GachaActivityNextStageRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GachaActivityNextStageRsp {
+ //enum NDJKAKCKAHA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8592;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 stageId = 4;
+ int32 retcode = 12;
+}
diff --git a/proto/GachaActivityPercentNotify.proto b/proto/GachaActivityPercentNotify.proto
new file mode 100644
index 00000000..4f30eb29
--- /dev/null
+++ b/proto/GachaActivityPercentNotify.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GachaActivityPercentNotify {
+ //enum PGKNAMLFLAL {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8200;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ map targetNumMap = 5;
+ uint32 Unk3300_GHHIGKFDONE = 13;
+ uint32 Unk3300_IOLPAJKDEEA = 14;
+ uint32 Unk3300_EOPJBPHFDEE = 15;
+}
diff --git a/proto/GachaActivityResetReq.proto b/proto/GachaActivityResetReq.proto
new file mode 100644
index 00000000..39661d8e
--- /dev/null
+++ b/proto/GachaActivityResetReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GachaActivityResetReq {
+ //enum FHHAMMKAGJA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8367;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 stageId = 4;
+}
diff --git a/proto/GachaActivityResetRsp.proto b/proto/GachaActivityResetRsp.proto
new file mode 100644
index 00000000..c3b393ae
--- /dev/null
+++ b/proto/GachaActivityResetRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GachaActivityResetRsp {
+ //enum ODFODDCPHEE {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8263;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 13;
+ uint32 stageId = 12;
+}
diff --git a/proto/GachaActivityTakeRewardReq.proto b/proto/GachaActivityTakeRewardReq.proto
new file mode 100644
index 00000000..c2cd189b
--- /dev/null
+++ b/proto/GachaActivityTakeRewardReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GachaActivityTakeRewardReq {
+ //enum GDHHKBFLGPH {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8947;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ map robotNumMap = 1;
+}
diff --git a/proto/GachaActivityTakeRewardRsp.proto b/proto/GachaActivityTakeRewardRsp.proto
new file mode 100644
index 00000000..fe8fbd8d
--- /dev/null
+++ b/proto/GachaActivityTakeRewardRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GachaActivityTakeRewardRsp {
+ //enum PPKEPNJBPCF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8228;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 14;
+ map robotNumMap = 2;
+}
diff --git a/proto/GachaActivityUpdateElemNotify.proto b/proto/GachaActivityUpdateElemNotify.proto
new file mode 100644
index 00000000..a9ef1718
--- /dev/null
+++ b/proto/GachaActivityUpdateElemNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GachaActivityUpdateElemNotify {
+ //enum OAPKFFPLCKG {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8850;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 elemType = 9;
+}
diff --git a/proto/GachaOpenWishNotify.proto b/proto/GachaOpenWishNotify.proto
new file mode 100644
index 00000000..53fcc7e8
--- /dev/null
+++ b/proto/GachaOpenWishNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GachaOpenWishNotify {
+ //enum BGJEKJAGNPO {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 1580;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 gachaType = 1;
+ uint32 gachaScheduleId = 13;
+}
diff --git a/proto/GachaSimpleInfoNotify.proto b/proto/GachaSimpleInfoNotify.proto
new file mode 100644
index 00000000..f43373bb
--- /dev/null
+++ b/proto/GachaSimpleInfoNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GachaSimpleInfoNotify {
+ //enum KAKAMCLOGPG {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 1570;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ bool isNew = 8;
+}
diff --git a/proto/GachaStageData.proto b/proto/GachaStageData.proto
new file mode 100644
index 00000000..c299e0f3
--- /dev/null
+++ b/proto/GachaStageData.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GachaStageData {
+ map targetNumMap = 11;
+ uint32 stageId = 15;
+ bool isOpen = 4;
+}
diff --git a/proto/Gadget.proto b/proto/Gadget.proto
new file mode 100644
index 00000000..6e65348d
--- /dev/null
+++ b/proto/Gadget.proto
@@ -0,0 +1,76 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GadgetBornType.proto";
+import "Item.proto";
+import "GatherGadget.proto";
+import "Worktop.proto";
+import "ClientGadgetInfo.proto";
+import "WeatherInfo.proto";
+import "AbilityGadget.proto";
+import "StatueGadgetInfo.proto";
+import "BossChest.proto";
+import "BlossomChestInfo.proto";
+import "MpPlayRewardInfo.proto";
+import "GadgetGeneralRewardInfo.proto";
+import "OfferingInfo.proto";
+import "FoundationInfo.proto";
+import "VehicleInfo.proto";
+import "ShellInfo.proto";
+import "ScreenInfo.proto";
+import "FishPoolInfo.proto";
+import "CustomGadgetTreeInfo.proto";
+import "RoguelikeGadgetInfo.proto";
+import "NightCrowGadgetInfo.proto";
+import "DeshretObeliskGadgetInfo.proto";
+import "CoinCollectOperatorInfo.proto";
+import "PlatformInfo.proto";
+import "GadgetPlayInfo.proto";
+
+message SceneGadgetInfo {
+ uint32 gadgetId = 1;
+ uint32 groupId = 2;
+ uint32 configId = 3;
+ uint32 ownerEntityId = 4;
+ GadgetBornType bornType = 5;
+ uint32 gadgetState = 6;
+ uint32 gadgetType = 7;
+ bool isShowCutscene = 8;
+ uint32 authorityPeerId = 9;
+ bool isEnableInteract = 10;
+ uint32 interactId = 11;
+ oneof content {
+ Item trifle_item = 12;
+ GatherGadget gather_gadget = 13;
+ Worktop worktop = 14;
+ ClientGadgetInfo client_gadget = 15;
+ WeatherInfo weather = 17;
+ AbilityGadget ability_gadget = 18;
+ StatueGadgetInfo statue_gadget = 19;
+ BossChest boss_chest = 20;
+ BlossomChestInfo blossom_chest = 41;
+ MpPlayRewardInfo mp_play_reward = 42;
+ GadgetGeneralRewardInfo general_reward = 43;
+ OfferingInfo offering_info = 44;
+ FoundationInfo foundation_info = 45;
+ VehicleInfo vehicle_info = 46;
+ ShellInfo shell_info = 47;
+ ScreenInfo screen_info = 48;
+ FishPoolInfo fish_pool_info = 59;
+ CustomGadgetTreeInfo custom_gadget_tree_info = 60;
+ RoguelikeGadgetInfo roguelike_gadget_info = 61;
+ NightCrowGadgetInfo night_crow_gadget_info = 62;
+ DeshretObeliskGadgetInfo deshret_obelisk_gadget_info = 63;
+ CoinCollectOperatorInfo coin_collect_operator_info = 64;
+ }
+ uint32 markFlag = 21;
+ uint32 propOwnerEntityId = 22;
+ PlatformInfo platform = 23;
+ repeated uint32 interactUidList = 24;
+ uint32 draftId = 25;
+ uint32 gadgetTalkState = 26;
+ GadgetPlayInfo playInfo = 100;
+}
diff --git a/proto/GadgetChainLevelChangeNotify.proto b/proto/GadgetChainLevelChangeNotify.proto
new file mode 100644
index 00000000..615d8650
--- /dev/null
+++ b/proto/GadgetChainLevelChangeNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GadgetChainLevelChangeNotify {
+ //enum LBPNMBGDFKK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 892;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ map gadgetChainLevelMap = 14;
+}
diff --git a/proto/GadgetChainLevelUpdateNotify.proto b/proto/GadgetChainLevelUpdateNotify.proto
new file mode 100644
index 00000000..8f266cd0
--- /dev/null
+++ b/proto/GadgetChainLevelUpdateNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GadgetChainLevelUpdateNotify {
+ //enum FBKFEJFKCDF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 900;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ map gadgetChainLevelMap = 4;
+}
diff --git a/proto/GadgetChangeLevelTagReq.proto b/proto/GadgetChangeLevelTagReq.proto
new file mode 100644
index 00000000..49ce7d09
--- /dev/null
+++ b/proto/GadgetChangeLevelTagReq.proto
@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "CustomGadgetTreeInfo.proto";
+
+message GadgetChangeLevelTagReq {
+ //enum FMKMNMGIDFA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 850;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 gadgetEntityId = 5;
+ uint32 levelTagId = 13;
+ CustomGadgetTreeInfo combinationInfo = 10;
+}
diff --git a/proto/GadgetChangeLevelTagRsp.proto b/proto/GadgetChangeLevelTagRsp.proto
new file mode 100644
index 00000000..9d63ac6b
--- /dev/null
+++ b/proto/GadgetChangeLevelTagRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GadgetChangeLevelTagRsp {
+ //enum PKLAJJEKDAN {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 830;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 11;
+}
diff --git a/proto/GadgetCustomTreeInfoNotify.proto b/proto/GadgetCustomTreeInfoNotify.proto
new file mode 100644
index 00000000..489fd9f7
--- /dev/null
+++ b/proto/GadgetCustomTreeInfoNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "CustomGadgetTreeInfo.proto";
+
+message GadgetCustomTreeInfoNotify {
+ //enum HGFHMFANDIM {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 842;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 gadgetEntityId = 2;
+ CustomGadgetTreeInfo customGadgetTreeInfo = 9;
+}
diff --git a/proto/GadgetGeneralRewardInfoNotify.proto b/proto/GadgetGeneralRewardInfoNotify.proto
new file mode 100644
index 00000000..436f74a6
--- /dev/null
+++ b/proto/GadgetGeneralRewardInfoNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GadgetGeneralRewardInfo.proto";
+
+message GadgetGeneralRewardInfoNotify {
+ //enum GFBABMFFJOP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 878;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 entityId = 5;
+ GadgetGeneralRewardInfo generalRewardInfo = 15;
+}
diff --git a/proto/GadgetInteractReq.proto b/proto/GadgetInteractReq.proto
index 580bfff1..bec9c5f1 100644
--- a/proto/GadgetInteractReq.proto
+++ b/proto/GadgetInteractReq.proto
@@ -2,8 +2,6 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-
-
import "InterOpType.proto";
import "ResinCostType.proto";
diff --git a/proto/GadgetPlayDataNotify.proto b/proto/GadgetPlayDataNotify.proto
new file mode 100644
index 00000000..cb380df7
--- /dev/null
+++ b/proto/GadgetPlayDataNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GadgetPlayDataNotify {
+ //enum KALPBHAOHMP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 824;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 playType = 2;
+ uint32 progress = 15;
+ uint32 entityId = 5;
+}
diff --git a/proto/GadgetPlayStartNotify.proto b/proto/GadgetPlayStartNotify.proto
new file mode 100644
index 00000000..dab9dfe0
--- /dev/null
+++ b/proto/GadgetPlayStartNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GadgetPlayStartNotify {
+ //enum MNLJBGOMGMF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 862;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 playType = 6;
+ uint32 entityId = 13;
+ uint32 startTime = 9;
+}
diff --git a/proto/GadgetPlayStopNotify.proto b/proto/GadgetPlayStopNotify.proto
new file mode 100644
index 00000000..09f84efe
--- /dev/null
+++ b/proto/GadgetPlayStopNotify.proto
@@ -0,0 +1,24 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GadgetPlayUidInfo.proto";
+
+message GadgetPlayStopNotify {
+ //enum PHFFIPOAMBI {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 814;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated GadgetPlayUidInfo uidInfoList = 13;
+ uint32 costTime = 12;
+ uint32 score = 14;
+ bool isWin = 7;
+ uint32 entityId = 1;
+ uint32 playType = 11;
+}
diff --git a/proto/GadgetPlayUidInfo.proto b/proto/GadgetPlayUidInfo.proto
new file mode 100644
index 00000000..01d56e1b
--- /dev/null
+++ b/proto/GadgetPlayUidInfo.proto
@@ -0,0 +1,17 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ProfilePicture.proto";
+
+message GadgetPlayUidInfo {
+ uint32 score = 7;
+ string onlineId = 1;
+ uint32 battleWatcherId = 3;
+ ProfilePicture profilePicture = 6;
+ uint32 uid = 14;
+ uint32 icon = 9;
+ string nickname = 15;
+}
diff --git a/proto/GadgetPlayUidOpNotify.proto b/proto/GadgetPlayUidOpNotify.proto
new file mode 100644
index 00000000..fb709530
--- /dev/null
+++ b/proto/GadgetPlayUidOpNotify.proto
@@ -0,0 +1,23 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GadgetPlayUidOpNotify {
+ //enum NJDCGNODNGN {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 829;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated uint32 uidList = 12;
+ uint32 playType = 14;
+ uint32 op = 9;
+ string paramStr = 2;
+ repeated uint32 paramList = 11;
+ uint32 entityId = 7;
+}
diff --git a/proto/GadgetTalkChangeNotify.proto b/proto/GadgetTalkChangeNotify.proto
new file mode 100644
index 00000000..641729e2
--- /dev/null
+++ b/proto/GadgetTalkChangeNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GadgetTalkChangeNotify {
+ //enum LACKJDOGKLE {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 846;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 gadgetEntityId = 10;
+ uint32 curGadgetTalkState = 2;
+}
diff --git a/proto/GalleryBalloonScoreNotify.proto b/proto/GalleryBalloonScoreNotify.proto
new file mode 100644
index 00000000..9fe10d8f
--- /dev/null
+++ b/proto/GalleryBalloonScoreNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GalleryBalloonScoreNotify {
+ //enum IJOJGCMHGNA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5587;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ map uidScoreMap = 12;
+ uint32 galleryId = 2;
+}
diff --git a/proto/GalleryBalloonShootNotify.proto b/proto/GalleryBalloonShootNotify.proto
new file mode 100644
index 00000000..0944b04a
--- /dev/null
+++ b/proto/GalleryBalloonShootNotify.proto
@@ -0,0 +1,23 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GalleryBalloonShootNotify {
+ //enum OPNLKOBJGJO {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5555;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 galleryId = 8;
+ uint32 triggerEntityId = 2;
+ int32 addScore = 5;
+ uint32 curScore = 14;
+ uint32 combo = 7;
+ uint64 comboDisableTime = 6;
+}
diff --git a/proto/GalleryBounceConjuringHitNotify.proto b/proto/GalleryBounceConjuringHitNotify.proto
new file mode 100644
index 00000000..19aabf22
--- /dev/null
+++ b/proto/GalleryBounceConjuringHitNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GalleryBounceConjuringHitNotify {
+ //enum OJKFGINDIOP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5569;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ bool isPerfect = 15;
+ uint32 galleryId = 7;
+ uint32 addScore = 14;
+}
diff --git a/proto/GalleryBrokenFloorFallNotify.proto b/proto/GalleryBrokenFloorFallNotify.proto
new file mode 100644
index 00000000..a2c25da6
--- /dev/null
+++ b/proto/GalleryBrokenFloorFallNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GalleryBrokenFloorFallNotify {
+ //enum MMGILCDMLNP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5529;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 fallCount = 2;
+ uint32 galleryId = 6;
+}
diff --git a/proto/GalleryBulletHitNotify.proto b/proto/GalleryBulletHitNotify.proto
new file mode 100644
index 00000000..2ac3108b
--- /dev/null
+++ b/proto/GalleryBulletHitNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GalleryBulletHitNotify {
+ //enum ANHMHFFHGDJ {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5524;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 hitCount = 11;
+ uint32 galleryId = 10;
+}
diff --git a/proto/GalleryCrystalLinkBuffInfoNotify.proto b/proto/GalleryCrystalLinkBuffInfoNotify.proto
new file mode 100644
index 00000000..dee9166e
--- /dev/null
+++ b/proto/GalleryCrystalLinkBuffInfoNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GalleryCrystalLinkBuffInfoNotify {
+ //enum BEFMHIDKCPC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5546;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ bool isBuffValid = 11;
+ uint32 galleryId = 6;
+ uint32 buffId = 2;
+}
diff --git a/proto/GalleryCrystalLinkKillMonsterNotify.proto b/proto/GalleryCrystalLinkKillMonsterNotify.proto
new file mode 100644
index 00000000..2deed626
--- /dev/null
+++ b/proto/GalleryCrystalLinkKillMonsterNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GalleryCrystalLinkKillMonsterNotify {
+ //enum LKNNEJEJHFA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5539;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 galleryId = 10;
+ uint32 score = 9;
+}
diff --git a/proto/GalleryFallCatchNotify.proto b/proto/GalleryFallCatchNotify.proto
new file mode 100644
index 00000000..d1f0ed8c
--- /dev/null
+++ b/proto/GalleryFallCatchNotify.proto
@@ -0,0 +1,23 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GalleryFallCatchNotify {
+ //enum IICOFEJMDIG {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5520;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 timeCost = 1;
+ uint32 addScore = 4;
+ uint32 galleryId = 2;
+ uint32 curScore = 5;
+ bool isGround = 3;
+ map ballCatchCountMap = 15;
+}
diff --git a/proto/GalleryFallScoreNotify.proto b/proto/GalleryFallScoreNotify.proto
new file mode 100644
index 00000000..bb90ec28
--- /dev/null
+++ b/proto/GalleryFallScoreNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "FallPlayerBrief.proto";
+
+message GalleryFallScoreNotify {
+ //enum INIGFMPGCGH {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5574;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 galleryId = 8;
+ map uidBriefMap = 4;
+}
diff --git a/proto/GalleryFlowerCatchNotify.proto b/proto/GalleryFlowerCatchNotify.proto
new file mode 100644
index 00000000..769bf4b8
--- /dev/null
+++ b/proto/GalleryFlowerCatchNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GalleryFlowerCatchNotify {
+ //enum MONKPABEHLA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5562;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 addScore = 1;
+ uint32 curScore = 8;
+ uint32 galleryId = 13;
+}
diff --git a/proto/GalleryFlowerStartParam.proto b/proto/GalleryFlowerStartParam.proto
new file mode 100644
index 00000000..780f360d
--- /dev/null
+++ b/proto/GalleryFlowerStartParam.proto
@@ -0,0 +1,10 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GalleryFlowerStartParam {
+ uint32 targetScore = 8;
+}
diff --git a/proto/GalleryIslandPartyDownHillInfoNotify.proto b/proto/GalleryIslandPartyDownHillInfoNotify.proto
new file mode 100644
index 00000000..01bdeb09
--- /dev/null
+++ b/proto/GalleryIslandPartyDownHillInfoNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GalleryIslandPartyDownHillInfoNotify {
+ //enum EBDLNPCEHLD {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5592;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 galleryId = 7;
+ uint32 totalKillMonsterCount = 15;
+ uint32 coin = 12;
+}
diff --git a/proto/GalleryPreStartNotify.proto b/proto/GalleryPreStartNotify.proto
new file mode 100644
index 00000000..ce2b42b0
--- /dev/null
+++ b/proto/GalleryPreStartNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GalleryPreStartNotify {
+ //enum NCOOMMNLEFI {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5514;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 preStartEndTime = 6;
+ uint32 galleryId = 7;
+}
diff --git a/proto/GallerySettleInfo.proto b/proto/GallerySettleInfo.proto
new file mode 100644
index 00000000..77c508d7
--- /dev/null
+++ b/proto/GallerySettleInfo.proto
@@ -0,0 +1,14 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GallerySettleInfo {
+ bool isSuccess = 5;
+ uint32 energy = 7;
+ map energyStatMap = 9;
+ uint32 galleryStageCount = 14;
+ uint32 galleryStageIndex = 15;
+}
diff --git a/proto/GalleryStageType.proto b/proto/GalleryStageType.proto
new file mode 100644
index 00000000..bc62e464
--- /dev/null
+++ b/proto/GalleryStageType.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+enum GalleryStageType {
+ GALLERY_STAGE_TYPE_NONE = 0;
+ GALLERY_STAGE_TYPE_PRESTART = 1;
+ GALLERY_STAGE_TYPE_START = 2;
+}
diff --git a/proto/GalleryStartNotify.proto b/proto/GalleryStartNotify.proto
new file mode 100644
index 00000000..31bed62f
--- /dev/null
+++ b/proto/GalleryStartNotify.proto
@@ -0,0 +1,28 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "FlowerStartParam.proto";
+import "ElectroherculesStartParam.proto";
+
+message GalleryStartNotify {
+ //enum ACINIBNBKCJ {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5505;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 startTime = 3;
+ uint32 ownerUid = 14;
+ uint32 playerCount = 4;
+ uint32 galleryId = 12;
+ uint32 endTime = 1;
+ oneof detail {
+ FlowerStartParam flower_start_param = 10;
+ ElectroherculesStartParam electrohercules_start_param = 7;
+ }
+}
diff --git a/proto/GalleryStartSource.proto b/proto/GalleryStartSource.proto
new file mode 100644
index 00000000..84f9eabd
--- /dev/null
+++ b/proto/GalleryStartSource.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+enum GalleryStartSource {
+ GALLERY_START_SOURCE_BY_NONE = 0;
+ GALLERY_START_SOURCE_BY_MATCH = 1;
+ GALLERY_START_SOURCE_BY_DRAFT = 2;
+}
diff --git a/proto/GalleryStopNotify.proto b/proto/GalleryStopNotify.proto
new file mode 100644
index 00000000..7cc33556
--- /dev/null
+++ b/proto/GalleryStopNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GalleryStopNotify {
+ //enum BAOOPHPHBOC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5598;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 galleryId = 3;
+}
diff --git a/proto/GallerySumoKillMonsterNotify.proto b/proto/GallerySumoKillMonsterNotify.proto
new file mode 100644
index 00000000..175a3e67
--- /dev/null
+++ b/proto/GallerySumoKillMonsterNotify.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GallerySumoKillMonsterNotify {
+ //enum DKINCNHNCIE {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5506;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 score = 2;
+ uint32 killNormalMonsterNum = 13;
+ uint32 killEliteMonsterNum = 4;
+ uint32 galleryId = 10;
+}
diff --git a/proto/GalleryWillStartCountdownNotify.proto b/proto/GalleryWillStartCountdownNotify.proto
new file mode 100644
index 00000000..a8e9b40e
--- /dev/null
+++ b/proto/GalleryWillStartCountdownNotify.proto
@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GalleryStartSource.proto";
+
+message GalleryWillStartCountdownNotify {
+ //enum GEFOBHGIOAL {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5575;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 galleryId = 8;
+ bool isEnd = 1;
+ GalleryStartSource startSource = 13;
+ uint32 endTime = 9;
+}
diff --git a/proto/GameOver.proto b/proto/GameOver.proto
new file mode 100644
index 00000000..6ed5cc6e
--- /dev/null
+++ b/proto/GameOver.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GCGEndReason.proto";
+
+message GameOver {
+ GCGEndReason endReason = 4;
+ uint32 winControllerId = 10;
+}
diff --git a/proto/GameplayRecommendationElementReliquaryResponse.proto b/proto/GameplayRecommendationElementReliquaryResponse.proto
deleted file mode 100644
index db8e7e5f..00000000
--- a/proto/GameplayRecommendationElementReliquaryResponse.proto
+++ /dev/null
@@ -1,28 +0,0 @@
-// Proto has been converted from Sorapointa to Grasscutter format
-// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
-// Copyright (C) 2022 Sorapointa Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
-syntax = "proto3";
-
-import "GameplayRecommendationReliquaryMainPropData.proto";
-
-option java_package = "emu.grasscutter.net.proto";
-
-message GameplayRecommendationElementReliquaryResponse {
- uint32 element_type = 1;
- uint32 equip_type = 9;
- repeated GameplayRecommendationReliquaryMainPropData main_prop_data_list = 5;
-}
diff --git a/proto/GameplayRecommendationSkillRequest.proto b/proto/GameplayRecommendationSkillRequest.proto
new file mode 100644
index 00000000..f7ecf1ca
--- /dev/null
+++ b/proto/GameplayRecommendationSkillRequest.proto
@@ -0,0 +1,10 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GameplayRecommendationSkillRequest {
+ uint32 skillDepotId = 9;
+}
diff --git a/proto/GatherGadget.proto b/proto/GatherGadget.proto
new file mode 100644
index 00000000..b45ee1c5
--- /dev/null
+++ b/proto/GatherGadget.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GatherGadget {
+ uint32 itemId = 1;
+ bool is_forbid_guest = 2;
+}
diff --git a/proto/GearActivityFinishPlayGearReq.proto b/proto/GearActivityFinishPlayGearReq.proto
new file mode 100644
index 00000000..93d12f81
--- /dev/null
+++ b/proto/GearActivityFinishPlayGearReq.proto
@@ -0,0 +1,23 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GearColumnInfo.proto";
+
+message GearActivityFinishPlayGearReq {
+ //enum BCPHOIMHGPN {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 20920;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ bool isSuccess = 15;
+ repeated GearColumnInfo gearColumnInfoList = 9;
+ bool useClue = 13;
+ uint32 levelId = 2;
+}
diff --git a/proto/GearActivityFinishPlayGearRsp.proto b/proto/GearActivityFinishPlayGearRsp.proto
new file mode 100644
index 00000000..23dc0afa
--- /dev/null
+++ b/proto/GearActivityFinishPlayGearRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GearActivityFinishPlayGearRsp {
+ //enum JCOMKKMJBKP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 24722;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ bool isSuccess = 15;
+ int32 retcode = 9;
+ uint32 levelId = 7;
+}
diff --git a/proto/GearActivityFinishPlayPictureReq.proto b/proto/GearActivityFinishPlayPictureReq.proto
new file mode 100644
index 00000000..1bc92548
--- /dev/null
+++ b/proto/GearActivityFinishPlayPictureReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GearActivityFinishPlayPictureReq {
+ //enum EFOHCLKANMK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 24600;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ bool isSuccess = 3;
+}
diff --git a/proto/GearActivityFinishPlayPictureRsp.proto b/proto/GearActivityFinishPlayPictureRsp.proto
new file mode 100644
index 00000000..ddbfc341
--- /dev/null
+++ b/proto/GearActivityFinishPlayPictureRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GearActivityFinishPlayPictureRsp {
+ //enum CLAENFFGOJG {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 21610;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 8;
+ bool isSuccess = 7;
+}
diff --git a/proto/GearActivityStartPlayGearReq.proto b/proto/GearActivityStartPlayGearReq.proto
new file mode 100644
index 00000000..ebbc9d6d
--- /dev/null
+++ b/proto/GearActivityStartPlayGearReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GearActivityStartPlayGearReq {
+ //enum APCGKMAKOBM {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 21124;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 levelId = 11;
+}
diff --git a/proto/GearActivityStartPlayGearRsp.proto b/proto/GearActivityStartPlayGearRsp.proto
new file mode 100644
index 00000000..85979395
--- /dev/null
+++ b/proto/GearActivityStartPlayGearRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GearActivityStartPlayGearRsp {
+ //enum KEBFKIKLODG {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 21492;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 levelId = 1;
+ int32 retcode = 5;
+}
diff --git a/proto/GearActivityStartPlayPictureReq.proto b/proto/GearActivityStartPlayPictureReq.proto
new file mode 100644
index 00000000..46c276e2
--- /dev/null
+++ b/proto/GearActivityStartPlayPictureReq.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GearActivityStartPlayPictureReq {
+ //enum CFMGHGKBEMF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 22919;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+}
diff --git a/proto/GearActivityStartPlayPictureRsp.proto b/proto/GearActivityStartPlayPictureRsp.proto
new file mode 100644
index 00000000..1548ad6e
--- /dev/null
+++ b/proto/GearActivityStartPlayPictureRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GearActivityStartPlayPictureRsp {
+ //enum KPKOMBPAIEN {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 23454;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 2;
+}
diff --git a/proto/GearColumnInfo.proto b/proto/GearColumnInfo.proto
new file mode 100644
index 00000000..52ff968d
--- /dev/null
+++ b/proto/GearColumnInfo.proto
@@ -0,0 +1,14 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GearColumnInfo {
+ bool Unk3300_HGIKKDOBANK = 9;
+ uint32 gearId = 6;
+ bool Unk3300_KEEGLHMBAKM = 8;
+ uint32 Unk3300_GHIBPOIAIGF = 11;
+ uint32 Unk3300_EDLLMBGNDEH = 15;
+}
diff --git a/proto/GeneralMatchInfo.proto b/proto/GeneralMatchInfo.proto
new file mode 100644
index 00000000..8f37d04f
--- /dev/null
+++ b/proto/GeneralMatchInfo.proto
@@ -0,0 +1,13 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "MatchPlayerInfo.proto";
+
+message GeneralMatchInfo {
+ uint32 matchParam = 6;
+ uint32 matchId = 8;
+ repeated MatchPlayerInfo playerList = 13;
+}
diff --git a/proto/GetActivityScheduleReq.proto b/proto/GetActivityScheduleReq.proto
new file mode 100644
index 00000000..b48e568b
--- /dev/null
+++ b/proto/GetActivityScheduleReq.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GetActivityScheduleReq {
+ //enum GHODIMNEENJ {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2041;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+}
diff --git a/proto/GetActivityScheduleRsp.proto b/proto/GetActivityScheduleRsp.proto
new file mode 100644
index 00000000..100d1ee2
--- /dev/null
+++ b/proto/GetActivityScheduleRsp.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ActivityScheduleInfo.proto";
+
+message GetActivityScheduleRsp {
+ //enum FGGPOHENGIA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2015;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 remainFlySeaLampNum = 10;
+ int32 retcode = 9;
+ repeated ActivityScheduleInfo activityScheduleList = 12;
+}
diff --git a/proto/GetAllActivatedBargainDataReq.proto b/proto/GetAllActivatedBargainDataReq.proto
new file mode 100644
index 00000000..d1cfe3fe
--- /dev/null
+++ b/proto/GetAllActivatedBargainDataReq.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GetAllActivatedBargainDataReq {
+ //enum FKGGHIFLPIO {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 422;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+}
diff --git a/proto/GetAllActivatedBargainDataRsp.proto b/proto/GetAllActivatedBargainDataRsp.proto
new file mode 100644
index 00000000..d1e752d9
--- /dev/null
+++ b/proto/GetAllActivatedBargainDataRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "BargainSnapshot.proto";
+
+message GetAllActivatedBargainDataRsp {
+ //enum GJJKHMFGJCH {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 445;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated BargainSnapshot snapshotList = 2;
+ int32 retcode = 14;
+}
diff --git a/proto/GetAllMailNotify.proto b/proto/GetAllMailNotify.proto
new file mode 100644
index 00000000..0d73d015
--- /dev/null
+++ b/proto/GetAllMailNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GetAllMailNotify {
+ //enum LDGGOIEFPDE {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 1416;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ bool isCollected = 11;
+}
diff --git a/proto/GetAllMailResultNotify.proto b/proto/GetAllMailResultNotify.proto
new file mode 100644
index 00000000..9ea646c7
--- /dev/null
+++ b/proto/GetAllMailResultNotify.proto
@@ -0,0 +1,24 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "MailData.proto";
+
+message GetAllMailResultNotify {
+ //enum IGKIIEJOOAC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 1413;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ bool isCollected = 12;
+ repeated MailData mailList = 1;
+ uint32 totalPageCount = 7;
+ int32 retcode = 8;
+ uint32 pageIndex = 6;
+ string transaction = 15;
+}
diff --git a/proto/GetAllSceneGalleryInfoReq.proto b/proto/GetAllSceneGalleryInfoReq.proto
new file mode 100644
index 00000000..5dea879a
--- /dev/null
+++ b/proto/GetAllSceneGalleryInfoReq.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GetAllSceneGalleryInfoReq {
+ //enum OJJPPLLDBJF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5580;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+}
diff --git a/proto/GetAllSceneGalleryInfoRsp.proto b/proto/GetAllSceneGalleryInfoRsp.proto
new file mode 100644
index 00000000..9e301516
--- /dev/null
+++ b/proto/GetAllSceneGalleryInfoRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "SceneGalleryInfo.proto";
+
+message GetAllSceneGalleryInfoRsp {
+ //enum HDBJFCPMCIK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5570;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 14;
+ repeated SceneGalleryInfo galleryInfoList = 8;
+}
diff --git a/proto/GetAreaExplorePointReq.proto b/proto/GetAreaExplorePointReq.proto
new file mode 100644
index 00000000..efaf787e
--- /dev/null
+++ b/proto/GetAreaExplorePointReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GetAreaExplorePointReq {
+ //enum DJPJAAALGPH {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 207;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ repeated uint32 areaIdList = 5;
+}
diff --git a/proto/GetAreaExplorePointRsp.proto b/proto/GetAreaExplorePointRsp.proto
new file mode 100644
index 00000000..b4858f35
--- /dev/null
+++ b/proto/GetAreaExplorePointRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GetAreaExplorePointRsp {
+ //enum HCFOOJCJAPE {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 252;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated uint32 areaIdList = 13;
+ int32 retcode = 14;
+ repeated uint32 explorePointList = 3;
+}
diff --git a/proto/GetAuthSalesmanInfoReq.proto b/proto/GetAuthSalesmanInfoReq.proto
new file mode 100644
index 00000000..d8762061
--- /dev/null
+++ b/proto/GetAuthSalesmanInfoReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GetAuthSalesmanInfoReq {
+ //enum LBFMBJMBPNJ {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2108;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 scheduleId = 8;
+}
diff --git a/proto/GetAuthSalesmanInfoRsp.proto b/proto/GetAuthSalesmanInfoRsp.proto
new file mode 100644
index 00000000..f6389ed2
--- /dev/null
+++ b/proto/GetAuthSalesmanInfoRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GetAuthSalesmanInfoRsp {
+ //enum HJLJNOPNEKB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2113;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 scheduleId = 14;
+ int32 retcode = 6;
+ uint32 dayRewardId = 13;
+}
diff --git a/proto/GetBargainDataReq.proto b/proto/GetBargainDataReq.proto
new file mode 100644
index 00000000..024c4b1c
--- /dev/null
+++ b/proto/GetBargainDataReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GetBargainDataReq {
+ //enum LHJBPNJPDMP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 428;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 bargainId = 14;
+}
diff --git a/proto/GetBargainDataRsp.proto b/proto/GetBargainDataRsp.proto
new file mode 100644
index 00000000..6b4de526
--- /dev/null
+++ b/proto/GetBargainDataRsp.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "BargainSnapshot.proto";
+
+message GetBargainDataRsp {
+ //enum PDPLCGAFFNN {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 473;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 14;
+ BargainSnapshot snapshot = 13;
+ uint32 bargainId = 8;
+}
diff --git a/proto/GetBattlePassProductReq.proto b/proto/GetBattlePassProductReq.proto
new file mode 100644
index 00000000..e4d66dcb
--- /dev/null
+++ b/proto/GetBattlePassProductReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GetBattlePassProductReq {
+ //enum ECJFJLLDNOO {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2616;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 battlePassProductPlayType = 15;
+}
diff --git a/proto/GetBattlePassProductRsp.proto b/proto/GetBattlePassProductRsp.proto
new file mode 100644
index 00000000..165e978b
--- /dev/null
+++ b/proto/GetBattlePassProductRsp.proto
@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GetBattlePassProductRsp {
+ //enum KJAINMPEKII {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2625;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ string priceTier = 15;
+ int32 retcode = 4;
+ uint32 battlePassProductPlayType = 9;
+ uint32 curScheduleId = 6;
+ string productId = 7;
+}
diff --git a/proto/GetBonusActivityRewardReq.proto b/proto/GetBonusActivityRewardReq.proto
new file mode 100644
index 00000000..e8d8219b
--- /dev/null
+++ b/proto/GetBonusActivityRewardReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GetBonusActivityRewardReq {
+ //enum JJGLIEKLEKE {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2513;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 bonusActivityId = 2;
+}
diff --git a/proto/GetBonusActivityRewardRsp.proto b/proto/GetBonusActivityRewardRsp.proto
new file mode 100644
index 00000000..44ebca4b
--- /dev/null
+++ b/proto/GetBonusActivityRewardRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "BonusActivityInfo.proto";
+
+message GetBonusActivityRewardRsp {
+ //enum JPCCPFNIFIH {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2569;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ BonusActivityInfo bonusActivityInfoList = 9;
+ int32 retcode = 15;
+}
diff --git a/proto/GetCityHuntingOfferReq.proto b/proto/GetCityHuntingOfferReq.proto
new file mode 100644
index 00000000..2126f196
--- /dev/null
+++ b/proto/GetCityHuntingOfferReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GetCityHuntingOfferReq {
+ //enum LPMFLCGJDEO {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4346;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 cityId = 13;
+}
diff --git a/proto/GetCityHuntingOfferRsp.proto b/proto/GetCityHuntingOfferRsp.proto
new file mode 100644
index 00000000..8b2213fb
--- /dev/null
+++ b/proto/GetCityHuntingOfferRsp.proto
@@ -0,0 +1,25 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "HuntingPair.proto";
+import "HuntingOfferData.proto";
+
+message GetCityHuntingOfferRsp {
+ //enum LCAHNPHEMMD {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4341;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 10;
+ uint32 nextRefreshTime = 8;
+ uint32 curWeekFinishedCount = 14;
+ HuntingPair ongoingHuntingPair = 7;
+ repeated HuntingOfferData huntingOfferList = 11;
+ uint32 cityId = 9;
+}
diff --git a/proto/GetCityReputationInfoReq.proto b/proto/GetCityReputationInfoReq.proto
new file mode 100644
index 00000000..6b40e0c4
--- /dev/null
+++ b/proto/GetCityReputationInfoReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GetCityReputationInfoReq {
+ //enum AGOKGBPFOPO {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2805;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 cityId = 5;
+}
diff --git a/proto/GetCityReputationInfoRsp.proto b/proto/GetCityReputationInfoRsp.proto
new file mode 100644
index 00000000..85c6e6df
--- /dev/null
+++ b/proto/GetCityReputationInfoRsp.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "CityReputationInfo.proto";
+
+message GetCityReputationInfoRsp {
+ //enum LBFKEEBJEBA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2855;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 10;
+ uint32 cityId = 6;
+ CityReputationInfo cityReputationInfo = 5;
+}
diff --git a/proto/GetCityReputationMapInfoReq.proto b/proto/GetCityReputationMapInfoReq.proto
new file mode 100644
index 00000000..c9d8676f
--- /dev/null
+++ b/proto/GetCityReputationMapInfoReq.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GetCityReputationMapInfoReq {
+ //enum LFBJDHAPKBK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2829;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+}
diff --git a/proto/GetCityReputationMapInfoRsp.proto b/proto/GetCityReputationMapInfoRsp.proto
new file mode 100644
index 00000000..4b88ae0c
--- /dev/null
+++ b/proto/GetCityReputationMapInfoRsp.proto
@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GetCityReputationMapInfoRsp {
+ //enum EKAODNDOHAN {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2878;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ bool Unk3300_NCMHMODIIKM = 13;
+ int32 retcode = 4;
+ repeated uint32 unlockHuntingCityList = 12;
+ bool Unk3300_GJFNOPNMFNG = 7;
+ repeated uint32 rewardCityList = 1;
+}
diff --git a/proto/GetCustomDungeonReq.proto b/proto/GetCustomDungeonReq.proto
new file mode 100644
index 00000000..5a1ba857
--- /dev/null
+++ b/proto/GetCustomDungeonReq.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GetCustomDungeonReq {
+ //enum PGAJJPGGKCE {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 6249;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+}
diff --git a/proto/GetCustomDungeonRsp.proto b/proto/GetCustomDungeonRsp.proto
new file mode 100644
index 00000000..59ac0eee
--- /dev/null
+++ b/proto/GetCustomDungeonRsp.proto
@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "CustomDungeonBanInfo.proto";
+import "CustomDungeonBrief.proto";
+
+message GetCustomDungeonRsp {
+ //enum ILKHCPIKFHF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 6234;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ CustomDungeonBanInfo banInfo = 14;
+ int32 retcode = 8;
+ repeated CustomDungeonBrief briefList = 12;
+}
diff --git a/proto/GetDungeonEntryExploreConditionReq.proto b/proto/GetDungeonEntryExploreConditionReq.proto
new file mode 100644
index 00000000..f4f0049a
--- /dev/null
+++ b/proto/GetDungeonEntryExploreConditionReq.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GetDungeonEntryExploreConditionReq {
+ //enum LBLAGHMHFBM {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 3123;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 dungeonEntryScenePointId = 11;
+ uint32 sceneId = 13;
+ uint32 dungeonEntryConfigId = 5;
+}
diff --git a/proto/GetDungeonEntryExploreConditionRsp.proto b/proto/GetDungeonEntryExploreConditionRsp.proto
new file mode 100644
index 00000000..3693e242
--- /dev/null
+++ b/proto/GetDungeonEntryExploreConditionRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "DungeonEntryCond.proto";
+
+message GetDungeonEntryExploreConditionRsp {
+ //enum IMDFOPHPHPL {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 3355;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 14;
+ DungeonEntryCond dungeonEntryCond = 7;
+}
diff --git a/proto/GetExpeditionAssistInfoListReq.proto b/proto/GetExpeditionAssistInfoListReq.proto
new file mode 100644
index 00000000..c9cbb7a4
--- /dev/null
+++ b/proto/GetExpeditionAssistInfoListReq.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GetExpeditionAssistInfoListReq {
+ //enum HIOKKPCGGCH {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2147;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+}
diff --git a/proto/GetExpeditionAssistInfoListRsp.proto b/proto/GetExpeditionAssistInfoListRsp.proto
new file mode 100644
index 00000000..73249a41
--- /dev/null
+++ b/proto/GetExpeditionAssistInfoListRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ExpeditionAssistInfo.proto";
+
+message GetExpeditionAssistInfoListRsp {
+ //enum NMNOPOJDEHM {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2028;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 1;
+ repeated ExpeditionAssistInfo assistInfoList = 2;
+}
diff --git a/proto/GetGameplayRecommendationReq.proto b/proto/GetGameplayRecommendationReq.proto
new file mode 100644
index 00000000..eeb3c276
--- /dev/null
+++ b/proto/GetGameplayRecommendationReq.proto
@@ -0,0 +1,27 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "SkillResponse.proto";
+import "ReliquaryResponse.proto";
+import "ElementReliquaryResponse.proto";
+
+message GetGameplayRecommendationReq {
+ //enum EDAHHJLCAIF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 196;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 avatarId = 1;
+ int32 retcode = 12;
+ oneof detail {
+ SkillResponse skill_response = 223;
+ ReliquaryResponse reliquary_response = 1964;
+ ElementReliquaryResponse element_reliquary_response = 1912;
+ }
+}
diff --git a/proto/GetGameplayRecommendationRsp.proto b/proto/GetGameplayRecommendationRsp.proto
new file mode 100644
index 00000000..f9493c80
--- /dev/null
+++ b/proto/GetGameplayRecommendationRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GetGameplayRecommendationRsp {
+ //enum ILBNNCBEICH {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 144;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 givingId = 10;
+}
diff --git a/proto/GetHomeExchangeWoodInfoReq.proto b/proto/GetHomeExchangeWoodInfoReq.proto
new file mode 100644
index 00000000..d35868a5
--- /dev/null
+++ b/proto/GetHomeExchangeWoodInfoReq.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GetHomeExchangeWoodInfoReq {
+ //enum DOHACOMPLLC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4775;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+}
diff --git a/proto/GetHomeExchangeWoodInfoRsp.proto b/proto/GetHomeExchangeWoodInfoRsp.proto
new file mode 100644
index 00000000..006b1202
--- /dev/null
+++ b/proto/GetHomeExchangeWoodInfoRsp.proto
@@ -0,0 +1,26 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GetHomeExchangeWoodInfoRsp {
+ //enum GGMEHEFODIO {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4757;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ message HomeExchangeWoodInfo {
+ uint32 exchangeLimit = 8;
+ uint32 woodId = 2;
+ uint32 nextRefreshTime = 3;
+ uint32 exchangedCount = 9;
+ }
+
+ repeated HomeExchangeWoodInfo woodInfoList = 11;
+ int32 retcode = 2;
+}
diff --git a/proto/GetHomeLevelUpRewardReq.proto b/proto/GetHomeLevelUpRewardReq.proto
index 6cb195cc..b6647171 100644
--- a/proto/GetHomeLevelUpRewardReq.proto
+++ b/proto/GetHomeLevelUpRewardReq.proto
@@ -1,6 +1,19 @@
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
+
+
+
message GetHomeLevelUpRewardReq {
+ //enum DPLHJJDEKBD {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4588;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
uint32 level = 13;
}
diff --git a/proto/GetHomeLevelUpRewardRsp.proto b/proto/GetHomeLevelUpRewardRsp.proto
index a1324a0e..989fe0c3 100644
--- a/proto/GetHomeLevelUpRewardRsp.proto
+++ b/proto/GetHomeLevelUpRewardRsp.proto
@@ -1,7 +1,19 @@
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
+
+
+
message GetHomeLevelUpRewardRsp {
+ //enum NCJHHGNGMBO {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4668;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
uint32 level = 5;
int32 retcode = 6;
}
diff --git a/proto/GetHuntingOfferRewardReq.proto b/proto/GetHuntingOfferRewardReq.proto
new file mode 100644
index 00000000..67151ef5
--- /dev/null
+++ b/proto/GetHuntingOfferRewardReq.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "HuntingPair.proto";
+
+message GetHuntingOfferRewardReq {
+ //enum DECGDEFDNBG {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4319;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ HuntingPair huntingPair = 14;
+ uint32 cityId = 13;
+}
diff --git a/proto/GetHuntingOfferRewardRsp.proto b/proto/GetHuntingOfferRewardRsp.proto
new file mode 100644
index 00000000..c6e174b5
--- /dev/null
+++ b/proto/GetHuntingOfferRewardRsp.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "HuntingPair.proto";
+
+message GetHuntingOfferRewardRsp {
+ //enum EJOIAIPLPII {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4343;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ HuntingPair huntingPair = 5;
+ uint32 cityId = 6;
+ int32 retcode = 2;
+}
diff --git a/proto/GetMapAreaReq.proto b/proto/GetMapAreaReq.proto
new file mode 100644
index 00000000..211339ad
--- /dev/null
+++ b/proto/GetMapAreaReq.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GetMapAreaReq {
+ //enum CGOAMEKHADP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 3148;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+}
diff --git a/proto/GetMapAreaRsp.proto b/proto/GetMapAreaRsp.proto
new file mode 100644
index 00000000..4c9874a4
--- /dev/null
+++ b/proto/GetMapAreaRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "MapAreaInfo.proto";
+
+message GetMapAreaRsp {
+ //enum JOGNHEGALAH {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 3213;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated MapAreaInfo mapAreaInfoList = 3;
+ int32 retcode = 2;
+}
diff --git a/proto/GetMapMarkTipsReq.proto b/proto/GetMapMarkTipsReq.proto
new file mode 100644
index 00000000..e19447de
--- /dev/null
+++ b/proto/GetMapMarkTipsReq.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GetMapMarkTipsReq {
+ //enum DFNAONIPNCP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 3202;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+}
diff --git a/proto/GetMapMarkTipsRsp.proto b/proto/GetMapMarkTipsRsp.proto
new file mode 100644
index 00000000..d01460db
--- /dev/null
+++ b/proto/GetMapMarkTipsRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "MapMarkTipsInfo.proto";
+
+message GetMapMarkTipsRsp {
+ //enum GNFEPHCPNCC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 3089;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 12;
+ repeated MapMarkTipsInfo markTipsList = 14;
+}
diff --git a/proto/GetMechanicusInfoReq.proto b/proto/GetMechanicusInfoReq.proto
new file mode 100644
index 00000000..c6013683
--- /dev/null
+++ b/proto/GetMechanicusInfoReq.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GetMechanicusInfoReq {
+ //enum PAMBMEGFJEH {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 3905;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+}
diff --git a/proto/GetMechanicusInfoRsp.proto b/proto/GetMechanicusInfoRsp.proto
new file mode 100644
index 00000000..fc6722bb
--- /dev/null
+++ b/proto/GetMechanicusInfoRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "MechanicusInfo.proto";
+
+message GetMechanicusInfoRsp {
+ //enum CFKHICOHFPO {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 3955;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ MechanicusInfo mechanicusInfo = 1;
+ int32 retcode = 12;
+}
diff --git a/proto/GetNextResourceInfoReq.proto b/proto/GetNextResourceInfoReq.proto
new file mode 100644
index 00000000..c6c6aa4d
--- /dev/null
+++ b/proto/GetNextResourceInfoReq.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GetNextResourceInfoReq {
+ //enum PKMCFDENNIE {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 134;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+}
diff --git a/proto/GetNextResourceInfoRsp.proto b/proto/GetNextResourceInfoRsp.proto
new file mode 100644
index 00000000..d7d5d825
--- /dev/null
+++ b/proto/GetNextResourceInfoRsp.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ResVersionConfig.proto";
+
+message GetNextResourceInfoRsp {
+ //enum CFMLDJCOIGD {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 189;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ ResVersionConfig nextResVersionConfig = 5;
+ int32 retcode = 9;
+ string nextResourceUrl = 1;
+}
diff --git a/proto/GetPlayerBlacklistReq.proto b/proto/GetPlayerBlacklistReq.proto
new file mode 100644
index 00000000..70c4d403
--- /dev/null
+++ b/proto/GetPlayerBlacklistReq.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GetPlayerBlacklistReq {
+ //enum MOCJADLJDHL {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4052;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+}
diff --git a/proto/GetPlayerMpModeAvailabilityReq.proto b/proto/GetPlayerMpModeAvailabilityReq.proto
new file mode 100644
index 00000000..64835d20
--- /dev/null
+++ b/proto/GetPlayerMpModeAvailabilityReq.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GetPlayerMpModeAvailabilityReq {
+ //enum BNDFNNIFMNC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 1816;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+}
diff --git a/proto/GetPlayerMpModeAvailabilityRsp.proto b/proto/GetPlayerMpModeAvailabilityRsp.proto
new file mode 100644
index 00000000..19cc84cf
--- /dev/null
+++ b/proto/GetPlayerMpModeAvailabilityRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GetPlayerMpModeAvailabilityRsp {
+ //enum KBCKLLMBENM {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 1825;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 mpRet = 12;
+ int32 retcode = 3;
+ repeated uint32 paramList = 7;
+}
diff --git a/proto/GetPlayerTokenRsp.proto b/proto/GetPlayerTokenRsp.proto
index 897afd7b..2bce6e9e 100644
--- a/proto/GetPlayerTokenRsp.proto
+++ b/proto/GetPlayerTokenRsp.proto
@@ -1,6 +1,10 @@
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
+
+
+import "bytes.proto";
import "StopServer.proto";
message GetPlayerTokenRsp {
diff --git a/proto/GetPushTipsRewardReq.proto b/proto/GetPushTipsRewardReq.proto
new file mode 100644
index 00000000..2060f139
--- /dev/null
+++ b/proto/GetPushTipsRewardReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GetPushTipsRewardReq {
+ //enum APEBLJFAICF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2218;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ repeated uint32 pushTipsIdList = 7;
+}
diff --git a/proto/GetPushTipsRewardRsp.proto b/proto/GetPushTipsRewardRsp.proto
new file mode 100644
index 00000000..cdb94e9f
--- /dev/null
+++ b/proto/GetPushTipsRewardRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GetPushTipsRewardRsp {
+ //enum DHEGGHNEKCF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2275;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated uint32 pushTipsIdList = 8;
+ int32 retcode = 13;
+}
diff --git a/proto/GetRecentMpPlayerListReq.proto b/proto/GetRecentMpPlayerListReq.proto
new file mode 100644
index 00000000..bd3e01dd
--- /dev/null
+++ b/proto/GetRecentMpPlayerListReq.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GetRecentMpPlayerListReq {
+ //enum GINPDAMMMNL {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4051;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+}
diff --git a/proto/GetRecentMpPlayerListRsp.proto b/proto/GetRecentMpPlayerListRsp.proto
new file mode 100644
index 00000000..2e3ef1f9
--- /dev/null
+++ b/proto/GetRecentMpPlayerListRsp.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "FriendBrief.proto";
+
+message GetRecentMpPlayerListRsp {
+ //enum OLJMFHPBFMK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4042;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ int32 retcode = 14;
+ repeated FriendBrief recentMpPlayerBriefList = 6;
+}
diff --git a/proto/GetRecommendCustomDungeonReq.proto b/proto/GetRecommendCustomDungeonReq.proto
new file mode 100644
index 00000000..1d1b2b14
--- /dev/null
+++ b/proto/GetRecommendCustomDungeonReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GetRecommendCustomDungeonReq {
+ //enum MMKCPGCIEML {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 6210;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ bool isRefresh = 6;
+}
diff --git a/proto/GetRecommendCustomDungeonRsp.proto b/proto/GetRecommendCustomDungeonRsp.proto
new file mode 100644
index 00000000..526d0ced
--- /dev/null
+++ b/proto/GetRecommendCustomDungeonRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "OtherCustomDungeonBrief.proto";
+
+message GetRecommendCustomDungeonRsp {
+ //enum OHGNEBJNACG {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 6206;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated OtherCustomDungeonBrief customDungeonList = 10;
+ int32 retcode = 12;
+}
diff --git a/proto/GetReunionMissionInfoReq.proto b/proto/GetReunionMissionInfoReq.proto
new file mode 100644
index 00000000..0522cfda
--- /dev/null
+++ b/proto/GetReunionMissionInfoReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GetReunionMissionInfoReq {
+ //enum CDAEGIGJJLC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5066;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 missionId = 8;
+}
diff --git a/proto/GetReunionMissionInfoRsp.proto b/proto/GetReunionMissionInfoRsp.proto
new file mode 100644
index 00000000..dc4eb223
--- /dev/null
+++ b/proto/GetReunionMissionInfoRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ReunionMissionInfo.proto";
+
+message GetReunionMissionInfoRsp {
+ //enum ADIMHOGLJNH {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5075;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ ReunionMissionInfo missionInfo = 4;
+ int32 retcode = 15;
+}
diff --git a/proto/GetReunionPrivilegeInfoReq.proto b/proto/GetReunionPrivilegeInfoReq.proto
new file mode 100644
index 00000000..260d8afc
--- /dev/null
+++ b/proto/GetReunionPrivilegeInfoReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GetReunionPrivilegeInfoReq {
+ //enum PPPDFHOIHCO {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5057;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 privilegeId = 4;
+}
diff --git a/proto/GetReunionPrivilegeInfoRsp.proto b/proto/GetReunionPrivilegeInfoRsp.proto
new file mode 100644
index 00000000..641301e2
--- /dev/null
+++ b/proto/GetReunionPrivilegeInfoRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ReunionPrivilegeInfo.proto";
+
+message GetReunionPrivilegeInfoRsp {
+ //enum PFCEOPKKNAE {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5065;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 15;
+ ReunionPrivilegeInfo privilegeInfo = 14;
+}
diff --git a/proto/GetReunionSignInInfoReq.proto b/proto/GetReunionSignInInfoReq.proto
new file mode 100644
index 00000000..fc7f8bfc
--- /dev/null
+++ b/proto/GetReunionSignInInfoReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GetReunionSignInInfoReq {
+ //enum CACNAELPCOC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5069;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 signInConfigId = 8;
+}
diff --git a/proto/GetReunionSignInInfoRsp.proto b/proto/GetReunionSignInInfoRsp.proto
new file mode 100644
index 00000000..aa0a9d70
--- /dev/null
+++ b/proto/GetReunionSignInInfoRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ReunionSignInInfo.proto";
+
+message GetReunionSignInInfoRsp {
+ //enum NMIPECFCKPH {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5093;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 14;
+ ReunionSignInInfo signInInfo = 4;
+}
diff --git a/proto/GetRogueDairyRepairInfoReq.proto b/proto/GetRogueDairyRepairInfoReq.proto
new file mode 100644
index 00000000..42be84c8
--- /dev/null
+++ b/proto/GetRogueDairyRepairInfoReq.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GetRogueDairyRepairInfoReq {
+ //enum MKDPIDAAHGA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8988;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+}
diff --git a/proto/GetRogueDairyRepairInfoRsp.proto b/proto/GetRogueDairyRepairInfoRsp.proto
new file mode 100644
index 00000000..b12607c0
--- /dev/null
+++ b/proto/GetRogueDairyRepairInfoRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GetRogueDairyRepairInfoRsp {
+ //enum NGMDAEBGGMC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8881;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 9;
+}
diff --git a/proto/GetSceneNpcPositionReq.proto b/proto/GetSceneNpcPositionReq.proto
new file mode 100644
index 00000000..566bd6e5
--- /dev/null
+++ b/proto/GetSceneNpcPositionReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GetSceneNpcPositionReq {
+ //enum HKAKJPNGPHL {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 598;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 sceneId = 8;
+ repeated uint32 npcIdList = 1;
+}
diff --git a/proto/GetSceneNpcPositionRsp.proto b/proto/GetSceneNpcPositionRsp.proto
new file mode 100644
index 00000000..ad7f26ac
--- /dev/null
+++ b/proto/GetSceneNpcPositionRsp.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "NpcPositionInfo.proto";
+
+message GetSceneNpcPositionRsp {
+ //enum LDHILMOFPKI {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 520;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 sceneId = 13;
+ repeated NpcPositionInfo npcInfoList = 6;
+ int32 retcode = 3;
+}
diff --git a/proto/GetScenePerformanceReq.proto b/proto/GetScenePerformanceReq.proto
new file mode 100644
index 00000000..af2673dd
--- /dev/null
+++ b/proto/GetScenePerformanceReq.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GetScenePerformanceReq {
+ //enum MNJOFANKDHD {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 3494;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+}
diff --git a/proto/GetScenePerformanceRsp.proto b/proto/GetScenePerformanceRsp.proto
new file mode 100644
index 00000000..fdc717f5
--- /dev/null
+++ b/proto/GetScenePerformanceRsp.proto
@@ -0,0 +1,27 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "Vector.proto";
+
+message GetScenePerformanceRsp {
+ //enum HGHLLLEJGAM {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 3336;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 Unk3300_GLNFIFPNJIE = 7;
+ uint32 Unk3300_MIJMKLBGKML = 3;
+ int32 retcode = 1;
+ uint32 Unk3300_PDPJEMEKHKD = 10;
+ uint32 Unk3300_JMLJLNKLJNP = 8;
+ Vector pos = 15;
+ uint32 Unk3300_IHBPCPCJIBC = 11;
+ uint32 Unk3300_LIOFGAHKNIA = 13;
+ uint32 Unk3300_MMALJIFDKJK = 12;
+}
diff --git a/proto/GetSignInRewardReq.proto b/proto/GetSignInRewardReq.proto
new file mode 100644
index 00000000..1def74f7
--- /dev/null
+++ b/proto/GetSignInRewardReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GetSignInRewardReq {
+ //enum MLKPHBMDDPA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2520;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 scheduleId = 13;
+ uint32 rewardDay = 8;
+}
diff --git a/proto/GetSignInRewardRsp.proto b/proto/GetSignInRewardRsp.proto
new file mode 100644
index 00000000..004ede5a
--- /dev/null
+++ b/proto/GetSignInRewardRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "SignInInfo.proto";
+
+message GetSignInRewardRsp {
+ //enum CDBCCPFGGON {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2574;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 7;
+ SignInInfo signInInfo = 13;
+}
diff --git a/proto/GetStoreCustomDungeonReq.proto b/proto/GetStoreCustomDungeonReq.proto
new file mode 100644
index 00000000..4ce9a256
--- /dev/null
+++ b/proto/GetStoreCustomDungeonReq.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GetStoreCustomDungeonReq {
+ //enum KPBJDCOGNLA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 6248;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+}
diff --git a/proto/GetStoreCustomDungeonRsp.proto b/proto/GetStoreCustomDungeonRsp.proto
new file mode 100644
index 00000000..76114ebf
--- /dev/null
+++ b/proto/GetStoreCustomDungeonRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "OtherCustomDungeonBrief.proto";
+
+message GetStoreCustomDungeonRsp {
+ //enum JBMEBJFDOLE {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 6212;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated OtherCustomDungeonBrief customDungeonList = 1;
+ int32 retcode = 10;
+}
diff --git a/proto/GetUgcBriefInfoReq.proto b/proto/GetUgcBriefInfoReq.proto
new file mode 100644
index 00000000..2cd6f56b
--- /dev/null
+++ b/proto/GetUgcBriefInfoReq.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "UgcType.proto";
+
+message GetUgcBriefInfoReq {
+ //enum CIFODABEJMB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 6346;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ UgcType ugcType = 10;
+ uint64 ugcGuid = 11;
+}
diff --git a/proto/GetUgcBriefInfoRsp.proto b/proto/GetUgcBriefInfoRsp.proto
new file mode 100644
index 00000000..a243064d
--- /dev/null
+++ b/proto/GetUgcBriefInfoRsp.proto
@@ -0,0 +1,25 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "UgcType.proto";
+import "MusicBriefInfo.proto";
+
+message GetUgcBriefInfoRsp {
+ //enum FEOCBIBAOAK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 6341;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint64 ugcGuid = 15;
+ UgcType ugcType = 9;
+ int32 retcode = 1;
+ oneof brief {
+ MusicBriefInfo music_brief_info = 8;
+ }
+}
diff --git a/proto/GiveUpRoguelikeDungeonCardReq.proto b/proto/GiveUpRoguelikeDungeonCardReq.proto
new file mode 100644
index 00000000..70ee75e5
--- /dev/null
+++ b/proto/GiveUpRoguelikeDungeonCardReq.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GiveUpRoguelikeDungeonCardReq {
+ //enum ILIIDIBJGCL {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8131;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+}
diff --git a/proto/GiveUpRoguelikeDungeonCardRsp.proto b/proto/GiveUpRoguelikeDungeonCardRsp.proto
new file mode 100644
index 00000000..226e9299
--- /dev/null
+++ b/proto/GiveUpRoguelikeDungeonCardRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GiveUpRoguelikeDungeonCardRsp {
+ //enum HNFIBGOGJEH {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8024;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 9;
+}
diff --git a/proto/GivingRecord.proto b/proto/GivingRecord.proto
new file mode 100644
index 00000000..d816dc0f
--- /dev/null
+++ b/proto/GivingRecord.proto
@@ -0,0 +1,16 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GivingRecord {
+ bool isGadgetGiving = 6;
+ uint32 groupId = 14;
+ uint32 givingId = 4;
+ uint32 configId = 7;
+ uint32 lastGroupId = 8;
+ bool isFinished = 1;
+ map materialCountMap = 10;
+}
diff --git a/proto/GivingRecordChangeNotify.proto b/proto/GivingRecordChangeNotify.proto
new file mode 100644
index 00000000..f8cec41f
--- /dev/null
+++ b/proto/GivingRecordChangeNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GivingRecord.proto";
+
+message GivingRecordChangeNotify {
+ //enum IKNGLHNBOJL {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 167;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ GivingRecord givingRecord = 8;
+ bool isDeactive = 4;
+}
diff --git a/proto/GivingRecordNotify.proto b/proto/GivingRecordNotify.proto
new file mode 100644
index 00000000..fd5bce03
--- /dev/null
+++ b/proto/GivingRecordNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GivingRecord.proto";
+
+message GivingRecordNotify {
+ //enum OKLEJAHFDIN {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 195;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated GivingRecord givingRecordList = 4;
+}
diff --git a/proto/GlobalBuildingInfoNotify.proto b/proto/GlobalBuildingInfoNotify.proto
new file mode 100644
index 00000000..6695c307
--- /dev/null
+++ b/proto/GlobalBuildingInfoNotify.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "BuildingInfo.proto";
+
+message GlobalBuildingInfoNotify {
+ //enum NCHBAFAIALK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5389;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 maxNum = 4;
+ uint32 currentNum = 8;
+ repeated BuildingInfo buildingList = 3;
+}
diff --git a/proto/GmTalkNotify.proto b/proto/GmTalkNotify.proto
new file mode 100644
index 00000000..9f905be4
--- /dev/null
+++ b/proto/GmTalkNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GmTalkNotify {
+ //enum MNKOPGHEBCI {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 75;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ string msg = 2;
+}
diff --git a/proto/GmTalkReq.proto b/proto/GmTalkReq.proto
new file mode 100644
index 00000000..afb53ebd
--- /dev/null
+++ b/proto/GmTalkReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GmTalkReq {
+ //enum LEJCHNNIKFN {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 55;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ string msg = 7;
+}
diff --git a/proto/GmTalkRsp.proto b/proto/GmTalkRsp.proto
new file mode 100644
index 00000000..99baadae
--- /dev/null
+++ b/proto/GmTalkRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GmTalkRsp {
+ //enum LHEIGJGJHDC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 87;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ string retmsg = 3;
+ int32 retcode = 7;
+ string msg = 5;
+}
diff --git a/proto/GrantRewardNotify.proto b/proto/GrantRewardNotify.proto
new file mode 100644
index 00000000..aaae1b07
--- /dev/null
+++ b/proto/GrantRewardNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "Reward.proto";
+
+message GrantRewardNotify {
+ //enum BFENGPLCEJE {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 622;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ Reward reward = 10;
+}
diff --git a/proto/GrassInfo.proto b/proto/GrassInfo.proto
new file mode 100644
index 00000000..284e5d82
--- /dev/null
+++ b/proto/GrassInfo.proto
@@ -0,0 +1,13 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "Vector.proto";
+
+message GrassInfo {
+ uint32 id = 1;
+ Vector center = 2;
+ Vector size = 3;
+}
diff --git a/proto/GravenInnocenceEditCarveCombinationReq.proto b/proto/GravenInnocenceEditCarveCombinationReq.proto
new file mode 100644
index 00000000..c46b134f
--- /dev/null
+++ b/proto/GravenInnocenceEditCarveCombinationReq.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "CustomGadgetTreeInfo.proto";
+
+message GravenInnocenceEditCarveCombinationReq {
+ //enum OGPPNOHCCAM {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 23125;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ CustomGadgetTreeInfo combinationInfo = 15;
+ uint32 entityId = 5;
+}
diff --git a/proto/GravenInnocenceEditCarveCombinationRsp.proto b/proto/GravenInnocenceEditCarveCombinationRsp.proto
new file mode 100644
index 00000000..b1cf795a
--- /dev/null
+++ b/proto/GravenInnocenceEditCarveCombinationRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GravenInnocenceEditCarveCombinationRsp {
+ //enum NEOPKKDJALE {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 24700;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 1;
+}
diff --git a/proto/GravenInnocencePhotoFinishReq.proto b/proto/GravenInnocencePhotoFinishReq.proto
new file mode 100644
index 00000000..4ba43f2f
--- /dev/null
+++ b/proto/GravenInnocencePhotoFinishReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GravenInnocencePhotoFinishReq {
+ //enum NDBMIJAJMLB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 23521;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 param = 9;
+ uint32 objectId = 3;
+}
diff --git a/proto/GravenInnocencePhotoFinishRsp.proto b/proto/GravenInnocencePhotoFinishRsp.proto
new file mode 100644
index 00000000..df9d2bd6
--- /dev/null
+++ b/proto/GravenInnocencePhotoFinishRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GravenInnocencePhotoFinishRsp {
+ //enum DPEEEFFDLIH {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 22592;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 2;
+ uint32 objectId = 5;
+ uint32 param = 11;
+}
diff --git a/proto/GravenInnocencePhotoReminderNotify.proto b/proto/GravenInnocencePhotoReminderNotify.proto
new file mode 100644
index 00000000..38972703
--- /dev/null
+++ b/proto/GravenInnocencePhotoReminderNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GravenInnocencePhotoReminderNotify {
+ //enum PBOIDLBBNDM {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 20385;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 reminderId = 9;
+ uint32 groupBundleId = 11;
+}
diff --git a/proto/GravenInnocenceRaceRestartReq.proto b/proto/GravenInnocenceRaceRestartReq.proto
new file mode 100644
index 00000000..661e7e6a
--- /dev/null
+++ b/proto/GravenInnocenceRaceRestartReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GravenInnocenceRaceRestartReq {
+ //enum CPHGIADDHJP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 21280;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 galleryId = 9;
+}
diff --git a/proto/GravenInnocenceRaceRestartRsp.proto b/proto/GravenInnocenceRaceRestartRsp.proto
new file mode 100644
index 00000000..50138115
--- /dev/null
+++ b/proto/GravenInnocenceRaceRestartRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GravenInnocenceRaceRestartRsp {
+ //enum KALBMOGIAAD {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 24627;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 12;
+ uint32 galleryId = 8;
+}
diff --git a/proto/GravenInnocenceRaceSettleNotify.proto b/proto/GravenInnocenceRaceSettleNotify.proto
new file mode 100644
index 00000000..d5601888
--- /dev/null
+++ b/proto/GravenInnocenceRaceSettleNotify.proto
@@ -0,0 +1,28 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GalleryStopReason.proto";
+
+message GravenInnocenceRaceSettleNotify {
+ //enum GECMEJKBGJK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 20447;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 score = 6;
+ bool isNewRecord = 11;
+ bool isSuccess = 1;
+ uint32 Unk3300_OHAHHKNAJKL = 13;
+ GalleryStopReason reason = 9;
+ uint32 Unk3300_IPGJKKFDPJJ = 8;
+ uint32 galleryId = 14;
+ uint32 remainTime = 12;
+ uint32 Unk3300_BOIPHOPMHJM = 3;
+ uint32 levelId = 2;
+}
diff --git a/proto/GroupLinkAllNotify.proto b/proto/GroupLinkAllNotify.proto
new file mode 100644
index 00000000..083e07b7
--- /dev/null
+++ b/proto/GroupLinkAllNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GroupLinkBundle.proto";
+
+message GroupLinkAllNotify {
+ //enum BDILAGKCMKP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5788;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated GroupLinkBundle bundleList = 15;
+}
diff --git a/proto/GroupLinkBundle.proto b/proto/GroupLinkBundle.proto
new file mode 100644
index 00000000..43ffda25
--- /dev/null
+++ b/proto/GroupLinkBundle.proto
@@ -0,0 +1,16 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "Vector.proto";
+
+message GroupLinkBundle {
+ bool isActivated = 7;
+ Vector center = 6;
+ uint32 sceneId = 8;
+ uint32 radius = 13;
+ bool isShowMark = 12;
+ uint32 bundleId = 9;
+}
diff --git a/proto/GroupLinkChangeNotify.proto b/proto/GroupLinkChangeNotify.proto
new file mode 100644
index 00000000..ad0e1b80
--- /dev/null
+++ b/proto/GroupLinkChangeNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GroupLinkBundle.proto";
+
+message GroupLinkChangeNotify {
+ //enum MPNFEFPIIGN {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5795;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ GroupLinkBundle bundle = 2;
+}
diff --git a/proto/GroupLinkDeleteNotify.proto b/proto/GroupLinkDeleteNotify.proto
new file mode 100644
index 00000000..895d5c66
--- /dev/null
+++ b/proto/GroupLinkDeleteNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GroupLinkDeleteNotify {
+ //enum NGNAEJCFILC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5796;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 bundleId = 13;
+}
diff --git a/proto/GroupLinkMarkUpdateNotify.proto b/proto/GroupLinkMarkUpdateNotify.proto
new file mode 100644
index 00000000..e711541d
--- /dev/null
+++ b/proto/GroupLinkMarkUpdateNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GroupLinkBundle.proto";
+
+message GroupLinkMarkUpdateNotify {
+ //enum CCBOLMHNDGO {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5791;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ GroupLinkBundle bundle = 7;
+}
diff --git a/proto/GuestBeginEnterSceneNotify.proto b/proto/GuestBeginEnterSceneNotify.proto
new file mode 100644
index 00000000..08720ed5
--- /dev/null
+++ b/proto/GuestBeginEnterSceneNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GuestBeginEnterSceneNotify {
+ //enum PAECOAAHNAK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 3490;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 uid = 4;
+ uint32 sceneId = 9;
+}
diff --git a/proto/GuestPostEnterSceneNotify.proto b/proto/GuestPostEnterSceneNotify.proto
new file mode 100644
index 00000000..4e2b1d48
--- /dev/null
+++ b/proto/GuestPostEnterSceneNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message GuestPostEnterSceneNotify {
+ //enum APJNMBJGNHN {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 3292;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 sceneId = 12;
+ uint32 uid = 5;
+}
diff --git a/proto/HBMJGJEADEH.proto b/proto/HBMJGJEADEH.proto
new file mode 100644
index 00000000..945a738a
--- /dev/null
+++ b/proto/HBMJGJEADEH.proto
@@ -0,0 +1,15 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message HBMJGJEADEH {
+ float lfpempoopmd = 2;
+ float dfadhemafpn = 8;
+ bool ibbkobjieeg = 12;
+ float gookfcglmjd = 13;
+ uint32 bhgooledknh = 15;
+ uint32 ilodbmpgegj = 1;
+}
diff --git a/proto/HEHODLHCPEL.proto b/proto/HEHODLHCPEL.proto
new file mode 100644
index 00000000..ad62279b
--- /dev/null
+++ b/proto/HEHODLHCPEL.proto
@@ -0,0 +1,13 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "Vector.proto";
+
+message HEHODLHCPEL {
+ uint32 entityId = 10;
+ Vector glbmapjdhpc = 5;
+ Vector gnanpemiogh = 9;
+}
diff --git a/proto/HFDGDGLGEEE.proto b/proto/HFDGDGLGEEE.proto
new file mode 100644
index 00000000..e6fb9527
--- /dev/null
+++ b/proto/HFDGDGLGEEE.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GMJDGJIDDCI.proto";
+import "GJPHKJFFMOM.proto";
+import "LLIJLJFHGBD.proto";
+import "PLDKICHAHEB.proto";
+
+message HFDGDGLGEEE {
+ string createTime = 1;
+ repeated LLIJLJFHGBD pakoigkhjal = 2;
+ repeated string knmgmjklfob = 3;
+ repeated PLDKICHAHEB jkfdibhoggm = 4;
+ GMJDGJIDDCI ojmkoemmlpa = 5;
+ GJPHKJFFMOM idbdfgaalao = 6;
+}
diff --git a/proto/HGHPBLJEAJJ.proto b/proto/HGHPBLJEAJJ.proto
new file mode 100644
index 00000000..a4fe8efc
--- /dev/null
+++ b/proto/HGHPBLJEAJJ.proto
@@ -0,0 +1,13 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message HGHPBLJEAJJ {
+ string createTime = 1;
+ string title = 2;
+ string type = 3;
+ string jmggbhlelnm = 4;
+}
diff --git a/proto/HKBIPBOACKF.proto b/proto/HKBIPBOACKF.proto
new file mode 100644
index 00000000..9bb63e41
--- /dev/null
+++ b/proto/HKBIPBOACKF.proto
@@ -0,0 +1,10 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message HKBIPBOACKF {
+ repeated int32 paramList = 5;
+}
diff --git a/proto/HKKPOPLHMCL.proto b/proto/HKKPOPLHMCL.proto
new file mode 100644
index 00000000..38556d88
--- /dev/null
+++ b/proto/HKKPOPLHMCL.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "EquipParam.proto";
+
+message HKKPOPLHMCL {
+ repeated EquipParam itemList = 1;
+}
diff --git a/proto/HLDPDHKIFJN.proto b/proto/HLDPDHKIFJN.proto
new file mode 100644
index 00000000..9fb7ebc7
--- /dev/null
+++ b/proto/HLDPDHKIFJN.proto
@@ -0,0 +1,13 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message HLDPDHKIFJN {
+ uint32 kopcjfaeegb = 3;
+ int32 lgcfopjlbmb = 12;
+ uint32 mfpmgbedfid = 2;
+ uint32 aeinmdecjbh = 7;
+}
diff --git a/proto/HLNDKJKHGMG.proto b/proto/HLNDKJKHGMG.proto
new file mode 100644
index 00000000..95975845
--- /dev/null
+++ b/proto/HLNDKJKHGMG.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message HLNDKJKHGMG {
+ repeated uint32 lakkcmpceee = 4;
+ repeated uint32 cbdijkdcnie = 12;
+}
diff --git a/proto/HNCBKMEACLI.proto b/proto/HNCBKMEACLI.proto
new file mode 100644
index 00000000..52a005b2
--- /dev/null
+++ b/proto/HNCBKMEACLI.proto
@@ -0,0 +1,15 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "Vector.proto";
+
+message HNCBKMEACLI {
+ uint32 entityId = 2;
+ Vector curPos = 7;
+ uint32 normalizedTimeCompact = 15;
+ uint32 bafodnbpgic = 1;
+ int32 faceAngleCompact = 10;
+}
diff --git a/proto/HNNNJJPLLFN.proto b/proto/HNNNJJPLLFN.proto
new file mode 100644
index 00000000..373c6179
--- /dev/null
+++ b/proto/HNNNJJPLLFN.proto
@@ -0,0 +1,13 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "Vector.proto";
+
+message HNNNJJPLLFN {
+ uint32 roomId = 9;
+ Vector rot = 2;
+ Vector pos = 15;
+}
diff --git a/proto/HOPPJKEJENM.proto b/proto/HOPPJKEJENM.proto
new file mode 100644
index 00000000..45a4e0e7
--- /dev/null
+++ b/proto/HOPPJKEJENM.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message HOPPJKEJENM {
+ //enum KPBAMNMPGKI {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 23202;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 difficulty = 7;
+ uint32 stageId = 10;
+}
diff --git a/proto/HPAKAIEAKFI.proto b/proto/HPAKAIEAKFI.proto
new file mode 100644
index 00000000..f2821e6e
--- /dev/null
+++ b/proto/HPAKAIEAKFI.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "bytes.proto";
+
+message HPAKAIEAKFI {
+ string hmnbpjgckgn = 1;
+ bytes value = 2;
+}
diff --git a/proto/HPPMAMEDOAD.proto b/proto/HPPMAMEDOAD.proto
new file mode 100644
index 00000000..d795e738
--- /dev/null
+++ b/proto/HPPMAMEDOAD.proto
@@ -0,0 +1,24 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "DJLDJFDPBEI.proto";
+import "SyncCreateConnect.proto";
+import "SyncPing.proto";
+import "SyncFinishGame.proto";
+import "SyncSnapShot.proto";
+import "SyncAction.proto";
+
+message HPPMAMEDOAD {
+ int32 retcode = 13;
+ DJLDJFDPBEI badeipailca = 3;
+ oneof HHIPOLHJFFK {
+ SyncCreateConnect sync_create_connect = 14;
+ SyncPing sync_ping = 4;
+ SyncFinishGame sync_finish_game = 7;
+ SyncSnapShot sync_snap_shot = 10;
+ SyncAction sync_action = 12;
+ }
+}
diff --git a/proto/HandballInfo.proto b/proto/HandballInfo.proto
new file mode 100644
index 00000000..d7a4bc4e
--- /dev/null
+++ b/proto/HandballInfo.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "PlaceInfo.proto";
+
+message HandballInfo {
+ PlaceInfo ballPlaceInfo = 11;
+ bool isHaveBall = 7;
+}
diff --git a/proto/HideAndSeekActivityDetailInfo.proto b/proto/HideAndSeekActivityDetailInfo.proto
new file mode 100644
index 00000000..f5c5c1f9
--- /dev/null
+++ b/proto/HideAndSeekActivityDetailInfo.proto
@@ -0,0 +1,15 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "HideAndSeekMapInfo.proto";
+
+message HideAndSeekActivityDetailInfo {
+ repeated uint32 kpfclbhekho = 5;
+ repeated uint32 pfklphkcnll = 3;
+ repeated uint32 ddcdocelpof = 13;
+ repeated HideAndSeekMapInfo ebljifhneof = 4;
+ repeated uint32 noljhjhlkom = 8;
+}
diff --git a/proto/HideAndSeekChooseMapReq.proto b/proto/HideAndSeekChooseMapReq.proto
new file mode 100644
index 00000000..3fc97473
--- /dev/null
+++ b/proto/HideAndSeekChooseMapReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message HideAndSeekChooseMapReq {
+ //enum ENCLIIBMIJA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8458;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ repeated uint32 mapList = 6;
+}
diff --git a/proto/HideAndSeekChooseMapRsp.proto b/proto/HideAndSeekChooseMapRsp.proto
new file mode 100644
index 00000000..9c7768b5
--- /dev/null
+++ b/proto/HideAndSeekChooseMapRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message HideAndSeekChooseMapRsp {
+ //enum BLGFBBFCKJP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8321;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 3;
+ repeated uint32 mapList = 5;
+}
diff --git a/proto/HideAndSeekMapInfo.proto b/proto/HideAndSeekMapInfo.proto
new file mode 100644
index 00000000..94c69481
--- /dev/null
+++ b/proto/HideAndSeekMapInfo.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message HideAndSeekMapInfo {
+ uint32 id = 7;
+ repeated uint32 kccalkjgkkd = 5;
+}
diff --git a/proto/HideAndSeekPlayerBattleInfo.proto b/proto/HideAndSeekPlayerBattleInfo.proto
new file mode 100644
index 00000000..26c1b92a
--- /dev/null
+++ b/proto/HideAndSeekPlayerBattleInfo.proto
@@ -0,0 +1,13 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message HideAndSeekPlayerBattleInfo {
+ uint32 costumeId = 5;
+ bool isReady = 13;
+ repeated uint32 skillList = 3;
+ uint32 avatarId = 11;
+}
diff --git a/proto/HideAndSeekPlayerCapturedNotify.proto b/proto/HideAndSeekPlayerCapturedNotify.proto
new file mode 100644
index 00000000..ce2243c7
--- /dev/null
+++ b/proto/HideAndSeekPlayerCapturedNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message HideAndSeekPlayerCapturedNotify {
+ //enum AKLNMHDJEAB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5551;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 ghostSkillId = 13;
+}
diff --git a/proto/HideAndSeekPlayerReadyNotify.proto b/proto/HideAndSeekPlayerReadyNotify.proto
new file mode 100644
index 00000000..4c0ce5be
--- /dev/null
+++ b/proto/HideAndSeekPlayerReadyNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message HideAndSeekPlayerReadyNotify {
+ //enum GJGGLLCPLHA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5363;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated uint32 uidList = 12;
+}
diff --git a/proto/HideAndSeekPlayerSetAvatarNotify.proto b/proto/HideAndSeekPlayerSetAvatarNotify.proto
new file mode 100644
index 00000000..39b55a58
--- /dev/null
+++ b/proto/HideAndSeekPlayerSetAvatarNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message HideAndSeekPlayerSetAvatarNotify {
+ //enum PLMPIFDHFDA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5323;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 costumeId = 9;
+ uint32 uid = 2;
+ uint32 avatarId = 10;
+}
diff --git a/proto/HideAndSeekSelectAvatarReq.proto b/proto/HideAndSeekSelectAvatarReq.proto
new file mode 100644
index 00000000..227cf30e
--- /dev/null
+++ b/proto/HideAndSeekSelectAvatarReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message HideAndSeekSelectAvatarReq {
+ //enum PMKMHNKLMFE {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5381;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 avatarId = 4;
+}
diff --git a/proto/HideAndSeekSelectAvatarRsp.proto b/proto/HideAndSeekSelectAvatarRsp.proto
new file mode 100644
index 00000000..9c366191
--- /dev/null
+++ b/proto/HideAndSeekSelectAvatarRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message HideAndSeekSelectAvatarRsp {
+ //enum KJBOGLIBPCI {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5364;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 avatarId = 10;
+ int32 retcode = 14;
+}
diff --git a/proto/HideAndSeekSelectSkillReq.proto b/proto/HideAndSeekSelectSkillReq.proto
new file mode 100644
index 00000000..4a2653cd
--- /dev/null
+++ b/proto/HideAndSeekSelectSkillReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message HideAndSeekSelectSkillReq {
+ //enum IGIMBFKHFEK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8142;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ repeated uint32 skillList = 6;
+}
diff --git a/proto/HideAndSeekSelectSkillRsp.proto b/proto/HideAndSeekSelectSkillRsp.proto
new file mode 100644
index 00000000..e8fa0a1f
--- /dev/null
+++ b/proto/HideAndSeekSelectSkillRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message HideAndSeekSelectSkillRsp {
+ //enum BIMHAEPAGEA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8442;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 14;
+ repeated uint32 skillList = 10;
+}
diff --git a/proto/HideAndSeekSetReadyReq.proto b/proto/HideAndSeekSetReadyReq.proto
new file mode 100644
index 00000000..927acfc4
--- /dev/null
+++ b/proto/HideAndSeekSetReadyReq.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message HideAndSeekSetReadyReq {
+ //enum HLHFADNBGOG {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5383;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+}
diff --git a/proto/HideAndSeekSetReadyRsp.proto b/proto/HideAndSeekSetReadyRsp.proto
new file mode 100644
index 00000000..9e2dccef
--- /dev/null
+++ b/proto/HideAndSeekSetReadyRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message HideAndSeekSetReadyRsp {
+ //enum IBMIKFGCLGO {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5379;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 13;
+}
diff --git a/proto/HideAndSeekSettleInfo.proto b/proto/HideAndSeekSettleInfo.proto
new file mode 100644
index 00000000..3cc3ef33
--- /dev/null
+++ b/proto/HideAndSeekSettleInfo.proto
@@ -0,0 +1,17 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ProfilePicture.proto";
+import "ExhibitionDisplayInfo.proto";
+
+message HideAndSeekSettleInfo {
+ uint32 uid = 1;
+ repeated ExhibitionDisplayInfo cardList = 2;
+ uint32 headImage = 3;
+ string onlineId = 10;
+ string nickname = 9;
+ ProfilePicture profilePicture = 5;
+}
diff --git a/proto/HideAndSeekSettleNotify.proto b/proto/HideAndSeekSettleNotify.proto
new file mode 100644
index 00000000..7b90a65f
--- /dev/null
+++ b/proto/HideAndSeekSettleNotify.proto
@@ -0,0 +1,28 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "SettleReason.proto";
+import "HideAndSeekSettleInfo.proto";
+import "ExhibitionDisplayInfo.proto";
+
+message HideAndSeekSettleNotify {
+ //enum PBBMCANAFIN {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5327;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated uint32 winnerList = 9;
+ uint32 costTime = 10;
+ uint32 stageType = 11;
+ SettleReason reason = 1;
+ repeated HideAndSeekSettleInfo settleInfoList = 4;
+ uint32 playIndex = 13;
+ repeated ExhibitionDisplayInfo scoreList = 7;
+ bool isRecordScore = 5;
+}
diff --git a/proto/HideAndSeekStageInfo.proto b/proto/HideAndSeekStageInfo.proto
new file mode 100644
index 00000000..24f4a8ca
--- /dev/null
+++ b/proto/HideAndSeekStageInfo.proto
@@ -0,0 +1,17 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "HideAndSeekStageType.proto";
+import "HideAndSeekPlayerBattleInfo.proto";
+
+message HideAndSeekStageInfo {
+ uint32 mgkdaffbijb = 11;
+ map bgbdjeipaco = 12;
+ bool isRecordScore = 15;
+ repeated uint32 ambepllnpla = 9;
+ uint32 mapId = 8;
+ HideAndSeekStageType stageType = 1;
+}
diff --git a/proto/HideAndSeekStageType.proto b/proto/HideAndSeekStageType.proto
new file mode 100644
index 00000000..3a6a1b8a
--- /dev/null
+++ b/proto/HideAndSeekStageType.proto
@@ -0,0 +1,14 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+enum HideAndSeekStageType {
+ HIDE_AND_SEEK_STAGE_TYPE_PREPARE = 0;
+ HIDE_AND_SEEK_STAGE_TYPE_PICK = 1;
+ HIDE_AND_SEEK_STAGE_TYPE_GAME = 2;
+ HIDE_AND_SEEK_STAGE_TYPE_HIDE = 3;
+ HIDE_AND_SEEK_STAGE_TYPE_SEEK = 4;
+ HIDE_AND_SEEK_STAGE_TYPE_SETTLE = 5;
+}
diff --git a/proto/HitClientTrivialNotify.proto b/proto/HitClientTrivialNotify.proto
new file mode 100644
index 00000000..47beae91
--- /dev/null
+++ b/proto/HitClientTrivialNotify.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "Vector.proto";
+
+message HitClientTrivialNotify {
+ //enum FFDCNNDJDEK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 272;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ Vector position = 9;
+ uint32 ownerEntityId = 4;
+}
diff --git a/proto/HitTreeInfo.proto b/proto/HitTreeInfo.proto
new file mode 100644
index 00000000..d73038da
--- /dev/null
+++ b/proto/HitTreeInfo.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "Vector.proto";
+
+message HitTreeInfo {
+ uint32 treeType = 1;
+ Vector treePos = 2;
+}
diff --git a/proto/HomeAvatarAllFinishRewardNotify.proto b/proto/HomeAvatarAllFinishRewardNotify.proto
new file mode 100644
index 00000000..148fe864
--- /dev/null
+++ b/proto/HomeAvatarAllFinishRewardNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message HomeAvatarAllFinishRewardNotify {
+ //enum HMGIPIOKMJK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4503;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated uint32 eventIdList = 1;
+}
diff --git a/proto/HomeAvatarCostumeChangeNotify.proto b/proto/HomeAvatarCostumeChangeNotify.proto
new file mode 100644
index 00000000..0c91eefd
--- /dev/null
+++ b/proto/HomeAvatarCostumeChangeNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message HomeAvatarCostumeChangeNotify {
+ //enum PLEJKFGMEPH {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4523;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 avatarId = 7;
+ uint32 costumeId = 13;
+}
diff --git a/proto/HomeAvatarRewardEventGetReq.proto b/proto/HomeAvatarRewardEventGetReq.proto
new file mode 100644
index 00000000..f9bcdd8e
--- /dev/null
+++ b/proto/HomeAvatarRewardEventGetReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message HomeAvatarRewardEventGetReq {
+ //enum DLLEGKFEHPI {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4692;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 eventId = 7;
+ uint32 avatarId = 12;
+}
diff --git a/proto/HomeAvatarRewardEventGetRsp.proto b/proto/HomeAvatarRewardEventGetRsp.proto
new file mode 100644
index 00000000..7c83bb16
--- /dev/null
+++ b/proto/HomeAvatarRewardEventGetRsp.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ItemParam.proto";
+
+message HomeAvatarRewardEventGetRsp {
+ //enum IKKAMEFGHNH {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4534;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 15;
+ repeated ItemParam itemList = 2;
+ uint32 eventId = 6;
+}
diff --git a/proto/HomeAvatarRewardEventInfo.proto b/proto/HomeAvatarRewardEventInfo.proto
new file mode 100644
index 00000000..38b618ab
--- /dev/null
+++ b/proto/HomeAvatarRewardEventInfo.proto
@@ -0,0 +1,14 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message HomeAvatarRewardEventInfo {
+ uint32 avatarId = 6;
+ uint32 randomPosition = 4;
+ uint32 eventId = 14;
+ uint32 guid = 5;
+ uint32 suiteId = 2;
+}
diff --git a/proto/HomeAvatarRewardEventNotify.proto b/proto/HomeAvatarRewardEventNotify.proto
new file mode 100644
index 00000000..7e0c961e
--- /dev/null
+++ b/proto/HomeAvatarRewardEventNotify.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "HomeAvatarRewardEventInfo.proto";
+
+message HomeAvatarRewardEventNotify {
+ //enum KHLNMBHJAMJ {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4461;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ bool isEventTrigger = 1;
+ HomeAvatarRewardEventInfo rewardEvent = 12;
+ repeated HomeAvatarRewardEventInfo pendingList = 15;
+}
diff --git a/proto/HomeAvatarSummonAllEventNotify.proto b/proto/HomeAvatarSummonAllEventNotify.proto
new file mode 100644
index 00000000..bf1c7e6b
--- /dev/null
+++ b/proto/HomeAvatarSummonAllEventNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "HomeAvatarSummonEventInfo.proto";
+
+message HomeAvatarSummonAllEventNotify {
+ //enum NNFLPNJAKDN {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4579;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated HomeAvatarSummonEventInfo summonEventList = 15;
+}
diff --git a/proto/HomeAvatarSummonEventInfo.proto b/proto/HomeAvatarSummonEventInfo.proto
new file mode 100644
index 00000000..a889c242
--- /dev/null
+++ b/proto/HomeAvatarSummonEventInfo.proto
@@ -0,0 +1,15 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message HomeAvatarSummonEventInfo {
+ uint32 suitId = 4;
+ uint32 randomPosition = 2;
+ uint32 eventId = 3;
+ uint32 avatarId = 12;
+ uint32 eventOverTime = 14;
+ uint32 guid = 1;
+}
diff --git a/proto/HomeAvatarSummonEventReq.proto b/proto/HomeAvatarSummonEventReq.proto
new file mode 100644
index 00000000..8374a1c9
--- /dev/null
+++ b/proto/HomeAvatarSummonEventReq.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message HomeAvatarSummonEventReq {
+ //enum AOKDDGOGGBN {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4880;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 guid = 7;
+ uint32 avatarId = 11;
+ uint32 suitId = 2;
+}
diff --git a/proto/HomeAvatarSummonEventRsp.proto b/proto/HomeAvatarSummonEventRsp.proto
new file mode 100644
index 00000000..7e33ccca
--- /dev/null
+++ b/proto/HomeAvatarSummonEventRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message HomeAvatarSummonEventRsp {
+ //enum MIGNGLCMDJB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4696;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 eventId = 9;
+ int32 retcode = 13;
+}
diff --git a/proto/HomeAvatarSummonFinishReq.proto b/proto/HomeAvatarSummonFinishReq.proto
new file mode 100644
index 00000000..9de52d61
--- /dev/null
+++ b/proto/HomeAvatarSummonFinishReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message HomeAvatarSummonFinishReq {
+ //enum AOHKJNDHOPG {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4628;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 eventId = 6;
+}
diff --git a/proto/HomeAvatarSummonFinishRsp.proto b/proto/HomeAvatarSummonFinishRsp.proto
new file mode 100644
index 00000000..57c7315e
--- /dev/null
+++ b/proto/HomeAvatarSummonFinishRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message HomeAvatarSummonFinishRsp {
+ //enum PABPAMCDBJF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4657;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 eventId = 15;
+ int32 retcode = 10;
+}
diff --git a/proto/HomeAvatarTalkFinishInfo.proto b/proto/HomeAvatarTalkFinishInfo.proto
new file mode 100644
index 00000000..04ae5807
--- /dev/null
+++ b/proto/HomeAvatarTalkFinishInfo.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message HomeAvatarTalkFinishInfo {
+ uint32 avatarId = 11;
+ repeated uint32 finishTalkIdList = 7;
+}
diff --git a/proto/HomeAvatarTalkFinishInfoNotify.proto b/proto/HomeAvatarTalkFinishInfoNotify.proto
new file mode 100644
index 00000000..f6a2b5b7
--- /dev/null
+++ b/proto/HomeAvatarTalkFinishInfoNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "HomeAvatarTalkFinishInfo.proto";
+
+message HomeAvatarTalkFinishInfoNotify {
+ //enum NAEIHPFLPKH {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4718;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated HomeAvatarTalkFinishInfo avatarTalkInfoList = 11;
+}
diff --git a/proto/HomeAvatarTalkReq.proto b/proto/HomeAvatarTalkReq.proto
new file mode 100644
index 00000000..ace53a37
--- /dev/null
+++ b/proto/HomeAvatarTalkReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message HomeAvatarTalkReq {
+ //enum KFPCFFDEEGA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4729;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 talkId = 4;
+ uint32 avatarId = 6;
+}
diff --git a/proto/HomeAvatarTalkRsp.proto b/proto/HomeAvatarTalkRsp.proto
new file mode 100644
index 00000000..091a3e93
--- /dev/null
+++ b/proto/HomeAvatarTalkRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "HomeAvatarTalkFinishInfo.proto";
+
+message HomeAvatarTalkRsp {
+ //enum NOOIJICFGCE {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4704;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ HomeAvatarTalkFinishInfo avatarTalkInfo = 5;
+ int32 retcode = 10;
+}
diff --git a/proto/HomeAvtarAllFinishRewardNotify.proto b/proto/HomeAvtarAllFinishRewardNotify.proto
new file mode 100644
index 00000000..f19a15c7
--- /dev/null
+++ b/proto/HomeAvtarAllFinishRewardNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message HomeAvtarAllFinishRewardNotify {
+ //enum CIFIMONAGCA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4650;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated uint32 eventIdList = 7;
+}
diff --git a/proto/HomeBalloonGalleryRecord.proto b/proto/HomeBalloonGalleryRecord.proto
new file mode 100644
index 00000000..3ebe1ddf
--- /dev/null
+++ b/proto/HomeBalloonGalleryRecord.proto
@@ -0,0 +1,14 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "HomeGroupPlayerInfo.proto";
+
+message HomeBalloonGalleryRecord {
+ uint32 hitCount = 2;
+ uint32 score = 12;
+ HomeGroupPlayerInfo playerInfo = 11;
+ uint32 timestamp = 13;
+}
diff --git a/proto/HomeBalloonGalleryScoreNotify.proto b/proto/HomeBalloonGalleryScoreNotify.proto
new file mode 100644
index 00000000..1701f89f
--- /dev/null
+++ b/proto/HomeBalloonGalleryScoreNotify.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message HomeBalloonGalleryScoreNotify {
+ //enum HNFHBHGFFGA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4839;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 triggerEntityId = 13;
+ uint32 curScore = 7;
+ uint32 addScore = 10;
+ uint32 galleryId = 14;
+}
diff --git a/proto/HomeBalloonGallerySettleNotify.proto b/proto/HomeBalloonGallerySettleNotify.proto
new file mode 100644
index 00000000..13cd148a
--- /dev/null
+++ b/proto/HomeBalloonGallerySettleNotify.proto
@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "BalloonGallerySettleInfo.proto";
+
+message HomeBalloonGallerySettleNotify {
+ //enum ODKLGNMNBJK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4719;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 galleryId = 10;
+ BalloonGallerySettleInfo settleInfo = 8;
+ uint32 rank = 3;
+ bool isNewRecord = 13;
+}
diff --git a/proto/HomeBalloonInfo.proto b/proto/HomeBalloonInfo.proto
new file mode 100644
index 00000000..72dd99b3
--- /dev/null
+++ b/proto/HomeBalloonInfo.proto
@@ -0,0 +1,10 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message HomeBalloonInfo {
+ uint32 score = 10;
+}
diff --git a/proto/HomeBalloonRecord.proto b/proto/HomeBalloonRecord.proto
new file mode 100644
index 00000000..2f7c3793
--- /dev/null
+++ b/proto/HomeBalloonRecord.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "HomeBalloonGalleryRecord.proto";
+
+message HomeBalloonRecord {
+ repeated HomeBalloonGalleryRecord recordList = 7;
+}
diff --git a/proto/HomeBlockDotPattern.proto b/proto/HomeBlockDotPattern.proto
index acb61afb..35015ce4 100644
--- a/proto/HomeBlockDotPattern.proto
+++ b/proto/HomeBlockDotPattern.proto
@@ -1,6 +1,11 @@
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
+
+
+import "bytes.proto";
+
message HomeBlockDotPattern {
uint32 width = 3;
bytes data = 14;
diff --git a/proto/HomeBlockNotify.proto b/proto/HomeBlockNotify.proto
new file mode 100644
index 00000000..f7f1d2c3
--- /dev/null
+++ b/proto/HomeBlockNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message HomeBlockNotify {
+ //enum NDFNPBFEMDB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4641;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 endTime = 13;
+}
diff --git a/proto/HomeBlueprintInfoNotify.proto b/proto/HomeBlueprintInfoNotify.proto
new file mode 100644
index 00000000..d34cd6af
--- /dev/null
+++ b/proto/HomeBlueprintInfoNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message HomeBlueprintInfoNotify {
+ //enum KAKDGDJKIHJ {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4870;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ bool isAllowFriendCopy = 11;
+}
diff --git a/proto/HomeBlueprintSearchInfo.proto b/proto/HomeBlueprintSearchInfo.proto
new file mode 100644
index 00000000..fda30a41
--- /dev/null
+++ b/proto/HomeBlueprintSearchInfo.proto
@@ -0,0 +1,13 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message HomeBlueprintSearchInfo {
+ uint32 sceneId = 9;
+ string shareCode = 15;
+ uint32 blockId = 2;
+ uint32 moduleId = 13;
+}
diff --git a/proto/HomeBlueprintSlotInfo.proto b/proto/HomeBlueprintSlotInfo.proto
new file mode 100644
index 00000000..7966ec4e
--- /dev/null
+++ b/proto/HomeBlueprintSlotInfo.proto
@@ -0,0 +1,16 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message HomeBlueprintSlotInfo {
+ bool isAllowCopy = 9;
+ uint32 createTime = 8;
+ uint32 sceneId = 3;
+ uint32 blockId = 2;
+ uint32 slotId = 12;
+ uint32 moduleId = 1;
+ string shareCode = 4;
+}
diff --git a/proto/HomeChangeModuleRsp.proto b/proto/HomeChangeModuleRsp.proto
index 38621d81..86f81002 100644
--- a/proto/HomeChangeModuleRsp.proto
+++ b/proto/HomeChangeModuleRsp.proto
@@ -1,7 +1,19 @@
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
-message HomeChangeModuleRsp {
+
+
+
+message HomeChangeModuleRsp {
+ //enum KODHEEBFFHG {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4833;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
uint32 targetModuleId = 11;
int32 retcode = 13;
}
diff --git a/proto/HomeClearGroupRecordReq.proto b/proto/HomeClearGroupRecordReq.proto
new file mode 100644
index 00000000..07a850bf
--- /dev/null
+++ b/proto/HomeClearGroupRecordReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message HomeClearGroupRecordReq {
+ //enum HAMJJGIPBAG {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4643;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 groupId = 1;
+}
diff --git a/proto/HomeClearGroupRecordRsp.proto b/proto/HomeClearGroupRecordRsp.proto
new file mode 100644
index 00000000..d5f45a13
--- /dev/null
+++ b/proto/HomeClearGroupRecordRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message HomeClearGroupRecordRsp {
+ //enum BKKFNEHCCMP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4536;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 6;
+ uint32 groupId = 7;
+}
diff --git a/proto/HomeCreateBlueprintReq.proto b/proto/HomeCreateBlueprintReq.proto
new file mode 100644
index 00000000..362a3648
--- /dev/null
+++ b/proto/HomeCreateBlueprintReq.proto
@@ -0,0 +1,23 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "HomeSceneArrangementInfo.proto";
+
+message HomeCreateBlueprintReq {
+ //enum LHOAMCJJEGB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4645;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ HomeSceneArrangementInfo sceneArrangementInfo = 15;
+ uint32 slotId = 13;
+ string serverShareCode = 8;
+ uint32 genShareCodeCount = 1;
+}
diff --git a/proto/HomeCreateBlueprintRsp.proto b/proto/HomeCreateBlueprintRsp.proto
new file mode 100644
index 00000000..9488ca00
--- /dev/null
+++ b/proto/HomeCreateBlueprintRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "HomeBlueprintSlotInfo.proto";
+
+message HomeCreateBlueprintRsp {
+ //enum FICBDNICILH {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4765;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ HomeBlueprintSlotInfo slotInfo = 4;
+ int32 retcode = 13;
+}
diff --git a/proto/HomeDeleteBlueprintReq.proto b/proto/HomeDeleteBlueprintReq.proto
new file mode 100644
index 00000000..5455f232
--- /dev/null
+++ b/proto/HomeDeleteBlueprintReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message HomeDeleteBlueprintReq {
+ //enum NOFFLELGDJF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4829;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 slotId = 13;
+}
diff --git a/proto/HomeDeleteBlueprintRsp.proto b/proto/HomeDeleteBlueprintRsp.proto
new file mode 100644
index 00000000..916f9b07
--- /dev/null
+++ b/proto/HomeDeleteBlueprintRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message HomeDeleteBlueprintRsp {
+ //enum BAMMGLKEGBD {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4564;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 9;
+ uint32 slotId = 10;
+}
diff --git a/proto/HomeExchangeWoodReq.proto b/proto/HomeExchangeWoodReq.proto
new file mode 100644
index 00000000..56616c8a
--- /dev/null
+++ b/proto/HomeExchangeWoodReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message HomeExchangeWoodReq {
+ //enum NIIPNNDOJGL {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4672;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ map materialCountMap = 1;
+ uint32 woodId = 8;
+}
diff --git a/proto/HomeExchangeWoodRsp.proto b/proto/HomeExchangeWoodRsp.proto
new file mode 100644
index 00000000..4befacd7
--- /dev/null
+++ b/proto/HomeExchangeWoodRsp.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message HomeExchangeWoodRsp {
+ //enum LEHHCIKIGDM {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4812;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 woodId = 11;
+ int32 retcode = 13;
+ uint32 exchangedCount = 2;
+ uint32 woodCount = 5;
+}
diff --git a/proto/HomeFishFarmingInfo.proto b/proto/HomeFishFarmingInfo.proto
new file mode 100644
index 00000000..7fbc13d0
--- /dev/null
+++ b/proto/HomeFishFarmingInfo.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message HomeFishFarmingInfo {
+ uint32 fishpondGuid = 4;
+ repeated uint32 fishIdList = 6;
+}
diff --git a/proto/HomeFishFarmingInfoNotify.proto b/proto/HomeFishFarmingInfoNotify.proto
new file mode 100644
index 00000000..1dbc2d06
--- /dev/null
+++ b/proto/HomeFishFarmingInfoNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "HomeFishFarmingInfo.proto";
+
+message HomeFishFarmingInfoNotify {
+ //enum ICEJHMAFMHN {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4605;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated HomeFishFarmingInfo fishFarmingInfoList = 7;
+}
diff --git a/proto/HomeFurnitureArrangementMuipData.proto b/proto/HomeFurnitureArrangementMuipData.proto
deleted file mode 100644
index ca301547..00000000
--- a/proto/HomeFurnitureArrangementMuipData.proto
+++ /dev/null
@@ -1,28 +0,0 @@
-// Proto has been converted from Sorapointa to Grasscutter format
-// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
-// Copyright (C) 2022 Sorapointa Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
-syntax = "proto3";
-
-import "Vector.proto";
-
-option java_package = "emu.grasscutter.net.proto";
-
-message HomeFurnitureArrangementMuipData {
- uint32 furniture_id = 1;
- Vector spawn_pos = 2;
- Vector spawn_rot = 3;
-}
diff --git a/proto/HomeGalleryInPlayingNotify.proto b/proto/HomeGalleryInPlayingNotify.proto
new file mode 100644
index 00000000..5334f62e
--- /dev/null
+++ b/proto/HomeGalleryInPlayingNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message HomeGalleryInPlayingNotify {
+ //enum IFBIKOKLDGN {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5600;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 galleryId = 12;
+}
diff --git a/proto/HomeGetBlueprintSlotInfoReq.proto b/proto/HomeGetBlueprintSlotInfoReq.proto
new file mode 100644
index 00000000..8b6a71a4
--- /dev/null
+++ b/proto/HomeGetBlueprintSlotInfoReq.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message HomeGetBlueprintSlotInfoReq {
+ //enum EPNGJEIIKED {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4698;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+}
diff --git a/proto/HomeGetBlueprintSlotInfoRsp.proto b/proto/HomeGetBlueprintSlotInfoRsp.proto
new file mode 100644
index 00000000..ef766783
--- /dev/null
+++ b/proto/HomeGetBlueprintSlotInfoRsp.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "HomeBlueprintSlotInfo.proto";
+
+message HomeGetBlueprintSlotInfoRsp {
+ //enum PBAPEFNPDAF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4541;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 10;
+ repeated uint32 deleteSlotIdList = 6;
+ repeated HomeBlueprintSlotInfo slotInfoList = 11;
+}
diff --git a/proto/HomeGetFishFarmingInfoReq.proto b/proto/HomeGetFishFarmingInfoReq.proto
new file mode 100644
index 00000000..9069af94
--- /dev/null
+++ b/proto/HomeGetFishFarmingInfoReq.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message HomeGetFishFarmingInfoReq {
+ //enum ADPCLOIJMAD {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4892;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+}
diff --git a/proto/HomeGetFishFarmingInfoRsp.proto b/proto/HomeGetFishFarmingInfoRsp.proto
new file mode 100644
index 00000000..1ab9b601
--- /dev/null
+++ b/proto/HomeGetFishFarmingInfoRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "HomeFishFarmingInfo.proto";
+
+message HomeGetFishFarmingInfoRsp {
+ //enum ENLIOLLPBDI {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4899;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 13;
+ repeated HomeFishFarmingInfo fishFarmingInfoList = 1;
+}
diff --git a/proto/HomeGetGroupRecordReq.proto b/proto/HomeGetGroupRecordReq.proto
new file mode 100644
index 00000000..53bba1b3
--- /dev/null
+++ b/proto/HomeGetGroupRecordReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message HomeGetGroupRecordReq {
+ //enum INEOMFDEBPF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4662;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 groupId = 13;
+}
diff --git a/proto/HomeGetGroupRecordRsp.proto b/proto/HomeGetGroupRecordRsp.proto
new file mode 100644
index 00000000..90f743bb
--- /dev/null
+++ b/proto/HomeGetGroupRecordRsp.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "HomeGroupRecord.proto";
+
+message HomeGetGroupRecordRsp {
+ //enum JOCODCCGGBL {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4691;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 recordType = 12;
+ int32 retcode = 7;
+ HomeGroupRecord groupRecord = 13;
+}
diff --git a/proto/HomeGetOnlineStatusReq.proto b/proto/HomeGetOnlineStatusReq.proto
new file mode 100644
index 00000000..f289c92d
--- /dev/null
+++ b/proto/HomeGetOnlineStatusReq.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message HomeGetOnlineStatusReq {
+ //enum LDIIENKMDPG {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4479;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+}
diff --git a/proto/HomeGetOnlineStatusRsp.proto b/proto/HomeGetOnlineStatusRsp.proto
new file mode 100644
index 00000000..6605b676
--- /dev/null
+++ b/proto/HomeGetOnlineStatusRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "OnlinePlayerInfo.proto";
+
+message HomeGetOnlineStatusRsp {
+ //enum KGAPJLCHFEP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4886;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 5;
+ repeated OnlinePlayerInfo playerInfoList = 9;
+}
diff --git a/proto/HomeGroupRecord.proto b/proto/HomeGroupRecord.proto
new file mode 100644
index 00000000..858268ca
--- /dev/null
+++ b/proto/HomeGroupRecord.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "RacingGalleryInfo.proto";
+import "BalloonGalleryInfo.proto";
+import "StakePlayInfo.proto";
+import "SeekFurnitureGalleryInfo.proto";
+
+message HomeGroupRecord {
+ uint32 groupId = 8;
+ oneof detail {
+ RacingGalleryInfo racing_gallery_info = 1457;
+ BalloonGalleryInfo balloon_gallery_info = 1480;
+ StakePlayInfo stake_play_info = 1758;
+ SeekFurnitureGalleryInfo seek_furniture_gallery_info = 1801;
+ }
+}
diff --git a/proto/HomeKickPlayerReq.proto b/proto/HomeKickPlayerReq.proto
new file mode 100644
index 00000000..58a9b30c
--- /dev/null
+++ b/proto/HomeKickPlayerReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message HomeKickPlayerReq {
+ //enum KIELMEMBJAP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4511;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ bool isKickAll = 7;
+ uint32 targetUid = 15;
+}
diff --git a/proto/HomeKickPlayerRsp.proto b/proto/HomeKickPlayerRsp.proto
new file mode 100644
index 00000000..9795c2c6
--- /dev/null
+++ b/proto/HomeKickPlayerRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message HomeKickPlayerRsp {
+ //enum BIDJABGFPDJ {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4883;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ bool isKickAll = 8;
+ uint32 targetUid = 5;
+ int32 retcode = 2;
+}
diff --git a/proto/HomeMarkPointNPCData.proto b/proto/HomeMarkPointNPCData.proto
new file mode 100644
index 00000000..a21e98c9
--- /dev/null
+++ b/proto/HomeMarkPointNPCData.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message HomeMarkPointNPCData {
+ uint32 avatarId = 1;
+ uint32 costumeId = 2;
+}
diff --git a/proto/HomeMarkPointSuiteData.proto b/proto/HomeMarkPointSuiteData.proto
new file mode 100644
index 00000000..9d385a27
--- /dev/null
+++ b/proto/HomeMarkPointSuiteData.proto
@@ -0,0 +1,10 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message HomeMarkPointSuiteData {
+ uint32 suiteId = 1;
+}
diff --git a/proto/HomeModuleSeenReq.proto b/proto/HomeModuleSeenReq.proto
index b5bd1a74..133fdf9f 100644
--- a/proto/HomeModuleSeenReq.proto
+++ b/proto/HomeModuleSeenReq.proto
@@ -1,6 +1,19 @@
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
+
+
+
message HomeModuleSeenReq {
+ //enum OKDEFJHLABG {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4817;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
repeated uint32 seenModuleIdList = 4;
}
diff --git a/proto/HomeModuleSeenRsp.proto b/proto/HomeModuleSeenRsp.proto
index a9e40742..082cc31b 100644
--- a/proto/HomeModuleSeenRsp.proto
+++ b/proto/HomeModuleSeenRsp.proto
@@ -1,7 +1,19 @@
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
+
+
+
message HomeModuleSeenRsp {
+ //enum DBDAOAGDKOJ {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4516;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
int32 retcode = 9;
repeated uint32 seenModuleIdList = 12;
}
diff --git a/proto/HomeModuleUnlockNotify.proto b/proto/HomeModuleUnlockNotify.proto
index bb222bd5..ded00b11 100644
--- a/proto/HomeModuleUnlockNotify.proto
+++ b/proto/HomeModuleUnlockNotify.proto
@@ -1,6 +1,18 @@
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
+
+
+
message HomeModuleUnlockNotify {
+ //enum NLKMOKOLLKG {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4528;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
uint32 moduleId = 14;
}
diff --git a/proto/HomePictureFrameInfo.proto b/proto/HomePictureFrameInfo.proto
new file mode 100644
index 00000000..c18c27c1
--- /dev/null
+++ b/proto/HomePictureFrameInfo.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message HomePictureFrameInfo {
+ uint32 pictureId = 1;
+ uint32 guid = 8;
+}
diff --git a/proto/HomePictureFrameInfoNotify.proto b/proto/HomePictureFrameInfoNotify.proto
new file mode 100644
index 00000000..0387ab66
--- /dev/null
+++ b/proto/HomePictureFrameInfoNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "HomePictureFrameInfo.proto";
+
+message HomePictureFrameInfoNotify {
+ //enum PANLKEDPGDD {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4677;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated HomePictureFrameInfo pictureFrameInfoList = 8;
+}
diff --git a/proto/HomePlantFieldData.proto b/proto/HomePlantFieldData.proto
new file mode 100644
index 00000000..6853be6f
--- /dev/null
+++ b/proto/HomePlantFieldData.proto
@@ -0,0 +1,16 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "Vector.proto";
+import "HomePlantSubFieldData.proto";
+
+message HomePlantFieldData {
+ uint32 sceneId = 1;
+ uint32 fieldGuid = 3;
+ repeated HomePlantSubFieldData subFieldList = 2;
+ uint32 furnitureId = 4;
+ Vector spawnPos = 9;
+}
diff --git a/proto/HomePlantFieldNotify.proto b/proto/HomePlantFieldNotify.proto
new file mode 100644
index 00000000..ae35c179
--- /dev/null
+++ b/proto/HomePlantFieldNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "HomePlantFieldData.proto";
+
+message HomePlantFieldNotify {
+ //enum GPLODLLFKFL {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4731;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ HomePlantFieldData field = 4;
+}
diff --git a/proto/HomePlantFieldStatus.proto b/proto/HomePlantFieldStatus.proto
new file mode 100644
index 00000000..ef53947b
--- /dev/null
+++ b/proto/HomePlantFieldStatus.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+enum HomePlantFieldStatus {
+ HOME_PLANT_FIELD_STATUS_STATUE_NONE = 0;
+ HOME_PLANT_FIELD_STATUS_STATUE_SEED = 1;
+ HOME_PLANT_FIELD_STATUS_STATUE_SPROUT = 2;
+ HOME_PLANT_FIELD_STATUS_STATUE_GATHER = 3;
+}
diff --git a/proto/HomePlantInfoNotify.proto b/proto/HomePlantInfoNotify.proto
new file mode 100644
index 00000000..059fee8b
--- /dev/null
+++ b/proto/HomePlantInfoNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "HomePlantFieldData.proto";
+
+message HomePlantInfoNotify {
+ //enum PKDEJFIFJJJ {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4547;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated HomePlantFieldData fieldList = 8;
+}
diff --git a/proto/HomePlantInfoReq.proto b/proto/HomePlantInfoReq.proto
new file mode 100644
index 00000000..73612978
--- /dev/null
+++ b/proto/HomePlantInfoReq.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message HomePlantInfoReq {
+ //enum ECOGENJCIAP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4640;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+}
diff --git a/proto/HomePlantInfoRsp.proto b/proto/HomePlantInfoRsp.proto
new file mode 100644
index 00000000..16d22a2e
--- /dev/null
+++ b/proto/HomePlantInfoRsp.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "HomePlantFieldData.proto";
+
+message HomePlantInfoRsp {
+ //enum PPMPGKHAGBN {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4512;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ repeated HomePlantFieldData fieldList = 8;
+ int32 retcode = 10;
+}
diff --git a/proto/HomePlantSeedReq.proto b/proto/HomePlantSeedReq.proto
new file mode 100644
index 00000000..560af3be
--- /dev/null
+++ b/proto/HomePlantSeedReq.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message HomePlantSeedReq {
+ //enum KJLDECHGMIG {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4669;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 index = 5;
+ uint32 fieldGuid = 13;
+ repeated uint32 seedIdList = 10;
+}
diff --git a/proto/HomePlantSeedRsp.proto b/proto/HomePlantSeedRsp.proto
new file mode 100644
index 00000000..6f620c60
--- /dev/null
+++ b/proto/HomePlantSeedRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message HomePlantSeedRsp {
+ //enum BOBBEEGPDFL {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4779;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 9;
+}
diff --git a/proto/HomePlantSubFieldData.proto b/proto/HomePlantSubFieldData.proto
new file mode 100644
index 00000000..0e8152ab
--- /dev/null
+++ b/proto/HomePlantSubFieldData.proto
@@ -0,0 +1,15 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "HomePlantFieldStatus.proto";
+
+message HomePlantSubFieldData {
+ uint32 endTime = 15;
+ repeated uint32 entityIdList = 4;
+ uint32 homeGatherId = 10;
+ HomePlantFieldStatus fieldStatus = 8;
+ uint32 seedId = 6;
+}
diff --git a/proto/HomePlantWeedReq.proto b/proto/HomePlantWeedReq.proto
new file mode 100644
index 00000000..3eaac829
--- /dev/null
+++ b/proto/HomePlantWeedReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message HomePlantWeedReq {
+ //enum PBIOBLNGELM {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4603;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 index = 1;
+ uint32 fieldGuid = 7;
+}
diff --git a/proto/HomePlantWeedRsp.proto b/proto/HomePlantWeedRsp.proto
new file mode 100644
index 00000000..c84f68c5
--- /dev/null
+++ b/proto/HomePlantWeedRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message HomePlantWeedRsp {
+ //enum LIKBFOKLGGB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4697;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 5;
+}
diff --git a/proto/HomePreviewBlueprintReq.proto b/proto/HomePreviewBlueprintReq.proto
new file mode 100644
index 00000000..0c4804b0
--- /dev/null
+++ b/proto/HomePreviewBlueprintReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message HomePreviewBlueprintReq {
+ //enum EFKLPCDLCDO {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4609;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ string shareCode = 6;
+}
diff --git a/proto/HomePreviewBlueprintRsp.proto b/proto/HomePreviewBlueprintRsp.proto
new file mode 100644
index 00000000..4ae0e214
--- /dev/null
+++ b/proto/HomePreviewBlueprintRsp.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "HomeSceneArrangementInfo.proto";
+
+message HomePreviewBlueprintRsp {
+ //enum GACMGFBMJLD {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4625;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ string shareCode = 3;
+ int32 retcode = 4;
+ HomeSceneArrangementInfo sceneArrangementInfo = 15;
+}
diff --git a/proto/HomePriorCheckNotify.proto b/proto/HomePriorCheckNotify.proto
new file mode 100644
index 00000000..bf43bea8
--- /dev/null
+++ b/proto/HomePriorCheckNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message HomePriorCheckNotify {
+ //enum IDFLIHGFGKK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4694;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 endTime = 7;
+}
diff --git a/proto/HomeRacingGalleryRecord.proto b/proto/HomeRacingGalleryRecord.proto
new file mode 100644
index 00000000..d81fbcac
--- /dev/null
+++ b/proto/HomeRacingGalleryRecord.proto
@@ -0,0 +1,13 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "HomeGroupPlayerInfo.proto";
+
+message HomeRacingGalleryRecord {
+ uint32 useTime = 3;
+ uint32 timestamp = 8;
+ HomeGroupPlayerInfo playerInfo = 4;
+}
diff --git a/proto/HomeRacingGallerySettleNotify.proto b/proto/HomeRacingGallerySettleNotify.proto
new file mode 100644
index 00000000..81e7cbd6
--- /dev/null
+++ b/proto/HomeRacingGallerySettleNotify.proto
@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "RacingGallerySettleInfo.proto";
+
+message HomeRacingGallerySettleNotify {
+ //enum MKKIDPBMLKB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4671;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ RacingGallerySettleInfo settleInfo = 10;
+ uint32 galleryId = 4;
+ uint32 rank = 1;
+ bool isNewRecord = 5;
+}
diff --git a/proto/HomeRacingRecord.proto b/proto/HomeRacingRecord.proto
new file mode 100644
index 00000000..00a97597
--- /dev/null
+++ b/proto/HomeRacingRecord.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "HomeRacingGalleryRecord.proto";
+
+message HomeRacingRecord {
+ repeated HomeRacingGalleryRecord recordList = 2;
+}
diff --git a/proto/HomeResource.proto b/proto/HomeResource.proto
new file mode 100644
index 00000000..15d2235f
--- /dev/null
+++ b/proto/HomeResource.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message HomeResource {
+ uint32 storeLimit = 15;
+ uint32 storeValue = 10;
+ uint32 nextRefreshTime = 1;
+}
diff --git a/proto/HomeResourceNotify.proto b/proto/HomeResourceNotify.proto
new file mode 100644
index 00000000..10ca826a
--- /dev/null
+++ b/proto/HomeResourceNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "HomeResource.proto";
+
+message HomeResourceNotify {
+ //enum HKEFOBECFHH {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4639;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ HomeResource fetterExp = 9;
+ HomeResource homeCoin = 1;
+}
diff --git a/proto/HomeResourceTakeFetterExpReq.proto b/proto/HomeResourceTakeFetterExpReq.proto
new file mode 100644
index 00000000..e67a320f
--- /dev/null
+++ b/proto/HomeResourceTakeFetterExpReq.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message HomeResourceTakeFetterExpReq {
+ //enum HAAKPPLLECB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4525;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+}
diff --git a/proto/HomeResourceTakeFetterExpRsp.proto b/proto/HomeResourceTakeFetterExpRsp.proto
new file mode 100644
index 00000000..a67ed534
--- /dev/null
+++ b/proto/HomeResourceTakeFetterExpRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "HomeResource.proto";
+
+message HomeResourceTakeFetterExpRsp {
+ //enum GGMAOEEILCK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4837;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ HomeResource fetterExp = 12;
+ int32 retcode = 3;
+}
diff --git a/proto/HomeResourceTakeHomeCoinReq.proto b/proto/HomeResourceTakeHomeCoinReq.proto
new file mode 100644
index 00000000..d567c2b2
--- /dev/null
+++ b/proto/HomeResourceTakeHomeCoinReq.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message HomeResourceTakeHomeCoinReq {
+ //enum ALJGALOMLPM {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4460;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+}
diff --git a/proto/HomeResourceTakeHomeCoinRsp.proto b/proto/HomeResourceTakeHomeCoinRsp.proto
new file mode 100644
index 00000000..96605c9b
--- /dev/null
+++ b/proto/HomeResourceTakeHomeCoinRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "HomeResource.proto";
+
+message HomeResourceTakeHomeCoinRsp {
+ //enum DFPMKJHEGPN {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4573;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ HomeResource homeCoin = 15;
+ int32 retcode = 14;
+}
diff --git a/proto/HomeSaveArrangementNoChangeReq.proto b/proto/HomeSaveArrangementNoChangeReq.proto
new file mode 100644
index 00000000..e2d49f39
--- /dev/null
+++ b/proto/HomeSaveArrangementNoChangeReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message HomeSaveArrangementNoChangeReq {
+ //enum PFOELMJCIFN {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4562;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 sceneId = 14;
+}
diff --git a/proto/HomeSaveArrangementNoChangeRsp.proto b/proto/HomeSaveArrangementNoChangeRsp.proto
new file mode 100644
index 00000000..dd96b2a5
--- /dev/null
+++ b/proto/HomeSaveArrangementNoChangeRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message HomeSaveArrangementNoChangeRsp {
+ //enum JOPFOMPDJAL {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4762;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 6;
+ uint32 sceneId = 15;
+}
diff --git a/proto/HomeScenePointFishFarmingInfo.proto b/proto/HomeScenePointFishFarmingInfo.proto
new file mode 100644
index 00000000..b7930d4f
--- /dev/null
+++ b/proto/HomeScenePointFishFarmingInfo.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message HomeScenePointFishFarmingInfo {
+ repeated uint32 fishIdList = 11;
+ uint32 sceneId = 6;
+ uint32 localEntityId = 5;
+}
diff --git a/proto/HomeScenePointFishFarmingInfoNotify.proto b/proto/HomeScenePointFishFarmingInfoNotify.proto
new file mode 100644
index 00000000..b1cfc468
--- /dev/null
+++ b/proto/HomeScenePointFishFarmingInfoNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "HomeScenePointFishFarmingInfo.proto";
+
+message HomeScenePointFishFarmingInfoNotify {
+ //enum JNJIJCHNAMH {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4895;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated HomeScenePointFishFarmingInfo fishFarmingInfoList = 9;
+}
diff --git a/proto/HomeSearchBlueprintReq.proto b/proto/HomeSearchBlueprintReq.proto
new file mode 100644
index 00000000..54ddf294
--- /dev/null
+++ b/proto/HomeSearchBlueprintReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message HomeSearchBlueprintReq {
+ //enum OLPKDIPAOHO {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4713;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ string shareCode = 4;
+}
diff --git a/proto/HomeSearchBlueprintRsp.proto b/proto/HomeSearchBlueprintRsp.proto
new file mode 100644
index 00000000..cbd3b3c9
--- /dev/null
+++ b/proto/HomeSearchBlueprintRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "HomeBlueprintSearchInfo.proto";
+
+message HomeSearchBlueprintRsp {
+ //enum IFDAAOOKFDC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4611;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ HomeBlueprintSearchInfo searchInfo = 9;
+ int32 retcode = 3;
+}
diff --git a/proto/HomeSetBlueprintFriendOptionReq.proto b/proto/HomeSetBlueprintFriendOptionReq.proto
new file mode 100644
index 00000000..c6e4dac9
--- /dev/null
+++ b/proto/HomeSetBlueprintFriendOptionReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message HomeSetBlueprintFriendOptionReq {
+ //enum OBHPDCNHJCO {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4590;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ bool isAllowFriendCopy = 10;
+}
diff --git a/proto/HomeSetBlueprintFriendOptionRsp.proto b/proto/HomeSetBlueprintFriendOptionRsp.proto
new file mode 100644
index 00000000..51aeaf30
--- /dev/null
+++ b/proto/HomeSetBlueprintFriendOptionRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message HomeSetBlueprintFriendOptionRsp {
+ //enum NJMIPNFDCKE {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4818;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 6;
+ bool isAllowFriendCopy = 9;
+}
diff --git a/proto/HomeSetBlueprintSlotOptionReq.proto b/proto/HomeSetBlueprintSlotOptionReq.proto
new file mode 100644
index 00000000..a0744d25
--- /dev/null
+++ b/proto/HomeSetBlueprintSlotOptionReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message HomeSetBlueprintSlotOptionReq {
+ //enum KKILPHIKCJB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4632;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 slotId = 11;
+ bool isAllowCopy = 10;
+}
diff --git a/proto/HomeSetBlueprintSlotOptionRsp.proto b/proto/HomeSetBlueprintSlotOptionRsp.proto
new file mode 100644
index 00000000..a02eb37b
--- /dev/null
+++ b/proto/HomeSetBlueprintSlotOptionRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message HomeSetBlueprintSlotOptionRsp {
+ //enum HAKCGBFOHIP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4749;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 15;
+ uint32 slotId = 2;
+ bool isAllowCopy = 1;
+}
diff --git a/proto/HomeStakePlayRecord.proto b/proto/HomeStakePlayRecord.proto
new file mode 100644
index 00000000..ea600b71
--- /dev/null
+++ b/proto/HomeStakePlayRecord.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "HomeGroupPlayerInfo.proto";
+
+message HomeStakePlayRecord {
+ uint32 timestamp = 10;
+ repeated HomeGroupPlayerInfo engagedPlayerInfoList = 5;
+}
diff --git a/proto/HomeStakeRecord.proto b/proto/HomeStakeRecord.proto
new file mode 100644
index 00000000..ebed3604
--- /dev/null
+++ b/proto/HomeStakeRecord.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "HomeStakePlayRecord.proto";
+
+message HomeStakeRecord {
+ repeated HomeStakePlayRecord recordList = 14;
+}
diff --git a/proto/HomeTransferReq.proto b/proto/HomeTransferReq.proto
new file mode 100644
index 00000000..7c55044f
--- /dev/null
+++ b/proto/HomeTransferReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message HomeTransferReq {
+ //enum MINNJECPLLH {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4618;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 guid = 2;
+ bool isTransferToSafePoint = 11;
+}
diff --git a/proto/HomeTransferRsp.proto b/proto/HomeTransferRsp.proto
new file mode 100644
index 00000000..ee4679dd
--- /dev/null
+++ b/proto/HomeTransferRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message HomeTransferRsp {
+ //enum IGCFOPELKJF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4524;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ int32 retcode = 10;
+}
diff --git a/proto/HomeUpdateFishFarmingInfoReq.proto b/proto/HomeUpdateFishFarmingInfoReq.proto
new file mode 100644
index 00000000..d1d95c3a
--- /dev/null
+++ b/proto/HomeUpdateFishFarmingInfoReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "HomeFishFarmingInfo.proto";
+
+message HomeUpdateFishFarmingInfoReq {
+ //enum CDAFPDOLHLA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4847;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ HomeFishFarmingInfo fishFarmingInfo = 3;
+}
diff --git a/proto/HomeUpdateFishFarmingInfoRsp.proto b/proto/HomeUpdateFishFarmingInfoRsp.proto
new file mode 100644
index 00000000..65769938
--- /dev/null
+++ b/proto/HomeUpdateFishFarmingInfoRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message HomeUpdateFishFarmingInfoRsp {
+ //enum FJMHBHPOBKL {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4535;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 5;
+}
diff --git a/proto/HomeUpdatePictureFrameInfoReq.proto b/proto/HomeUpdatePictureFrameInfoReq.proto
new file mode 100644
index 00000000..4ef8c591
--- /dev/null
+++ b/proto/HomeUpdatePictureFrameInfoReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "HomePictureFrameInfo.proto";
+
+message HomeUpdatePictureFrameInfoReq {
+ //enum NJGGHGCIMOF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4858;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ HomePictureFrameInfo pictureFrameInfo = 9;
+}
diff --git a/proto/HomeUpdatePictureFrameInfoRsp.proto b/proto/HomeUpdatePictureFrameInfoRsp.proto
new file mode 100644
index 00000000..6ad95bf0
--- /dev/null
+++ b/proto/HomeUpdatePictureFrameInfoRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "HomePictureFrameInfo.proto";
+
+message HomeUpdatePictureFrameInfoRsp {
+ //enum NLLDEEHKPHM {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4540;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 11;
+ HomePictureFrameInfo pictureFrameInfo = 4;
+}
diff --git a/proto/HomeUpdateScenePointFishFarmingInfoReq.proto b/proto/HomeUpdateScenePointFishFarmingInfoReq.proto
new file mode 100644
index 00000000..2ce3ffdb
--- /dev/null
+++ b/proto/HomeUpdateScenePointFishFarmingInfoReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "HomeScenePointFishFarmingInfo.proto";
+
+message HomeUpdateScenePointFishFarmingInfoReq {
+ //enum GPAELILCNFJ {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4587;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ HomeScenePointFishFarmingInfo fishFarmingInfo = 10;
+}
diff --git a/proto/HomeUpdateScenePointFishFarmingInfoRsp.proto b/proto/HomeUpdateScenePointFishFarmingInfoRsp.proto
new file mode 100644
index 00000000..5986cc08
--- /dev/null
+++ b/proto/HomeUpdateScenePointFishFarmingInfoRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message HomeUpdateScenePointFishFarmingInfoRsp {
+ //enum NEMKOEBCCHI {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4548;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 15;
+}
diff --git a/proto/HomeVerifyFurnitureData.proto b/proto/HomeVerifyFurnitureData.proto
deleted file mode 100644
index 468674f4..00000000
--- a/proto/HomeVerifyFurnitureData.proto
+++ /dev/null
@@ -1,26 +0,0 @@
-// Proto has been converted from Sorapointa to Grasscutter format
-// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
-// Copyright (C) 2022 Sorapointa Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
-syntax = "proto3";
-
-option java_package = "emu.grasscutter.net.proto";
-
-message HomeVerifyFurnitureData {
- repeated uint32 type = 12;
- uint32 num = 7;
- uint32 id = 13;
-}
diff --git a/proto/HuntingFailNotify.proto b/proto/HuntingFailNotify.proto
new file mode 100644
index 00000000..2a922666
--- /dev/null
+++ b/proto/HuntingFailNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "HuntingPair.proto";
+
+message HuntingFailNotify {
+ //enum NMGPIPMFOLP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4302;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ HuntingPair huntingPair = 9;
+}
diff --git a/proto/HuntingGiveUpReq.proto b/proto/HuntingGiveUpReq.proto
new file mode 100644
index 00000000..69907360
--- /dev/null
+++ b/proto/HuntingGiveUpReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "HuntingPair.proto";
+
+message HuntingGiveUpReq {
+ //enum AIEHOPHFBGP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4337;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ HuntingPair huntingPair = 13;
+}
diff --git a/proto/HuntingGiveUpRsp.proto b/proto/HuntingGiveUpRsp.proto
new file mode 100644
index 00000000..af308d52
--- /dev/null
+++ b/proto/HuntingGiveUpRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "HuntingPair.proto";
+
+message HuntingGiveUpRsp {
+ //enum BABNEGNCIOJ {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4314;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ HuntingPair huntingPair = 4;
+ int32 retcode = 14;
+}
diff --git a/proto/HuntingOfferData.proto b/proto/HuntingOfferData.proto
new file mode 100644
index 00000000..dec6157f
--- /dev/null
+++ b/proto/HuntingOfferData.proto
@@ -0,0 +1,14 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "HuntingOfferState.proto";
+import "HuntingPair.proto";
+
+message HuntingOfferData {
+ HuntingOfferState state = 11;
+ uint32 cityId = 8;
+ HuntingPair huntingPair = 13;
+}
diff --git a/proto/HuntingOfferState.proto b/proto/HuntingOfferState.proto
new file mode 100644
index 00000000..071e32d7
--- /dev/null
+++ b/proto/HuntingOfferState.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+enum HuntingOfferState {
+ HUNTING_OFFER_STATE_NONE = 0;
+ HUNTING_OFFER_STATE_STARTED = 1;
+ HUNTING_OFFER_STATE_UNSTARTED = 2;
+ HUNTING_OFFER_STATE_SUCC = 3;
+}
diff --git a/proto/HuntingOngoingNotify.proto b/proto/HuntingOngoingNotify.proto
new file mode 100644
index 00000000..aa7b246e
--- /dev/null
+++ b/proto/HuntingOngoingNotify.proto
@@ -0,0 +1,25 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "HuntingPair.proto";
+import "Vector.proto";
+
+message HuntingOngoingNotify {
+ //enum OAFPEGGJNAI {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4340;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 failTime = 9;
+ uint32 finishClueCount = 8;
+ bool isStarted = 5;
+ HuntingPair huntingPair = 10;
+ Vector nextPosition = 14;
+ bool isFinal = 11;
+}
diff --git a/proto/HuntingPair.proto b/proto/HuntingPair.proto
new file mode 100644
index 00000000..9f336365
--- /dev/null
+++ b/proto/HuntingPair.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message HuntingPair {
+ uint32 refreshId = 5;
+ uint32 monsterConfigId = 12;
+}
diff --git a/proto/HuntingRevealClueNotify.proto b/proto/HuntingRevealClueNotify.proto
new file mode 100644
index 00000000..706cca39
--- /dev/null
+++ b/proto/HuntingRevealClueNotify.proto
@@ -0,0 +1,23 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "Vector.proto";
+import "HuntingPair.proto";
+
+message HuntingRevealClueNotify {
+ //enum ONMDIFHEJFA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4335;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 finishedGroupId = 13;
+ uint32 finishClueCount = 11;
+ Vector cluePosition = 5;
+ HuntingPair huntingPair = 4;
+}
diff --git a/proto/HuntingRevealFinalNotify.proto b/proto/HuntingRevealFinalNotify.proto
new file mode 100644
index 00000000..c4679ce9
--- /dev/null
+++ b/proto/HuntingRevealFinalNotify.proto
@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "HuntingPair.proto";
+import "Vector.proto";
+
+message HuntingRevealFinalNotify {
+ //enum GGHHIEHOBPO {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4316;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ HuntingPair huntingPair = 11;
+ uint32 finishedGroupId = 2;
+ Vector finalPosition = 5;
+}
diff --git a/proto/HuntingStartNotify.proto b/proto/HuntingStartNotify.proto
new file mode 100644
index 00000000..e7231f5a
--- /dev/null
+++ b/proto/HuntingStartNotify.proto
@@ -0,0 +1,23 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "HuntingPair.proto";
+import "Vector.proto";
+
+message HuntingStartNotify {
+ //enum KPIPGJKJKII {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4331;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 failTime = 4;
+ HuntingPair huntingPair = 12;
+ bool isFinal = 7;
+ Vector cluePosition = 14;
+}
diff --git a/proto/HuntingSuccessNotify.proto b/proto/HuntingSuccessNotify.proto
new file mode 100644
index 00000000..9dfca097
--- /dev/null
+++ b/proto/HuntingSuccessNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "HuntingPair.proto";
+
+message HuntingSuccessNotify {
+ //enum NMPNHCNBHPM {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4325;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ HuntingPair huntingPair = 11;
+}
diff --git a/proto/IAENJEILLBG.proto b/proto/IAENJEILLBG.proto
new file mode 100644
index 00000000..6a8f29cc
--- /dev/null
+++ b/proto/IAENJEILLBG.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message IAENJEILLBG {
+ uint32 controllerId = 7;
+ repeated uint32 cardIdList = 9;
+}
diff --git a/proto/IAPAGBPEBKP.proto b/proto/IAPAGBPEBKP.proto
new file mode 100644
index 00000000..dca801d2
--- /dev/null
+++ b/proto/IAPAGBPEBKP.proto
@@ -0,0 +1,17 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message IAPAGBPEBKP {
+ message JEKPAEKLGIF {
+ repeated int32 gcnpfdenhco = 1;
+ string hjangcedhmi = 2;
+ int32 jmlbblffjjl = 3;
+ int32 ojbimgkainp = 4;
+ }
+
+ repeated JEKPAEKLGIF boanjkipdma = 1;
+}
diff --git a/proto/IBBGEJCNPEI.proto b/proto/IBBGEJCNPEI.proto
new file mode 100644
index 00000000..315f08d6
--- /dev/null
+++ b/proto/IBBGEJCNPEI.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message IBBGEJCNPEI {
+ string flopankfnol = 1;
+ string gameBiz = 2;
+ string mnlpmamhoem = 3;
+}
diff --git a/proto/IBCNIPCMNKM.proto b/proto/IBCNIPCMNKM.proto
new file mode 100644
index 00000000..8af88eb1
--- /dev/null
+++ b/proto/IBCNIPCMNKM.proto
@@ -0,0 +1,10 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message IBCNIPCMNKM {
+ double value = 1;
+}
diff --git a/proto/ICCDLLMNFAN.proto b/proto/ICCDLLMNFAN.proto
new file mode 100644
index 00000000..6531953e
--- /dev/null
+++ b/proto/ICCDLLMNFAN.proto
@@ -0,0 +1,9 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ICCDLLMNFAN {
+}
diff --git a/proto/IDGMFMNDIBC.proto b/proto/IDGMFMNDIBC.proto
new file mode 100644
index 00000000..7a8c098f
--- /dev/null
+++ b/proto/IDGMFMNDIBC.proto
@@ -0,0 +1,14 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message IDGMFMNDIBC {
+ bool isArriveFinish = 1;
+ uint32 coinLimit = 2;
+ uint32 timeLimit = 3;
+ bool isForbidSkill = 4;
+ uint32 lifeNum = 5;
+}
diff --git a/proto/IDOELHBANCP.proto b/proto/IDOELHBANCP.proto
new file mode 100644
index 00000000..f0719691
--- /dev/null
+++ b/proto/IDOELHBANCP.proto
@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "bytes.proto";
+
+message IDOELHBANCP {
+ message BNLDEBAFAKE {
+ string gnlikgbnmce = 1;
+ bool kikkokolhng = 2;
+ }
+
+ repeated BNLDEBAFAKE createTime = 2;
+ string jepoaccjobm = 3;
+ uint64 hglbhfehpll = 4;
+ int64 hakkhkobmga = 5;
+ double obdckmjfcmd = 6;
+ bytes bkimcghfndi = 7;
+ string mmncblejhnn = 8;
+}
diff --git a/proto/IEHOPOALPKJ.proto b/proto/IEHOPOALPKJ.proto
new file mode 100644
index 00000000..5772df25
--- /dev/null
+++ b/proto/IEHOPOALPKJ.proto
@@ -0,0 +1,10 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message IEHOPOALPKJ {
+ uint32 applyEntityId = 6;
+}
diff --git a/proto/IELKGAMFOLN.proto b/proto/IELKGAMFOLN.proto
new file mode 100644
index 00000000..2d09eef9
--- /dev/null
+++ b/proto/IELKGAMFOLN.proto
@@ -0,0 +1,17 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ProfilePicture.proto";
+import "ExhibitionDisplayInfo.proto";
+
+message IELKGAMFOLN {
+ uint32 uid = 7;
+ repeated ExhibitionDisplayInfo cardList = 5;
+ ProfilePicture profilePicture = 11;
+ string nickname = 14;
+ string onlineId = 2;
+ uint32 headImage = 15;
+}
diff --git a/proto/IGELBDLLJBJ.proto b/proto/IGELBDLLJBJ.proto
new file mode 100644
index 00000000..264d29a0
--- /dev/null
+++ b/proto/IGELBDLLJBJ.proto
@@ -0,0 +1,16 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+enum IGELBDLLJBJ {
+ IGELBDLLJBJ_NONE = 0;
+ AHEECBJFNHH = 1;
+ HGICJDHDLFB = 2;
+ ENGFFCGEOPF = 3;
+ BBCFLJLFDAP = 4;
+ IGELBDLLJBJ_FIFTH = 5;
+ FNPCNAAAGBH = 6;
+ FACMNGDGCOG = 7;
+}
diff --git a/proto/IPDNEDNFFEO.proto b/proto/IPDNEDNFFEO.proto
new file mode 100644
index 00000000..38dfc29e
--- /dev/null
+++ b/proto/IPDNEDNFFEO.proto
@@ -0,0 +1,10 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message IPDNEDNFFEO {
+ float jmiipakgola = 7;
+}
diff --git a/proto/IPLHKNLPPHD.proto b/proto/IPLHKNLPPHD.proto
new file mode 100644
index 00000000..7cc815fb
--- /dev/null
+++ b/proto/IPLHKNLPPHD.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message IPLHKNLPPHD {
+ uint32 koofigbidnl = 2;
+ uint32 uid = 6;
+}
diff --git a/proto/InBattleChessInfo.proto b/proto/InBattleChessInfo.proto
new file mode 100644
index 00000000..a8338183
--- /dev/null
+++ b/proto/InBattleChessInfo.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ChessMysteryInfo.proto";
+import "ChessPlayerInfo.proto";
+import "ChessCardInfo.proto";
+
+message InBattleChessInfo {
+ uint32 ddhmhajjmfk = 12;
+ repeated uint32 gkhmchgepli = 11;
+ map abhkjjjcfcd = 15;
+ uint32 round = 2;
+ ChessMysteryInfo dcfcppdjgod = 10;
+ uint32 leftMonsters = 3;
+ uint32 escapedMonsters = 9;
+ repeated ChessCardInfo selectedCardInfoList = 1;
+ uint32 mechanicusId = 14;
+}
diff --git a/proto/InBattleChessSettleInfo.proto b/proto/InBattleChessSettleInfo.proto
new file mode 100644
index 00000000..8f73b7ed
--- /dev/null
+++ b/proto/InBattleChessSettleInfo.proto
@@ -0,0 +1,17 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ExhibitionDisplayInfo.proto";
+
+message InBattleChessSettleInfo {
+ uint32 Unk3300_NKHDFHAPNCN = 9;
+ uint64 sceneTimeMs = 11;
+ uint32 Unk3300_LPANFEBFJOJ = 15;
+ bool isSuccess = 2;
+ repeated ExhibitionDisplayInfo scoreList = 1;
+ uint32 Unk3300_IPGILJCBABK = 3;
+ uint32 Unk3300_EMNLLDJHMEI = 10;
+}
diff --git a/proto/InBattleFleurFairInfo.proto b/proto/InBattleFleurFairInfo.proto
new file mode 100644
index 00000000..396e58e5
--- /dev/null
+++ b/proto/InBattleFleurFairInfo.proto
@@ -0,0 +1,14 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message InBattleFleurFairInfo {
+ uint32 emdkpmhihmp = 11;
+ uint32 galleryStageIndex = 4;
+ repeated uint32 defdlkbmipk = 10;
+ uint32 enokedgdhfb = 9;
+ repeated uint32 fieibhkablj = 15;
+}
diff --git a/proto/InBattleIrodoriChessInfo.proto b/proto/InBattleIrodoriChessInfo.proto
new file mode 100644
index 00000000..8933d7d4
--- /dev/null
+++ b/proto/InBattleIrodoriChessInfo.proto
@@ -0,0 +1,15 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "IrodoriChessMysteryInfo.proto";
+
+message InBattleIrodoriChessInfo {
+ repeated uint32 fpdiemhhpko = 3;
+ uint32 leftMonsters = 11;
+ IrodoriChessMysteryInfo dcfcppdjgod = 10;
+ uint32 settleScore = 8;
+ uint32 buildingPoints = 6;
+}
diff --git a/proto/InBattleIrodoriChessSettleInfo.proto b/proto/InBattleIrodoriChessSettleInfo.proto
new file mode 100644
index 00000000..f49f178b
--- /dev/null
+++ b/proto/InBattleIrodoriChessSettleInfo.proto
@@ -0,0 +1,15 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message InBattleIrodoriChessSettleInfo {
+ bool isActivityEnd = 10;
+ uint32 killMonsterNum = 2;
+ bool isNewRecord = 12;
+ uint64 sceneTimeMs = 14;
+ uint32 settleScore = 15;
+ bool isPerfect = 5;
+}
diff --git a/proto/InBattleMechanicusBuildingInfo.proto b/proto/InBattleMechanicusBuildingInfo.proto
new file mode 100644
index 00000000..faa7ab33
--- /dev/null
+++ b/proto/InBattleMechanicusBuildingInfo.proto
@@ -0,0 +1,13 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message InBattleMechanicusBuildingInfo {
+ uint32 buildingId = 6;
+ uint32 level = 3;
+ uint32 knajgcafgjo = 14;
+ uint32 costPoints = 4;
+}
diff --git a/proto/InBattleMechanicusBuildingPointsNotify.proto b/proto/InBattleMechanicusBuildingPointsNotify.proto
new file mode 100644
index 00000000..29768444
--- /dev/null
+++ b/proto/InBattleMechanicusBuildingPointsNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message InBattleMechanicusBuildingPointsNotify {
+ //enum IHJMAAOMCKL {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5380;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ map playerBuildingPointsMap = 7;
+}
diff --git a/proto/InBattleMechanicusCardChallengeState.proto b/proto/InBattleMechanicusCardChallengeState.proto
new file mode 100644
index 00000000..b1b291f9
--- /dev/null
+++ b/proto/InBattleMechanicusCardChallengeState.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+enum InBattleMechanicusCardChallengeState {
+ IN_BATTLE_MECHANICUS_CARD_CHALLENGE_STATE_NONE = 0;
+ IN_BATTLE_MECHANICUS_CARD_CHALLENGE_STATE_ON_GOING = 1;
+ IN_BATTLE_MECHANICUS_CARD_CHALLENGE_STATE_FAIL = 2;
+ IN_BATTLE_MECHANICUS_CARD_CHALLENGE_STATE_SUCCESS = 3;
+}
diff --git a/proto/InBattleMechanicusCardInfo.proto b/proto/InBattleMechanicusCardInfo.proto
new file mode 100644
index 00000000..785f8f6e
--- /dev/null
+++ b/proto/InBattleMechanicusCardInfo.proto
@@ -0,0 +1,16 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "InBattleMechanicusCardChallengeState.proto";
+
+message InBattleMechanicusCardInfo {
+ uint32 Unk3300_FNAHKHODBKN = 3;
+ uint32 costPoints = 2;
+ uint32 Unk3300_NDAOOKKGJPH = 9;
+ uint32 cardId = 15;
+ uint32 Unk3300_KCIEINMEPDH = 8;
+ InBattleMechanicusCardChallengeState challengeState = 5;
+}
diff --git a/proto/InBattleMechanicusCardResultNotify.proto b/proto/InBattleMechanicusCardResultNotify.proto
new file mode 100644
index 00000000..432eaef2
--- /dev/null
+++ b/proto/InBattleMechanicusCardResultNotify.proto
@@ -0,0 +1,24 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "InBattleMechanicusCardInfo.proto";
+
+message InBattleMechanicusCardResultNotify {
+ //enum EFHHBMNDKBA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5316;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 playIndex = 10;
+ uint64 waitBeginTimeUs = 4;
+ repeated InBattleMechanicusCardInfo cardList = 5;
+ map playerConfirmedCardMap = 12;
+ uint32 groupId = 15;
+ uint32 waitSeconds = 9;
+}
diff --git a/proto/InBattleMechanicusConfirmCardNotify.proto b/proto/InBattleMechanicusConfirmCardNotify.proto
new file mode 100644
index 00000000..ec026809
--- /dev/null
+++ b/proto/InBattleMechanicusConfirmCardNotify.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message InBattleMechanicusConfirmCardNotify {
+ //enum AEAMAFIMLIM {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5378;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 playerUid = 2;
+ uint32 cardId = 1;
+ uint32 playIndex = 7;
+ uint32 groupId = 12;
+}
diff --git a/proto/InBattleMechanicusConfirmCardReq.proto b/proto/InBattleMechanicusConfirmCardReq.proto
new file mode 100644
index 00000000..b241fc30
--- /dev/null
+++ b/proto/InBattleMechanicusConfirmCardReq.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message InBattleMechanicusConfirmCardReq {
+ //enum MOGDFBINNOO {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5324;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 playIndex = 4;
+ uint32 groupId = 15;
+ uint32 cardId = 9;
+}
diff --git a/proto/InBattleMechanicusConfirmCardRsp.proto b/proto/InBattleMechanicusConfirmCardRsp.proto
new file mode 100644
index 00000000..69aaa9f8
--- /dev/null
+++ b/proto/InBattleMechanicusConfirmCardRsp.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message InBattleMechanicusConfirmCardRsp {
+ //enum FOBENOCMABB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5329;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 3;
+ uint32 groupId = 12;
+ uint32 playIndex = 11;
+ uint32 cardId = 6;
+}
diff --git a/proto/InBattleMechanicusExcapeMonsterNotify.proto b/proto/InBattleMechanicusExcapeMonsterNotify.proto
new file mode 100644
index 00000000..a1d31d3d
--- /dev/null
+++ b/proto/InBattleMechanicusExcapeMonsterNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message InBattleMechanicusExcapeMonsterNotify {
+ //enum LJLHGFNNJMH {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5320;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 coin = 2;
+}
diff --git a/proto/InBattleMechanicusLeftMonsterNotify.proto b/proto/InBattleMechanicusLeftMonsterNotify.proto
new file mode 100644
index 00000000..04b04158
--- /dev/null
+++ b/proto/InBattleMechanicusLeftMonsterNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message InBattleMechanicusLeftMonsterNotify {
+ //enum DJBCGKHKHPN {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5374;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 leftMonsterNum = 6;
+}
diff --git a/proto/InBattleMechanicusPickCardNotify.proto b/proto/InBattleMechanicusPickCardNotify.proto
new file mode 100644
index 00000000..f779eddd
--- /dev/null
+++ b/proto/InBattleMechanicusPickCardNotify.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message InBattleMechanicusPickCardNotify {
+ //enum FHCPCICKOPC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5314;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 playIndex = 11;
+ uint32 groupId = 5;
+ uint32 playerUid = 9;
+ uint32 cardId = 8;
+}
diff --git a/proto/InBattleMechanicusPickCardReq.proto b/proto/InBattleMechanicusPickCardReq.proto
new file mode 100644
index 00000000..07b58bc1
--- /dev/null
+++ b/proto/InBattleMechanicusPickCardReq.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message InBattleMechanicusPickCardReq {
+ //enum PPNLAFAIFJG {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5370;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 groupId = 9;
+ uint32 cardId = 11;
+ uint32 playIndex = 4;
+}
diff --git a/proto/InBattleMechanicusPickCardRsp.proto b/proto/InBattleMechanicusPickCardRsp.proto
new file mode 100644
index 00000000..d01024c9
--- /dev/null
+++ b/proto/InBattleMechanicusPickCardRsp.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message InBattleMechanicusPickCardRsp {
+ //enum MLMACFGIFHI {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5362;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 playIndex = 15;
+ uint32 groupId = 13;
+ uint32 cardId = 5;
+ int32 retcode = 4;
+}
diff --git a/proto/InBattleMechanicusPlayerInfo.proto b/proto/InBattleMechanicusPlayerInfo.proto
new file mode 100644
index 00000000..7ce5e505
--- /dev/null
+++ b/proto/InBattleMechanicusPlayerInfo.proto
@@ -0,0 +1,15 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "InBattleMechanicusBuildingInfo.proto";
+
+message InBattleMechanicusPlayerInfo {
+ repeated InBattleMechanicusBuildingInfo buildingList = 12;
+ uint32 uid = 6;
+ uint32 gdinnaencko = 15;
+ bool kjckjdpeflc = 9;
+ uint32 buildingPoints = 3;
+}
diff --git a/proto/InBattleMechanicusSettleInfo.proto b/proto/InBattleMechanicusSettleInfo.proto
new file mode 100644
index 00000000..3231e3c7
--- /dev/null
+++ b/proto/InBattleMechanicusSettleInfo.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "MultistageSettleWatcherInfo.proto";
+
+message InBattleMechanicusSettleInfo {
+ uint64 sceneTimeMs = 15;
+ uint32 Unk3300_HAEOPAOBBFE = 7;
+ bool isSuccess = 6;
+ uint32 Unk3300_NAMBBHMJJLN = 1;
+ uint32 groupId = 12;
+ uint32 Unk3300_EKAIAPLNIPM = 11;
+ uint32 playIndex = 13;
+ repeated MultistageSettleWatcherInfo watcherList = 4;
+}
diff --git a/proto/InBattleMechanicusSettleNotify.proto b/proto/InBattleMechanicusSettleNotify.proto
new file mode 100644
index 00000000..2c0d8234
--- /dev/null
+++ b/proto/InBattleMechanicusSettleNotify.proto
@@ -0,0 +1,26 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "MultistageSettleWatcherInfo.proto";
+
+message InBattleMechanicusSettleNotify {
+ //enum KDMLFKICFGF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5369;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated MultistageSettleWatcherInfo watcherList = 7;
+ bool isSuccess = 8;
+ uint32 Unk3300_NAMBBHMJJLN = 15;
+ uint32 Unk3300_HAEOPAOBBFE = 1;
+ uint32 playIndex = 12;
+ uint32 Unk3300_EKAIAPLNIPM = 13;
+ uint64 sceneTimeMs = 10;
+ uint32 groupId = 9;
+}
diff --git a/proto/InstableSprayDetailInfo.proto b/proto/InstableSprayDetailInfo.proto
new file mode 100644
index 00000000..42490558
--- /dev/null
+++ b/proto/InstableSprayDetailInfo.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "InstableSprayStageInfo.proto";
+
+message InstableSprayDetailInfo {
+ repeated InstableSprayStageInfo stageInfoList = 9;
+}
diff --git a/proto/InstableSprayEnterDungeonReq.proto b/proto/InstableSprayEnterDungeonReq.proto
new file mode 100644
index 00000000..af4dd378
--- /dev/null
+++ b/proto/InstableSprayEnterDungeonReq.proto
@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "InstableSprayAvatarInfo.proto";
+
+message InstableSprayEnterDungeonReq {
+ //enum GIDCKAOEICG {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 24659;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 stageId = 4;
+ repeated InstableSprayAvatarInfo avatarInfoList = 8;
+ uint32 difficulty = 1;
+}
diff --git a/proto/InstableSprayEnterDungeonRsp.proto b/proto/InstableSprayEnterDungeonRsp.proto
new file mode 100644
index 00000000..4e28aaf2
--- /dev/null
+++ b/proto/InstableSprayEnterDungeonRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message InstableSprayEnterDungeonRsp {
+ //enum LFIGDJCABPJ {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 23633;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 levelId = 8;
+ int32 retcode = 14;
+}
diff --git a/proto/InstableSprayGalleryInfoNotify.proto b/proto/InstableSprayGalleryInfoNotify.proto
new file mode 100644
index 00000000..15d46188
--- /dev/null
+++ b/proto/InstableSprayGalleryInfoNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message InstableSprayGalleryInfoNotify {
+ //enum OGNGOKHGDCB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5528;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 score = 8;
+}
diff --git a/proto/InstableSprayLevelFinishNotify.proto b/proto/InstableSprayLevelFinishNotify.proto
new file mode 100644
index 00000000..24454f68
--- /dev/null
+++ b/proto/InstableSprayLevelFinishNotify.proto
@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message InstableSprayLevelFinishNotify {
+ //enum EOIABCFNAIK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 24172;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ bool Unk3300_DHKHBKLBIPA = 14;
+ uint32 round = 2;
+ uint32 stageId = 11;
+ uint32 levelId = 9;
+ bool Unk3300_AMEBAPIPLGL = 6;
+}
diff --git a/proto/InstableSprayRestartDungeonReq.proto b/proto/InstableSprayRestartDungeonReq.proto
new file mode 100644
index 00000000..dc453c95
--- /dev/null
+++ b/proto/InstableSprayRestartDungeonReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "InstableSprayAvatarInfo.proto";
+
+message InstableSprayRestartDungeonReq {
+ //enum IOEAANEKHFD {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 20911;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ repeated InstableSprayAvatarInfo avatarInfoList = 3;
+}
diff --git a/proto/InstableSprayRestartDungeonRsp.proto b/proto/InstableSprayRestartDungeonRsp.proto
new file mode 100644
index 00000000..0d8c1281
--- /dev/null
+++ b/proto/InstableSprayRestartDungeonRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message InstableSprayRestartDungeonRsp {
+ //enum JGPPFHHEHEO {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 21689;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 levelId = 9;
+ int32 retcode = 12;
+}
diff --git a/proto/InstableSprayStageInfo.proto b/proto/InstableSprayStageInfo.proto
new file mode 100644
index 00000000..69bb1528
--- /dev/null
+++ b/proto/InstableSprayStageInfo.proto
@@ -0,0 +1,14 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "InstableSprayTeamInfo.proto";
+
+message InstableSprayStageInfo {
+ uint32 maxScore = 2;
+ repeated InstableSprayTeamInfo teamInfoList = 3;
+ bool isFinished = 13;
+ uint32 stageId = 8;
+}
diff --git a/proto/InstableSpraySwitchTeamReq.proto b/proto/InstableSpraySwitchTeamReq.proto
new file mode 100644
index 00000000..651f402e
--- /dev/null
+++ b/proto/InstableSpraySwitchTeamReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "InstableSprayAvatarInfo.proto";
+
+message InstableSpraySwitchTeamReq {
+ //enum OGDEKKEJBFI {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 23451;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ repeated InstableSprayAvatarInfo avatarInfoList = 11;
+}
diff --git a/proto/InstableSpraySwitchTeamRsp.proto b/proto/InstableSpraySwitchTeamRsp.proto
new file mode 100644
index 00000000..c4194092
--- /dev/null
+++ b/proto/InstableSpraySwitchTeamRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message InstableSpraySwitchTeamRsp {
+ //enum AFDJAOMJLNB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 20452;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 levelId = 14;
+ int32 retcode = 12;
+}
diff --git a/proto/InstableSprayTeamInfo.proto b/proto/InstableSprayTeamInfo.proto
new file mode 100644
index 00000000..d885e6bc
--- /dev/null
+++ b/proto/InstableSprayTeamInfo.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "InstableSprayAvatarInfo.proto";
+
+message InstableSprayTeamInfo {
+ repeated InstableSprayAvatarInfo avatarInfoList = 12;
+}
diff --git a/proto/InteractDailyDungeonInfoNotify.proto b/proto/InteractDailyDungeonInfoNotify.proto
new file mode 100644
index 00000000..6b96c930
--- /dev/null
+++ b/proto/InteractDailyDungeonInfoNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message InteractDailyDungeonInfoNotify {
+ //enum MGIKNBKGCGE {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 923;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+}
diff --git a/proto/InterpretInferenceWordReq.proto b/proto/InterpretInferenceWordReq.proto
new file mode 100644
index 00000000..429f167c
--- /dev/null
+++ b/proto/InterpretInferenceWordReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message InterpretInferenceWordReq {
+ //enum MHPKOLNLDKH {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 423;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 wordId = 12;
+ uint32 pageId = 10;
+}
diff --git a/proto/InterpretInferenceWordRsp.proto b/proto/InterpretInferenceWordRsp.proto
new file mode 100644
index 00000000..0895cb5b
--- /dev/null
+++ b/proto/InterpretInferenceWordRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message InterpretInferenceWordRsp {
+ //enum ECEFHKMPMEE {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 415;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 pageId = 2;
+ int32 retcode = 13;
+ uint32 wordId = 6;
+}
diff --git a/proto/InterruptGalleryReq.proto b/proto/InterruptGalleryReq.proto
new file mode 100644
index 00000000..77bf4189
--- /dev/null
+++ b/proto/InterruptGalleryReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message InterruptGalleryReq {
+ //enum CIAICDMHJFC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5578;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 galleryId = 2;
+}
diff --git a/proto/InterruptGalleryRsp.proto b/proto/InterruptGalleryRsp.proto
new file mode 100644
index 00000000..7fabf003
--- /dev/null
+++ b/proto/InterruptGalleryRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message InterruptGalleryRsp {
+ //enum KIEAILGENFP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5516;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ int32 retcode = 15;
+ uint32 galleryId = 9;
+}
diff --git a/proto/Investigation.proto b/proto/Investigation.proto
new file mode 100644
index 00000000..4760a395
--- /dev/null
+++ b/proto/Investigation.proto
@@ -0,0 +1,14 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "State.proto";
+
+message Investigation {
+ uint32 progress = 11;
+ uint32 id = 5;
+ State state = 4;
+ uint32 totalProgress = 14;
+}
diff --git a/proto/InvestigationTarget.proto b/proto/InvestigationTarget.proto
new file mode 100644
index 00000000..eb603a7a
--- /dev/null
+++ b/proto/InvestigationTarget.proto
@@ -0,0 +1,15 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "State.proto";
+
+message InvestigationTarget {
+ uint32 investigationId = 13;
+ State state = 7;
+ uint32 totalProgress = 1;
+ uint32 questId = 3;
+ uint32 progress = 15;
+}
diff --git a/proto/IrodoriChessInfo.proto b/proto/IrodoriChessInfo.proto
new file mode 100644
index 00000000..0d262073
--- /dev/null
+++ b/proto/IrodoriChessInfo.proto
@@ -0,0 +1,15 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "IrodoriChessMysteryInfo.proto";
+
+message IrodoriChessInfo {
+ repeated uint32 fpdiemhhpko = 3;
+ uint32 leftMonsters = 11;
+ IrodoriChessMysteryInfo dcfcppdjgod = 10;
+ uint32 settleScore = 8;
+ uint32 buildingPoints = 6;
+}
diff --git a/proto/IrodoriChessLeftMonsterNotify.proto b/proto/IrodoriChessLeftMonsterNotify.proto
new file mode 100644
index 00000000..4c6b5b33
--- /dev/null
+++ b/proto/IrodoriChessLeftMonsterNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message IrodoriChessLeftMonsterNotify {
+ //enum OEENJIIIDPF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5340;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 leftMonsters = 6;
+}
diff --git a/proto/IrodoriChessMysteryInfo.proto b/proto/IrodoriChessMysteryInfo.proto
new file mode 100644
index 00000000..dff868ad
--- /dev/null
+++ b/proto/IrodoriChessMysteryInfo.proto
@@ -0,0 +1,13 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "IrodoriChessEntranceDetailInfo.proto";
+
+message IrodoriChessMysteryInfo {
+ repeated uint32 mdilcblhnao = 5;
+ IrodoriChessEntranceDetailInfo ajcepcgbnfe = 8;
+ repeated uint32 fffmoldaadc = 2;
+}
diff --git a/proto/IrodoriChessPlayerInfo.proto b/proto/IrodoriChessPlayerInfo.proto
new file mode 100644
index 00000000..99cb2820
--- /dev/null
+++ b/proto/IrodoriChessPlayerInfo.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message IrodoriChessPlayerInfo {
+ uint32 settleScore = 4;
+ uint32 buildingPoints = 8;
+ uint32 uid = 9;
+}
diff --git a/proto/IrodoriChessPlayerInfoNotify.proto b/proto/IrodoriChessPlayerInfoNotify.proto
new file mode 100644
index 00000000..9e907e01
--- /dev/null
+++ b/proto/IrodoriChessPlayerInfoNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "IrodoriChessPlayerInfo.proto";
+
+message IrodoriChessPlayerInfoNotify {
+ //enum DONFJNAFLJA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5338;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ IrodoriChessPlayerInfo playerInfo = 13;
+}
diff --git a/proto/IrodoriChessSettleInfo.proto b/proto/IrodoriChessSettleInfo.proto
new file mode 100644
index 00000000..eb5beef0
--- /dev/null
+++ b/proto/IrodoriChessSettleInfo.proto
@@ -0,0 +1,15 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message IrodoriChessSettleInfo {
+ bool isActivityEnd = 10;
+ uint32 killMonsterNum = 2;
+ bool isNewRecord = 12;
+ uint64 sceneTimeMs = 14;
+ uint32 settleScore = 15;
+ bool isPerfect = 5;
+}
diff --git a/proto/IrodoriChessUnequipCardReq.proto b/proto/IrodoriChessUnequipCardReq.proto
new file mode 100644
index 00000000..25101bf4
--- /dev/null
+++ b/proto/IrodoriChessUnequipCardReq.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message IrodoriChessUnequipCardReq {
+ //enum DCPOLGAAMOG {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8610;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 cardId = 14;
+ bool isHardMap = 5;
+ uint32 levelId = 7;
+}
diff --git a/proto/IrodoriChessUnequipCardRsp.proto b/proto/IrodoriChessUnequipCardRsp.proto
new file mode 100644
index 00000000..c3148697
--- /dev/null
+++ b/proto/IrodoriChessUnequipCardRsp.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message IrodoriChessUnequipCardRsp {
+ //enum IILGHOBPHAK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8326;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ bool isHardMap = 4;
+ uint32 levelId = 15;
+ int32 retcode = 12;
+ uint32 cardId = 14;
+}
diff --git a/proto/IrodoriEditFlowerCombinationReq.proto b/proto/IrodoriEditFlowerCombinationReq.proto
new file mode 100644
index 00000000..ca44ca62
--- /dev/null
+++ b/proto/IrodoriEditFlowerCombinationReq.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "CustomGadgetTreeInfo.proto";
+
+message IrodoriEditFlowerCombinationReq {
+ //enum POICPNONHBK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8795;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 entityId = 8;
+ CustomGadgetTreeInfo combinationInfo = 9;
+}
diff --git a/proto/IrodoriEditFlowerCombinationRsp.proto b/proto/IrodoriEditFlowerCombinationRsp.proto
new file mode 100644
index 00000000..4131107c
--- /dev/null
+++ b/proto/IrodoriEditFlowerCombinationRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message IrodoriEditFlowerCombinationRsp {
+ //enum NIOIJMHIGHF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8542;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 2;
+ bool Unk3300_IAPLHBKJLBF = 10;
+ bool Unk3300_DBBGPOMDKPK = 1;
+}
diff --git a/proto/IrodoriFillPoetryReq.proto b/proto/IrodoriFillPoetryReq.proto
new file mode 100644
index 00000000..0ce53c0a
--- /dev/null
+++ b/proto/IrodoriFillPoetryReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message IrodoriFillPoetryReq {
+ //enum PKBHFHBNFAL {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8590;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 lineId = 13;
+ uint32 themeId = 2;
+}
diff --git a/proto/IrodoriFillPoetryRsp.proto b/proto/IrodoriFillPoetryRsp.proto
new file mode 100644
index 00000000..839e6c2d
--- /dev/null
+++ b/proto/IrodoriFillPoetryRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "IrodoriPoetryThemeData.proto";
+
+message IrodoriFillPoetryRsp {
+ //enum KHKABHNJLIP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8762;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ IrodoriPoetryThemeData themeData = 14;
+ int32 retcode = 15;
+}
diff --git a/proto/IrodoriMasterGalleryCgEndNotify.proto b/proto/IrodoriMasterGalleryCgEndNotify.proto
new file mode 100644
index 00000000..5d3b6ba2
--- /dev/null
+++ b/proto/IrodoriMasterGalleryCgEndNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message IrodoriMasterGalleryCgEndNotify {
+ //enum PFHJAGPEFHJ {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8260;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 galleryId = 5;
+ uint32 levelId = 1;
+}
diff --git a/proto/IrodoriMasterGallerySettleInfo.proto b/proto/IrodoriMasterGallerySettleInfo.proto
new file mode 100644
index 00000000..819f9a51
--- /dev/null
+++ b/proto/IrodoriMasterGallerySettleInfo.proto
@@ -0,0 +1,15 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GalleryStopReason.proto";
+
+message IrodoriMasterGallerySettleInfo {
+ bool isFinish = 14;
+ GalleryStopReason reason = 6;
+ uint32 difficult = 10;
+ uint32 finishTime = 15;
+ uint32 levelId = 7;
+}
diff --git a/proto/IrodoriMasterGallerySettleNotify.proto b/proto/IrodoriMasterGallerySettleNotify.proto
new file mode 100644
index 00000000..7cfe7833
--- /dev/null
+++ b/proto/IrodoriMasterGallerySettleNotify.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "IrodoriMasterGallerySettleInfo.proto";
+
+message IrodoriMasterGallerySettleNotify {
+ //enum NJDCKMPLNDG {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8194;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 galleryId = 8;
+ IrodoriMasterGallerySettleInfo settleInfo = 4;
+}
diff --git a/proto/IrodoriMasterInfo.proto b/proto/IrodoriMasterInfo.proto
new file mode 100644
index 00000000..a8c7215e
--- /dev/null
+++ b/proto/IrodoriMasterInfo.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message IrodoriMasterInfo {
+ bool isCgViewed = 6;
+ uint32 difficulty = 12;
+ uint32 levelId = 13;
+}
diff --git a/proto/IrodoriMasterStartGalleryReq.proto b/proto/IrodoriMasterStartGalleryReq.proto
new file mode 100644
index 00000000..1aa39ba1
--- /dev/null
+++ b/proto/IrodoriMasterStartGalleryReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message IrodoriMasterStartGalleryReq {
+ //enum MGEPMJKJIEP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8933;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 levelId = 3;
+ uint32 difficulty = 5;
+}
diff --git a/proto/IrodoriMasterStartGalleryRsp.proto b/proto/IrodoriMasterStartGalleryRsp.proto
new file mode 100644
index 00000000..2abbd02f
--- /dev/null
+++ b/proto/IrodoriMasterStartGalleryRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message IrodoriMasterStartGalleryRsp {
+ //enum PIELDDOPBLB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8391;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 10;
+}
diff --git a/proto/IrodoriScanEntityReq.proto b/proto/IrodoriScanEntityReq.proto
new file mode 100644
index 00000000..a2447748
--- /dev/null
+++ b/proto/IrodoriScanEntityReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message IrodoriScanEntityReq {
+ //enum DOHCKGPNPLI {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8657;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 entityId = 3;
+}
diff --git a/proto/IrodoriScanEntityRsp.proto b/proto/IrodoriScanEntityRsp.proto
new file mode 100644
index 00000000..70a3be76
--- /dev/null
+++ b/proto/IrodoriScanEntityRsp.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "IrodoriPoetryThemeData.proto";
+
+message IrodoriScanEntityRsp {
+ //enum GFBIAOOFKPB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8540;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ bool isGetInspiration = 4;
+ IrodoriPoetryThemeData themeData = 8;
+ int32 retcode = 12;
+}
diff --git a/proto/IslandPartyDownHillInfo.proto b/proto/IslandPartyDownHillInfo.proto
new file mode 100644
index 00000000..31981236
--- /dev/null
+++ b/proto/IslandPartyDownHillInfo.proto
@@ -0,0 +1,14 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GalleryStartSource.proto";
+
+message IslandPartyDownHillInfo {
+ uint32 maxKillMonsterCount = 13;
+ GalleryStartSource startSource = 4;
+ uint32 coin = 1;
+ uint32 totalKillMonsterCount = 7;
+}
diff --git a/proto/IslandPartyGallerySettleInfo.proto b/proto/IslandPartyGallerySettleInfo.proto
new file mode 100644
index 00000000..9228f2b5
--- /dev/null
+++ b/proto/IslandPartyGallerySettleInfo.proto
@@ -0,0 +1,13 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "OnlinePlayerInfo.proto";
+import "ExhibitionDisplayInfo.proto";
+
+message IslandPartyGallerySettleInfo {
+ OnlinePlayerInfo playerInfo = 3;
+ repeated ExhibitionDisplayInfo cardList = 9;
+}
diff --git a/proto/IslandPartyRaftInfo.proto b/proto/IslandPartyRaftInfo.proto
new file mode 100644
index 00000000..7ca550db
--- /dev/null
+++ b/proto/IslandPartyRaftInfo.proto
@@ -0,0 +1,16 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GalleryStartSource.proto";
+
+message IslandPartyRaftInfo {
+ uint32 coin = 10;
+ uint32 Unk3300_HHEKIPECDAK = 5;
+ uint32 pointId = 13;
+ uint32 Unk3300_HNECEGNMKNK = 4;
+ uint32 Unk3300_FBACMOFGPGJ = 7;
+ GalleryStartSource startSource = 15;
+}
diff --git a/proto/IslandPartyRaftInfoNotify.proto b/proto/IslandPartyRaftInfoNotify.proto
new file mode 100644
index 00000000..01543716
--- /dev/null
+++ b/proto/IslandPartyRaftInfoNotify.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message IslandPartyRaftInfoNotify {
+ //enum IJOMICBCHCO {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5588;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 Unk3300_HNECEGNMKNK = 9;
+ uint32 Unk3300_FBACMOFGPGJ = 12;
+ uint32 pointId = 6;
+ uint32 coin = 5;
+}
diff --git a/proto/IslandPartySailInfo.proto b/proto/IslandPartySailInfo.proto
new file mode 100644
index 00000000..c9566546
--- /dev/null
+++ b/proto/IslandPartySailInfo.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GalleryStartSource.proto";
+import "IslandPartySailStage.proto";
+
+message IslandPartySailInfo {
+ GalleryStartSource startSource = 1;
+ uint32 Unk3300_MJOIIJIBAHF = 5;
+ uint32 Unk3300_MJHMCAPGBIK = 11;
+ IslandPartySailStage stage = 14;
+ uint32 Unk3300_HCJGDHEMBLM = 7;
+ uint32 coin = 13;
+ uint32 Unk3300_PFCJODGNDCI = 8;
+}
diff --git a/proto/IslandPartySailInfoNotify.proto b/proto/IslandPartySailInfoNotify.proto
new file mode 100644
index 00000000..a8d2c2d8
--- /dev/null
+++ b/proto/IslandPartySailInfoNotify.proto
@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "IslandPartySailStage.proto";
+
+message IslandPartySailInfoNotify {
+ //enum EODELEEFEGF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5525;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 progress = 5;
+ uint32 coin = 1;
+ uint32 killMonsterCount = 9;
+ IslandPartySailStage stage = 2;
+}
diff --git a/proto/IslandPartySailStage.proto b/proto/IslandPartySailStage.proto
new file mode 100644
index 00000000..5b6e1497
--- /dev/null
+++ b/proto/IslandPartySailStage.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+enum IslandPartySailStage {
+ ISLAND_PARTY_SAIL_STAGE_NONE = 0;
+ ISLAND_PARTY_SAIL_STAGE_SAIL = 1;
+ ISLAND_PARTY_SAIL_STAGE_BATTLE = 2;
+}
diff --git a/proto/IslandPartySettleNotify.proto b/proto/IslandPartySettleNotify.proto
new file mode 100644
index 00000000..ed0f6391
--- /dev/null
+++ b/proto/IslandPartySettleNotify.proto
@@ -0,0 +1,25 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GalleryStopReason.proto";
+import "IslandPartyGallerySettleInfo.proto";
+import "ExhibitionDisplayInfo.proto";
+
+message IslandPartySettleNotify {
+ //enum KDNCJGALBFP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 22820;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated IslandPartyGallerySettleInfo settleInfoList = 9;
+ repeated ExhibitionDisplayInfo scoreList = 8;
+ bool isNewRecord = 14;
+ uint32 timeRemain = 2;
+ GalleryStopReason reason = 13;
+}
diff --git a/proto/JAKLMFJEIAJ.proto b/proto/JAKLMFJEIAJ.proto
new file mode 100644
index 00000000..591af03d
--- /dev/null
+++ b/proto/JAKLMFJEIAJ.proto
@@ -0,0 +1,14 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "AbilityString.proto";
+
+message JAKLMFJEIAJ {
+ uint32 mlaoigidomk = 12;
+ AbilityString hcgicnilgjl = 13;
+ AbilityString abilityName = 11;
+ uint32 dgkkiefjbpp = 14;
+}
diff --git a/proto/JBCJGCKCKBH.proto b/proto/JBCJGCKCKBH.proto
new file mode 100644
index 00000000..34329574
--- /dev/null
+++ b/proto/JBCJGCKCKBH.proto
@@ -0,0 +1,10 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message JBCJGCKCKBH {
+ float value = 1;
+}
diff --git a/proto/JBNGFJNCIFI.proto b/proto/JBNGFJNCIFI.proto
new file mode 100644
index 00000000..83e559c2
--- /dev/null
+++ b/proto/JBNGFJNCIFI.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message JBNGFJNCIFI {
+ uint32 hooghbjeglp = 6;
+ uint64 mmjpfnlleol = 5;
+}
diff --git a/proto/JDFBHNFLOPL.proto b/proto/JDFBHNFLOPL.proto
new file mode 100644
index 00000000..2b134f1d
--- /dev/null
+++ b/proto/JDFBHNFLOPL.proto
@@ -0,0 +1,10 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message JDFBHNFLOPL {
+ float value = 1;
+}
diff --git a/proto/JDOFLKLCIKI.proto b/proto/JDOFLKLCIKI.proto
new file mode 100644
index 00000000..646771b1
--- /dev/null
+++ b/proto/JDOFLKLCIKI.proto
@@ -0,0 +1,27 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+enum JDOFLKLCIKI {
+ KPDAFBNHFDO = 0;
+ OAEHBFDMCJE = 1;
+ BNNFAGCDOLI = 2;
+ EHFNDNMJGNL = 3;
+ FOPMOLPIEFJ = 4;
+ NFGCPNOJCIM = 5;
+ AODINJMGNDO = 6;
+ JDANCCGDAGK = 7;
+ NPENOCKHFFO = 8;
+ BIHHFBLNNLH = 9;
+ MKLANBOJFNI = 10;
+ CGPIMEDKDHL = 11;
+ OKJLEACKFDM = 12;
+ KCOHHOLFEGI = 13;
+ NEPIJBCNPNB = 14;
+ CPBGPCMGFOA = 15;
+ INIMEBDLMIE = 16;
+ CHKKLNAMPFO = 17;
+ OLDFLOIHADA = 18;
+}
diff --git a/proto/JJPNBPEMPIF.proto b/proto/JJPNBPEMPIF.proto
new file mode 100644
index 00000000..12dc5623
--- /dev/null
+++ b/proto/JJPNBPEMPIF.proto
@@ -0,0 +1,24 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "PlatformType.proto";
+import "BGAOMPJLJDP.proto";
+
+message JJPNBPEMPIF {
+ repeated uint32 cardIdList = 1;
+ uint32 ccdlgbcdpbp = 2;
+ uint32 faceType = 3;
+ map cardFaceMap = 4;
+ repeated BGAOMPJLJDP challengeList = 5;
+ uint32 score = 6;
+ bool djgeinachoe = 7;
+ uint32 akpeeclcbkp = 8;
+ bool fbldiookpcj = 9;
+ repeated uint32 forbidFinishChallengeList = 10;
+ uint32 level = 11;
+ uint32 clientVersion = 12;
+ PlatformType platformType = 13;
+}
diff --git a/proto/JKJCMOIMBCH.proto b/proto/JKJCMOIMBCH.proto
new file mode 100644
index 00000000..b91bd453
--- /dev/null
+++ b/proto/JKJCMOIMBCH.proto
@@ -0,0 +1,13 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GalleryStopReason.proto";
+
+message JKJCMOIMBCH {
+ uint32 usedTime = 6;
+ string transaction = 5;
+ GalleryStopReason reason = 13;
+}
diff --git a/proto/JLKNGEIBCLM.proto b/proto/JLKNGEIBCLM.proto
new file mode 100644
index 00000000..4d31d7bf
--- /dev/null
+++ b/proto/JLKNGEIBCLM.proto
@@ -0,0 +1,14 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message JLKNGEIBCLM {
+ uint32 uid = 9;
+ uint32 lang = 15;
+ uint64 dungeonGuid = 11;
+ string fecoacjadfm = 7;
+ uint32 timestamp = 13;
+}
diff --git a/proto/JNNGCCMEBPP.proto b/proto/JNNGCCMEBPP.proto
new file mode 100644
index 00000000..a5646e3d
--- /dev/null
+++ b/proto/JNNGCCMEBPP.proto
@@ -0,0 +1,10 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message JNNGCCMEBPP {
+ float jmiipakgola = 1;
+}
diff --git a/proto/JOKCOECFOAK.proto b/proto/JOKCOECFOAK.proto
new file mode 100644
index 00000000..c67e332b
--- /dev/null
+++ b/proto/JOKCOECFOAK.proto
@@ -0,0 +1,10 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message JOKCOECFOAK {
+ repeated uint32 data = 8;
+}
diff --git a/proto/JoinHomeWorldFailNotify.proto b/proto/JoinHomeWorldFailNotify.proto
new file mode 100644
index 00000000..d9cf3d34
--- /dev/null
+++ b/proto/JoinHomeWorldFailNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message JoinHomeWorldFailNotify {
+ //enum MDHIMELFAME {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4567;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 4;
+ uint32 targetUid = 11;
+}
diff --git a/proto/JoinPlayerFailNotify.proto b/proto/JoinPlayerFailNotify.proto
new file mode 100644
index 00000000..2579fad6
--- /dev/null
+++ b/proto/JoinPlayerFailNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message JoinPlayerFailNotify {
+ //enum ANNGNMCDKDB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 271;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 15;
+}
diff --git a/proto/JoinPlayerSceneReq.proto b/proto/JoinPlayerSceneReq.proto
new file mode 100644
index 00000000..63b44675
--- /dev/null
+++ b/proto/JoinPlayerSceneReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message JoinPlayerSceneReq {
+ //enum CJDAGOFPGOJ {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 234;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 targetUid = 1;
+}
diff --git a/proto/JoinPlayerSceneRsp.proto b/proto/JoinPlayerSceneRsp.proto
new file mode 100644
index 00000000..bb8f690b
--- /dev/null
+++ b/proto/JoinPlayerSceneRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message JoinPlayerSceneRsp {
+ //enum KEOPGAKFMKC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 289;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 6;
+}
diff --git a/proto/KANKJCACPOJ.proto b/proto/KANKJCACPOJ.proto
new file mode 100644
index 00000000..4b67844c
--- /dev/null
+++ b/proto/KANKJCACPOJ.proto
@@ -0,0 +1,15 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message KANKJCACPOJ {
+ bool omgkbbbfjli = 13;
+ float gookfcglmjd = 2;
+ float oidmkpmeonj = 6;
+ uint32 avatarId = 7;
+ string bleallaejce = 5;
+ float dfadhemafpn = 3;
+}
diff --git a/proto/KBJPODLFMAB.proto b/proto/KBJPODLFMAB.proto
new file mode 100644
index 00000000..e681a9d4
--- /dev/null
+++ b/proto/KBJPODLFMAB.proto
@@ -0,0 +1,10 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message KBJPODLFMAB {
+ bool mlonppbojpp = 13;
+}
diff --git a/proto/KCBBPDJHHBM.proto b/proto/KCBBPDJHHBM.proto
new file mode 100644
index 00000000..4cceae86
--- /dev/null
+++ b/proto/KCBBPDJHHBM.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "Vector.proto";
+
+message KCBBPDJHHBM {
+ Vector pos = 2;
+ Vector rot = 7;
+}
diff --git a/proto/KCPPELGEJFE.proto b/proto/KCPPELGEJFE.proto
new file mode 100644
index 00000000..8b575067
--- /dev/null
+++ b/proto/KCPPELGEJFE.proto
@@ -0,0 +1,13 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "IDOELHBANCP.proto";
+
+message KCPPELGEJFE {
+ bool ocmpoinejip = 2;
+ bool aicefchaici = 3;
+ repeated IDOELHBANCP kcllbppiboo = 999;
+}
diff --git a/proto/KHIBIMBJOBK.proto b/proto/KHIBIMBJOBK.proto
new file mode 100644
index 00000000..1fbc5424
--- /dev/null
+++ b/proto/KHIBIMBJOBK.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message KHIBIMBJOBK {
+ string createTime = 1;
+ string llbgpfoagln = 2;
+}
diff --git a/proto/KHLCBPCJNGE.proto b/proto/KHLCBPCJNGE.proto
new file mode 100644
index 00000000..0ee53ccb
--- /dev/null
+++ b/proto/KHLCBPCJNGE.proto
@@ -0,0 +1,10 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message KHLCBPCJNGE {
+ uint32 value = 1;
+}
diff --git a/proto/KIEHIGCKOHO.proto b/proto/KIEHIGCKOHO.proto
new file mode 100644
index 00000000..993c6027
--- /dev/null
+++ b/proto/KIEHIGCKOHO.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "IGELBDLLJBJ.proto";
+
+message KIEHIGCKOHO {
+ IGELBDLLJBJ type = 1;
+ int32 y = 2;
+}
diff --git a/proto/KKDMGDMMPIJ.proto b/proto/KKDMGDMMPIJ.proto
new file mode 100644
index 00000000..956c7b9e
--- /dev/null
+++ b/proto/KKDMGDMMPIJ.proto
@@ -0,0 +1,10 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message KKDMGDMMPIJ {
+ bool jpbaeinccjd = 8;
+}
diff --git a/proto/KLBGIPEHAID.proto b/proto/KLBGIPEHAID.proto
new file mode 100644
index 00000000..5ac497a1
--- /dev/null
+++ b/proto/KLBGIPEHAID.proto
@@ -0,0 +1,14 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "Vector.proto";
+
+message KLBGIPEHAID {
+ Vector velocity = 5;
+ Vector faceDir = 10;
+ uint32 entityId = 14;
+ Vector pos = 9;
+}
diff --git a/proto/KLLIHAMBOJN.proto b/proto/KLLIHAMBOJN.proto
new file mode 100644
index 00000000..1c33c8d9
--- /dev/null
+++ b/proto/KLLIHAMBOJN.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "FJMGEBIAMDB.proto";
+
+message KLLIHAMBOJN {
+ string createTime = 1;
+ FJMGEBIAMDB jkfdibhoggm = 2;
+}
diff --git a/proto/KMACCOEKHAI.proto b/proto/KMACCOEKHAI.proto
new file mode 100644
index 00000000..fb13726e
--- /dev/null
+++ b/proto/KMACCOEKHAI.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message KMACCOEKHAI {
+ message DMNHMPLHCPA {
+ repeated int32 gcnpfdenhco = 1;
+ repeated int32 naoofgfgjgo = 2;
+ string emojefinbhd = 3;
+ string hafkhfcfelc = 4;
+ repeated string llcpkmnjblk = 6;
+ }
+
+ repeated DMNHMPLHCPA nahlpfcaihd = 1;
+}
diff --git a/proto/KeepAliveNotify.proto b/proto/KeepAliveNotify.proto
new file mode 100644
index 00000000..230c5101
--- /dev/null
+++ b/proto/KeepAliveNotify.proto
@@ -0,0 +1,17 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message KeepAliveNotify {
+ //enum BILNMHLCBHH {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+}
diff --git a/proto/KeepRotType.proto b/proto/KeepRotType.proto
new file mode 100644
index 00000000..bd42385d
--- /dev/null
+++ b/proto/KeepRotType.proto
@@ -0,0 +1,10 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+enum KeepRotType {
+ KEEP_ROT_TYPE_X = 0;
+ KEEP_ROT_TYPE_XY = 1;
+}
diff --git a/proto/LCDEFNKHMFK.proto b/proto/LCDEFNKHMFK.proto
new file mode 100644
index 00000000..94f9e02d
--- /dev/null
+++ b/proto/LCDEFNKHMFK.proto
@@ -0,0 +1,27 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message LCDEFNKHMFK {
+ uint32 aadgnaadobe = 1;
+ uint32 fagkmbbhpfl = 2;
+ uint32 gnggacnnhig = 3;
+ uint32 lhlgbeidhep = 4;
+ uint32 aicgkbefebp = 5;
+ uint64 dklmobpbgfp = 6;
+ uint32 userId = 11;
+ uint32 bigokakimgc = 12;
+ uint32 iapffgldkck = 13;
+ uint64 njdeohfgkjj = 21;
+ uint32 eoogmldbnin = 22;
+ map ccacaoacpab = 23;
+ uint32 cbooijbgdln = 24;
+ uint32 aenklljhcfb = 31;
+ uint32 kmkajhdleoi = 32;
+ map jneoehhaiem = 33;
+ bool kkglifckcbf = 34;
+ uint32 oclnhjfjoio = 35;
+}
diff --git a/proto/LHIBCFCHIHG.proto b/proto/LHIBCFCHIHG.proto
new file mode 100644
index 00000000..0273c026
--- /dev/null
+++ b/proto/LHIBCFCHIHG.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "IDGMFMNDIBC.proto";
+import "NOJMHFDCPFH.proto";
+import "GJBKGONOBJD.proto";
+
+message LHIBCFCHIHG {
+ uint64 dungeonGuid = 1;
+ uint32 dungeonId = 2;
+ string creatorNickname = 3;
+ repeated uint32 tagList = 4;
+ IDGMFMNDIBC setting = 5;
+ NOJMHFDCPFH abstract = 6;
+ GJBKGONOBJD social = 7;
+}
diff --git a/proto/LJEHEDLADBA.proto b/proto/LJEHEDLADBA.proto
new file mode 100644
index 00000000..7d331abc
--- /dev/null
+++ b/proto/LJEHEDLADBA.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message LJEHEDLADBA {
+ repeated uint32 nlfekmmbdfh = 12;
+ repeated uint32 hogkpoggoop = 11;
+}
diff --git a/proto/LJGFPJKMGDO.proto b/proto/LJGFPJKMGDO.proto
new file mode 100644
index 00000000..c7705ce1
--- /dev/null
+++ b/proto/LJGFPJKMGDO.proto
@@ -0,0 +1,10 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message LJGFPJKMGDO {
+ int32 value = 1;
+}
diff --git a/proto/LLIJLJFHGBD.proto b/proto/LLIJLJFHGBD.proto
new file mode 100644
index 00000000..ba3e3e26
--- /dev/null
+++ b/proto/LLIJLJFHGBD.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "JDOFLKLCIKI.proto";
+import "PLDKICHAHEB.proto";
+
+message LLIJLJFHGBD {
+ JDOFLKLCIKI kmenmhalbfc = 1;
+ int32 daehjagbjbl = 3;
+ string createTime = 4;
+ string hmnbpjgckgn = 6;
+ int32 eemaljenfdh = 7;
+ bool nihndjkngei = 8;
+ repeated PLDKICHAHEB jkfdibhoggm = 9;
+ string npaoooeccdm = 10;
+ string kppiclokhkf = 11;
+}
diff --git a/proto/LLPPPKBGMLN.proto b/proto/LLPPPKBGMLN.proto
new file mode 100644
index 00000000..85db8152
--- /dev/null
+++ b/proto/LLPPPKBGMLN.proto
@@ -0,0 +1,10 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message LLPPPKBGMLN {
+ uint32 ijfdcpilpno = 14;
+}
diff --git a/proto/LOOBJODJJFP.proto b/proto/LOOBJODJJFP.proto
new file mode 100644
index 00000000..85f242a4
--- /dev/null
+++ b/proto/LOOBJODJJFP.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "Vector.proto";
+
+message LOOBJODJJFP {
+ Vector spawnPos = 15;
+ uint32 guid = 8;
+}
diff --git a/proto/LanV3BoatGameStartSingleReq.proto b/proto/LanV3BoatGameStartSingleReq.proto
new file mode 100644
index 00000000..2fe211e4
--- /dev/null
+++ b/proto/LanV3BoatGameStartSingleReq.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message LanV3BoatGameStartSingleReq {
+ //enum NPAJPHCJGCC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 21556;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+}
diff --git a/proto/LanV3BoatGameStartSingleRsp.proto b/proto/LanV3BoatGameStartSingleRsp.proto
new file mode 100644
index 00000000..fd6b1e1f
--- /dev/null
+++ b/proto/LanV3BoatGameStartSingleRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message LanV3BoatGameStartSingleRsp {
+ //enum ABHBJGCGKIC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 23055;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 5;
+}
diff --git a/proto/LanV3BoatGameTransferFinishNotify.proto b/proto/LanV3BoatGameTransferFinishNotify.proto
new file mode 100644
index 00000000..a5ef6131
--- /dev/null
+++ b/proto/LanV3BoatGameTransferFinishNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message LanV3BoatGameTransferFinishNotify {
+ //enum PFJCBLLEFGB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 20696;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ bool bllclajlijb = 14;
+}
diff --git a/proto/LanV3BoatInfo.proto b/proto/LanV3BoatInfo.proto
new file mode 100644
index 00000000..5e60d751
--- /dev/null
+++ b/proto/LanV3BoatInfo.proto
@@ -0,0 +1,13 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message LanV3BoatInfo {
+ repeated uint32 playerUidList = 4;
+ uint32 matchId = 11;
+ uint32 mapId = 15;
+ bool mdpgfcplekf = 8;
+}
diff --git a/proto/LanV3BoatInterruptSettleStageReq.proto b/proto/LanV3BoatInterruptSettleStageReq.proto
new file mode 100644
index 00000000..b29858f3
--- /dev/null
+++ b/proto/LanV3BoatInterruptSettleStageReq.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message LanV3BoatInterruptSettleStageReq {
+ //enum FBBNFMEDDHO {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 24752;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+}
diff --git a/proto/LanV3BoatInterruptSettleStageRsp.proto b/proto/LanV3BoatInterruptSettleStageRsp.proto
new file mode 100644
index 00000000..f4853a72
--- /dev/null
+++ b/proto/LanV3BoatInterruptSettleStageRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message LanV3BoatInterruptSettleStageRsp {
+ //enum KAPOBAMFPML {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 20568;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 5;
+}
diff --git a/proto/LanV3RaceRestartReq.proto b/proto/LanV3RaceRestartReq.proto
new file mode 100644
index 00000000..e7997574
--- /dev/null
+++ b/proto/LanV3RaceRestartReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message LanV3RaceRestartReq {
+ //enum CFHINOHGIPO {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 23737;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 galleryId = 10;
+}
diff --git a/proto/LanV3RaceRestartRsp.proto b/proto/LanV3RaceRestartRsp.proto
new file mode 100644
index 00000000..e035be02
--- /dev/null
+++ b/proto/LanV3RaceRestartRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message LanV3RaceRestartRsp {
+ //enum LMNKAFDDKHB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 21596;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 galleryId = 12;
+ int32 retcode = 9;
+}
diff --git a/proto/LanV3RaceSettleNotify.proto b/proto/LanV3RaceSettleNotify.proto
new file mode 100644
index 00000000..baabce59
--- /dev/null
+++ b/proto/LanV3RaceSettleNotify.proto
@@ -0,0 +1,25 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message LanV3RaceSettleNotify {
+ //enum PCKFCBDIILI {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 23477;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ bool isNewRecord = 3;
+ uint32 score = 8;
+ uint32 galleryId = 9;
+ uint32 Unk3300_OHAHHKNAJKL = 15;
+ bool isSuccess = 7;
+ uint32 levelId = 14;
+ uint32 Unk3300_IPGJKKFDPJJ = 11;
+ uint32 remainTime = 5;
+}
diff --git a/proto/LanV3ShadowFinishLevelReq.proto b/proto/LanV3ShadowFinishLevelReq.proto
new file mode 100644
index 00000000..cbdfbe18
--- /dev/null
+++ b/proto/LanV3ShadowFinishLevelReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message LanV3ShadowFinishLevelReq {
+ //enum GDKHCIJMJLF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 23802;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 finishTime = 7;
+ uint32 levelId = 6;
+}
diff --git a/proto/LanV3ShadowFinishLevelRsp.proto b/proto/LanV3ShadowFinishLevelRsp.proto
new file mode 100644
index 00000000..05d2e72a
--- /dev/null
+++ b/proto/LanV3ShadowFinishLevelRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message LanV3ShadowFinishLevelRsp {
+ //enum NNAIPBAHOBB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 23853;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 14;
+}
diff --git a/proto/LanternRiteDoFireworksReformReq.proto b/proto/LanternRiteDoFireworksReformReq.proto
new file mode 100644
index 00000000..cbb4b5b5
--- /dev/null
+++ b/proto/LanternRiteDoFireworksReformReq.proto
@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message LanternRiteDoFireworksReformReq {
+ //enum GDJEHDMKHDB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8813;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 challengeId = 14;
+ uint32 stageId = 10;
+ uint32 factorId = 15;
+ uint32 skillId = 9;
+}
diff --git a/proto/LanternRiteDoFireworksReformRsp.proto b/proto/LanternRiteDoFireworksReformRsp.proto
new file mode 100644
index 00000000..cbb854a1
--- /dev/null
+++ b/proto/LanternRiteDoFireworksReformRsp.proto
@@ -0,0 +1,27 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "LanternRiteFireworksReformFactorInfo.proto";
+
+message LanternRiteDoFireworksReformRsp {
+ //enum GELFHIBPPJG {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8644;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 Unk3300_BJHGCFANMBI = 3;
+ bool isLucky = 7;
+ repeated LanternRiteFireworksReformFactorInfo factorInfoList = 6;
+ uint32 stageId = 1;
+ uint32 challengeId = 9;
+ uint32 Unk3300_OMHPIGGDCBO = 5;
+ uint32 Unk3300_LKKBPAJOCML = 14;
+ uint32 Unk3300_LKOFBPDKEGG = 2;
+ int32 retcode = 12;
+}
diff --git a/proto/LanternRiteEndFireworksReformReq.proto b/proto/LanternRiteEndFireworksReformReq.proto
new file mode 100644
index 00000000..a00b8237
--- /dev/null
+++ b/proto/LanternRiteEndFireworksReformReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message LanternRiteEndFireworksReformReq {
+ //enum HBEDLOEIBNL {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8437;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 stageId = 4;
+ uint32 challengeId = 8;
+}
diff --git a/proto/LanternRiteEndFireworksReformRsp.proto b/proto/LanternRiteEndFireworksReformRsp.proto
new file mode 100644
index 00000000..6570a0c3
--- /dev/null
+++ b/proto/LanternRiteEndFireworksReformRsp.proto
@@ -0,0 +1,26 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message LanternRiteEndFireworksReformRsp {
+ //enum MKOEMHKPEPC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8114;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 finalScore = 8;
+ uint32 challengeId = 10;
+ uint32 stageId = 9;
+ bool Unk3300_ALMNEGCIILA = 6;
+ bool isFullScore = 4;
+ int32 retcode = 13;
+ bool Unk3300_FPEFIADFBNI = 7;
+ bool Unk3300_CGJNBGAKFAD = 11;
+ bool isNewRecord = 12;
+}
diff --git a/proto/LanternRiteFireworksReformFactorInfo.proto b/proto/LanternRiteFireworksReformFactorInfo.proto
new file mode 100644
index 00000000..572a9d74
--- /dev/null
+++ b/proto/LanternRiteFireworksReformFactorInfo.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message LanternRiteFireworksReformFactorInfo {
+ uint32 factorId = 1;
+ uint32 factorValue = 4;
+}
diff --git a/proto/LanternRiteFireworksReformSkillInfo.proto b/proto/LanternRiteFireworksReformSkillInfo.proto
new file mode 100644
index 00000000..e04ab3eb
--- /dev/null
+++ b/proto/LanternRiteFireworksReformSkillInfo.proto
@@ -0,0 +1,13 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message LanternRiteFireworksReformSkillInfo {
+ bool isUnlock = 10;
+ uint32 Unk3300_IEPBAPJHLEI = 6;
+ uint32 Unk3300_EDPPFFFLFGG = 11;
+ uint32 skillId = 3;
+}
diff --git a/proto/LanternRiteStartFireworksReformReq.proto b/proto/LanternRiteStartFireworksReformReq.proto
new file mode 100644
index 00000000..4a9cbc05
--- /dev/null
+++ b/proto/LanternRiteStartFireworksReformReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message LanternRiteStartFireworksReformReq {
+ //enum MCPBOJNPPAE {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8874;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 challengeId = 12;
+ uint32 stageId = 11;
+}
diff --git a/proto/LanternRiteStartFireworksReformRsp.proto b/proto/LanternRiteStartFireworksReformRsp.proto
new file mode 100644
index 00000000..234ad339
--- /dev/null
+++ b/proto/LanternRiteStartFireworksReformRsp.proto
@@ -0,0 +1,28 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "LanternRiteFireworksReformFactorInfo.proto";
+import "LanternRiteFireworksReformSkillInfo.proto";
+
+message LanternRiteStartFireworksReformRsp {
+ //enum JFGLKEFKPDB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8757;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 Unk3300_LKOFBPDKEGG = 2;
+ uint32 Unk3300_OMHPIGGDCBO = 7;
+ repeated LanternRiteFireworksReformFactorInfo factorInfoList = 1;
+ uint32 challengeId = 12;
+ uint32 Unk3300_BJHGCFANMBI = 11;
+ uint32 Unk3300_LKKBPAJOCML = 14;
+ uint32 stageId = 4;
+ int32 retcode = 10;
+ repeated LanternRiteFireworksReformSkillInfo skillInfoList = 15;
+}
diff --git a/proto/LanternRiteTakeSkinRewardReq.proto b/proto/LanternRiteTakeSkinRewardReq.proto
new file mode 100644
index 00000000..3f558f7f
--- /dev/null
+++ b/proto/LanternRiteTakeSkinRewardReq.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message LanternRiteTakeSkinRewardReq {
+ //enum DGMIHPDFGJB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8307;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+}
diff --git a/proto/LanternRiteTakeSkinRewardRsp.proto b/proto/LanternRiteTakeSkinRewardRsp.proto
new file mode 100644
index 00000000..f9a3e285
--- /dev/null
+++ b/proto/LanternRiteTakeSkinRewardRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message LanternRiteTakeSkinRewardRsp {
+ //enum FDBAODFCEAN {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8672;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 4;
+}
diff --git a/proto/LastPacketPrintNotify.proto b/proto/LastPacketPrintNotify.proto
new file mode 100644
index 00000000..4d181f18
--- /dev/null
+++ b/proto/LastPacketPrintNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message LastPacketPrintNotify {
+ //enum COABLAEMCDK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 28;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+}
diff --git a/proto/LaunchFireworksReq.proto b/proto/LaunchFireworksReq.proto
new file mode 100644
index 00000000..1e968c74
--- /dev/null
+++ b/proto/LaunchFireworksReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "FireworksLaunchSchemeData.proto";
+
+message LaunchFireworksReq {
+ //enum MCIHLAOBBDE {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5921;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ FireworksLaunchSchemeData schemeData = 1;
+}
diff --git a/proto/LaunchFireworksRsp.proto b/proto/LaunchFireworksRsp.proto
new file mode 100644
index 00000000..a87611aa
--- /dev/null
+++ b/proto/LaunchFireworksRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message LaunchFireworksRsp {
+ //enum APCODPGHKBM {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5952;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 9;
+}
diff --git a/proto/LeaveSceneReq.proto b/proto/LeaveSceneReq.proto
new file mode 100644
index 00000000..d9cd5f2c
--- /dev/null
+++ b/proto/LeaveSceneReq.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message LeaveSceneReq {
+ //enum HNCKCBIMCPL {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 255;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+}
diff --git a/proto/LeaveSceneRsp.proto b/proto/LeaveSceneRsp.proto
new file mode 100644
index 00000000..2a655092
--- /dev/null
+++ b/proto/LeaveSceneRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message LeaveSceneRsp {
+ //enum LMHNKPGJEDJ {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 287;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 7;
+}
diff --git a/proto/LeaveWorldNotify.proto b/proto/LeaveWorldNotify.proto
new file mode 100644
index 00000000..5b45ea0a
--- /dev/null
+++ b/proto/LeaveWorldNotify.proto
@@ -0,0 +1,17 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message LeaveWorldNotify {
+ //enum DKJKMLDICGH {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 3445;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+}
diff --git a/proto/LevelTagDataNotify.proto b/proto/LevelTagDataNotify.proto
new file mode 100644
index 00000000..c9f5a512
--- /dev/null
+++ b/proto/LevelTagDataNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message LevelTagDataNotify {
+ //enum BACNBMAAAFE {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 3061;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ repeated uint32 levelTagIdList = 11;
+}
diff --git a/proto/LevelupCityReq.proto b/proto/LevelupCityReq.proto
new file mode 100644
index 00000000..54e2c32d
--- /dev/null
+++ b/proto/LevelupCityReq.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message LevelupCityReq {
+ //enum HJKHCLPEMCB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 295;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 sceneId = 14;
+ uint32 itemNum = 8;
+ uint32 areaId = 13;
+}
diff --git a/proto/LevelupCityRsp.proto b/proto/LevelupCityRsp.proto
new file mode 100644
index 00000000..0d3a46a8
--- /dev/null
+++ b/proto/LevelupCityRsp.proto
@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "CityInfo.proto";
+
+message LevelupCityRsp {
+ //enum FGKCEFOMGIP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 267;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 2;
+ CityInfo cityInfo = 15;
+ uint32 areaId = 12;
+ uint32 sceneId = 3;
+}
diff --git a/proto/LikeCustomDungeonReq.proto b/proto/LikeCustomDungeonReq.proto
new file mode 100644
index 00000000..2bbdc279
--- /dev/null
+++ b/proto/LikeCustomDungeonReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message LikeCustomDungeonReq {
+ //enum FJKNNHEBBNI {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 6229;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ bool isCancelLike = 15;
+ uint64 dungeonGuid = 5;
+}
diff --git a/proto/LikeCustomDungeonRsp.proto b/proto/LikeCustomDungeonRsp.proto
new file mode 100644
index 00000000..5661ab91
--- /dev/null
+++ b/proto/LikeCustomDungeonRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message LikeCustomDungeonRsp {
+ //enum MHBFDAAGFJE {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 6218;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 1;
+}
diff --git a/proto/LiveEndNotify.proto b/proto/LiveEndNotify.proto
new file mode 100644
index 00000000..2ba9c95d
--- /dev/null
+++ b/proto/LiveEndNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message LiveEndNotify {
+ //enum PPJIJEFALGH {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 885;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 liveId = 7;
+}
diff --git a/proto/LiveStartNotify.proto b/proto/LiveStartNotify.proto
new file mode 100644
index 00000000..b1eb0f4f
--- /dev/null
+++ b/proto/LiveStartNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message LiveStartNotify {
+ //enum NPIDEEGPABN {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 873;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 liveId = 10;
+}
diff --git a/proto/LoadActivityTerrainNotify.proto b/proto/LoadActivityTerrainNotify.proto
new file mode 100644
index 00000000..535eb8da
--- /dev/null
+++ b/proto/LoadActivityTerrainNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message LoadActivityTerrainNotify {
+ //enum MEANDDONPMP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2006;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 activityId = 3;
+}
diff --git a/proto/LuaEnvironmentEffectNotify.proto b/proto/LuaEnvironmentEffectNotify.proto
new file mode 100644
index 00000000..735b6d3e
--- /dev/null
+++ b/proto/LuaEnvironmentEffectNotify.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message LuaEnvironmentEffectNotify {
+ //enum GGHOPBJMDIP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 3240;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 type = 14;
+ repeated float floatParamList = 12;
+ string effectAlias = 13;
+ repeated int32 intParamList = 1;
+}
diff --git a/proto/LuaOptionType.proto b/proto/LuaOptionType.proto
new file mode 100644
index 00000000..f959aae6
--- /dev/null
+++ b/proto/LuaOptionType.proto
@@ -0,0 +1,10 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+enum LuaOptionType {
+ LUA_OPTION_TYPE_NONE = 0;
+ LUA_OPTION_TYPE_PLAYER_INPUT = 1;
+}
diff --git a/proto/LuaSetOptionNotify.proto b/proto/LuaSetOptionNotify.proto
new file mode 100644
index 00000000..f9ec8c39
--- /dev/null
+++ b/proto/LuaSetOptionNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "LuaOptionType.proto";
+
+message LuaSetOptionNotify {
+ //enum LEAGHMADJLM {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 395;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ string luaSetParam = 4;
+ LuaOptionType optionType = 14;
+}
diff --git a/proto/LuaShellType.proto b/proto/LuaShellType.proto
new file mode 100644
index 00000000..f5e8aaf6
--- /dev/null
+++ b/proto/LuaShellType.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+enum LuaShellType {
+ LUA_SHELL_TYPE_LUASHELL_NONE = 0;
+ LUA_SHELL_TYPE_LUASHELL_NORMAL = 1;
+ LUA_SHELL_TYPE_LUASHELL_SECURITY = 2;
+ LUA_SHELL_TYPE_LUASHELL_SHELL_CODE = 3;
+}
diff --git a/proto/LuminanceStoneChallengeActivityDetailInfo.proto b/proto/LuminanceStoneChallengeActivityDetailInfo.proto
new file mode 100644
index 00000000..293cbef2
--- /dev/null
+++ b/proto/LuminanceStoneChallengeActivityDetailInfo.proto
@@ -0,0 +1,13 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message LuminanceStoneChallengeActivityDetailInfo {
+ uint32 bestScore = 10;
+ bool gnelkoiilec = 12;
+ bool leftMonsters = 4;
+ uint32 bkcaehmieec = 11;
+}
diff --git a/proto/LuminanceStoneChallengeGallerySettleInfo.proto b/proto/LuminanceStoneChallengeGallerySettleInfo.proto
new file mode 100644
index 00000000..feb1b446
--- /dev/null
+++ b/proto/LuminanceStoneChallengeGallerySettleInfo.proto
@@ -0,0 +1,16 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GalleryStopReason.proto";
+
+message LuminanceStoneChallengeGallerySettleInfo {
+ uint32 cleanMudCount = 15;
+ uint32 galleryId = 11;
+ GalleryStopReason reason = 9;
+ uint32 killMonsterCount = 6;
+ uint32 killSpecialMonsterCount = 4;
+ uint32 finalScore = 5;
+}
diff --git a/proto/LuminanceStoneChallengeSettleInfo.proto b/proto/LuminanceStoneChallengeSettleInfo.proto
new file mode 100644
index 00000000..4ddf11d0
--- /dev/null
+++ b/proto/LuminanceStoneChallengeSettleInfo.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "LuminanceStoneChallengeGallerySettleInfo.proto";
+
+message LuminanceStoneChallengeSettleInfo {
+ bool isNewRecord = 8;
+ LuminanceStoneChallengeGallerySettleInfo settleInfo = 11;
+}
diff --git a/proto/LuminanceStoneChallengeSettleNotify.proto b/proto/LuminanceStoneChallengeSettleNotify.proto
new file mode 100644
index 00000000..98802f99
--- /dev/null
+++ b/proto/LuminanceStoneChallengeSettleNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "LuminanceStoneChallengeSettleInfo.proto";
+
+message LuminanceStoneChallengeSettleNotify {
+ //enum LFELJALAFIG {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8545;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ LuminanceStoneChallengeSettleInfo settleInfo = 1;
+ uint32 galleryId = 14;
+}
diff --git a/proto/LunaRiteAreaFinishNotify.proto b/proto/LunaRiteAreaFinishNotify.proto
new file mode 100644
index 00000000..2612e7ac
--- /dev/null
+++ b/proto/LunaRiteAreaFinishNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message LunaRiteAreaFinishNotify {
+ //enum GGDKPPMPPNL {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8711;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 areaId = 12;
+}
diff --git a/proto/LunaRiteDetailInfo.proto b/proto/LunaRiteDetailInfo.proto
new file mode 100644
index 00000000..4d082c34
--- /dev/null
+++ b/proto/LunaRiteDetailInfo.proto
@@ -0,0 +1,13 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "LunaRiteHintPoint.proto";
+import "LunaRiteAreaInfo.proto";
+
+message LunaRiteDetailInfo {
+ repeated LunaRiteHintPoint hintPoint = 8;
+ repeated LunaRiteAreaInfo areaInfoList = 9;
+}
diff --git a/proto/LunaRiteGroupBundleRegisterNotify.proto b/proto/LunaRiteGroupBundleRegisterNotify.proto
new file mode 100644
index 00000000..935aeafa
--- /dev/null
+++ b/proto/LunaRiteGroupBundleRegisterNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message LunaRiteGroupBundleRegisterNotify {
+ //enum MEECFPEFAJP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8078;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 groupLinkBundleId = 14;
+}
diff --git a/proto/LunaRiteHintPointRemoveNotify.proto b/proto/LunaRiteHintPointRemoveNotify.proto
new file mode 100644
index 00000000..f90aeb38
--- /dev/null
+++ b/proto/LunaRiteHintPointRemoveNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message LunaRiteHintPointRemoveNotify {
+ //enum NCNBEBFEFNC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8181;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ repeated uint32 hintPointIndex = 2;
+}
diff --git a/proto/LunaRiteHintPointReq.proto b/proto/LunaRiteHintPointReq.proto
new file mode 100644
index 00000000..021dad9f
--- /dev/null
+++ b/proto/LunaRiteHintPointReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message LunaRiteHintPointReq {
+ //enum DLDFIKLGOCI {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8859;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 areaId = 5;
+}
diff --git a/proto/LunaRiteHintPointRsp.proto b/proto/LunaRiteHintPointRsp.proto
new file mode 100644
index 00000000..ec6ae143
--- /dev/null
+++ b/proto/LunaRiteHintPointRsp.proto
@@ -0,0 +1,24 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "LunaRiteHintStatusType.proto";
+import "LunaRiteHintPoint.proto";
+
+message LunaRiteHintPointRsp {
+ //enum BCLKIMFOOFB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8361;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ int32 retcode = 1;
+ uint32 areaId = 5;
+ LunaRiteHintStatusType hintStatus = 3;
+ repeated LunaRiteHintPoint hintPoint = 12;
+}
diff --git a/proto/LunaRiteSacrificeReq.proto b/proto/LunaRiteSacrificeReq.proto
new file mode 100644
index 00000000..62e8b831
--- /dev/null
+++ b/proto/LunaRiteSacrificeReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message LunaRiteSacrificeReq {
+ //enum GLLKONDGMNG {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8743;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 index = 3;
+ uint32 areaId = 2;
+}
diff --git a/proto/LunaRiteSacrificeRsp.proto b/proto/LunaRiteSacrificeRsp.proto
new file mode 100644
index 00000000..f0e4ba99
--- /dev/null
+++ b/proto/LunaRiteSacrificeRsp.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message LunaRiteSacrificeRsp {
+ //enum OFPFNGEPHLD {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8324;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 8;
+ uint32 areaId = 13;
+ uint32 index = 7;
+ repeated uint32 sacrificeList = 9;
+}
diff --git a/proto/LunaRiteTakeSacrificeRewardReq.proto b/proto/LunaRiteTakeSacrificeRewardReq.proto
new file mode 100644
index 00000000..14540120
--- /dev/null
+++ b/proto/LunaRiteTakeSacrificeRewardReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message LunaRiteTakeSacrificeRewardReq {
+ //enum JNIHBDAJLDI {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8152;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 index = 10;
+ uint32 areaId = 5;
+}
diff --git a/proto/LunaRiteTakeSacrificeRewardRsp.proto b/proto/LunaRiteTakeSacrificeRewardRsp.proto
new file mode 100644
index 00000000..165c70ba
--- /dev/null
+++ b/proto/LunaRiteTakeSacrificeRewardRsp.proto
@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message LunaRiteTakeSacrificeRewardRsp {
+ //enum PFFGLMMPNDM {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8806;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 15;
+ uint32 sacrificeRewardIndex = 13;
+ uint32 areaId = 8;
+ uint32 index = 2;
+ repeated uint32 sacrificeRewardList = 14;
+}
diff --git a/proto/MCFGDLPGEFD.proto b/proto/MCFGDLPGEFD.proto
new file mode 100644
index 00000000..84dadc64
--- /dev/null
+++ b/proto/MCFGDLPGEFD.proto
@@ -0,0 +1,10 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message MCFGDLPGEFD {
+ uint32 dnjogbbalgg = 15;
+}
diff --git a/proto/MDLMFKBDKKK.proto b/proto/MDLMFKBDKKK.proto
new file mode 100644
index 00000000..ba40dfa2
--- /dev/null
+++ b/proto/MDLMFKBDKKK.proto
@@ -0,0 +1,9 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message MDLMFKBDKKK {
+}
diff --git a/proto/MFMBKHBBIHG.proto b/proto/MFMBKHBBIHG.proto
new file mode 100644
index 00000000..aecc14ab
--- /dev/null
+++ b/proto/MFMBKHBBIHG.proto
@@ -0,0 +1,15 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message MFMBKHBBIHG {
+ string actionType = 1;
+ string eihhphgagke = 2;
+ uint32 nbefdipkjbd = 3;
+ string fkncgjlkmef = 4;
+ uint32 gdeakhcppgc = 5;
+ string agidilehddc = 6;
+}
diff --git a/proto/MGKFOCKHAHI.proto b/proto/MGKFOCKHAHI.proto
new file mode 100644
index 00000000..54358951
--- /dev/null
+++ b/proto/MGKFOCKHAHI.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message MGKFOCKHAHI {
+ string type = 1;
+ string content = 2;
+ uint32 hkaefdkoeji = 3;
+}
diff --git a/proto/MGODDIJNABC.proto b/proto/MGODDIJNABC.proto
new file mode 100644
index 00000000..98ea3700
--- /dev/null
+++ b/proto/MGODDIJNABC.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "Vector.proto";
+
+message MGODDIJNABC {
+ uint32 entityId = 2;
+ float ahakcfcglah = 14;
+ float speed = 10;
+ repeated uint32 ngkifhhgeji = 7;
+ string ddgbmfnfahg = 12;
+ float akokbobpiei = 5;
+ bool kafblnnckhe = 4;
+ Vector eknhofiihcl = 3;
+ bool mibdohmpbej = 13;
+}
diff --git a/proto/MHAOLEJOJJL.proto b/proto/MHAOLEJOJJL.proto
new file mode 100644
index 00000000..d3587036
--- /dev/null
+++ b/proto/MHAOLEJOJJL.proto
@@ -0,0 +1,24 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "AbilityAttachedModifier.proto";
+import "AbilityString.proto";
+import "AGGICDIEHNL.proto";
+import "DJOOIPGJPFC.proto";
+
+message MHAOLEJOJJL {
+ uint32 applyEntityId = 8;
+ AbilityAttachedModifier attachedInstancedModifier = 7;
+ bool eailnhcpjaf = 1;
+ repeated DJOOIPGJPFC idobigdgghp = 13;
+ AbilityString parentAbilityName = 10;
+ AbilityString parentAbilityOverride = 5;
+ bool fhmcocfmfik = 11;
+ bool isAttachedParentAbility = 3;
+ uint32 serverBuffUid = 9;
+ int32 modifierLocalId = 6;
+ AGGICDIEHNL henpegmkbie = 2;
+}
diff --git a/proto/MMJFCJAIBBG.proto b/proto/MMJFCJAIBBG.proto
new file mode 100644
index 00000000..b95634d0
--- /dev/null
+++ b/proto/MMJFCJAIBBG.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message MMJFCJAIBBG {
+ string createTime = 1;
+ string value = 2;
+}
diff --git a/proto/MODKOILPBDN.proto b/proto/MODKOILPBDN.proto
new file mode 100644
index 00000000..f8519fd9
--- /dev/null
+++ b/proto/MODKOILPBDN.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "LHIBCFCHIHG.proto";
+
+message MODKOILPBDN {
+ repeated LHIBCFCHIHG briefList = 1;
+}
diff --git a/proto/MOELDICDLJM.proto b/proto/MOELDICDLJM.proto
new file mode 100644
index 00000000..4b11a2bf
--- /dev/null
+++ b/proto/MOELDICDLJM.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "POEDEDPKGPH.proto";
+import "MMJFCJAIBBG.proto";
+
+message MOELDICDLJM {
+ string oiibnieamib = 1;
+ string entityId = 2;
+ string lang = 3;
+ string khjppnapjib = 4;
+ string fecoacjadfm = 5;
+ uint32 uid = 6;
+ repeated POEDEDPKGPH fcjijbicndj = 7;
+ repeated MMJFCJAIBBG pmbjacpclfc = 8;
+}
diff --git a/proto/MPMJBKDBLNE.proto b/proto/MPMJBKDBLNE.proto
new file mode 100644
index 00000000..9d7d6db9
--- /dev/null
+++ b/proto/MPMJBKDBLNE.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+enum MPMJBKDBLNE {
+ KKAAJJMHHMJ = 0;
+ NOOJLHLJBLA = 1;
+ PFOCJJJODLJ = 2;
+}
diff --git a/proto/MainCoop.proto b/proto/MainCoop.proto
new file mode 100644
index 00000000..97a8e0e3
--- /dev/null
+++ b/proto/MainCoop.proto
@@ -0,0 +1,17 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "Status.proto";
+
+message MainCoop {
+ uint32 selfConfidence = 3;
+ repeated uint32 savePointIdList = 6;
+ uint32 id = 15;
+ map normalVarMap = 12;
+ Status status = 8;
+ map tempVarMap = 2;
+ map seenEndingMap = 4;
+}
diff --git a/proto/MainCoopFailNotify.proto b/proto/MainCoopFailNotify.proto
new file mode 100644
index 00000000..8a88e873
--- /dev/null
+++ b/proto/MainCoopFailNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message MainCoopFailNotify {
+ //enum KOGKDCGMHFO {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 1976;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ string textmapId = 4;
+ uint32 chapterId = 13;
+}
diff --git a/proto/MainCoopUpdateNotify.proto b/proto/MainCoopUpdateNotify.proto
new file mode 100644
index 00000000..04f9c415
--- /dev/null
+++ b/proto/MainCoopUpdateNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "MainCoop.proto";
+
+message MainCoopUpdateNotify {
+ //enum JOAFDEMHCJO {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 1995;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated MainCoop mainCoopList = 5;
+}
diff --git a/proto/MapAreaChangeNotify.proto b/proto/MapAreaChangeNotify.proto
new file mode 100644
index 00000000..ea87ffeb
--- /dev/null
+++ b/proto/MapAreaChangeNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "MapAreaInfo.proto";
+
+message MapAreaChangeNotify {
+ //enum KNMGJNPBOGF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 3049;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated MapAreaInfo mapAreaInfoList = 10;
+}
diff --git a/proto/MapAreaInfo.proto b/proto/MapAreaInfo.proto
new file mode 100644
index 00000000..95c62eb5
--- /dev/null
+++ b/proto/MapAreaInfo.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message MapAreaInfo {
+ uint32 mapAreaId = 1;
+ bool isOpen = 2;
+}
diff --git a/proto/MapMarkTipsInfo.proto b/proto/MapMarkTipsInfo.proto
new file mode 100644
index 00000000..6696dc92
--- /dev/null
+++ b/proto/MapMarkTipsInfo.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "MapMarkTipsType.proto";
+
+message MapMarkTipsInfo {
+ MapMarkTipsType tipsType = 1;
+ repeated uint32 pointIdList = 2;
+}
diff --git a/proto/MapMarkTipsType.proto b/proto/MapMarkTipsType.proto
new file mode 100644
index 00000000..aa76b783
--- /dev/null
+++ b/proto/MapMarkTipsType.proto
@@ -0,0 +1,9 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+enum MapMarkTipsType {
+ MAP_MARK_TIPS_TYPE_DUNGEON_ELEMENT_TRIAL = 0;
+}
diff --git a/proto/MarkEntityInMinMapNotify.proto b/proto/MarkEntityInMinMapNotify.proto
new file mode 100644
index 00000000..91a0bc4d
--- /dev/null
+++ b/proto/MarkEntityInMinMapNotify.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "Vector.proto";
+
+message MarkEntityInMinMapNotify {
+ //enum CAEKOFFNIBF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 263;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 monsterId = 12;
+ uint32 entityId = 3;
+ Vector position = 13;
+}
diff --git a/proto/MassiveEntityElementOpBatchNotify.proto b/proto/MassiveEntityElementOpBatchNotify.proto
new file mode 100644
index 00000000..f55a6813
--- /dev/null
+++ b/proto/MassiveEntityElementOpBatchNotify.proto
@@ -0,0 +1,31 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ShapeSphere.proto";
+import "ShapeBox.proto";
+
+message MassiveEntityElementOpBatchNotify {
+ //enum OMOHMOHBBMC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 390;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ float attackElementDurability = 6;
+ int32 Unk3300_KNLDJPEMCKP = 9;
+ int32 Unk3300_PNANGDNNFCH = 11;
+ uint32 attackerId = 10;
+ uint32 userId = 4;
+ int32 entityType = 2;
+ oneof check_shape {
+ ShapeSphere shape_sphere = 7;
+ ShapeBox shape_box = 8;
+ }
+ uint32 opIdx = 1;
+}
diff --git a/proto/MassiveEntityState.proto b/proto/MassiveEntityState.proto
new file mode 100644
index 00000000..00a4c3cb
--- /dev/null
+++ b/proto/MassiveEntityState.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message MassiveEntityState {
+ uint32 entityType = 1;
+ int64 objId = 2;
+ uint32 elementState = 3;
+}
diff --git a/proto/MassiveEntityStateChangedNotify.proto b/proto/MassiveEntityStateChangedNotify.proto
new file mode 100644
index 00000000..81042183
--- /dev/null
+++ b/proto/MassiveEntityStateChangedNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "MassiveEntityState.proto";
+
+message MassiveEntityStateChangedNotify {
+ //enum LEDCNCPHMLC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 379;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ repeated MassiveEntityState massiveEntityStateList = 5;
+}
diff --git a/proto/MatchPlayerInfo.proto b/proto/MatchPlayerInfo.proto
new file mode 100644
index 00000000..ab50fb15
--- /dev/null
+++ b/proto/MatchPlayerInfo.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "OnlinePlayerInfo.proto";
+
+message MatchPlayerInfo {
+ bool isAgreed = 11;
+ OnlinePlayerInfo playerInfo = 4;
+}
diff --git a/proto/MatchReason.proto b/proto/MatchReason.proto
new file mode 100644
index 00000000..383969e1
--- /dev/null
+++ b/proto/MatchReason.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+enum MatchReason {
+ MATCH_REASON_NONE = 0;
+ MATCH_REASON_FINISH = 1;
+ MATCH_REASON_PLAYER_CANCEL = 2;
+ MATCH_REASON_TIMEOUT = 3;
+ MATCH_REASON_PLAYER_CONFIRM = 4;
+ MATCH_REASON_FAILED = 5;
+ MATCH_REASON_SYSTEM_ERROR = 6;
+ MATCH_REASON_INTERRUPTED = 7;
+ MATCH_REASON_MP_UNAVAILABLE = 8;
+ MATCH_REASON_CONFIRM_TIMEOUT = 9;
+}
diff --git a/proto/MatchType.proto b/proto/MatchType.proto
new file mode 100644
index 00000000..245cd56a
--- /dev/null
+++ b/proto/MatchType.proto
@@ -0,0 +1,14 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+enum MatchType {
+ MATCH_TYPE_NONE = 0;
+ MATCH_TYPE_DUNGEON = 1;
+ MATCH_TYPE_MP_PLAY = 2;
+ MATCH_TYPE_MECHANICUS = 3;
+ MATCH_TYPE_GENERAL = 4;
+ MATCH_TYPE_GCG = 5;
+}
diff --git a/proto/MechanicusCandidateTeamCreateReq.proto b/proto/MechanicusCandidateTeamCreateReq.proto
new file mode 100644
index 00000000..6b9cf1a3
--- /dev/null
+++ b/proto/MechanicusCandidateTeamCreateReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message MechanicusCandidateTeamCreateReq {
+ //enum GLLPFAHAFBC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 3913;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 difficultLevel = 9;
+}
diff --git a/proto/MechanicusCandidateTeamCreateRsp.proto b/proto/MechanicusCandidateTeamCreateRsp.proto
new file mode 100644
index 00000000..318fa956
--- /dev/null
+++ b/proto/MechanicusCandidateTeamCreateRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message MechanicusCandidateTeamCreateRsp {
+ //enum EGFGBGCKLBF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 3969;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 difficultLevel = 4;
+ uint32 dungeonId = 15;
+ int32 retcode = 10;
+}
diff --git a/proto/MechanicusCloseNotify.proto b/proto/MechanicusCloseNotify.proto
new file mode 100644
index 00000000..b601988c
--- /dev/null
+++ b/proto/MechanicusCloseNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message MechanicusCloseNotify {
+ //enum BIAKPOKJEJE {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 3974;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 mechanicusId = 12;
+}
diff --git a/proto/MechanicusCoinNotify.proto b/proto/MechanicusCoinNotify.proto
new file mode 100644
index 00000000..6f6fcfef
--- /dev/null
+++ b/proto/MechanicusCoinNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message MechanicusCoinNotify {
+ //enum JPKDEGJCLNN {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 3998;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 mechanicusId = 8;
+ uint32 coin = 13;
+}
diff --git a/proto/MechanicusInfo.proto b/proto/MechanicusInfo.proto
new file mode 100644
index 00000000..d74b765e
--- /dev/null
+++ b/proto/MechanicusInfo.proto
@@ -0,0 +1,17 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "Uint32Pair.proto";
+
+message MechanicusInfo {
+ uint32 mechanicusId = 14;
+ repeated uint32 Unk3300_KJLGFEPIENG = 7;
+ repeated Uint32Pair gearLevelPairList = 6;
+ repeated uint32 Unk3300_EEBEOCMAIKN = 12;
+ bool isFinishTeachDungeon = 3;
+ uint32 coin = 8;
+ uint32 punishOverTime = 10;
+}
diff --git a/proto/MechanicusLevelupGearReq.proto b/proto/MechanicusLevelupGearReq.proto
new file mode 100644
index 00000000..a22d364e
--- /dev/null
+++ b/proto/MechanicusLevelupGearReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message MechanicusLevelupGearReq {
+ //enum AMDIMNOFHNH {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 3962;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 mechanicusId = 6;
+ uint32 gearId = 10;
+}
diff --git a/proto/MechanicusLevelupGearRsp.proto b/proto/MechanicusLevelupGearRsp.proto
new file mode 100644
index 00000000..ca10ed9d
--- /dev/null
+++ b/proto/MechanicusLevelupGearRsp.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message MechanicusLevelupGearRsp {
+ //enum MDLJGPIOPJK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 3914;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 5;
+ uint32 mechanicusId = 1;
+ uint32 gearId = 10;
+ uint32 afterGearLevel = 9;
+}
diff --git a/proto/MechanicusOpenNotify.proto b/proto/MechanicusOpenNotify.proto
new file mode 100644
index 00000000..5bdcf1fd
--- /dev/null
+++ b/proto/MechanicusOpenNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message MechanicusOpenNotify {
+ //enum PKFNAAHFIIA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 3920;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 mechanicusId = 2;
+}
diff --git a/proto/MechanicusSequenceOpenNotify.proto b/proto/MechanicusSequenceOpenNotify.proto
new file mode 100644
index 00000000..2ebd5be1
--- /dev/null
+++ b/proto/MechanicusSequenceOpenNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message MechanicusSequenceOpenNotify {
+ //enum HLGOOIBEFHC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 3987;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 mechanicusId = 5;
+ uint32 sequenceId = 4;
+}
diff --git a/proto/MechanicusSettleInfo.proto b/proto/MechanicusSettleInfo.proto
new file mode 100644
index 00000000..1aaa4477
--- /dev/null
+++ b/proto/MechanicusSettleInfo.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "MultistageSettleWatcherInfo.proto";
+
+message MechanicusSettleInfo {
+ uint64 sceneTimeMs = 15;
+ uint32 Unk3300_HAEOPAOBBFE = 7;
+ bool isSuccess = 6;
+ uint32 Unk3300_NAMBBHMJJLN = 1;
+ uint32 groupId = 12;
+ uint32 Unk3300_EKAIAPLNIPM = 11;
+ uint32 playIndex = 13;
+ repeated MultistageSettleWatcherInfo watcherList = 4;
+}
diff --git a/proto/MechanicusUnlockGearReq.proto b/proto/MechanicusUnlockGearReq.proto
new file mode 100644
index 00000000..6c5bb448
--- /dev/null
+++ b/proto/MechanicusUnlockGearReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message MechanicusUnlockGearReq {
+ //enum AIAPEBJFIPF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 3980;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 mechanicusId = 13;
+ uint32 gearId = 1;
+}
diff --git a/proto/MechanicusUnlockGearRsp.proto b/proto/MechanicusUnlockGearRsp.proto
new file mode 100644
index 00000000..35c68120
--- /dev/null
+++ b/proto/MechanicusUnlockGearRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message MechanicusUnlockGearRsp {
+ //enum KFMBLOHIIAC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 3970;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 2;
+ uint32 gearId = 9;
+ uint32 mechanicusId = 13;
+}
diff --git a/proto/MeetNpcReq.proto b/proto/MeetNpcReq.proto
new file mode 100644
index 00000000..13170c97
--- /dev/null
+++ b/proto/MeetNpcReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message MeetNpcReq {
+ //enum EGDOAKMBLAA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 580;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 npcId = 9;
+}
diff --git a/proto/MeetNpcRsp.proto b/proto/MeetNpcRsp.proto
new file mode 100644
index 00000000..5381f850
--- /dev/null
+++ b/proto/MeetNpcRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message MeetNpcRsp {
+ //enum GDLKHKKJPNM {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 570;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 npcFirstMetId = 12;
+ int32 retcode = 14;
+}
diff --git a/proto/MetNpcIdListNotify.proto b/proto/MetNpcIdListNotify.proto
new file mode 100644
index 00000000..8fb6b2f3
--- /dev/null
+++ b/proto/MetNpcIdListNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message MetNpcIdListNotify {
+ //enum LNCDAACBCJM {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 574;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated uint32 npcFirstMetIdList = 9;
+}
diff --git a/proto/MichiaeMatsuriActivityDetailInfo.proto b/proto/MichiaeMatsuriActivityDetailInfo.proto
new file mode 100644
index 00000000..778f2601
--- /dev/null
+++ b/proto/MichiaeMatsuriActivityDetailInfo.proto
@@ -0,0 +1,17 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "MichiaeMatsuriChallengePositionInfo.proto";
+import "MichiaeMatsuriChestPositionInfo.proto";
+import "MichiaeMatsuriStage.proto";
+
+message MichiaeMatsuriActivityDetailInfo {
+ repeated MichiaeMatsuriChallengePositionInfo challengePosList = 8;
+ repeated uint32 unlockedCrystalSkillList = 4;
+ uint32 gainCrystalExp = 5;
+ repeated MichiaeMatsuriChestPositionInfo chestPosList = 11;
+ repeated MichiaeMatsuriStage stageList = 7;
+}
diff --git a/proto/MichiaeMatsuriDarkPressureLevelUpdateNotify.proto b/proto/MichiaeMatsuriDarkPressureLevelUpdateNotify.proto
new file mode 100644
index 00000000..83266a69
--- /dev/null
+++ b/proto/MichiaeMatsuriDarkPressureLevelUpdateNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message MichiaeMatsuriDarkPressureLevelUpdateNotify {
+ //enum MMAJHJDKHCH {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8618;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 darkPressureLevel = 15;
+}
diff --git a/proto/MichiaeMatsuriGainCrystalExpUpdateNotify.proto b/proto/MichiaeMatsuriGainCrystalExpUpdateNotify.proto
new file mode 100644
index 00000000..7d10cfab
--- /dev/null
+++ b/proto/MichiaeMatsuriGainCrystalExpUpdateNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message MichiaeMatsuriGainCrystalExpUpdateNotify {
+ //enum LDNKPLMLKLM {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8794;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 gainCrystalExp = 13;
+ uint32 activityId = 4;
+}
diff --git a/proto/MichiaeMatsuriInteractStatueReq.proto b/proto/MichiaeMatsuriInteractStatueReq.proto
new file mode 100644
index 00000000..ff59d713
--- /dev/null
+++ b/proto/MichiaeMatsuriInteractStatueReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message MichiaeMatsuriInteractStatueReq {
+ //enum HFMGFMNFMFB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8553;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 statueEntityId = 3;
+}
diff --git a/proto/MichiaeMatsuriInteractStatueRsp.proto b/proto/MichiaeMatsuriInteractStatueRsp.proto
new file mode 100644
index 00000000..09f1f7af
--- /dev/null
+++ b/proto/MichiaeMatsuriInteractStatueRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message MichiaeMatsuriInteractStatueRsp {
+ //enum NCBPFDJLNOH {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8447;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 4;
+}
diff --git a/proto/MichiaeMatsuriRemoveChallengeMarkNotify.proto b/proto/MichiaeMatsuriRemoveChallengeMarkNotify.proto
new file mode 100644
index 00000000..fd3a976e
--- /dev/null
+++ b/proto/MichiaeMatsuriRemoveChallengeMarkNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message MichiaeMatsuriRemoveChallengeMarkNotify {
+ //enum PHHBHDEAGIC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8168;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 groupId = 12;
+ uint32 gadgetId = 8;
+}
diff --git a/proto/MichiaeMatsuriRemoveChestMarkNotify.proto b/proto/MichiaeMatsuriRemoveChestMarkNotify.proto
new file mode 100644
index 00000000..186f9ab9
--- /dev/null
+++ b/proto/MichiaeMatsuriRemoveChestMarkNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message MichiaeMatsuriRemoveChestMarkNotify {
+ //enum LDKHJAHPHHA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8051;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 groupId = 8;
+ uint32 configId = 10;
+}
diff --git a/proto/MichiaeMatsuriStartBossChallengeReq.proto b/proto/MichiaeMatsuriStartBossChallengeReq.proto
new file mode 100644
index 00000000..626cb8ae
--- /dev/null
+++ b/proto/MichiaeMatsuriStartBossChallengeReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message MichiaeMatsuriStartBossChallengeReq {
+ //enum IABCBBAAMOD {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8680;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 gadgetEntityId = 1;
+ uint32 difficulty = 6;
+}
diff --git a/proto/MichiaeMatsuriStartBossChallengeRsp.proto b/proto/MichiaeMatsuriStartBossChallengeRsp.proto
new file mode 100644
index 00000000..65d945db
--- /dev/null
+++ b/proto/MichiaeMatsuriStartBossChallengeRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message MichiaeMatsuriStartBossChallengeRsp {
+ //enum LIIBPCEKCAG {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8507;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 15;
+}
diff --git a/proto/MichiaeMatsuriStartDarkChallengeReq.proto b/proto/MichiaeMatsuriStartDarkChallengeReq.proto
new file mode 100644
index 00000000..a2192ec1
--- /dev/null
+++ b/proto/MichiaeMatsuriStartDarkChallengeReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message MichiaeMatsuriStartDarkChallengeReq {
+ //enum NBJDBMNFGAB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8004;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 worktopEntityId = 4;
+}
diff --git a/proto/MichiaeMatsuriStartDarkChallengeRsp.proto b/proto/MichiaeMatsuriStartDarkChallengeRsp.proto
new file mode 100644
index 00000000..1a41145d
--- /dev/null
+++ b/proto/MichiaeMatsuriStartDarkChallengeRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message MichiaeMatsuriStartDarkChallengeRsp {
+ //enum EBCNNDAPMEF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8269;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 1;
+}
diff --git a/proto/MichiaeMatsuriUnlockCrystalSkillReq.proto b/proto/MichiaeMatsuriUnlockCrystalSkillReq.proto
new file mode 100644
index 00000000..2a54cf52
--- /dev/null
+++ b/proto/MichiaeMatsuriUnlockCrystalSkillReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message MichiaeMatsuriUnlockCrystalSkillReq {
+ //enum EDGIFKNOILI {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8341;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 crystalSkillId = 9;
+}
diff --git a/proto/MichiaeMatsuriUnlockCrystalSkillRsp.proto b/proto/MichiaeMatsuriUnlockCrystalSkillRsp.proto
new file mode 100644
index 00000000..33f98bbb
--- /dev/null
+++ b/proto/MichiaeMatsuriUnlockCrystalSkillRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message MichiaeMatsuriUnlockCrystalSkillRsp {
+ //enum LAGILJGPMIC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8889;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 crystalSkillId = 1;
+ int32 retcode = 13;
+}
diff --git a/proto/MiracleRingDataNotify.proto b/proto/MiracleRingDataNotify.proto
new file mode 100644
index 00000000..4d62baa3
--- /dev/null
+++ b/proto/MiracleRingDataNotify.proto
@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message MiracleRingDataNotify {
+ //enum DFBKOCIMEPN {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5246;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ bool isGadgetCreated = 2;
+ uint32 miracleRingCd = 8;
+ uint32 lastDeliverItemTime = 4;
+ uint32 lastTakeRewardTime = 13;
+ uint32 gadgetEntityId = 6;
+}
diff --git a/proto/MiracleRingDestroyNotify.proto b/proto/MiracleRingDestroyNotify.proto
new file mode 100644
index 00000000..7d57cdcc
--- /dev/null
+++ b/proto/MiracleRingDestroyNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message MiracleRingDestroyNotify {
+ //enum JEGPAOOANOJ {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5216;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 entityId = 7;
+}
diff --git a/proto/MiracleRingDropResultNotify.proto b/proto/MiracleRingDropResultNotify.proto
new file mode 100644
index 00000000..1006080c
--- /dev/null
+++ b/proto/MiracleRingDropResultNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message MiracleRingDropResultNotify {
+ //enum LELIGICINFF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5243;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 dropResult = 6;
+ int32 lastTakeRewardTime = 9;
+}
diff --git a/proto/MiracleRingTakeRewardReq.proto b/proto/MiracleRingTakeRewardReq.proto
new file mode 100644
index 00000000..0474a7b8
--- /dev/null
+++ b/proto/MiracleRingTakeRewardReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message MiracleRingTakeRewardReq {
+ //enum DMLPNOGOJCJ {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5241;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 gadgetEntityId = 1;
+ uint32 gadgetId = 11;
+}
diff --git a/proto/MiracleRingTakeRewardRsp.proto b/proto/MiracleRingTakeRewardRsp.proto
new file mode 100644
index 00000000..47b75205
--- /dev/null
+++ b/proto/MiracleRingTakeRewardRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message MiracleRingTakeRewardRsp {
+ //enum FJLBKGMMEFB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5219;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 3;
+}
diff --git a/proto/MissionStatus.proto b/proto/MissionStatus.proto
new file mode 100644
index 00000000..cb4997d3
--- /dev/null
+++ b/proto/MissionStatus.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+enum MissionStatus {
+ MISSION_STATUS_INVALID = 0;
+ MISSION_STATUS_UNFINISHED = 1;
+ MISSION_STATUS_FINISHED = 2;
+ MISSION_STATUS_POINT_TAKEN = 3;
+}
diff --git a/proto/MistTrialDunegonFailNotify.proto b/proto/MistTrialDunegonFailNotify.proto
new file mode 100644
index 00000000..c76d635d
--- /dev/null
+++ b/proto/MistTrialDunegonFailNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message MistTrialDunegonFailNotify {
+ //enum OMPMOAIONKJ {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8775;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 dungeonId = 9;
+}
diff --git a/proto/MistTrialFloorLevelNotify.proto b/proto/MistTrialFloorLevelNotify.proto
new file mode 100644
index 00000000..1d079536
--- /dev/null
+++ b/proto/MistTrialFloorLevelNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message MistTrialFloorLevelNotify {
+ //enum BALAKBNIDBK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 911;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 dungeonSceneId = 9;
+ uint32 floorLevel = 11;
+}
diff --git a/proto/MistTrialGetChallengeMissionReq.proto b/proto/MistTrialGetChallengeMissionReq.proto
new file mode 100644
index 00000000..72112ff8
--- /dev/null
+++ b/proto/MistTrialGetChallengeMissionReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message MistTrialGetChallengeMissionReq {
+ //enum PMPPBJOLPHK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8534;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 trialId = 3;
+}
diff --git a/proto/MistTrialGetChallengeMissionRsp.proto b/proto/MistTrialGetChallengeMissionRsp.proto
new file mode 100644
index 00000000..c4d9afb0
--- /dev/null
+++ b/proto/MistTrialGetChallengeMissionRsp.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "MistTrialMissionInfo.proto";
+
+message MistTrialGetChallengeMissionRsp {
+ //enum ADKNOEJPKFF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8884;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 7;
+ uint32 trialId = 9;
+ repeated MistTrialMissionInfo missionInfoList = 6;
+}
diff --git a/proto/MistTrialGetDungeonExhibitionDataReq.proto b/proto/MistTrialGetDungeonExhibitionDataReq.proto
new file mode 100644
index 00000000..de1ab990
--- /dev/null
+++ b/proto/MistTrialGetDungeonExhibitionDataReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message MistTrialGetDungeonExhibitionDataReq {
+ //enum GNMPGPAFINL {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8202;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 trialId = 8;
+}
diff --git a/proto/MistTrialGetDungeonExhibitionDataRsp.proto b/proto/MistTrialGetDungeonExhibitionDataRsp.proto
new file mode 100644
index 00000000..db37b0ef
--- /dev/null
+++ b/proto/MistTrialGetDungeonExhibitionDataRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message MistTrialGetDungeonExhibitionDataRsp {
+ //enum MNECAJJIILI {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8208;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 trialId = 10;
+ int32 retcode = 13;
+}
diff --git a/proto/MistTrialMissionInfo.proto b/proto/MistTrialMissionInfo.proto
new file mode 100644
index 00000000..9401a320
--- /dev/null
+++ b/proto/MistTrialMissionInfo.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message MistTrialMissionInfo {
+ uint32 watcherListId = 14;
+ uint32 param = 7;
+}
diff --git a/proto/MistTrialSelectAvatarAndEnterDungeonReq.proto b/proto/MistTrialSelectAvatarAndEnterDungeonReq.proto
new file mode 100644
index 00000000..384be79a
--- /dev/null
+++ b/proto/MistTrialSelectAvatarAndEnterDungeonReq.proto
@@ -0,0 +1,29 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message MistTrialSelectAvatarAndEnterDungeonReq {
+ //enum BDFPJDLAIOP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8537;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ message SelectAvatarIndex {
+ oneof GBMFCGPBJHH {
+ uint32 mist_trial_avatar_id = 13;
+ uint64 formal_avatar_guid = 15;
+ }
+ }
+
+ uint32 trialId = 14;
+ uint32 enterPointId = 5;
+ repeated SelectAvatarIndex selectAvatarIndexList = 6;
+ repeated uint32 selectTrialAvatarIdList = 9;
+}
diff --git a/proto/MistTrialSelectAvatarAndEnterDungeonRsp.proto b/proto/MistTrialSelectAvatarAndEnterDungeonRsp.proto
new file mode 100644
index 00000000..b8d2f5a3
--- /dev/null
+++ b/proto/MistTrialSelectAvatarAndEnterDungeonRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message MistTrialSelectAvatarAndEnterDungeonRsp {
+ //enum DHLEPFONPIK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8551;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 trialId = 14;
+ int32 retcode = 1;
+}
diff --git a/proto/MistTrialSettleNotify.proto b/proto/MistTrialSettleNotify.proto
new file mode 100644
index 00000000..35a118b9
--- /dev/null
+++ b/proto/MistTrialSettleNotify.proto
@@ -0,0 +1,25 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "MistTrialBestAvatar.proto";
+
+message MistTrialSettleNotify {
+ //enum AHPBCMCODPH {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8408;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ MistTrialBestAvatar bestHitAvatar = 2;
+ map Unk3300_KFKHAACDJDJ = 10;
+ repeated MistTrialBestAvatar bestAvatarList = 5;
+ uint32 firstPassTime = 9;
+ uint32 dungeonSceneId = 14;
+ map Unk3300_GMPEELLANLI = 11;
+}
diff --git a/proto/ModifierAction.proto b/proto/ModifierAction.proto
deleted file mode 100644
index 7ece1bba..00000000
--- a/proto/ModifierAction.proto
+++ /dev/null
@@ -1,25 +0,0 @@
-// Proto has been converted from Sorapointa to Grasscutter format
-// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
-// Copyright (C) 2022 Sorapointa Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
-syntax = "proto3";
-
-option java_package = "emu.grasscutter.net.proto";
-
-enum ModifierAction {
- MODIFIER_ACTION_ADDED = 0;
- MODIFIER_ACTION_REMOVED = 1;
-}
diff --git a/proto/ModifierProperty.proto b/proto/ModifierProperty.proto
deleted file mode 100644
index 7e551f5f..00000000
--- a/proto/ModifierProperty.proto
+++ /dev/null
@@ -1,27 +0,0 @@
-// Proto has been converted from Sorapointa to Grasscutter format
-// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
-// Copyright (C) 2022 Sorapointa Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
-syntax = "proto3";
-
-import "AbilityString.proto";
-
-option java_package = "emu.grasscutter.net.proto";
-
-message ModifierProperty {
- AbilityString key = 7;
- float value = 5;
-}
diff --git a/proto/ModifyAdd.proto b/proto/ModifyAdd.proto
new file mode 100644
index 00000000..d71f3c1a
--- /dev/null
+++ b/proto/ModifyAdd.proto
@@ -0,0 +1,15 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GCGReason.proto";
+
+message ModifyAdd {
+ uint32 pos = 11;
+ uint32 ownerCardGuid = 10;
+ uint32 controllerId = 7;
+ GCGReason reason = 14;
+ repeated uint32 cardGuidList = 4;
+}
diff --git a/proto/ModifyRemove.proto b/proto/ModifyRemove.proto
new file mode 100644
index 00000000..35325e1f
--- /dev/null
+++ b/proto/ModifyRemove.proto
@@ -0,0 +1,14 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GCGReason.proto";
+
+message ModifyRemove {
+ uint32 controllerId = 7;
+ repeated uint32 cardGuidList = 3;
+ GCGReason reason = 1;
+ uint32 ownerCardGuid = 2;
+}
diff --git a/proto/Monster.proto b/proto/Monster.proto
new file mode 100644
index 00000000..55660bd6
--- /dev/null
+++ b/proto/Monster.proto
@@ -0,0 +1,41 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "MonsterBornType.proto";
+import "MonsterRoute.proto";
+import "FishInfo.proto";
+import "FishtankFishInfo.proto";
+import "SceneWeaponInfo.proto";
+
+message Monster {
+ uint32 monsterId = 1;
+ uint32 groupId = 2;
+ uint32 configId = 3;
+ repeated SceneWeaponInfo weaponList = 4;
+ uint32 authorityPeerId = 5;
+ repeated uint32 affixList = 6;
+ bool isElite = 7;
+ uint32 ownerEntityId = 8;
+ uint32 summonedTag = 9;
+ map summonTagMap = 10;
+ uint32 poseId = 11;
+ MonsterBornType bornType = 12;
+ uint32 blockId = 13;
+ uint32 markFlag = 14;
+ uint32 titleId = 15;
+ uint32 specialNameId = 16;
+ uint32 attackTargetId = 17;
+ MonsterRoute monsterRoute = 18;
+ uint32 aiConfigId = 19;
+ uint32 levelRouteId = 20;
+ uint32 initPoseId = 21;
+ bool isLight = 22;
+ uint32 killNum = 23;
+ oneof content {
+ FishInfo fish_info = 50;
+ FishtankFishInfo fishtank_fish_info = 51;
+ }
+}
diff --git a/proto/MonsterAlertChangeNotify.proto b/proto/MonsterAlertChangeNotify.proto
new file mode 100644
index 00000000..9c250d8e
--- /dev/null
+++ b/proto/MonsterAlertChangeNotify.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message MonsterAlertChangeNotify {
+ //enum FKKOKFCHJCL {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 322;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 avatarEntityId = 2;
+ uint32 isAlert = 10;
+ repeated uint32 monsterEntityList = 15;
+}
diff --git a/proto/MonsterForceAlertNotify.proto b/proto/MonsterForceAlertNotify.proto
new file mode 100644
index 00000000..98dc27b6
--- /dev/null
+++ b/proto/MonsterForceAlertNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message MonsterForceAlertNotify {
+ //enum AKDLNIOOLCH {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 345;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 monsterEntityId = 5;
+}
diff --git a/proto/MonsterSummonTagNotify.proto b/proto/MonsterSummonTagNotify.proto
new file mode 100644
index 00000000..5dbf8b11
--- /dev/null
+++ b/proto/MonsterSummonTagNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message MonsterSummonTagNotify {
+ //enum DNKEAKFJFDB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 1305;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ map summonTagMap = 13;
+ uint32 monsterEntityId = 3;
+}
diff --git a/proto/MoveCard.proto b/proto/MoveCard.proto
new file mode 100644
index 00000000..68d23687
--- /dev/null
+++ b/proto/MoveCard.proto
@@ -0,0 +1,17 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GCGZoneType.proto";
+import "GCGReason.proto";
+
+message MoveCard {
+ uint32 controllerId = 6;
+ GCGZoneType from = 3;
+ repeated uint32 cardGuidList = 15;
+ repeated uint32 failGuidList = 10;
+ GCGZoneType to = 12;
+ GCGReason reason = 4;
+}
diff --git a/proto/MpBlockNotify.proto b/proto/MpBlockNotify.proto
new file mode 100644
index 00000000..d41e984c
--- /dev/null
+++ b/proto/MpBlockNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message MpBlockNotify {
+ //enum NIEDOFJDBBN {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 1826;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 endTime = 13;
+}
diff --git a/proto/MpPlayGuestReplyInviteReq.proto b/proto/MpPlayGuestReplyInviteReq.proto
new file mode 100644
index 00000000..82e26393
--- /dev/null
+++ b/proto/MpPlayGuestReplyInviteReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message MpPlayGuestReplyInviteReq {
+ //enum NGCFOPDLMCC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 1806;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 mpPlayId = 6;
+ bool isAgree = 7;
+}
diff --git a/proto/MpPlayGuestReplyInviteRsp.proto b/proto/MpPlayGuestReplyInviteRsp.proto
new file mode 100644
index 00000000..b44f0fcc
--- /dev/null
+++ b/proto/MpPlayGuestReplyInviteRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message MpPlayGuestReplyInviteRsp {
+ //enum HBDKFNFMGMD {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 1848;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 13;
+ uint32 mpPlayId = 14;
+}
diff --git a/proto/MpPlayGuestReplyNotify.proto b/proto/MpPlayGuestReplyNotify.proto
new file mode 100644
index 00000000..085a7165
--- /dev/null
+++ b/proto/MpPlayGuestReplyNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message MpPlayGuestReplyNotify {
+ //enum PEGJFAGMPJO {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 1812;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ bool isAgree = 7;
+ uint32 mpPlayId = 12;
+ uint32 uid = 6;
+}
diff --git a/proto/MpPlayInviteResultNotify.proto b/proto/MpPlayInviteResultNotify.proto
new file mode 100644
index 00000000..92b8e426
--- /dev/null
+++ b/proto/MpPlayInviteResultNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message MpPlayInviteResultNotify {
+ //enum CBLLNLJFAHE {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 1824;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ bool allAgree = 10;
+ uint32 mpPlayId = 5;
+}
diff --git a/proto/MpPlayOwnerCheckReq.proto b/proto/MpPlayOwnerCheckReq.proto
new file mode 100644
index 00000000..d0f37f05
--- /dev/null
+++ b/proto/MpPlayOwnerCheckReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message MpPlayOwnerCheckReq {
+ //enum PBDNFMGAKCF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 1842;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ bool isSkipMatch = 5;
+ uint32 mpPlayId = 13;
+}
diff --git a/proto/MpPlayOwnerCheckRsp.proto b/proto/MpPlayOwnerCheckRsp.proto
new file mode 100644
index 00000000..ca07e6ef
--- /dev/null
+++ b/proto/MpPlayOwnerCheckRsp.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message MpPlayOwnerCheckRsp {
+ //enum ENCFJIJLEKO {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 1807;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 13;
+ bool isSkipMatch = 14;
+ uint32 wrongUid = 15;
+ uint32 mpPlayId = 4;
+}
diff --git a/proto/MpPlayOwnerInviteNotify.proto b/proto/MpPlayOwnerInviteNotify.proto
new file mode 100644
index 00000000..7cae90f9
--- /dev/null
+++ b/proto/MpPlayOwnerInviteNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message MpPlayOwnerInviteNotify {
+ //enum HLKEODMLDPF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 1810;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 cd = 6;
+ bool isRemainReward = 9;
+ uint32 mpPlayId = 3;
+}
diff --git a/proto/MpPlayOwnerStartInviteReq.proto b/proto/MpPlayOwnerStartInviteReq.proto
new file mode 100644
index 00000000..ce18a9fc
--- /dev/null
+++ b/proto/MpPlayOwnerStartInviteReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message MpPlayOwnerStartInviteReq {
+ //enum LGPLBAHGAIJ {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 1815;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ bool isSkipMatch = 13;
+ uint32 mpPlayId = 10;
+}
diff --git a/proto/MpPlayOwnerStartInviteRsp.proto b/proto/MpPlayOwnerStartInviteRsp.proto
new file mode 100644
index 00000000..ddaa278b
--- /dev/null
+++ b/proto/MpPlayOwnerStartInviteRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message MpPlayOwnerStartInviteRsp {
+ //enum OKCKFLHGGAL {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 1803;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 mpPlayId = 3;
+ bool isSkipMatch = 7;
+ int32 retcode = 8;
+}
diff --git a/proto/MpPlayPrepareInterruptNotify.proto b/proto/MpPlayPrepareInterruptNotify.proto
new file mode 100644
index 00000000..b9f11930
--- /dev/null
+++ b/proto/MpPlayPrepareInterruptNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message MpPlayPrepareInterruptNotify {
+ //enum MLIBBHNOCAP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 1811;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 mpPlayId = 10;
+}
diff --git a/proto/MpPlayPrepareNotify.proto b/proto/MpPlayPrepareNotify.proto
new file mode 100644
index 00000000..e38ec294
--- /dev/null
+++ b/proto/MpPlayPrepareNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message MpPlayPrepareNotify {
+ //enum FFKKGACMCMC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 1822;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 prepareEndTime = 2;
+ uint32 mpPlayId = 1;
+}
diff --git a/proto/MsgParam.proto b/proto/MsgParam.proto
new file mode 100644
index 00000000..6df12f36
--- /dev/null
+++ b/proto/MsgParam.proto
@@ -0,0 +1,14 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message MsgParam {
+ oneof param {
+ uint32 int_param = 10;
+ float flt_param = 7;
+ string str_param = 15;
+ }
+}
diff --git a/proto/MultistagePlayEndNotify.proto b/proto/MultistagePlayEndNotify.proto
new file mode 100644
index 00000000..ccee1756
--- /dev/null
+++ b/proto/MultistagePlayEndNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message MultistagePlayEndNotify {
+ //enum NFLPNFEDPGJ {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5393;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 groupId = 2;
+ uint32 playIndex = 3;
+}
diff --git a/proto/MultistagePlayFinishStageReq.proto b/proto/MultistagePlayFinishStageReq.proto
new file mode 100644
index 00000000..e83d783e
--- /dev/null
+++ b/proto/MultistagePlayFinishStageReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message MultistagePlayFinishStageReq {
+ //enum JHNBDKIOEFC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5355;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 groupId = 1;
+ uint32 playIndex = 3;
+}
diff --git a/proto/MultistagePlayFinishStageRsp.proto b/proto/MultistagePlayFinishStageRsp.proto
new file mode 100644
index 00000000..c297f2ee
--- /dev/null
+++ b/proto/MultistagePlayFinishStageRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message MultistagePlayFinishStageRsp {
+ //enum FPDBFIFAKKC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5313;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 playIndex = 7;
+ uint32 groupId = 12;
+ int32 retcode = 1;
+}
diff --git a/proto/MultistagePlayInfo.proto b/proto/MultistagePlayInfo.proto
new file mode 100644
index 00000000..616726e5
--- /dev/null
+++ b/proto/MultistagePlayInfo.proto
@@ -0,0 +1,36 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "MechanicusInfo.proto";
+import "FleurFairInfo.proto";
+import "HideAndSeekInfo.proto";
+import "ChessInfo.proto";
+import "IrodoriChessInfo.proto";
+import "CharAmusementInfo.proto";
+import "BrickBreakerInfo.proto";
+import "CoinCollectInfo.proto";
+import "LanV3BoatInfo.proto";
+
+message MultistagePlayInfo {
+ uint32 stageIndex = 13;
+ uint32 beginTime = 8;
+ uint32 duration = 15;
+ uint32 playIndex = 3;
+ uint32 stageType = 9;
+ uint32 groupId = 12;
+ uint32 playType = 10;
+ oneof detail {
+ MechanicusInfo mechanicus_info = 1387;
+ FleurFairInfo fleur_fair_info = 2006;
+ HideAndSeekInfo hide_and_seek_info = 1418;
+ ChessInfo chess_info = 1939;
+ IrodoriChessInfo irodori_chess_info = 452;
+ CharAmusementInfo char_amusement_info = 1200;
+ BrickBreakerInfo brick_breaker_info = 1701;
+ CoinCollectInfo coin_collect_info = 1451;
+ LanV3BoatInfo lan_v3boat_info = 424;
+ }
+}
diff --git a/proto/MultistagePlayInfoNotify.proto b/proto/MultistagePlayInfoNotify.proto
new file mode 100644
index 00000000..650d1f20
--- /dev/null
+++ b/proto/MultistagePlayInfoNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "MultistagePlayInfo.proto";
+
+message MultistagePlayInfoNotify {
+ //enum CEFDLDDACMD {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5305;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ MultistagePlayInfo info = 5;
+}
diff --git a/proto/MultistagePlaySettleNotify.proto b/proto/MultistagePlaySettleNotify.proto
new file mode 100644
index 00000000..5cfaf75d
--- /dev/null
+++ b/proto/MultistagePlaySettleNotify.proto
@@ -0,0 +1,27 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "MechanicusSettleInfo.proto";
+import "ChessSettleInfo.proto";
+import "IrodoriChessSettleInfo.proto";
+
+message MultistagePlaySettleNotify {
+ //enum DPJMINKFLKA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5347;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 playIndex = 15;
+ uint32 groupId = 1;
+ oneof detail {
+ MechanicusSettleInfo mechanicus_settle_info = 1241;
+ ChessSettleInfo chess_settle_info = 200;
+ IrodoriChessSettleInfo irodori_chess_settle_info = 96;
+ }
+}
diff --git a/proto/MultistagePlayStageEndNotify.proto b/proto/MultistagePlayStageEndNotify.proto
new file mode 100644
index 00000000..4da54e1b
--- /dev/null
+++ b/proto/MultistagePlayStageEndNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message MultistagePlayStageEndNotify {
+ //enum FDGPHDCEFMM {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5341;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 groupId = 9;
+ uint32 playIndex = 14;
+}
diff --git a/proto/MultistageSettleWatcherInfo.proto b/proto/MultistageSettleWatcherInfo.proto
new file mode 100644
index 00000000..556d88d8
--- /dev/null
+++ b/proto/MultistageSettleWatcherInfo.proto
@@ -0,0 +1,13 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message MultistageSettleWatcherInfo {
+ uint32 curProgress = 1;
+ uint32 totalProgress = 8;
+ uint32 watcherId = 5;
+ bool isInverse = 10;
+}
diff --git a/proto/MuqadasPotionActivityDetailInfo.proto b/proto/MuqadasPotionActivityDetailInfo.proto
new file mode 100644
index 00000000..cd013fa9
--- /dev/null
+++ b/proto/MuqadasPotionActivityDetailInfo.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "MuqadasPotionLevelData.proto";
+
+message MuqadasPotionActivityDetailInfo {
+ repeated MuqadasPotionLevelData kmhabponajo = 10;
+}
diff --git a/proto/MuqadasPotionActivityEnterDungeonReq.proto b/proto/MuqadasPotionActivityEnterDungeonReq.proto
new file mode 100644
index 00000000..d5e74c4a
--- /dev/null
+++ b/proto/MuqadasPotionActivityEnterDungeonReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message MuqadasPotionActivityEnterDungeonReq {
+ //enum AIIPMDHBDCK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 20473;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 levelId = 5;
+}
diff --git a/proto/MuqadasPotionActivityEnterDungeonRsp.proto b/proto/MuqadasPotionActivityEnterDungeonRsp.proto
new file mode 100644
index 00000000..45b3f92b
--- /dev/null
+++ b/proto/MuqadasPotionActivityEnterDungeonRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message MuqadasPotionActivityEnterDungeonRsp {
+ //enum PFCAJHFEFDM {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 20138;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 levelId = 8;
+ int32 retcode = 15;
+}
diff --git a/proto/MuqadasPotionCaptureWeaknessReq.proto b/proto/MuqadasPotionCaptureWeaknessReq.proto
new file mode 100644
index 00000000..05b0219e
--- /dev/null
+++ b/proto/MuqadasPotionCaptureWeaknessReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message MuqadasPotionCaptureWeaknessReq {
+ //enum EIJKGLCLHOJ {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 20534;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 levelId = 10;
+ uint32 captureWeaknessCount = 12;
+}
diff --git a/proto/MuqadasPotionCaptureWeaknessRsp.proto b/proto/MuqadasPotionCaptureWeaknessRsp.proto
new file mode 100644
index 00000000..a69defdd
--- /dev/null
+++ b/proto/MuqadasPotionCaptureWeaknessRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message MuqadasPotionCaptureWeaknessRsp {
+ //enum PGPPGNEGGEL {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 22408;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 4;
+}
diff --git a/proto/MuqadasPotionLevelData.proto b/proto/MuqadasPotionLevelData.proto
new file mode 100644
index 00000000..bdeb8d59
--- /dev/null
+++ b/proto/MuqadasPotionLevelData.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message MuqadasPotionLevelData {
+ uint32 levelId = 14;
+ bool isOpen = 10;
+ uint32 maxScore = 6;
+}
diff --git a/proto/MuqadasPotionRestartDungeonReq.proto b/proto/MuqadasPotionRestartDungeonReq.proto
new file mode 100644
index 00000000..bc42e252
--- /dev/null
+++ b/proto/MuqadasPotionRestartDungeonReq.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message MuqadasPotionRestartDungeonReq {
+ //enum MKJDHLGHMME {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 20619;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+}
diff --git a/proto/MuqadasPotionRestartDungeonRsp.proto b/proto/MuqadasPotionRestartDungeonRsp.proto
new file mode 100644
index 00000000..749fb615
--- /dev/null
+++ b/proto/MuqadasPotionRestartDungeonRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message MuqadasPotionRestartDungeonRsp {
+ //enum PMEMOEDHMMA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 22672;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 15;
+}
diff --git a/proto/MusicBeatmap.proto b/proto/MusicBeatmap.proto
deleted file mode 100644
index 399286e2..00000000
--- a/proto/MusicBeatmap.proto
+++ /dev/null
@@ -1,11 +0,0 @@
-// Proto has been converted from Sorapointa to Grasscutter format
-syntax = "proto3";
-
-option java_package = "emu.grasscutter.net.proto";
-
-import "MusicBeatmapList.proto";
-
-message MusicBeatmap {
- uint32 music_id = 1;
- repeated MusicBeatmapList beatmap_item_list = 2;
-}
diff --git a/proto/MusicBeatmapList.proto b/proto/MusicBeatmapList.proto
deleted file mode 100644
index 13b01cf0..00000000
--- a/proto/MusicBeatmapList.proto
+++ /dev/null
@@ -1,10 +0,0 @@
-// Proto has been converted from Sorapointa to Grasscutter format
-syntax = "proto3";
-
-option java_package = "emu.grasscutter.net.proto";
-
-import "MusicBeatmapNote.proto";
-
-message MusicBeatmapList {
- repeated MusicBeatmapNote beatmap_note_list = 1;
-}
diff --git a/proto/MusicBeatmapNote.proto b/proto/MusicBeatmapNote.proto
deleted file mode 100644
index cde64d3a..00000000
--- a/proto/MusicBeatmapNote.proto
+++ /dev/null
@@ -1,9 +0,0 @@
-// Proto has been converted from Sorapointa to Grasscutter format
-syntax = "proto3";
-
-option java_package = "emu.grasscutter.net.proto";
-
-message MusicBeatmapNote {
- uint32 start_time = 1;
- uint32 end_time = 2;
-}
diff --git a/proto/MusicGameCreateBeatmapReq.proto b/proto/MusicGameCreateBeatmapReq.proto
deleted file mode 100644
index 4a87f750..00000000
--- a/proto/MusicGameCreateBeatmapReq.proto
+++ /dev/null
@@ -1,22 +0,0 @@
-// Proto has been converted from Sorapointa to Grasscutter format
-syntax = "proto3";
-
-option java_package = "emu.grasscutter.net.proto";
-
-import "MusicBeatmap.proto";
-import "MusicBriefInfo.proto";
-import "MusicGameUnknown1Enum.proto";
-
-// CmdId: 6326
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
-message MusicGameCreateBeatmapReq {
- MusicGameUnknown1Enum unknown_enum1 = 12;
- oneof beatmap {
- MusicBeatmap music_record = 10;
- }
- oneof brief_info {
- MusicBriefInfo music_brief_info = 1021;
- }
-}
diff --git a/proto/MusicGameCreateBeatmapRsp.proto b/proto/MusicGameCreateBeatmapRsp.proto
deleted file mode 100644
index 99a7231b..00000000
--- a/proto/MusicGameCreateBeatmapRsp.proto
+++ /dev/null
@@ -1,16 +0,0 @@
-// Proto has been converted from Sorapointa to Grasscutter format
-syntax = "proto3";
-
-option java_package = "emu.grasscutter.net.proto";
-
-import "MusicGameUnknown1Enum.proto";
-
-// CmdId: 6347
-// EnetChannelId: 0
-// EnetIsReliable: true
-
-message MusicGameCreateBeatmapRsp {
- int32 retcode = 10;
- MusicGameUnknown1Enum unknown_enum1 = 12;
- uint64 music_share_id = 5;
-}
diff --git a/proto/MusicGameGetBeatmapReq.proto b/proto/MusicGameGetBeatmapReq.proto
deleted file mode 100644
index e33bbb68..00000000
--- a/proto/MusicGameGetBeatmapReq.proto
+++ /dev/null
@@ -1,20 +0,0 @@
-// Proto has been converted from Sorapointa to Grasscutter format
-syntax = "proto3";
-
-option java_package = "emu.grasscutter.net.proto";
-
-import "MusicGameUnknown2Enum.proto";
-import "MusicGameGetBeatmapReqType.proto";
-import "MusicGameUnknown1Enum.proto";
-
-// CmdId: 6318
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
-message MusicGameGetBeatmapReq {
- MusicGameUnknown1Enum unknown_enum1 = 1;
- uint64 music_share_id = 10;
- MusicGameUnknown2Enum unknown_enum2 = 12;
- bool CDFOGGDLKNA = 15;
- MusicGameGetBeatmapReqType req_type = 11;
-}
diff --git a/proto/MusicGameGetBeatmapReqType.proto b/proto/MusicGameGetBeatmapReqType.proto
deleted file mode 100644
index efad4a34..00000000
--- a/proto/MusicGameGetBeatmapReqType.proto
+++ /dev/null
@@ -1,15 +0,0 @@
-// Proto has been converted from Sorapointa to Grasscutter format
-syntax = "proto3";
-
-option java_package = "emu.grasscutter.net.proto";
-
-enum MusicGameGetBeatmapReqType {
- MusicGameGetBeatmapReqType_u1 = 0;
- // edit_beatmap
- MusicGameGetBeatmapReqType_u2 = 1;
- // play_others
- MusicGameGetBeatmapReqType_u3 = 2;
- // try
- MusicGameGetBeatmapReqType_u4 = 3;
- MusicGameGetBeatmapReqType_u5 = 4;
-}
diff --git a/proto/MusicGameGetBeatmapRsp.proto b/proto/MusicGameGetBeatmapRsp.proto
deleted file mode 100644
index fa355f96..00000000
--- a/proto/MusicGameGetBeatmapRsp.proto
+++ /dev/null
@@ -1,25 +0,0 @@
-// Proto has been converted from Sorapointa to Grasscutter format
-syntax = "proto3";
-
-option java_package = "emu.grasscutter.net.proto";
-
-import "MusicGameGetBeatmapReqType.proto";
-import "MusicBeatmap.proto";
-import "MusicBriefInfo.proto";
-import "MusicGameUnknown1Enum.proto";
-
-// CmdId: 6309
-// EnetChannelId: 0
-// EnetIsReliable: true
-message MusicGameGetBeatmapRsp {
- int32 retcode = 13;
- MusicGameUnknown1Enum unknown_enum1 = 1;
- uint64 music_share_id = 5;
- MusicGameGetBeatmapReqType req_type = 2;
- oneof beatmap {
- MusicBeatmap music_record = 9;
- }
- oneof brief_info {
- MusicBriefInfo music_brief_info = 953;
- }
-}
diff --git a/proto/MusicGameInfo.proto b/proto/MusicGameInfo.proto
new file mode 100644
index 00000000..a94bd071
--- /dev/null
+++ b/proto/MusicGameInfo.proto
@@ -0,0 +1,14 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "MusicBriefInfo.proto";
+import "MusicGameRecord.proto";
+
+message MusicGameInfo {
+ repeated MusicBriefInfo Unk3300_AAGCDCOIPJM = 2;
+ repeated MusicBriefInfo Unk3300_OKHAACGHMAP = 6;
+ map musicGameRecordMap = 8;
+}
diff --git a/proto/MusicGameSearchBeatmapReq.proto b/proto/MusicGameSearchBeatmapReq.proto
deleted file mode 100644
index 9de25162..00000000
--- a/proto/MusicGameSearchBeatmapReq.proto
+++ /dev/null
@@ -1,15 +0,0 @@
-// Proto has been converted from Sorapointa to Grasscutter format
-syntax = "proto3";
-
-option java_package = "emu.grasscutter.net.proto";
-
-import "MusicGameUnknown1Enum.proto";
-
-// CmdId: 6343
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
-message MusicGameSearchBeatmapReq {
- MusicGameUnknown1Enum unknown_enum1 = 10;
- uint64 music_share_id = 6;
-}
diff --git a/proto/MusicGameSearchBeatmapRsp.proto b/proto/MusicGameSearchBeatmapRsp.proto
deleted file mode 100644
index 4f377e07..00000000
--- a/proto/MusicGameSearchBeatmapRsp.proto
+++ /dev/null
@@ -1,19 +0,0 @@
-// Proto has been converted from Sorapointa to Grasscutter format
-syntax = "proto3";
-
-option java_package = "emu.grasscutter.net.proto";
-
-import "MusicBriefInfo.proto";
-import "MusicGameUnknown1Enum.proto";
-
-// CmdId: 6304
-// EnetChannelId: 0
-// EnetIsReliable: true
-message MusicGameSearchBeatmapRsp {
- int32 retcode = 9;
- MusicGameUnknown1Enum unknown_enum1 = 3;
- uint64 music_share_id = 4;
- oneof ELBEIFGDBMM {
- MusicBriefInfo music_brief_info = 11;
- }
-}
diff --git a/proto/MusicGameStartToPlayOthersBeatmapReq.proto b/proto/MusicGameStartToPlayOthersBeatmapReq.proto
deleted file mode 100644
index 25fcad8a..00000000
--- a/proto/MusicGameStartToPlayOthersBeatmapReq.proto
+++ /dev/null
@@ -1,14 +0,0 @@
-// Proto has been converted from Sorapointa to Grasscutter format
-syntax = "proto3";
-
-option java_package = "emu.grasscutter.net.proto";
-
-import "MusicGameUnknown1Enum.proto";
-
-// CmdId: 6302
-// EnetChannelId: 0
-// EnetIsReliable: true
-// IsAllowClient: true
-message MusicGameStartToPlayOthersBeatmapReq {
- MusicGameUnknown1Enum unknown_enum1 = 12;
-}
diff --git a/proto/MusicGameStartToPlayOthersBeatmapRsp.proto b/proto/MusicGameStartToPlayOthersBeatmapRsp.proto
deleted file mode 100644
index 8f935b9e..00000000
--- a/proto/MusicGameStartToPlayOthersBeatmapRsp.proto
+++ /dev/null
@@ -1,15 +0,0 @@
-// Proto has been converted from Sorapointa to Grasscutter format
-syntax = "proto3";
-
-option java_package = "emu.grasscutter.net.proto";
-
-import "MusicGameUnknown1Enum.proto";
-
-// CmdId: 6313
-// EnetChannelId: 0
-// EnetIsReliable: true
-message MusicGameStartToPlayOthersBeatmapRsp {
- int32 retcode = 2;
- MusicGameUnknown1Enum unknown_enum1 = 11;
- repeated uint64 AMNODOLNOIM = 6;
-}
diff --git a/proto/MusicGameUnknown1Enum.proto b/proto/MusicGameUnknown1Enum.proto
deleted file mode 100644
index 38fca4a4..00000000
--- a/proto/MusicGameUnknown1Enum.proto
+++ /dev/null
@@ -1,9 +0,0 @@
-// Proto has been converted from Sorapointa to Grasscutter format
-syntax = "proto3";
-
-option java_package = "emu.grasscutter.net.proto";
-
-enum MusicGameUnknown1Enum {
- MusicGameUnknown1Enum_NONE = 0;
- MusicGameUnknown1Enum_u2 = 1;
-}
diff --git a/proto/MusicGameUnknown2Enum.proto b/proto/MusicGameUnknown2Enum.proto
deleted file mode 100644
index 4c61a1d3..00000000
--- a/proto/MusicGameUnknown2Enum.proto
+++ /dev/null
@@ -1,10 +0,0 @@
-// Proto has been converted from Sorapointa to Grasscutter format
-syntax = "proto3";
-
-option java_package = "emu.grasscutter.net.proto";
-
-enum MusicGameUnknown2Enum {
- MusicGameUnknown2Enum_u1 = 0;
- MusicGameUnknown2Enum_MINE = 1;
- MusicGameUnknown2Enum_u3 = 2;
-}
diff --git a/proto/NALEOFHPMKN.proto b/proto/NALEOFHPMKN.proto
new file mode 100644
index 00000000..ddfefab6
--- /dev/null
+++ b/proto/NALEOFHPMKN.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message NALEOFHPMKN {
+ uint32 aeppldffjcf = 5;
+ uint32 ilhofemcpji = 7;
+}
diff --git a/proto/NAMOHGAFBJP.proto b/proto/NAMOHGAFBJP.proto
new file mode 100644
index 00000000..66573b7a
--- /dev/null
+++ b/proto/NAMOHGAFBJP.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message NAMOHGAFBJP {
+ uint32 blockId = 14;
+ uint32 khhhdmmmcjn = 13;
+}
diff --git a/proto/NBOJKBNKIJJ.proto b/proto/NBOJKBNKIJJ.proto
new file mode 100644
index 00000000..6d7eeaf7
--- /dev/null
+++ b/proto/NBOJKBNKIJJ.proto
@@ -0,0 +1,10 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message NBOJKBNKIJJ {
+ uint32 loemgoiedea = 4;
+}
diff --git a/proto/NCFCILACFAG.proto b/proto/NCFCILACFAG.proto
new file mode 100644
index 00000000..bc98d816
--- /dev/null
+++ b/proto/NCFCILACFAG.proto
@@ -0,0 +1,13 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "AbilityString.proto";
+
+message NCFCILACFAG {
+ AbilityString abilityOverride = 4;
+ float jbgcmjfopeh = 15;
+ AbilityString abilityName = 6;
+}
diff --git a/proto/NCLBHFKHBLE.proto b/proto/NCLBHFKHBLE.proto
new file mode 100644
index 00000000..a6f882fa
--- /dev/null
+++ b/proto/NCLBHFKHBLE.proto
@@ -0,0 +1,17 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "IAENJEILLBG.proto";
+import "DFAIPJMKBCC.proto";
+import "NJAPCNDDMBH.proto";
+
+message NCLBHFKHBLE {
+ repeated IAENJEILLBG bcingedoaop = 9;
+ uint32 gameId = 8;
+ repeated DFAIPJMKBCC plkdeiooihe = 6;
+ uint32 fjjbdhjmoca = 12;
+ repeated NJAPCNDDMBH cpmjjejogbm = 3;
+}
diff --git a/proto/NEPIEOLFECI.proto b/proto/NEPIEOLFECI.proto
new file mode 100644
index 00000000..330d0a6d
--- /dev/null
+++ b/proto/NEPIEOLFECI.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GJPHKJFFMOM.proto";
+import "PLDKICHAHEB.proto";
+
+message NEPIEOLFECI {
+ string createTime = 1;
+ string macodnmfgja = 2;
+ bool gmjigokbahm = 3;
+ string pdpkmnchadl = 4;
+ bool mogadedkbci = 5;
+ repeated PLDKICHAHEB jkfdibhoggm = 6;
+ GJPHKJFFMOM idbdfgaalao = 7;
+}
diff --git a/proto/NFBOJDFGLHH.proto b/proto/NFBOJDFGLHH.proto
new file mode 100644
index 00000000..7d716fae
--- /dev/null
+++ b/proto/NFBOJDFGLHH.proto
@@ -0,0 +1,17 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "Vector.proto";
+
+message NFBOJDFGLHH {
+ repeated uint32 ngkifhhgeji = 14;
+ bool mibdohmpbej = 9;
+ float speed = 11;
+ string ddgbmfnfahg = 13;
+ uint32 entityId = 1;
+ bool kafblnnckhe = 15;
+ Vector eknhofiihcl = 7;
+}
diff --git a/proto/NFHBHHJAJDA.proto b/proto/NFHBHHJAJDA.proto
new file mode 100644
index 00000000..facafc96
--- /dev/null
+++ b/proto/NFHBHHJAJDA.proto
@@ -0,0 +1,14 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message NFHBHHJAJDA {
+ bool canfkdfcgnl = 4;
+ bool fdeoedhpmkj = 12;
+ bool bddkjnapbfc = 3;
+ uint32 skillId = 15;
+ bool ooonppjmjga = 9;
+}
diff --git a/proto/NGHLNABNDEJ.proto b/proto/NGHLNABNDEJ.proto
new file mode 100644
index 00000000..b1e966a7
--- /dev/null
+++ b/proto/NGHLNABNDEJ.proto
@@ -0,0 +1,15 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message NGHLNABNDEJ {
+ uint32 hpjakbogomm = 13;
+ uint32 pomnjomifhi = 2;
+ uint32 gmfajmjacpm = 15;
+ uint32 phase = 4;
+ uint32 keoilfncimn = 6;
+ repeated uint32 mpooncgnhaa = 11;
+}
diff --git a/proto/NHIEMMBIBGH.proto b/proto/NHIEMMBIBGH.proto
new file mode 100644
index 00000000..3167200b
--- /dev/null
+++ b/proto/NHIEMMBIBGH.proto
@@ -0,0 +1,15 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "Vector.proto";
+
+message NHIEMMBIBGH {
+ uint32 entityId = 5;
+ float mbbjimmgikj = 2;
+ float dkdecebeebb = 14;
+ Vector eknhofiihcl = 12;
+ float speed = 6;
+}
diff --git a/proto/NHMKAMGOKDK.proto b/proto/NHMKAMGOKDK.proto
new file mode 100644
index 00000000..2bfb0946
--- /dev/null
+++ b/proto/NHMKAMGOKDK.proto
@@ -0,0 +1,24 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+enum NHMKAMGOKDK {
+ NHMKAMGOKDK_NONE = 0;
+ BNEBIHJPEAE = 1;
+ HIPIFJLLHNM = 3;
+ OGALALLEPFD = 4;
+ OGKELOFFMCC = 5;
+ KIIBLMIHGBO = 6;
+ ABPCDJJPGKN = 7;
+ MPHJAGCGJFA = 10;
+ IHFODEDLHMC = 11;
+ KPPKKIAKECK = 12;
+ HKIBLOJEAIE = 13;
+ NPDHLJJENNO = 14;
+ JAJHDFANFDJ = 15;
+ CHJOANAGJPK = 16;
+ FAAJEMLPFDK = 17;
+ KNEPHONAMCE = 18;
+}
diff --git a/proto/NINFMJDPCEJ.proto b/proto/NINFMJDPCEJ.proto
new file mode 100644
index 00000000..869105f1
--- /dev/null
+++ b/proto/NINFMJDPCEJ.proto
@@ -0,0 +1,10 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message NINFMJDPCEJ {
+ float gookfcglmjd = 13;
+}
diff --git a/proto/NJAPCNDDMBH.proto b/proto/NJAPCNDDMBH.proto
new file mode 100644
index 00000000..71793514
--- /dev/null
+++ b/proto/NJAPCNDDMBH.proto
@@ -0,0 +1,16 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "Duel.proto";
+
+message NJAPCNDDMBH {
+ uint32 opSeq = 13;
+ uint32 controllerId = 14;
+ oneof detail {
+ string gm_msg = 12;
+ Duel duel = 5;
+ }
+}
diff --git a/proto/NMPKCMGANGK.proto b/proto/NMPKCMGANGK.proto
new file mode 100644
index 00000000..fb55cde1
--- /dev/null
+++ b/proto/NMPKCMGANGK.proto
@@ -0,0 +1,16 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ACBDKPGMCNH.proto";
+
+message NMPKCMGANGK {
+ string createTime = 1;
+ string inputType = 2;
+ string lliofconmpa = 3;
+ ACBDKPGMCNH jkfdibhoggm = 4;
+ bool kdabaandpba = 5;
+ bool mmbahlklfkf = 6;
+}
diff --git a/proto/NNDIACOGJBL.proto b/proto/NNDIACOGJBL.proto
new file mode 100644
index 00000000..8925a465
--- /dev/null
+++ b/proto/NNDIACOGJBL.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+enum NNDIACOGJBL {
+ NNDIACOGJBL_NONE = 0;
+ BLKJCONMCCO = 1;
+ CIADBIJEAMK = 2;
+}
diff --git a/proto/NOABGCFIDLD.proto b/proto/NOABGCFIDLD.proto
new file mode 100644
index 00000000..aabc9994
--- /dev/null
+++ b/proto/NOABGCFIDLD.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+enum NOABGCFIDLD {
+ NOABGCFIDLD_NONE = 0;
+ DEABBPDEBFE = 1;
+ DCNEOJNMMEI = 2;
+ JEGAOENPDIM = 3;
+}
diff --git a/proto/NOJMHFDCPFH.proto b/proto/NOJMHFDCPFH.proto
new file mode 100644
index 00000000..76a7392a
--- /dev/null
+++ b/proto/NOJMHFDCPFH.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message NOJMHFDCPFH {
+ uint32 firstPublishTime = 1;
+ uint32 lastPublishTime = 2;
+ map brickStatisticsMap = 3;
+}
diff --git a/proto/NavMeshStatsNotify.proto b/proto/NavMeshStatsNotify.proto
new file mode 100644
index 00000000..28ba99ab
--- /dev/null
+++ b/proto/NavMeshStatsNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "PbNavMeshStatsInfo.proto";
+
+message NavMeshStatsNotify {
+ //enum APFHNNMDGGN {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2395;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ repeated PbNavMeshStatsInfo infos = 13;
+}
diff --git a/proto/NewCard.proto b/proto/NewCard.proto
new file mode 100644
index 00000000..23457138
--- /dev/null
+++ b/proto/NewCard.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GCGCard.proto";
+
+message NewCard {
+ GCGCard card = 5;
+}
diff --git a/proto/NicknameAuditConfigNotify.proto b/proto/NicknameAuditConfigNotify.proto
new file mode 100644
index 00000000..981c6374
--- /dev/null
+++ b/proto/NicknameAuditConfigNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message NicknameAuditConfigNotify {
+ //enum BGFHIJPKGNH {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 148;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+}
diff --git a/proto/NightCrowGadgetObservationMatchReq.proto b/proto/NightCrowGadgetObservationMatchReq.proto
new file mode 100644
index 00000000..37c81c4f
--- /dev/null
+++ b/proto/NightCrowGadgetObservationMatchReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message NightCrowGadgetObservationMatchReq {
+ //enum OEONLKONNIA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 843;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 gadgetEntityId = 7;
+ uint32 targetGadgetState = 9;
+}
diff --git a/proto/NightCrowGadgetObservationMatchRsp.proto b/proto/NightCrowGadgetObservationMatchRsp.proto
new file mode 100644
index 00000000..b2a3a94b
--- /dev/null
+++ b/proto/NightCrowGadgetObservationMatchRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message NightCrowGadgetObservationMatchRsp {
+ //enum JHLAKKOAHKJ {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 835;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 12;
+}
diff --git a/proto/NoDamageSkillResult.proto b/proto/NoDamageSkillResult.proto
new file mode 100644
index 00000000..58828818
--- /dev/null
+++ b/proto/NoDamageSkillResult.proto
@@ -0,0 +1,17 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GCGDamageDetail.proto";
+
+message NoDamageSkillResult {
+ uint32 Unk3300_NNJAOEHNPPD = 3;
+ uint32 Unk3300_NIGDCIGLAKE = 1;
+ uint32 Unk3300_LPGLOCDDPCL = 13;
+ repeated GCGDamageDetail detailList = 9;
+ uint32 Unk3300_EPNDCIAJOJP = 5;
+ uint32 skillId = 15;
+ uint32 targetCardGuid = 4;
+}
diff --git a/proto/NormalUidOpNotify.proto b/proto/NormalUidOpNotify.proto
new file mode 100644
index 00000000..b7864f14
--- /dev/null
+++ b/proto/NormalUidOpNotify.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message NormalUidOpNotify {
+ //enum OJEDBPCNKIF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5738;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 duration = 1;
+ repeated uint32 paramList = 12;
+ repeated uint32 paramUidList = 7;
+ uint32 paramIndex = 6;
+}
diff --git a/proto/Npc.proto b/proto/Npc.proto
new file mode 100644
index 00000000..4211bb89
--- /dev/null
+++ b/proto/Npc.proto
@@ -0,0 +1,13 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message Npc {
+ uint32 npcId = 1;
+ uint32 roomId = 2;
+ uint32 parentQuestId = 3;
+ uint32 blockId = 4;
+}
diff --git a/proto/NpcPositionInfo.proto b/proto/NpcPositionInfo.proto
new file mode 100644
index 00000000..3122ce51
--- /dev/null
+++ b/proto/NpcPositionInfo.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "Vector.proto";
+
+message NpcPositionInfo {
+ uint32 npcId = 1;
+ Vector pos = 2;
+}
diff --git a/proto/NpcTalkStateNotify.proto b/proto/NpcTalkStateNotify.proto
new file mode 100644
index 00000000..949210ca
--- /dev/null
+++ b/proto/NpcTalkStateNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message NpcTalkStateNotify {
+ //enum ONOEOAPMNBI {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 481;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ bool isBan = 1;
+}
diff --git a/proto/NullValue.proto b/proto/NullValue.proto
new file mode 100644
index 00000000..ce8da442
--- /dev/null
+++ b/proto/NullValue.proto
@@ -0,0 +1,9 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+enum NullValue {
+ CEPOMEPFIME = 0;
+}
diff --git a/proto/OBCIHDJGLCK.proto b/proto/OBCIHDJGLCK.proto
new file mode 100644
index 00000000..3518a05b
--- /dev/null
+++ b/proto/OBCIHDJGLCK.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "Vector.proto";
+
+message OBCIHDJGLCK {
+ Vector hhfmfeegcei = 2;
+}
diff --git a/proto/OBDFGKEKJJK.proto b/proto/OBDFGKEKJJK.proto
new file mode 100644
index 00000000..e08abd71
--- /dev/null
+++ b/proto/OBDFGKEKJJK.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message OBDFGKEKJJK {
+ //enum PKCBBJPGNKL {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 6548;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 playIndex = 11;
+}
diff --git a/proto/OBFAPFPHOIC.proto b/proto/OBFAPFPHOIC.proto
new file mode 100644
index 00000000..e2188336
--- /dev/null
+++ b/proto/OBFAPFPHOIC.proto
@@ -0,0 +1,23 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message OBFAPFPHOIC {
+ string lhbmbokddkp = 1;
+ string mjomnfiadem = 2;
+ uint32 lgjfdbchnnm = 3;
+ string jmmpcpapobk = 4;
+ string oiohjhhmkle = 5;
+ string productId = 6;
+ string channelId = 7;
+ string nlmgkehpnmi = 8;
+ string afmembcinei = 9;
+ string mbdifigklgo = 10;
+ string deviceUuid = 11;
+ string dealbhfkalh = 12;
+ string bhfcgolfbeg = 13;
+ string kbgbegffhhc = 14;
+}
diff --git a/proto/OEICFFKNCNJ.proto b/proto/OEICFFKNCNJ.proto
new file mode 100644
index 00000000..9523393c
--- /dev/null
+++ b/proto/OEICFFKNCNJ.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GMJDGJIDDCI.proto";
+import "GJPHKJFFMOM.proto";
+import "BGPGPMLJNLP.proto";
+import "PLDKICHAHEB.proto";
+
+message OEICFFKNCNJ {
+ string createTime = 1;
+ repeated BGPGPMLJNLP jkplafpenlg = 2;
+ repeated PLDKICHAHEB jkfdibhoggm = 3;
+ GMJDGJIDDCI ojmkoemmlpa = 4;
+ GJPHKJFFMOM idbdfgaalao = 5;
+}
diff --git a/proto/OILIHLEJJGP.proto b/proto/OILIHLEJJGP.proto
new file mode 100644
index 00000000..9d9cad77
--- /dev/null
+++ b/proto/OILIHLEJJGP.proto
@@ -0,0 +1,10 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message OILIHLEJJGP {
+ uint32 targetEntityId = 10;
+}
diff --git a/proto/ONGLLFPMBNL.proto b/proto/ONGLLFPMBNL.proto
new file mode 100644
index 00000000..f02d03bb
--- /dev/null
+++ b/proto/ONGLLFPMBNL.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ONGLLFPMBNL {
+ int64 ckgefmkgkhh = 1;
+ int32 cmhoaideaep = 2;
+}
diff --git a/proto/OfferingInteractReq.proto b/proto/OfferingInteractReq.proto
new file mode 100644
index 00000000..78552418
--- /dev/null
+++ b/proto/OfferingInteractReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message OfferingInteractReq {
+ //enum ICDAHKCNCLC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2917;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 offeringId = 11;
+}
diff --git a/proto/OfferingInteractRsp.proto b/proto/OfferingInteractRsp.proto
new file mode 100644
index 00000000..c69c3671
--- /dev/null
+++ b/proto/OfferingInteractRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "PlayerOfferingData.proto";
+
+message OfferingInteractRsp {
+ //enum DJGBDIKDLBP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2922;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 10;
+ PlayerOfferingData offeringData = 14;
+}
diff --git a/proto/OneoffGatherPointDetectorDataNotify.proto b/proto/OneoffGatherPointDetectorDataNotify.proto
new file mode 100644
index 00000000..33007d59
--- /dev/null
+++ b/proto/OneoffGatherPointDetectorDataNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "DetectorData.proto";
+
+message OneoffGatherPointDetectorDataNotify {
+ //enum BBLGDHLPBJJ {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4257;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated DetectorData oneoffGatherPointDetectorDataList = 10;
+}
diff --git a/proto/OpActivityDataNotify.proto b/proto/OpActivityDataNotify.proto
new file mode 100644
index 00000000..c01f9056
--- /dev/null
+++ b/proto/OpActivityDataNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "OpActivityInfo.proto";
+
+message OpActivityDataNotify {
+ //enum HMEPGLFHAMI {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5187;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated OpActivityInfo opActivityInfoList = 13;
+}
diff --git a/proto/OpActivityStateNotify.proto b/proto/OpActivityStateNotify.proto
new file mode 100644
index 00000000..267d9081
--- /dev/null
+++ b/proto/OpActivityStateNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "OpActivityTagBriefInfo.proto";
+
+message OpActivityStateNotify {
+ //enum LCECIEJDFNC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2505;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated uint32 finishedBonusActivityIdList = 11;
+ repeated OpActivityTagBriefInfo openedOpActivityInfoList = 3;
+}
diff --git a/proto/OpActivityTagBriefInfo.proto b/proto/OpActivityTagBriefInfo.proto
new file mode 100644
index 00000000..66ea8efd
--- /dev/null
+++ b/proto/OpActivityTagBriefInfo.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message OpActivityTagBriefInfo {
+ uint32 configId = 10;
+ bool hasReward = 11;
+ uint32 opActivityType = 3;
+}
diff --git a/proto/OpActivityUpdateNotify.proto b/proto/OpActivityUpdateNotify.proto
new file mode 100644
index 00000000..966522c5
--- /dev/null
+++ b/proto/OpActivityUpdateNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "OpActivityInfo.proto";
+
+message OpActivityUpdateNotify {
+ //enum MBCLAKJJALC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5198;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ OpActivityInfo opActivityInfo = 15;
+}
diff --git a/proto/OpAttack.proto b/proto/OpAttack.proto
new file mode 100644
index 00000000..b5664e63
--- /dev/null
+++ b/proto/OpAttack.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message OpAttack {
+ uint32 skillId = 8;
+ repeated uint32 costDiceIndexList = 11;
+}
diff --git a/proto/OpPass.proto b/proto/OpPass.proto
new file mode 100644
index 00000000..433b420d
--- /dev/null
+++ b/proto/OpPass.proto
@@ -0,0 +1,9 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message OpPass {
+}
diff --git a/proto/OpPlayCard.proto b/proto/OpPlayCard.proto
new file mode 100644
index 00000000..3d2ed1e5
--- /dev/null
+++ b/proto/OpPlayCard.proto
@@ -0,0 +1,13 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message OpPlayCard {
+ uint32 replaceCardGuid = 6;
+ repeated uint32 targetCardGuidList = 11;
+ uint32 cardGuid = 14;
+ repeated uint32 costDiceIndexList = 13;
+}
diff --git a/proto/OpReboot.proto b/proto/OpReboot.proto
new file mode 100644
index 00000000..3bcd6ec9
--- /dev/null
+++ b/proto/OpReboot.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message OpReboot {
+ repeated uint32 costCardGuidList = 9;
+ repeated uint32 diceIndexList = 10;
+}
diff --git a/proto/OpRedraw.proto b/proto/OpRedraw.proto
new file mode 100644
index 00000000..e93450c4
--- /dev/null
+++ b/proto/OpRedraw.proto
@@ -0,0 +1,10 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message OpRedraw {
+ repeated uint32 cardList = 12;
+}
diff --git a/proto/OpReroll.proto b/proto/OpReroll.proto
new file mode 100644
index 00000000..72121864
--- /dev/null
+++ b/proto/OpReroll.proto
@@ -0,0 +1,10 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message OpReroll {
+ repeated uint32 diceIndexList = 3;
+}
diff --git a/proto/OpSelectOnStage.proto b/proto/OpSelectOnStage.proto
new file mode 100644
index 00000000..a35273a4
--- /dev/null
+++ b/proto/OpSelectOnStage.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message OpSelectOnStage {
+ uint32 cardGuid = 6;
+ repeated uint32 costDiceIndexList = 13;
+}
diff --git a/proto/OpSurrender.proto b/proto/OpSurrender.proto
new file mode 100644
index 00000000..624d1e92
--- /dev/null
+++ b/proto/OpSurrender.proto
@@ -0,0 +1,9 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message OpSurrender {
+}
diff --git a/proto/OpTimer.proto b/proto/OpTimer.proto
new file mode 100644
index 00000000..c18d2559
--- /dev/null
+++ b/proto/OpTimer.proto
@@ -0,0 +1,14 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GCGPhaseType.proto";
+
+message OpTimer {
+ uint64 timeStamp = 9;
+ uint64 beginTime = 10;
+ uint32 controllerId = 6;
+ GCGPhaseType phase = 1;
+}
diff --git a/proto/OpenBlossomCircleCampGuideNotify.proto b/proto/OpenBlossomCircleCampGuideNotify.proto
new file mode 100644
index 00000000..9f3197fb
--- /dev/null
+++ b/proto/OpenBlossomCircleCampGuideNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message OpenBlossomCircleCampGuideNotify {
+ //enum IOAHHHEODOO {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2780;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ repeated uint32 circleCampIdList = 13;
+ uint32 refreshId = 5;
+}
diff --git a/proto/OperateType.proto b/proto/OperateType.proto
new file mode 100644
index 00000000..f07b3a6e
--- /dev/null
+++ b/proto/OperateType.proto
@@ -0,0 +1,10 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+enum OperateType {
+ OPERATE_TYPE_NONE = 0;
+ OPERATE_TYPE_EFFECT = 1;
+}
diff --git a/proto/Operation.proto b/proto/Operation.proto
new file mode 100644
index 00000000..b224160b
--- /dev/null
+++ b/proto/Operation.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+enum Operation {
+ OPERATION_ADD = 0;
+ OPERATION_MOD = 1;
+ OPERATION_DEL = 2;
+ OPERATION_GET = 3;
+}
diff --git a/proto/OrderDisplayNotify.proto b/proto/OrderDisplayNotify.proto
new file mode 100644
index 00000000..2f7e8927
--- /dev/null
+++ b/proto/OrderDisplayNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message OrderDisplayNotify {
+ //enum CCBJEGAAHKJ {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4143;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 orderId = 9;
+}
diff --git a/proto/OrderFinishNotify.proto b/proto/OrderFinishNotify.proto
new file mode 100644
index 00000000..4239353f
--- /dev/null
+++ b/proto/OrderFinishNotify.proto
@@ -0,0 +1,23 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ItemParam.proto";
+
+message OrderFinishNotify {
+ //enum MFFGOBEAMGF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4146;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 addMcoin = 4;
+ uint32 cardProductRemainDays = 3;
+ uint32 orderId = 5;
+ repeated ItemParam itemList = 8;
+ string productId = 13;
+}
diff --git a/proto/OtherCustomDungeonBrief.proto b/proto/OtherCustomDungeonBrief.proto
new file mode 100644
index 00000000..9a2f0bd1
--- /dev/null
+++ b/proto/OtherCustomDungeonBrief.proto
@@ -0,0 +1,24 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "CustomDungeonAbstract.proto";
+import "CustomDungeonSocial.proto";
+import "CustomDungeonSetting.proto";
+import "SocialDetail.proto";
+
+message OtherCustomDungeonBrief {
+ uint64 dungeonGuid = 2;
+ CustomDungeonAbstract abstract = 15;
+ CustomDungeonSocial social = 11;
+ bool isPsnPlatform = 10;
+ uint32 dungeonId = 5;
+ bool isAdventureDungeon = 12;
+ repeated uint32 tagList = 6;
+ CustomDungeonSetting setting = 4;
+ uint32 battleMinCostTime = 7;
+ SocialDetail creatorDetail = 8;
+ bool isStored = 3;
+}
diff --git a/proto/OtherPlayerEnterHomeNotify.proto b/proto/OtherPlayerEnterHomeNotify.proto
new file mode 100644
index 00000000..4f9687f7
--- /dev/null
+++ b/proto/OtherPlayerEnterHomeNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "Reason.proto";
+
+message OtherPlayerEnterHomeNotify {
+ //enum JHJIBDFHCDP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4582;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ Reason reason = 15;
+ string nickname = 11;
+}
diff --git a/proto/OutStuckCustomDungeonReq.proto b/proto/OutStuckCustomDungeonReq.proto
new file mode 100644
index 00000000..54eb51e3
--- /dev/null
+++ b/proto/OutStuckCustomDungeonReq.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message OutStuckCustomDungeonReq {
+ //enum HMANMBMFPND {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 6239;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+}
diff --git a/proto/OutStuckCustomDungeonRsp.proto b/proto/OutStuckCustomDungeonRsp.proto
new file mode 100644
index 00000000..10e049d2
--- /dev/null
+++ b/proto/OutStuckCustomDungeonRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message OutStuckCustomDungeonRsp {
+ //enum FFOFAOEDIML {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 6209;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ int32 retcode = 14;
+}
diff --git a/proto/PBCGIPFKDBD.proto b/proto/PBCGIPFKDBD.proto
new file mode 100644
index 00000000..c5c24df9
--- /dev/null
+++ b/proto/PBCGIPFKDBD.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "DKCAEHHPAGD.proto";
+import "MMJFCJAIBBG.proto";
+
+message PBCGIPFKDBD {
+ string oiibnieamib = 1;
+ string entityId = 2;
+ string lang = 3;
+ string khjppnapjib = 4;
+ string fecoacjadfm = 5;
+ uint32 uid = 6;
+ repeated DKCAEHHPAGD fcjijbicndj = 7;
+ repeated MMJFCJAIBBG pmbjacpclfc = 8;
+}
diff --git a/proto/PBNavMeshPoly.proto b/proto/PBNavMeshPoly.proto
new file mode 100644
index 00000000..8d96c9c8
--- /dev/null
+++ b/proto/PBNavMeshPoly.proto
@@ -0,0 +1,13 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "EdgeType.proto";
+
+message PBNavMeshPoly {
+ repeated EdgeType edgeTypes = 1;
+ int32 area = 5;
+ repeated int32 vects = 14;
+}
diff --git a/proto/PBNavMeshTile.proto b/proto/PBNavMeshTile.proto
new file mode 100644
index 00000000..50d9153d
--- /dev/null
+++ b/proto/PBNavMeshTile.proto
@@ -0,0 +1,13 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "PBNavMeshPoly.proto";
+import "Vector.proto";
+
+message PBNavMeshTile {
+ repeated PBNavMeshPoly polys = 11;
+ repeated Vector vecs = 1;
+}
diff --git a/proto/PCCGJPEIAOE.proto b/proto/PCCGJPEIAOE.proto
new file mode 100644
index 00000000..2563bfa0
--- /dev/null
+++ b/proto/PCCGJPEIAOE.proto
@@ -0,0 +1,14 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "DNEFMCCIFDH.proto";
+import "NMPKCMGANGK.proto";
+
+message PCCGJPEIAOE {
+ string createTime = 1;
+ repeated NMPKCMGANGK ingcalgldlb = 2;
+ DNEFMCCIFDH jkfdibhoggm = 3;
+}
diff --git a/proto/PDKBCPLNAOJ.proto b/proto/PDKBCPLNAOJ.proto
new file mode 100644
index 00000000..9393d10e
--- /dev/null
+++ b/proto/PDKBCPLNAOJ.proto
@@ -0,0 +1,13 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message PDKBCPLNAOJ {
+ float lfpempoopmd = 8;
+ float dfadhemafpn = 11;
+ uint32 elementType = 1;
+ uint32 bhgooledknh = 7;
+}
diff --git a/proto/PDOPJIGDNPF.proto b/proto/PDOPJIGDNPF.proto
new file mode 100644
index 00000000..3b9dffbd
--- /dev/null
+++ b/proto/PDOPJIGDNPF.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "FFJPPIJOJLI.proto";
+
+message PDOPJIGDNPF {
+ uint32 blockId = 1;
+ repeated FFJPPIJOJLI benoomjlmom = 2;
+}
diff --git a/proto/PEKDGMPDEBD.proto b/proto/PEKDGMPDEBD.proto
new file mode 100644
index 00000000..e35ac190
--- /dev/null
+++ b/proto/PEKDGMPDEBD.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "Vector.proto";
+
+message PEKDGMPDEBD {
+ Vector pos = 9;
+ Vector rot = 5;
+}
diff --git a/proto/PGKPOJFAPPO.proto b/proto/PGKPOJFAPPO.proto
new file mode 100644
index 00000000..9dd9564a
--- /dev/null
+++ b/proto/PGKPOJFAPPO.proto
@@ -0,0 +1,14 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "KCPPELGEJFE.proto";
+import "DBIBEJBEOEE.proto";
+
+message PGKPOJFAPPO {
+ string createTime = 1;
+ repeated DBIBEJBEOEE value = 2;
+ KCPPELGEJFE jkfdibhoggm = 3;
+}
diff --git a/proto/PIDDMANONBK.proto b/proto/PIDDMANONBK.proto
new file mode 100644
index 00000000..e497f1b5
--- /dev/null
+++ b/proto/PIDDMANONBK.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "AbilityScalarValueEntry.proto";
+
+message PIDDMANONBK {
+ repeated AbilityScalarValueEntry overrideMap = 2;
+}
diff --git a/proto/PJBEIEJCEIG.proto b/proto/PJBEIEJCEIG.proto
new file mode 100644
index 00000000..03a96420
--- /dev/null
+++ b/proto/PJBEIEJCEIG.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GMJDGJIDDCI.proto";
+import "GJPHKJFFMOM.proto";
+import "NEPIEOLFECI.proto";
+import "PLDKICHAHEB.proto";
+import "KHIBIMBJOBK.proto";
+
+message PJBEIEJCEIG {
+ string createTime = 1;
+ repeated NEPIEOLFECI klihkgbocdg = 2;
+ repeated PLDKICHAHEB jkfdibhoggm = 3;
+ string version = 4;
+ GMJDGJIDDCI ojmkoemmlpa = 5;
+ repeated KHIBIMBJOBK ddahbnggdhk = 6;
+ GJPHKJFFMOM idbdfgaalao = 7;
+}
diff --git a/proto/PKGIAOBKFDC.proto b/proto/PKGIAOBKFDC.proto
new file mode 100644
index 00000000..1e42c183
--- /dev/null
+++ b/proto/PKGIAOBKFDC.proto
@@ -0,0 +1,24 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+enum PKGIAOBKFDC {
+ PPGJHILBMOO = 0;
+ OCLBHCJHJKM = 1;
+ MBJCKIMBKLO = 2;
+ KACANNNNAIP = 3;
+ JNHCKJLFBOH = 4;
+ KOFLABAGLBC = 5;
+ KBMIJHJJPBP = 6;
+ NOODOCIAMMP = 7;
+ ALKAMFOJIND = 8;
+ IMHABLPEFGJ = 9;
+ BJOCLHFPKGA = 10;
+ AAJAMLABMKA = 11;
+ MMNMGEKLBAH = 12;
+ EPLBJGOKHFG = 13;
+ EACPLJEMGBP = 14;
+ JEGMFLFLJHO = 15;
+}
diff --git a/proto/PKIIPCCAGAH.proto b/proto/PKIIPCCAGAH.proto
new file mode 100644
index 00000000..01891666
--- /dev/null
+++ b/proto/PKIIPCCAGAH.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message PKIIPCCAGAH {
+ string fkncgjlkmef = 1;
+ uint32 gdeakhcppgc = 2;
+ uint32 lnlcfafpemp = 3;
+ string dkdbnljbgml = 4;
+ string oaaaldcjfak = 5;
+ string ldkcaaolmie = 6;
+ uint32 obdacilmepj = 7;
+ uint32 hnkkkglenlh = 8;
+ string agidilehddc = 9;
+}
diff --git a/proto/PLDKICHAHEB.proto b/proto/PLDKICHAHEB.proto
new file mode 100644
index 00000000..050b4180
--- /dev/null
+++ b/proto/PLDKICHAHEB.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "HPAKAIEAKFI.proto";
+
+message PLDKICHAHEB {
+ string createTime = 1;
+ HPAKAIEAKFI value = 2;
+}
diff --git a/proto/PLNHNDNPFLG.proto b/proto/PLNHNDNPFLG.proto
new file mode 100644
index 00000000..ddc710b6
--- /dev/null
+++ b/proto/PLNHNDNPFLG.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "Vector.proto";
+
+message PLNHNDNPFLG {
+ Vector pos = 8;
+ Vector rot = 11;
+}
diff --git a/proto/PMBHGINMKBK.proto b/proto/PMBHGINMKBK.proto
new file mode 100644
index 00000000..1da1f1b2
--- /dev/null
+++ b/proto/PMBHGINMKBK.proto
@@ -0,0 +1,10 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message PMBHGINMKBK {
+ float lahjfbdcfko = 1;
+}
diff --git a/proto/PMBPGKEONAG.proto b/proto/PMBPGKEONAG.proto
new file mode 100644
index 00000000..ec94540a
--- /dev/null
+++ b/proto/PMBPGKEONAG.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "Vector.proto";
+
+message PMBPGKEONAG {
+ Vector aapdkabicbn = 10;
+ float damage = 4;
+}
diff --git a/proto/POEDEDPKGPH.proto b/proto/POEDEDPKGPH.proto
new file mode 100644
index 00000000..aa6e90b4
--- /dev/null
+++ b/proto/POEDEDPKGPH.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "MGKFOCKHAHI.proto";
+
+message POEDEDPKGPH {
+ repeated MGKFOCKHAHI blnaldeiekj = 1;
+ string createTime = 2;
+}
diff --git a/proto/POHLFOGNPII.proto b/proto/POHLFOGNPII.proto
new file mode 100644
index 00000000..669aa169
--- /dev/null
+++ b/proto/POHLFOGNPII.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "NNDIACOGJBL.proto";
+import "MPMJBKDBLNE.proto";
+import "IDOELHBANCP.proto";
+
+message POHLFOGNPII {
+ NNDIACOGJBL ilkmhdhocho = 1;
+ bool nihndjkngei = 2;
+ MPMJBKDBLNE fmbboaeleok = 6;
+ bool jfbkdomplkl = 5;
+ bool aicefchaici = 3;
+ bool ibllmkacilh = 10;
+ repeated IDOELHBANCP kcllbppiboo = 999;
+}
diff --git a/proto/PPLPKPFHKEN.proto b/proto/PPLPKPFHKEN.proto
new file mode 100644
index 00000000..ba5fd51a
--- /dev/null
+++ b/proto/PPLPKPFHKEN.proto
@@ -0,0 +1,10 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message PPLPKPFHKEN {
+ uint32 himcohkddah = 4;
+}
diff --git a/proto/PSNBlackListNotify.proto b/proto/PSNBlackListNotify.proto
new file mode 100644
index 00000000..55f2d7ea
--- /dev/null
+++ b/proto/PSNBlackListNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "FriendBrief.proto";
+
+message PSNBlackListNotify {
+ //enum AAFPAFGGMIE {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4001;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated FriendBrief psnBlacklist = 10;
+}
diff --git a/proto/PSNFriendListNotify.proto b/proto/PSNFriendListNotify.proto
new file mode 100644
index 00000000..696725a0
--- /dev/null
+++ b/proto/PSNFriendListNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "FriendBrief.proto";
+
+message PSNFriendListNotify {
+ //enum HOJKKMBIFMB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4067;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated FriendBrief psnFriendList = 11;
+}
diff --git a/proto/PacketHead.proto b/proto/PacketHead.proto
deleted file mode 100644
index ae302a3e..00000000
--- a/proto/PacketHead.proto
+++ /dev/null
@@ -1,41 +0,0 @@
-// Proto has been converted from Sorapointa to Grasscutter format
-// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
-// Copyright (C) 2022 Sorapointa Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
-syntax = "proto3";
-
-option java_package = "emu.grasscutter.net.proto";
-
-message PacketHead {
- uint32 packet_id = 1;
- uint32 rpc_id = 2;
- uint32 client_sequence_id = 3;
- uint32 enet_channel_id = 4;
- uint32 enet_is_reliable = 5;
- uint64 sent_ms = 6;
- uint32 user_id = 11;
- uint32 user_ip = 12;
- uint32 user_session_id = 13;
- uint64 recv_time_ms = 21;
- uint32 rpc_begin_time_ms = 22;
- map ext_map = 23;
- uint32 sender_app_id = 24;
- uint32 source_service = 31;
- uint32 target_service = 32;
- map service_app_id_map = 33;
- bool is_set_game_thread = 34;
- uint32 game_thread_index = 35;
-}
diff --git a/proto/Pass.proto b/proto/Pass.proto
new file mode 100644
index 00000000..9c7484b7
--- /dev/null
+++ b/proto/Pass.proto
@@ -0,0 +1,10 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message Pass {
+ uint32 controllerId = 12;
+}
diff --git a/proto/PathfindingPingNotify.proto b/proto/PathfindingPingNotify.proto
new file mode 100644
index 00000000..00c85f66
--- /dev/null
+++ b/proto/PathfindingPingNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message PathfindingPingNotify {
+ //enum KONJHJGINOP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2398;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+}
diff --git a/proto/PbNavMeshStatsInfo.proto b/proto/PbNavMeshStatsInfo.proto
new file mode 100644
index 00000000..6b225b5d
--- /dev/null
+++ b/proto/PbNavMeshStatsInfo.proto
@@ -0,0 +1,13 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message PbNavMeshStatsInfo {
+ int32 Unk3300_DHJKKJLKDHB = 1;
+ int32 Unk3300_EEONKADBJME = 11;
+ int32 Unk3300_IMLHLJAOBLF = 12;
+ int32 Unk3300_MOKPJBIPHNI = 2;
+}
diff --git a/proto/PerformOperationNotify.proto b/proto/PerformOperationNotify.proto
new file mode 100644
index 00000000..782450e7
--- /dev/null
+++ b/proto/PerformOperationNotify.proto
@@ -0,0 +1,24 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "Vector.proto";
+import "OperateType.proto";
+
+message PerformOperationNotify {
+ //enum GOAGPODAGOL {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 1139;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ Vector rot = 1;
+ OperateType operateType = 5;
+ Vector pos = 14;
+ uint32 index = 10;
+ uint32 entityId = 3;
+}
diff --git a/proto/PersistentDungeonSwitchAvatarReq.proto b/proto/PersistentDungeonSwitchAvatarReq.proto
new file mode 100644
index 00000000..1130e255
--- /dev/null
+++ b/proto/PersistentDungeonSwitchAvatarReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message PersistentDungeonSwitchAvatarReq {
+ //enum GPLOFOJGMOA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 1709;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint64 curAvatarGuid = 14;
+ repeated uint64 avatarTeamGuidList = 2;
+}
diff --git a/proto/PersistentDungeonSwitchAvatarRsp.proto b/proto/PersistentDungeonSwitchAvatarRsp.proto
new file mode 100644
index 00000000..05b03964
--- /dev/null
+++ b/proto/PersistentDungeonSwitchAvatarRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message PersistentDungeonSwitchAvatarRsp {
+ //enum CMFLHIKOCJG {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 1774;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint64 curAvatarGuid = 9;
+ repeated uint64 avatarTeamGuidList = 13;
+ int32 retcode = 4;
+}
diff --git a/proto/PersonalLineNewUnlockNotify.proto b/proto/PersonalLineNewUnlockNotify.proto
new file mode 100644
index 00000000..c4605de8
--- /dev/null
+++ b/proto/PersonalLineNewUnlockNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message PersonalLineNewUnlockNotify {
+ //enum EMJEKGLFMEG {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 494;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated uint32 personalLineIdList = 11;
+}
diff --git a/proto/PhaseChange.proto b/proto/PhaseChange.proto
new file mode 100644
index 00000000..db343140
--- /dev/null
+++ b/proto/PhaseChange.proto
@@ -0,0 +1,14 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GCGPhaseType.proto";
+import "Uint32Pair.proto";
+
+message PhaseChange {
+ repeated Uint32Pair allowControllerMap = 7;
+ GCGPhaseType afterPhase = 13;
+ GCGPhaseType beforePhase = 8;
+}
diff --git a/proto/PhaseContinue.proto b/proto/PhaseContinue.proto
new file mode 100644
index 00000000..b9f945da
--- /dev/null
+++ b/proto/PhaseContinue.proto
@@ -0,0 +1,9 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message PhaseContinue {
+}
diff --git a/proto/PhotoActivityClientViewReq.proto b/proto/PhotoActivityClientViewReq.proto
new file mode 100644
index 00000000..dcdf7a6f
--- /dev/null
+++ b/proto/PhotoActivityClientViewReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message PhotoActivityClientViewReq {
+ //enum MAANDINGBJA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8687;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 posId = 14;
+}
diff --git a/proto/PhotoActivityClientViewRsp.proto b/proto/PhotoActivityClientViewRsp.proto
new file mode 100644
index 00000000..68182ff9
--- /dev/null
+++ b/proto/PhotoActivityClientViewRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message PhotoActivityClientViewRsp {
+ //enum PHHAENANKJK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8441;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 posId = 7;
+ int32 retcode = 12;
+}
diff --git a/proto/PhotoActivityFinishReq.proto b/proto/PhotoActivityFinishReq.proto
new file mode 100644
index 00000000..91b77b14
--- /dev/null
+++ b/proto/PhotoActivityFinishReq.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message PhotoActivityFinishReq {
+ //enum ONJKEMDAMHK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8021;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ bool isSucc = 11;
+ uint32 checkRootId = 3;
+ uint32 posId = 5;
+}
diff --git a/proto/PhotoActivityFinishRsp.proto b/proto/PhotoActivityFinishRsp.proto
new file mode 100644
index 00000000..2fa8b1c9
--- /dev/null
+++ b/proto/PhotoActivityFinishRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message PhotoActivityFinishRsp {
+ //enum COKOCOLPKHF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8044;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 posId = 10;
+ int32 retcode = 15;
+}
diff --git a/proto/PingReq.proto b/proto/PingReq.proto
index 0e444332..7ae55611 100644
--- a/proto/PingReq.proto
+++ b/proto/PingReq.proto
@@ -1,6 +1,11 @@
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
+
+
+import "bytes.proto";
+
message PingReq {
//enum HCOPEMHOJKP {
// option allow_alias= true;
diff --git a/proto/PlaceInfo.proto b/proto/PlaceInfo.proto
new file mode 100644
index 00000000..46ec40a6
--- /dev/null
+++ b/proto/PlaceInfo.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "Vector.proto";
+
+message PlaceInfo {
+ Vector pos = 1;
+ Vector rot = 2;
+}
diff --git a/proto/PlantFlowerAcceptAllGiveFlowerReq.proto b/proto/PlantFlowerAcceptAllGiveFlowerReq.proto
new file mode 100644
index 00000000..b2340a28
--- /dev/null
+++ b/proto/PlantFlowerAcceptAllGiveFlowerReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message PlantFlowerAcceptAllGiveFlowerReq {
+ //enum HHKPICONCOB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8195;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 scheduleId = 10;
+}
diff --git a/proto/PlantFlowerAcceptAllGiveFlowerRsp.proto b/proto/PlantFlowerAcceptAllGiveFlowerRsp.proto
new file mode 100644
index 00000000..39baaa29
--- /dev/null
+++ b/proto/PlantFlowerAcceptAllGiveFlowerRsp.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "PlantFlowerAcceptFlowerResultInfo.proto";
+
+message PlantFlowerAcceptAllGiveFlowerRsp {
+ //enum EMOAEFOMFPA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8764;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 scheduleId = 14;
+ int32 retcode = 1;
+ repeated PlantFlowerAcceptFlowerResultInfo acceptFlowerResultInfoList = 7;
+}
diff --git a/proto/PlantFlowerAcceptFlowerResultInfo.proto b/proto/PlantFlowerAcceptFlowerResultInfo.proto
new file mode 100644
index 00000000..119dbc4d
--- /dev/null
+++ b/proto/PlantFlowerAcceptFlowerResultInfo.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message PlantFlowerAcceptFlowerResultInfo {
+ map Unk3300_PALEJEDIAJP = 9;
+ uint32 uid = 10;
+ map Unk3300_ILAADDCOPKE = 4;
+}
diff --git a/proto/PlantFlowerAcceptGiveFlowerReq.proto b/proto/PlantFlowerAcceptGiveFlowerReq.proto
new file mode 100644
index 00000000..df29b06e
--- /dev/null
+++ b/proto/PlantFlowerAcceptGiveFlowerReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message PlantFlowerAcceptGiveFlowerReq {
+ //enum DPOAFADKFNH {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8532;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 uid = 8;
+ uint32 scheduleId = 4;
+}
diff --git a/proto/PlantFlowerAcceptGiveFlowerRsp.proto b/proto/PlantFlowerAcceptGiveFlowerRsp.proto
new file mode 100644
index 00000000..9807e5a2
--- /dev/null
+++ b/proto/PlantFlowerAcceptGiveFlowerRsp.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "PlantFlowerAcceptFlowerResultInfo.proto";
+
+message PlantFlowerAcceptGiveFlowerRsp {
+ //enum OGIBDMNLBEK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8039;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 scheduleId = 4;
+ int32 retcode = 12;
+ PlantFlowerAcceptFlowerResultInfo acceptFlowerResultInfo = 14;
+}
diff --git a/proto/PlantFlowerActivityDetailInfo.proto b/proto/PlantFlowerActivityDetailInfo.proto
new file mode 100644
index 00000000..00415a7c
--- /dev/null
+++ b/proto/PlantFlowerActivityDetailInfo.proto
@@ -0,0 +1,15 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message PlantFlowerActivityDetailInfo {
+ map Unk3300_ELAIBMDIBFJ = 14;
+ uint32 dayIndex = 8;
+ bool isTodayHasAwarded = 2;
+ bool leftMonsters = 1;
+ map Unk3300_EPMKDFOBLFK = 11;
+ uint32 todaySeedRewardId = 4;
+}
diff --git a/proto/PlantFlowerEditFlowerCombinationReq.proto b/proto/PlantFlowerEditFlowerCombinationReq.proto
new file mode 100644
index 00000000..5d25e4bf
--- /dev/null
+++ b/proto/PlantFlowerEditFlowerCombinationReq.proto
@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "CustomGadgetTreeInfo.proto";
+
+message PlantFlowerEditFlowerCombinationReq {
+ //enum GCCOPPJKNDH {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8837;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 scheduleId = 2;
+ CustomGadgetTreeInfo flowerCombinationInfo = 3;
+ uint32 entityId = 7;
+}
diff --git a/proto/PlantFlowerEditFlowerCombinationRsp.proto b/proto/PlantFlowerEditFlowerCombinationRsp.proto
new file mode 100644
index 00000000..3eed2ad4
--- /dev/null
+++ b/proto/PlantFlowerEditFlowerCombinationRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message PlantFlowerEditFlowerCombinationRsp {
+ //enum GDJMEMKPBCA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8476;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 7;
+ uint32 scheduleId = 10;
+}
diff --git a/proto/PlantFlowerFriendFlowerWishData.proto b/proto/PlantFlowerFriendFlowerWishData.proto
new file mode 100644
index 00000000..c3eca85d
--- /dev/null
+++ b/proto/PlantFlowerFriendFlowerWishData.proto
@@ -0,0 +1,14 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ProfilePicture.proto";
+
+message PlantFlowerFriendFlowerWishData {
+ ProfilePicture profilePicture = 15;
+ string nickname = 3;
+ uint32 uid = 6;
+ map flowerNumMap = 7;
+}
diff --git a/proto/PlantFlowerGetCanGiveFriendFlowerReq.proto b/proto/PlantFlowerGetCanGiveFriendFlowerReq.proto
new file mode 100644
index 00000000..3d407f1d
--- /dev/null
+++ b/proto/PlantFlowerGetCanGiveFriendFlowerReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message PlantFlowerGetCanGiveFriendFlowerReq {
+ //enum BKPKIPFOKBA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8982;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 scheduleId = 15;
+}
diff --git a/proto/PlantFlowerGetCanGiveFriendFlowerRsp.proto b/proto/PlantFlowerGetCanGiveFriendFlowerRsp.proto
new file mode 100644
index 00000000..03d6cb96
--- /dev/null
+++ b/proto/PlantFlowerGetCanGiveFriendFlowerRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message PlantFlowerGetCanGiveFriendFlowerRsp {
+ //enum OFNFHIGHGJD {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8699;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 scheduleId = 13;
+ map flowerNumMap = 10;
+ int32 retcode = 1;
+}
diff --git a/proto/PlantFlowerGetFriendFlowerWishListReq.proto b/proto/PlantFlowerGetFriendFlowerWishListReq.proto
new file mode 100644
index 00000000..6bd38a11
--- /dev/null
+++ b/proto/PlantFlowerGetFriendFlowerWishListReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message PlantFlowerGetFriendFlowerWishListReq {
+ //enum PNHMNJCKFHN {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8639;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 scheduleId = 2;
+}
diff --git a/proto/PlantFlowerGetFriendFlowerWishListRsp.proto b/proto/PlantFlowerGetFriendFlowerWishListRsp.proto
new file mode 100644
index 00000000..b7efd7b5
--- /dev/null
+++ b/proto/PlantFlowerGetFriendFlowerWishListRsp.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "PlantFlowerFriendFlowerWishData.proto";
+
+message PlantFlowerGetFriendFlowerWishListRsp {
+ //enum ONNNGBLEEFB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8025;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 15;
+ uint32 scheduleId = 7;
+ repeated PlantFlowerFriendFlowerWishData friendFlowerWishList = 1;
+}
diff --git a/proto/PlantFlowerGetRecvFlowerListReq.proto b/proto/PlantFlowerGetRecvFlowerListReq.proto
new file mode 100644
index 00000000..a60c8910
--- /dev/null
+++ b/proto/PlantFlowerGetRecvFlowerListReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message PlantFlowerGetRecvFlowerListReq {
+ //enum OJGODDJDDLB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8518;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 scheduleId = 8;
+}
diff --git a/proto/PlantFlowerGetRecvFlowerListRsp.proto b/proto/PlantFlowerGetRecvFlowerListRsp.proto
new file mode 100644
index 00000000..7574fde6
--- /dev/null
+++ b/proto/PlantFlowerGetRecvFlowerListRsp.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "PlantFlowerRecvFlowerData.proto";
+
+message PlantFlowerGetRecvFlowerListRsp {
+ //enum JLLOMBNHGGC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8952;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated PlantFlowerRecvFlowerData recvFlowerList = 12;
+ int32 retcode = 10;
+ uint32 scheduleId = 11;
+}
diff --git a/proto/PlantFlowerGetSeedInfoReq.proto b/proto/PlantFlowerGetSeedInfoReq.proto
new file mode 100644
index 00000000..1950e1cd
--- /dev/null
+++ b/proto/PlantFlowerGetSeedInfoReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message PlantFlowerGetSeedInfoReq {
+ //enum MPINFCKOOLF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8882;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 scheduleId = 13;
+}
diff --git a/proto/PlantFlowerGetSeedInfoRsp.proto b/proto/PlantFlowerGetSeedInfoRsp.proto
new file mode 100644
index 00000000..c85973b8
--- /dev/null
+++ b/proto/PlantFlowerGetSeedInfoRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message PlantFlowerGetSeedInfoRsp {
+ //enum FHCGEENMEGN {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8249;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 seedRewardId = 3;
+ uint32 scheduleId = 8;
+ int32 retcode = 11;
+}
diff --git a/proto/PlantFlowerGiveFriendFlowerReq.proto b/proto/PlantFlowerGiveFriendFlowerReq.proto
new file mode 100644
index 00000000..1230f9fe
--- /dev/null
+++ b/proto/PlantFlowerGiveFriendFlowerReq.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message PlantFlowerGiveFriendFlowerReq {
+ //enum CIHJPANCNLH {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8176;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 uid = 1;
+ map flowerNumMap = 14;
+ uint32 scheduleId = 5;
+}
diff --git a/proto/PlantFlowerGiveFriendFlowerRsp.proto b/proto/PlantFlowerGiveFriendFlowerRsp.proto
new file mode 100644
index 00000000..6bde7565
--- /dev/null
+++ b/proto/PlantFlowerGiveFriendFlowerRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message PlantFlowerGiveFriendFlowerRsp {
+ //enum MEPKGMEGDAI {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8151;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 scheduleId = 9;
+ int32 retcode = 1;
+ repeated uint32 limitFlowerList = 13;
+}
diff --git a/proto/PlantFlowerHaveRecvFlowerNotify.proto b/proto/PlantFlowerHaveRecvFlowerNotify.proto
new file mode 100644
index 00000000..62e1cf58
--- /dev/null
+++ b/proto/PlantFlowerHaveRecvFlowerNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message PlantFlowerHaveRecvFlowerNotify {
+ //enum EMCAGFEAIGF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8405;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 scheduleId = 12;
+}
diff --git a/proto/PlantFlowerRecvFlowerData.proto b/proto/PlantFlowerRecvFlowerData.proto
new file mode 100644
index 00000000..1ed3510a
--- /dev/null
+++ b/proto/PlantFlowerRecvFlowerData.proto
@@ -0,0 +1,14 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ProfilePicture.proto";
+
+message PlantFlowerRecvFlowerData {
+ string nickname = 12;
+ uint32 uid = 8;
+ ProfilePicture profilePicture = 3;
+ map flowerNumMap = 9;
+}
diff --git a/proto/PlantFlowerSetFlowerWishReq.proto b/proto/PlantFlowerSetFlowerWishReq.proto
new file mode 100644
index 00000000..bf37ce57
--- /dev/null
+++ b/proto/PlantFlowerSetFlowerWishReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message PlantFlowerSetFlowerWishReq {
+ //enum GDDPAFLKDFJ {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8573;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ map flowerNumMap = 10;
+ uint32 scheduleId = 4;
+}
diff --git a/proto/PlantFlowerSetFlowerWishRsp.proto b/proto/PlantFlowerSetFlowerWishRsp.proto
new file mode 100644
index 00000000..1789d7cd
--- /dev/null
+++ b/proto/PlantFlowerSetFlowerWishRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message PlantFlowerSetFlowerWishRsp {
+ //enum LOPBLEECJKP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8902;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 scheduleId = 4;
+ int32 retcode = 15;
+}
diff --git a/proto/PlantFlowerTakeSeedRewardReq.proto b/proto/PlantFlowerTakeSeedRewardReq.proto
new file mode 100644
index 00000000..5adb678f
--- /dev/null
+++ b/proto/PlantFlowerTakeSeedRewardReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message PlantFlowerTakeSeedRewardReq {
+ //enum BJPFJHEFOAI {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8963;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 scheduleId = 7;
+}
diff --git a/proto/PlantFlowerTakeSeedRewardRsp.proto b/proto/PlantFlowerTakeSeedRewardRsp.proto
new file mode 100644
index 00000000..1b4525eb
--- /dev/null
+++ b/proto/PlantFlowerTakeSeedRewardRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message PlantFlowerTakeSeedRewardRsp {
+ //enum OFNKPCOGCCN {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8727;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 1;
+ uint32 scheduleId = 14;
+}
diff --git a/proto/PlayProduct.proto b/proto/PlayProduct.proto
new file mode 100644
index 00000000..147c3787
--- /dev/null
+++ b/proto/PlayProduct.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message PlayProduct {
+ string productId = 1;
+ string priceTier = 2;
+ uint32 scheduleId = 3;
+}
diff --git a/proto/PlaySoundType.proto b/proto/PlaySoundType.proto
new file mode 100644
index 00000000..e5d749ef
--- /dev/null
+++ b/proto/PlaySoundType.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+enum PlaySoundType {
+ PLAY_SOUND_TYPE_NONE = 0;
+ PLAY_SOUND_TYPE_START = 1;
+ PLAY_SOUND_TYPE_STOP = 2;
+}
diff --git a/proto/PlayerAllowEnterMpAfterAgreeMatchNotify.proto b/proto/PlayerAllowEnterMpAfterAgreeMatchNotify.proto
new file mode 100644
index 00000000..2b15b078
--- /dev/null
+++ b/proto/PlayerAllowEnterMpAfterAgreeMatchNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message PlayerAllowEnterMpAfterAgreeMatchNotify {
+ //enum JMPMDPDEAMP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4175;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 targetUid = 2;
+}
diff --git a/proto/PlayerApplyEnterHomeNotify.proto b/proto/PlayerApplyEnterHomeNotify.proto
new file mode 100644
index 00000000..87e91ae3
--- /dev/null
+++ b/proto/PlayerApplyEnterHomeNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "OnlinePlayerInfo.proto";
+
+message PlayerApplyEnterHomeNotify {
+ //enum DDJPAJOBNFM {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4771;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ OnlinePlayerInfo srcPlayerInfo = 7;
+ uint32 srcAppId = 13;
+}
diff --git a/proto/PlayerApplyEnterHomeResultNotify.proto b/proto/PlayerApplyEnterHomeResultNotify.proto
new file mode 100644
index 00000000..1981b5aa
--- /dev/null
+++ b/proto/PlayerApplyEnterHomeResultNotify.proto
@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "Reason.proto";
+
+message PlayerApplyEnterHomeResultNotify {
+ //enum KEHLDHBMMFM {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4642;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 targetUid = 2;
+ Reason reason = 3;
+ bool isAgreed = 10;
+ string targetNickname = 9;
+}
diff --git a/proto/PlayerApplyEnterHomeResultReq.proto b/proto/PlayerApplyEnterHomeResultReq.proto
new file mode 100644
index 00000000..ac219827
--- /dev/null
+++ b/proto/PlayerApplyEnterHomeResultReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message PlayerApplyEnterHomeResultReq {
+ //enum DDGPEDDGECN {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4549;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 applyUid = 5;
+ bool isAgreed = 4;
+}
diff --git a/proto/PlayerApplyEnterHomeResultRsp.proto b/proto/PlayerApplyEnterHomeResultRsp.proto
new file mode 100644
index 00000000..7abe9f35
--- /dev/null
+++ b/proto/PlayerApplyEnterHomeResultRsp.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message PlayerApplyEnterHomeResultRsp {
+ //enum HLOGMCKBKGL {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4869;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 applyUid = 12;
+ bool isAgreed = 10;
+ int32 retcode = 15;
+ uint32 param = 6;
+}
diff --git a/proto/PlayerApplyEnterMpAfterMatchAgreedNotify.proto b/proto/PlayerApplyEnterMpAfterMatchAgreedNotify.proto
new file mode 100644
index 00000000..8690b7df
--- /dev/null
+++ b/proto/PlayerApplyEnterMpAfterMatchAgreedNotify.proto
@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "OnlinePlayerInfo.proto";
+import "MatchType.proto";
+
+message PlayerApplyEnterMpAfterMatchAgreedNotify {
+ //enum MJIKOBLKFGP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4190;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 matchserverId = 9;
+ OnlinePlayerInfo srcPlayerInfo = 8;
+ MatchType matchType = 2;
+}
diff --git a/proto/PlayerCancelMatchReq.proto b/proto/PlayerCancelMatchReq.proto
new file mode 100644
index 00000000..3ce071eb
--- /dev/null
+++ b/proto/PlayerCancelMatchReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "MatchType.proto";
+
+message PlayerCancelMatchReq {
+ //enum IAINFPHKCGC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4191;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ MatchType matchType = 1;
+}
diff --git a/proto/PlayerCancelMatchRsp.proto b/proto/PlayerCancelMatchRsp.proto
new file mode 100644
index 00000000..321808a9
--- /dev/null
+++ b/proto/PlayerCancelMatchRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "MatchType.proto";
+
+message PlayerCancelMatchRsp {
+ //enum HDACLOEDLBJ {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4169;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ MatchType matchType = 1;
+ int32 retcode = 15;
+}
diff --git a/proto/PlayerChatCDNotify.proto b/proto/PlayerChatCDNotify.proto
new file mode 100644
index 00000000..fc72a4d3
--- /dev/null
+++ b/proto/PlayerChatCDNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message PlayerChatCDNotify {
+ //enum OLBDNBMEFPA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 3277;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 overTime = 3;
+}
diff --git a/proto/PlayerConfirmMatchReq.proto b/proto/PlayerConfirmMatchReq.proto
new file mode 100644
index 00000000..c0954a19
--- /dev/null
+++ b/proto/PlayerConfirmMatchReq.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "MatchType.proto";
+
+message PlayerConfirmMatchReq {
+ //enum LACEOAMEHJL {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4185;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ MatchType matchType = 12;
+ bool isAgreed = 13;
+}
diff --git a/proto/PlayerConfirmMatchRsp.proto b/proto/PlayerConfirmMatchRsp.proto
new file mode 100644
index 00000000..f5678383
--- /dev/null
+++ b/proto/PlayerConfirmMatchRsp.proto
@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "MatchType.proto";
+
+message PlayerConfirmMatchRsp {
+ //enum PPEBDFMPGDO {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4166;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ bool isAgreed = 6;
+ MatchType matchType = 12;
+ uint32 matchId = 3;
+ int32 retcode = 1;
+}
diff --git a/proto/PlayerDeathZoneNotify.proto b/proto/PlayerDeathZoneNotify.proto
new file mode 100644
index 00000000..0a9793bc
--- /dev/null
+++ b/proto/PlayerDeathZoneNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message PlayerDeathZoneNotify {
+ //enum IGJOFKIKAAG {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 6296;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 curDeathZoneId = 11;
+}
diff --git a/proto/PlayerDieOption.proto b/proto/PlayerDieOption.proto
new file mode 100644
index 00000000..050ce1eb
--- /dev/null
+++ b/proto/PlayerDieOption.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+enum PlayerDieOption {
+ PLAYER_DIE_OPTION_OPT_NONE = 0;
+ PLAYER_DIE_OPTION_OPT_REPLAY = 1;
+ PLAYER_DIE_OPTION_OPT_CANCEL = 2;
+ PLAYER_DIE_OPTION_OPT_REVIVE = 3;
+}
diff --git a/proto/PlayerEyePointStateNotify.proto b/proto/PlayerEyePointStateNotify.proto
new file mode 100644
index 00000000..bbae0ed8
--- /dev/null
+++ b/proto/PlayerEyePointStateNotify.proto
@@ -0,0 +1,34 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "Vector.proto";
+import "CylinderSize.proto";
+import "PolygonSize.proto";
+
+message PlayerEyePointStateNotify {
+ //enum NIOAOMGFLHJ {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 3435;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ bool Unk3300_KFOHOBLMMLB = 1;
+ Vector eyePointPos = 14;
+ uint32 Unk3300_EOPFNBBBGPK = 11;
+ uint32 Unk3300_GNFJIOEGHOE = 2;
+ uint32 Unk3300_BIHEKNFDDDI = 4;
+ int32 fixLodLevel = 6;
+ uint32 Unk3300_JGEMKKJAHKA = 5;
+ bool Unk3300_NIPFCFCBFAE = 10;
+ oneof region_size {
+ float sphere_radius = 152;
+ Vector cubic_size = 879;
+ CylinderSize cylinder_size = 1320;
+ PolygonSize polygon_size = 1996;
+ }
+}
diff --git a/proto/PlayerFishingDataNotify.proto b/proto/PlayerFishingDataNotify.proto
new file mode 100644
index 00000000..8b599e5e
--- /dev/null
+++ b/proto/PlayerFishingDataNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message PlayerFishingDataNotify {
+ //enum LBBDPDFKHED {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5810;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 lastFishRodId = 4;
+}
diff --git a/proto/PlayerForceExitReq.proto b/proto/PlayerForceExitReq.proto
new file mode 100644
index 00000000..7ae2ad31
--- /dev/null
+++ b/proto/PlayerForceExitReq.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message PlayerForceExitReq {
+ //enum GEFPAHPAINA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 161;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+}
diff --git a/proto/PlayerGCGMatchConfirmNotify.proto b/proto/PlayerGCGMatchConfirmNotify.proto
new file mode 100644
index 00000000..ab63ff00
--- /dev/null
+++ b/proto/PlayerGCGMatchConfirmNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message PlayerGCGMatchConfirmNotify {
+ //enum CHFJHDNIIHH {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4160;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ bool isAgree = 6;
+ uint32 matchId = 8;
+ uint32 uid = 7;
+}
diff --git a/proto/PlayerGCGMatchDismissNotify.proto b/proto/PlayerGCGMatchDismissNotify.proto
new file mode 100644
index 00000000..d9d8eb32
--- /dev/null
+++ b/proto/PlayerGCGMatchDismissNotify.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "MatchReason.proto";
+
+message PlayerGCGMatchDismissNotify {
+ //enum GPKMBGCPIIA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4153;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ MatchReason reason = 8;
+ repeated uint32 uidList = 7;
+ uint32 matchId = 3;
+}
diff --git a/proto/PlayerGameTimeByLuaNotify.proto b/proto/PlayerGameTimeByLuaNotify.proto
new file mode 100644
index 00000000..047c4add
--- /dev/null
+++ b/proto/PlayerGameTimeByLuaNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message PlayerGameTimeByLuaNotify {
+ //enum GPPBGJGNDHA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 171;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ string gpbkdlaodce = 6;
+}
diff --git a/proto/PlayerGeneralMatchConfirmNotify.proto b/proto/PlayerGeneralMatchConfirmNotify.proto
new file mode 100644
index 00000000..b97093ff
--- /dev/null
+++ b/proto/PlayerGeneralMatchConfirmNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message PlayerGeneralMatchConfirmNotify {
+ //enum JDFJECJBAFL {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4164;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ bool isAgree = 7;
+ uint32 matchId = 14;
+ uint32 uid = 8;
+}
diff --git a/proto/PlayerGeneralMatchDismissNotify.proto b/proto/PlayerGeneralMatchDismissNotify.proto
new file mode 100644
index 00000000..d93e8641
--- /dev/null
+++ b/proto/PlayerGeneralMatchDismissNotify.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "MatchReason.proto";
+
+message PlayerGeneralMatchDismissNotify {
+ //enum MNCJNENMIJP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4187;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 matchId = 6;
+ MatchReason reason = 13;
+ repeated uint32 uidList = 5;
+}
diff --git a/proto/PlayerInjectFixNotify.proto b/proto/PlayerInjectFixNotify.proto
new file mode 100644
index 00000000..5df98c37
--- /dev/null
+++ b/proto/PlayerInjectFixNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "bytes.proto";
+
+message PlayerInjectFixNotify {
+ //enum FDKLNPOPKPI {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 126;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 id = 14;
+ bytes injectFix = 6;
+}
diff --git a/proto/PlayerInvestigationAllInfoNotify.proto b/proto/PlayerInvestigationAllInfoNotify.proto
new file mode 100644
index 00000000..59ce0694
--- /dev/null
+++ b/proto/PlayerInvestigationAllInfoNotify.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "InvestigationTarget.proto";
+import "Investigation.proto";
+
+message PlayerInvestigationAllInfoNotify {
+ //enum IFINCGBMAFA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 1917;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated InvestigationTarget investigationTargetList = 6;
+ repeated Investigation investigationList = 2;
+}
diff --git a/proto/PlayerInvestigationNotify.proto b/proto/PlayerInvestigationNotify.proto
new file mode 100644
index 00000000..95f4b958
--- /dev/null
+++ b/proto/PlayerInvestigationNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "Investigation.proto";
+
+message PlayerInvestigationNotify {
+ //enum OFJHHHCCEGN {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 1911;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated Investigation investigationList = 12;
+}
diff --git a/proto/PlayerInvestigationTargetNotify.proto b/proto/PlayerInvestigationTargetNotify.proto
new file mode 100644
index 00000000..d28a667d
--- /dev/null
+++ b/proto/PlayerInvestigationTargetNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "InvestigationTarget.proto";
+
+message PlayerInvestigationTargetNotify {
+ //enum LPONNFCCGLL {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 1930;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated InvestigationTarget investigationTargetList = 12;
+}
diff --git a/proto/PlayerIpRegionNotify.proto b/proto/PlayerIpRegionNotify.proto
new file mode 100644
index 00000000..670979c0
--- /dev/null
+++ b/proto/PlayerIpRegionNotify.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message PlayerIpRegionNotify {
+ //enum PPJDKEJDOGN {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 108;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ bool isForceSet = 3;
+ uint32 clientGameTime = 1;
+ uint32 gameTime = 15;
+}
diff --git a/proto/PlayerLoginReq.proto b/proto/PlayerLoginReq.proto
index d1026608..7c3100d2 100644
--- a/proto/PlayerLoginReq.proto
+++ b/proto/PlayerLoginReq.proto
@@ -1,6 +1,10 @@
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
+
+
+import "bytes.proto";
import "TrackingIOInfo.proto";
import "AdjustTrackingInfo.proto";
diff --git a/proto/PlayerLoginRsp.proto b/proto/PlayerLoginRsp.proto
index f6f3e96d..4728e3c4 100644
--- a/proto/PlayerLoginRsp.proto
+++ b/proto/PlayerLoginRsp.proto
@@ -1,6 +1,10 @@
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
+
+
+import "bytes.proto";
import "ResVersionConfig.proto";
import "FeatureBlockInfo.proto";
import "BlockInfo.proto";
diff --git a/proto/PlayerLogoutNotify.proto b/proto/PlayerLogoutNotify.proto
new file mode 100644
index 00000000..e3ce8b09
--- /dev/null
+++ b/proto/PlayerLogoutNotify.proto
@@ -0,0 +1,15 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message PlayerLogoutNotify {
+ //enum OIGPFFCHNAJ {
+ // NONE = 0;
+ // PEPPOHPHJOJ = 180;
+ //}
+
+ int32 retcode = 7;
+}
diff --git a/proto/PlayerLogoutReq.proto b/proto/PlayerLogoutReq.proto
new file mode 100644
index 00000000..5c5cfe83
--- /dev/null
+++ b/proto/PlayerLogoutReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "Reason.proto";
+
+message PlayerLogoutReq {
+ //enum HGECFPJJINL {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 120;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ Reason reason = 1;
+}
diff --git a/proto/PlayerLogoutRsp.proto b/proto/PlayerLogoutRsp.proto
new file mode 100644
index 00000000..81c3498b
--- /dev/null
+++ b/proto/PlayerLogoutRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message PlayerLogoutRsp {
+ //enum JHLHIPLCPJC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 174;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 5;
+}
diff --git a/proto/PlayerLuaShellNotify.proto b/proto/PlayerLuaShellNotify.proto
new file mode 100644
index 00000000..e913adba
--- /dev/null
+++ b/proto/PlayerLuaShellNotify.proto
@@ -0,0 +1,23 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "bytes.proto";
+import "LuaShellType.proto";
+
+message PlayerLuaShellNotify {
+ //enum FOIMLLNJHAJ {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 191;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ bytes luaShell = 5;
+ uint32 useType = 8;
+ LuaShellType shellType = 7;
+ uint32 id = 12;
+}
diff --git a/proto/PlayerMatchAgreedResultNotify.proto b/proto/PlayerMatchAgreedResultNotify.proto
new file mode 100644
index 00000000..e46180db
--- /dev/null
+++ b/proto/PlayerMatchAgreedResultNotify.proto
@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "Reason.proto";
+import "MatchType.proto";
+
+message PlayerMatchAgreedResultNotify {
+ //enum KDDMDKGHIHK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4152;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ Reason reason = 5;
+ MatchType matchType = 12;
+ uint32 targetUid = 7;
+}
diff --git a/proto/PlayerMatchInfoNotify.proto b/proto/PlayerMatchInfoNotify.proto
new file mode 100644
index 00000000..8061657a
--- /dev/null
+++ b/proto/PlayerMatchInfoNotify.proto
@@ -0,0 +1,27 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "MatchType.proto";
+
+message PlayerMatchInfoNotify {
+ //enum EJPKEBHFAHD {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4196;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 hostUid = 1;
+ uint32 estimateMatchCostTime = 13;
+ uint32 mechanicusDifficultLevel = 2;
+ repeated uint32 matchParamList = 10;
+ uint32 matchBeginTime = 14;
+ uint32 mpPlayId = 6;
+ MatchType matchType = 5;
+ uint32 matchId = 8;
+ uint32 dungeonId = 7;
+}
diff --git a/proto/PlayerMatchStopNotify.proto b/proto/PlayerMatchStopNotify.proto
new file mode 100644
index 00000000..f0639abe
--- /dev/null
+++ b/proto/PlayerMatchStopNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "MatchReason.proto";
+
+message PlayerMatchStopNotify {
+ //enum NGMMLPPJBPC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4193;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 hostUid = 4;
+ MatchReason reason = 9;
+}
diff --git a/proto/PlayerMatchSuccNotify.proto b/proto/PlayerMatchSuccNotify.proto
new file mode 100644
index 00000000..7365fa86
--- /dev/null
+++ b/proto/PlayerMatchSuccNotify.proto
@@ -0,0 +1,28 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GeneralMatchInfo.proto";
+import "MatchType.proto";
+import "GCGMatchInfo.proto";
+
+message PlayerMatchSuccNotify {
+ //enum AGKCBEDCJOK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4181;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ GeneralMatchInfo generalMatchInfo = 10;
+ uint32 mechanicusDifficultLevel = 7;
+ uint32 hostUid = 5;
+ uint32 dungeonId = 8;
+ uint32 confirmEndTime = 9;
+ uint32 mpPlayId = 14;
+ MatchType matchType = 12;
+ GCGMatchInfo gcgMatchInfo = 4;
+}
diff --git a/proto/PlayerNicknameAuditDataNotify.proto b/proto/PlayerNicknameAuditDataNotify.proto
new file mode 100644
index 00000000..d43932af
--- /dev/null
+++ b/proto/PlayerNicknameAuditDataNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message PlayerNicknameAuditDataNotify {
+ //enum KIGNJGEJPDO {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 133;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ string nickname = 11;
+}
diff --git a/proto/PlayerNicknameNotify.proto b/proto/PlayerNicknameNotify.proto
new file mode 100644
index 00000000..13fe5328
--- /dev/null
+++ b/proto/PlayerNicknameNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message PlayerNicknameNotify {
+ //enum HBCAGBLGJMI {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 186;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 submitLimit = 7;
+ bool isOpen = 5;
+}
diff --git a/proto/PlayerOfferingData.proto b/proto/PlayerOfferingData.proto
new file mode 100644
index 00000000..c76e986f
--- /dev/null
+++ b/proto/PlayerOfferingData.proto
@@ -0,0 +1,14 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message PlayerOfferingData {
+ bool isNewMaxLevel = 11;
+ uint32 offeringId = 8;
+ bool isFirstInteract = 4;
+ repeated uint32 takenLevelRewardList = 7;
+ uint32 level = 1;
+}
diff --git a/proto/PlayerOfferingDataNotify.proto b/proto/PlayerOfferingDataNotify.proto
new file mode 100644
index 00000000..27c6f1f9
--- /dev/null
+++ b/proto/PlayerOfferingDataNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "PlayerOfferingData.proto";
+
+message PlayerOfferingDataNotify {
+ //enum OPEPKCGEOBI {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2915;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated PlayerOfferingData offeringDataList = 8;
+}
diff --git a/proto/PlayerOfferingReq.proto b/proto/PlayerOfferingReq.proto
new file mode 100644
index 00000000..08bcbc22
--- /dev/null
+++ b/proto/PlayerOfferingReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message PlayerOfferingReq {
+ //enum PIJNKEKKJBH {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2908;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 offeringId = 9;
+}
diff --git a/proto/PlayerOfferingRsp.proto b/proto/PlayerOfferingRsp.proto
new file mode 100644
index 00000000..7681b9f4
--- /dev/null
+++ b/proto/PlayerOfferingRsp.proto
@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "PlayerOfferingData.proto";
+import "ItemParam.proto";
+
+message PlayerOfferingRsp {
+ //enum JFLDLMDOMJI {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2916;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 1;
+ PlayerOfferingData offeringData = 15;
+ repeated ItemParam itemList = 14;
+}
diff --git a/proto/PlayerPreEnterMpNotify.proto b/proto/PlayerPreEnterMpNotify.proto
new file mode 100644
index 00000000..c6173797
--- /dev/null
+++ b/proto/PlayerPreEnterMpNotify.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "State.proto";
+
+message PlayerPreEnterMpNotify {
+ //enum GJAPOFHOFMD {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 1835;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ State state = 7;
+ uint32 uid = 10;
+ string nickname = 15;
+}
diff --git a/proto/PlayerQuitDungeonRsp.proto b/proto/PlayerQuitDungeonRsp.proto
new file mode 100644
index 00000000..fb396077
--- /dev/null
+++ b/proto/PlayerQuitDungeonRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message PlayerQuitDungeonRsp {
+ //enum OMBKLGCJLEM {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 974;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 pointId = 11;
+ int32 retcode = 9;
+}
diff --git a/proto/PlayerQuitFromHomeNotify.proto b/proto/PlayerQuitFromHomeNotify.proto
new file mode 100644
index 00000000..e9f60731
--- /dev/null
+++ b/proto/PlayerQuitFromHomeNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "QuitReason.proto";
+
+message PlayerQuitFromHomeNotify {
+ //enum LKGCNDNMJPH {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4835;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ QuitReason reason = 10;
+}
diff --git a/proto/PlayerQuitFromMpNotify.proto b/proto/PlayerQuitFromMpNotify.proto
new file mode 100644
index 00000000..88f681f3
--- /dev/null
+++ b/proto/PlayerQuitFromMpNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "QuitReason.proto";
+
+message PlayerQuitFromMpNotify {
+ //enum KFIEONAKIJH {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 1831;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ QuitReason reason = 1;
+}
diff --git a/proto/PlayerRandomCookReq.proto b/proto/PlayerRandomCookReq.proto
new file mode 100644
index 00000000..613a6066
--- /dev/null
+++ b/proto/PlayerRandomCookReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ItemParam.proto";
+
+message PlayerRandomCookReq {
+ //enum GEMGLHAAMGI {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 173;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ repeated ItemParam materialList = 2;
+}
diff --git a/proto/PlayerRandomCookRsp.proto b/proto/PlayerRandomCookRsp.proto
new file mode 100644
index 00000000..c1edc85c
--- /dev/null
+++ b/proto/PlayerRandomCookRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message PlayerRandomCookRsp {
+ //enum APCDMKOIEGL {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 122;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 13;
+}
diff --git a/proto/PlayerRechargeDataNotify.proto b/proto/PlayerRechargeDataNotify.proto
new file mode 100644
index 00000000..40eb6de6
--- /dev/null
+++ b/proto/PlayerRechargeDataNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ProductPriceTier.proto";
+
+message PlayerRechargeDataNotify {
+ //enum CAKFIOPGIKF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4119;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 cardProductRemainDays = 14;
+ repeated ProductPriceTier productPriceTierList = 10;
+}
diff --git a/proto/PlayerReportReq.proto b/proto/PlayerReportReq.proto
new file mode 100644
index 00000000..eb1276b3
--- /dev/null
+++ b/proto/PlayerReportReq.proto
@@ -0,0 +1,24 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ReportReasonType.proto";
+
+message PlayerReportReq {
+ //enum APBPFDIOFNH {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4053;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ string content = 10;
+ ReportReasonType reason = 8;
+ uint32 targetUid = 6;
+ uint32 targetHomeModuleId = 12;
+ string targetHomeModuleName = 2;
+}
diff --git a/proto/PlayerReportRsp.proto b/proto/PlayerReportRsp.proto
new file mode 100644
index 00000000..ec1a42da
--- /dev/null
+++ b/proto/PlayerReportRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message PlayerReportRsp {
+ //enum MFGOBMMECCA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4036;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 9;
+ uint32 cdTime = 13;
+ uint32 targetUid = 4;
+}
diff --git a/proto/PlayerRoutineDataNotify.proto b/proto/PlayerRoutineDataNotify.proto
new file mode 100644
index 00000000..b2a3144a
--- /dev/null
+++ b/proto/PlayerRoutineDataNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "PlayerRoutineInfo.proto";
+
+message PlayerRoutineDataNotify {
+ //enum EEONOMLKLOK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 3538;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated PlayerRoutineInfo routineInfoList = 12;
+}
diff --git a/proto/PlayerRoutineInfo.proto b/proto/PlayerRoutineInfo.proto
new file mode 100644
index 00000000..42b08d15
--- /dev/null
+++ b/proto/PlayerRoutineInfo.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message PlayerRoutineInfo {
+ uint32 routineType = 2;
+ uint32 finishedNum = 13;
+}
diff --git a/proto/PlayerSetLanguageReq.proto b/proto/PlayerSetLanguageReq.proto
new file mode 100644
index 00000000..5434c45a
--- /dev/null
+++ b/proto/PlayerSetLanguageReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message PlayerSetLanguageReq {
+ //enum GDLEOILKCDD {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 194;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 languageType = 3;
+}
diff --git a/proto/PlayerSetLanguageRsp.proto b/proto/PlayerSetLanguageRsp.proto
new file mode 100644
index 00000000..bd72131c
--- /dev/null
+++ b/proto/PlayerSetLanguageRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message PlayerSetLanguageRsp {
+ //enum IJMNADFNPIM {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 181;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 6;
+}
diff --git a/proto/PlayerSetOnlyMPWithPSPlayerReq.proto b/proto/PlayerSetOnlyMPWithPSPlayerReq.proto
new file mode 100644
index 00000000..a7fd6587
--- /dev/null
+++ b/proto/PlayerSetOnlyMPWithPSPlayerReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message PlayerSetOnlyMPWithPSPlayerReq {
+ //enum DFIFOODJINK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 1802;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ bool isOnly = 6;
+}
diff --git a/proto/PlayerSetOnlyMPWithPSPlayerRsp.proto b/proto/PlayerSetOnlyMPWithPSPlayerRsp.proto
new file mode 100644
index 00000000..63542079
--- /dev/null
+++ b/proto/PlayerSetOnlyMPWithPSPlayerRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message PlayerSetOnlyMPWithPSPlayerRsp {
+ //enum GIOGPHLONAP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 1840;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ bool isOnly = 10;
+ int32 retcode = 2;
+}
diff --git a/proto/PlayerSignatureAuditDataNotify.proto b/proto/PlayerSignatureAuditDataNotify.proto
new file mode 100644
index 00000000..2e98f3d1
--- /dev/null
+++ b/proto/PlayerSignatureAuditDataNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ContentAuditInfo.proto";
+
+message PlayerSignatureAuditDataNotify {
+ //enum OLOILIEAIFG {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4077;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ ContentAuditInfo info = 4;
+}
diff --git a/proto/PlayerSignatureNotify.proto b/proto/PlayerSignatureNotify.proto
new file mode 100644
index 00000000..e6e2ac7a
--- /dev/null
+++ b/proto/PlayerSignatureNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message PlayerSignatureNotify {
+ //enum AFOHEGLBCHK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4012;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ string signature = 3;
+}
diff --git a/proto/PlayerStartMatchReq.proto b/proto/PlayerStartMatchReq.proto
new file mode 100644
index 00000000..103f864d
--- /dev/null
+++ b/proto/PlayerStartMatchReq.proto
@@ -0,0 +1,25 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "MatchType.proto";
+
+message PlayerStartMatchReq {
+ //enum AAPENNCPBLI {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4188;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 mechanicusDifficultLevel = 10;
+ repeated uint32 matchParamList = 15;
+ uint32 mpPlayId = 5;
+ uint32 dungeonId = 12;
+ uint32 matchId = 11;
+ MatchType matchType = 13;
+}
diff --git a/proto/PlayerStartMatchRsp.proto b/proto/PlayerStartMatchRsp.proto
new file mode 100644
index 00000000..e41993d1
--- /dev/null
+++ b/proto/PlayerStartMatchRsp.proto
@@ -0,0 +1,26 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "MatchType.proto";
+
+message PlayerStartMatchRsp {
+ //enum LOCNBAMKKHI {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4195;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ MatchType matchType = 7;
+ uint32 dungeonId = 3;
+ uint32 punishEndTime = 11;
+ int32 retcode = 6;
+ uint32 param = 5;
+ uint32 matchId = 2;
+ uint32 mpPlayId = 9;
+ uint32 mechanicusDifficultLevel = 12;
+}
diff --git a/proto/PolygonRegionSize.proto b/proto/PolygonRegionSize.proto
new file mode 100644
index 00000000..53eee775
--- /dev/null
+++ b/proto/PolygonRegionSize.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "VectorPlane.proto";
+
+message PolygonRegionSize {
+ float height = 13;
+ repeated VectorPlane pointList = 15;
+}
diff --git a/proto/PolygonSize.proto b/proto/PolygonSize.proto
new file mode 100644
index 00000000..92b48bf8
--- /dev/null
+++ b/proto/PolygonSize.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "VectorPlane.proto";
+
+message PolygonSize {
+ float height = 13;
+ repeated VectorPlane pointList = 15;
+}
diff --git a/proto/PotionActivityDetailInfo.proto b/proto/PotionActivityDetailInfo.proto
new file mode 100644
index 00000000..f7735b0a
--- /dev/null
+++ b/proto/PotionActivityDetailInfo.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "PotionStageData.proto";
+
+message PotionActivityDetailInfo {
+ repeated PotionStageData stageList = 11;
+}
diff --git a/proto/PotionDungeonAvatar.proto b/proto/PotionDungeonAvatar.proto
new file mode 100644
index 00000000..67eb19f6
--- /dev/null
+++ b/proto/PotionDungeonAvatar.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message PotionDungeonAvatar {
+ uint64 avatarGuid = 13;
+ bool isTrial = 7;
+}
diff --git a/proto/PotionEnterDungeonNotify.proto b/proto/PotionEnterDungeonNotify.proto
new file mode 100644
index 00000000..d1de0156
--- /dev/null
+++ b/proto/PotionEnterDungeonNotify.proto
@@ -0,0 +1,23 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "PotionDungeonAvatar.proto";
+
+message PotionEnterDungeonNotify {
+ //enum HPMDGJJPEDC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8043;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 difficultyLevel = 5;
+ uint32 stageId = 8;
+ repeated PotionDungeonAvatar dungeonAvatarList = 1;
+ uint32 levelId = 14;
+ uint32 modeId = 6;
+}
diff --git a/proto/PotionEnterDungeonReq.proto b/proto/PotionEnterDungeonReq.proto
new file mode 100644
index 00000000..621ed40d
--- /dev/null
+++ b/proto/PotionEnterDungeonReq.proto
@@ -0,0 +1,24 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "PotionAvatarInfo.proto";
+
+message PotionEnterDungeonReq {
+ //enum MOHGCCGKGPE {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8571;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 modeId = 14;
+ repeated PotionAvatarInfo avatarInfoList = 8;
+ uint32 levelId = 6;
+ repeated uint32 buffIdList = 11;
+ uint32 stageId = 1;
+}
diff --git a/proto/PotionEnterDungeonRsp.proto b/proto/PotionEnterDungeonRsp.proto
new file mode 100644
index 00000000..403c5267
--- /dev/null
+++ b/proto/PotionEnterDungeonRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message PotionEnterDungeonRsp {
+ //enum KGKDMBIPPFO {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8770;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 12;
+}
diff --git a/proto/PotionResetChallengeReq.proto b/proto/PotionResetChallengeReq.proto
new file mode 100644
index 00000000..68b20582
--- /dev/null
+++ b/proto/PotionResetChallengeReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message PotionResetChallengeReq {
+ //enum AEFKLBHHAOO {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8097;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 stageId = 5;
+}
diff --git a/proto/PotionResetChallengeRsp.proto b/proto/PotionResetChallengeRsp.proto
new file mode 100644
index 00000000..bb753426
--- /dev/null
+++ b/proto/PotionResetChallengeRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "PotionStageData.proto";
+
+message PotionResetChallengeRsp {
+ //enum EAOPBMNGAPB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8220;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ PotionStageData stageData = 7;
+ int32 retcode = 13;
+}
diff --git a/proto/PotionRestartDungeonReq.proto b/proto/PotionRestartDungeonReq.proto
new file mode 100644
index 00000000..cbb31cba
--- /dev/null
+++ b/proto/PotionRestartDungeonReq.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message PotionRestartDungeonReq {
+ //enum KHEIGENDDGP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8104;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+}
diff --git a/proto/PotionRestartDungeonRsp.proto b/proto/PotionRestartDungeonRsp.proto
new file mode 100644
index 00000000..3087bdfc
--- /dev/null
+++ b/proto/PotionRestartDungeonRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message PotionRestartDungeonRsp {
+ //enum MKKCAFHLAOH {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8864;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 11;
+}
diff --git a/proto/PotionSaveDungeonResultReq.proto b/proto/PotionSaveDungeonResultReq.proto
new file mode 100644
index 00000000..03dad1a0
--- /dev/null
+++ b/proto/PotionSaveDungeonResultReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message PotionSaveDungeonResultReq {
+ //enum IDPHFPPMIGP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8862;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 stageId = 14;
+ uint32 levelId = 5;
+}
diff --git a/proto/PotionSaveDungeonResultRsp.proto b/proto/PotionSaveDungeonResultRsp.proto
new file mode 100644
index 00000000..3df12603
--- /dev/null
+++ b/proto/PotionSaveDungeonResultRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message PotionSaveDungeonResultRsp {
+ //enum HFIECPNIDOP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8112;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 5;
+}
diff --git a/proto/PrivateChatRsp.proto b/proto/PrivateChatRsp.proto
new file mode 100644
index 00000000..bef30fad
--- /dev/null
+++ b/proto/PrivateChatRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message PrivateChatRsp {
+ //enum GKEBGHAEIBO {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5005;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 chatForbiddenEndtime = 8;
+ int32 retcode = 5;
+}
diff --git a/proto/ProductPriceTier.proto b/proto/ProductPriceTier.proto
new file mode 100644
index 00000000..9c4c4132
--- /dev/null
+++ b/proto/ProductPriceTier.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ProductPriceTier {
+ string productId = 10;
+ string priceTier = 6;
+}
diff --git a/proto/ProjectorOptionReq.proto b/proto/ProjectorOptionReq.proto
new file mode 100644
index 00000000..6eeb01c4
--- /dev/null
+++ b/proto/ProjectorOptionReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ProjectorOptionReq {
+ //enum ADKMILDGNIF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 822;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 opType = 15;
+ uint32 entityId = 12;
+}
diff --git a/proto/ProjectorOptionRsp.proto b/proto/ProjectorOptionRsp.proto
new file mode 100644
index 00000000..b664a235
--- /dev/null
+++ b/proto/ProjectorOptionRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ProjectorOptionRsp {
+ //enum OHFBNGAEAJM {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 845;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 11;
+ uint32 entityId = 10;
+ uint32 opType = 3;
+}
diff --git a/proto/ProudSkillUpgradeReq.proto b/proto/ProudSkillUpgradeReq.proto
new file mode 100644
index 00000000..1e8b7a7e
--- /dev/null
+++ b/proto/ProudSkillUpgradeReq.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ProudSkillUpgradeReq {
+ //enum IODHMOBIFAM {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 1062;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint64 avatarGuid = 2;
+ uint32 proudSkillId = 8;
+ uint32 oldProudSkillLevel = 6;
+}
diff --git a/proto/ProudSkillUpgradeRsp.proto b/proto/ProudSkillUpgradeRsp.proto
new file mode 100644
index 00000000..51c5a3c1
--- /dev/null
+++ b/proto/ProudSkillUpgradeRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ProudSkillUpgradeRsp {
+ //enum PIKNHMPCPCH {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 1014;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 proudSkillId = 8;
+ uint64 avatarGuid = 11;
+ int32 retcode = 5;
+}
diff --git a/proto/PublishCustomDungeonReq.proto b/proto/PublishCustomDungeonReq.proto
new file mode 100644
index 00000000..c09ed46c
--- /dev/null
+++ b/proto/PublishCustomDungeonReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message PublishCustomDungeonReq {
+ //enum LACNJCBKHHM {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 6214;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint64 dungeonGuid = 10;
+ repeated uint32 tagList = 1;
+}
diff --git a/proto/PublishCustomDungeonRsp.proto b/proto/PublishCustomDungeonRsp.proto
new file mode 100644
index 00000000..4e0ab194
--- /dev/null
+++ b/proto/PublishCustomDungeonRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message PublishCustomDungeonRsp {
+ //enum JFHKPDMINCL {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 6242;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 5;
+}
diff --git a/proto/PublishUgcReq.proto b/proto/PublishUgcReq.proto
new file mode 100644
index 00000000..93c257a1
--- /dev/null
+++ b/proto/PublishUgcReq.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "UgcType.proto";
+
+message PublishUgcReq {
+ //enum CLKAHKIDCND {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 6316;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ UgcType ugcType = 9;
+ uint64 ugcGuid = 14;
+}
diff --git a/proto/PublishUgcRsp.proto b/proto/PublishUgcRsp.proto
new file mode 100644
index 00000000..f45ff6ed
--- /dev/null
+++ b/proto/PublishUgcRsp.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "UgcType.proto";
+
+message PublishUgcRsp {
+ //enum HKGPLKNPMED {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 6325;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ UgcType ugcType = 8;
+ int32 retcode = 14;
+ uint64 ugcGuid = 4;
+}
diff --git a/proto/PushTipsAllDataNotify.proto b/proto/PushTipsAllDataNotify.proto
new file mode 100644
index 00000000..8feb2292
--- /dev/null
+++ b/proto/PushTipsAllDataNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "PushTipsData.proto";
+
+message PushTipsAllDataNotify {
+ //enum FLBILIICCBC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2292;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated PushTipsData pushTipsList = 12;
+}
diff --git a/proto/PushTipsChangeNotify.proto b/proto/PushTipsChangeNotify.proto
new file mode 100644
index 00000000..3b27e2fb
--- /dev/null
+++ b/proto/PushTipsChangeNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "PushTipsData.proto";
+
+message PushTipsChangeNotify {
+ //enum IFMPDLIDGPD {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2288;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated PushTipsData pushTipsList = 4;
+}
diff --git a/proto/PushTipsData.proto b/proto/PushTipsData.proto
new file mode 100644
index 00000000..04bc260f
--- /dev/null
+++ b/proto/PushTipsData.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message PushTipsData {
+ uint32 pushTipsId = 13;
+ uint32 state = 8;
+}
diff --git a/proto/PushTipsReadFinishReq.proto b/proto/PushTipsReadFinishReq.proto
new file mode 100644
index 00000000..fbeb3c84
--- /dev/null
+++ b/proto/PushTipsReadFinishReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message PushTipsReadFinishReq {
+ //enum MHKMPJEMKOH {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2225;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 pushTipsId = 2;
+}
diff --git a/proto/PushTipsReadFinishRsp.proto b/proto/PushTipsReadFinishRsp.proto
new file mode 100644
index 00000000..c555f9f0
--- /dev/null
+++ b/proto/PushTipsReadFinishRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message PushTipsReadFinishRsp {
+ //enum DOCKMEJNFDA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2258;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 1;
+ uint32 pushTipsId = 15;
+}
diff --git a/proto/PveIntentionChange.proto b/proto/PveIntentionChange.proto
new file mode 100644
index 00000000..c5f1900e
--- /dev/null
+++ b/proto/PveIntentionChange.proto
@@ -0,0 +1,13 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GCGIntentionChangeType.proto";
+import "GCGMsgPVEIntention.proto";
+
+message PveIntentionChange {
+ GCGIntentionChangeType changeType = 6;
+ repeated GCGMsgPVEIntention changeIntentionList = 2;
+}
diff --git a/proto/PveIntentionInfo.proto b/proto/PveIntentionInfo.proto
new file mode 100644
index 00000000..d4b64e6c
--- /dev/null
+++ b/proto/PveIntentionInfo.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GCGMsgPVEIntention.proto";
+
+message PveIntentionInfo {
+ map intentionMap = 15;
+}
diff --git a/proto/QueryCurrRegionHttpRsp.proto b/proto/QueryCurrRegionHttpRsp.proto
index 766c5ee5..e9af5ac9 100644
--- a/proto/QueryCurrRegionHttpRsp.proto
+++ b/proto/QueryCurrRegionHttpRsp.proto
@@ -1,16 +1,20 @@
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
+
+
import "RegionInfo.proto";
-import "ForceUpdateInfo.proto";
+import "ForceUdpate.proto";
import "StopServer.proto";
+import "bytes.proto";
message QueryCurrRegionHttpRsp {
int32 retcode = 1;
string msg = 2;
RegionInfo regionInfo = 3;
oneof detail {
- ForceUpdateInfo force_update = 4;
+ ForceUdpate force_udpate = 4;
StopServer stop_server = 5;
}
bytes client_secret_key = 11;
diff --git a/proto/QueryRegionListHttpRsp.proto b/proto/QueryRegionListHttpRsp.proto
deleted file mode 100644
index 8845cf11..00000000
--- a/proto/QueryRegionListHttpRsp.proto
+++ /dev/null
@@ -1,30 +0,0 @@
-// Proto has been converted from Sorapointa to Grasscutter format
-// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
-// Copyright (C) 2022 Sorapointa Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
-syntax = "proto3";
-
-import "RegionSimpleInfo.proto";
-
-option java_package = "emu.grasscutter.net.proto";
-
-message QueryRegionListHttpRsp {
- int32 retcode = 1;
- repeated RegionSimpleInfo region_list = 2;
- bytes client_secret_key = 5;
- bytes client_custom_config_encrypted = 6;
- bool enable_login_pc = 7;
-}
diff --git a/proto/QuickOpenActivityReq.proto b/proto/QuickOpenActivityReq.proto
new file mode 100644
index 00000000..d4b4c077
--- /dev/null
+++ b/proto/QuickOpenActivityReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message QuickOpenActivityReq {
+ //enum EAJJJBPANHM {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8999;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 activityId = 14;
+}
diff --git a/proto/QuickOpenActivityRsp.proto b/proto/QuickOpenActivityRsp.proto
new file mode 100644
index 00000000..c224a1b3
--- /dev/null
+++ b/proto/QuickOpenActivityRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message QuickOpenActivityRsp {
+ //enum LFCFFEBFOAC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8108;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 activityId = 7;
+ int32 retcode = 6;
+}
diff --git a/proto/QuickUseWidgetReq.proto b/proto/QuickUseWidgetReq.proto
new file mode 100644
index 00000000..62c216d2
--- /dev/null
+++ b/proto/QuickUseWidgetReq.proto
@@ -0,0 +1,28 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "LocationInfo.proto";
+import "CameraInfo.proto";
+import "CreatorInfo.proto";
+import "ThunderBirdFeatherInfo.proto";
+
+message QuickUseWidgetReq {
+ //enum LFAFKGPLPOP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4275;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ oneof param {
+ LocationInfo location_info = 1542;
+ CameraInfo camera_info = 1754;
+ CreatorInfo creator_info = 825;
+ ThunderBirdFeatherInfo thunder_bird_feather_info = 1365;
+ }
+}
diff --git a/proto/QuitReason.proto b/proto/QuitReason.proto
new file mode 100644
index 00000000..0d14aa97
--- /dev/null
+++ b/proto/QuitReason.proto
@@ -0,0 +1,15 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+enum QuitReason {
+ QUIT_REASON_INVALID = 0;
+ QUIT_REASON_HOST_NO_OTHER_PLAYER = 1;
+ QUIT_REASON_KICK_BY_HOST = 2;
+ QUIT_REASON_BACK_TO_MY_WORLD = 3;
+ QUIT_REASON_KICK_BY_HOST_LOGOUT = 4;
+ QUIT_REASON_KICK_BY_HOST_BLOCK = 5;
+ QUIT_REASON_BE_BLOCKED = 6;
+}
diff --git a/proto/RacingGalleryInfo.proto b/proto/RacingGalleryInfo.proto
new file mode 100644
index 00000000..91e53096
--- /dev/null
+++ b/proto/RacingGalleryInfo.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "HomeRacingGalleryRecord.proto";
+
+message RacingGalleryInfo {
+ repeated HomeRacingGalleryRecord recordList = 2;
+}
diff --git a/proto/RacingGallerySettleInfo.proto b/proto/RacingGallerySettleInfo.proto
new file mode 100644
index 00000000..6eea1cfa
--- /dev/null
+++ b/proto/RacingGallerySettleInfo.proto
@@ -0,0 +1,13 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GalleryStopReason.proto";
+
+message RacingGallerySettleInfo {
+ uint32 useTime = 9;
+ GalleryStopReason reason = 3;
+ uint32 winnerUid = 10;
+}
diff --git a/proto/ReactionBegin.proto b/proto/ReactionBegin.proto
new file mode 100644
index 00000000..1b6c0e86
--- /dev/null
+++ b/proto/ReactionBegin.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ReactionBegin {
+ uint32 skillId = 8;
+ uint32 cardGuid = 3;
+}
diff --git a/proto/ReactionEnd.proto b/proto/ReactionEnd.proto
new file mode 100644
index 00000000..565cf37f
--- /dev/null
+++ b/proto/ReactionEnd.proto
@@ -0,0 +1,10 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ReactionEnd {
+ uint32 skillId = 15;
+}
diff --git a/proto/ReadNicknameAuditReq.proto b/proto/ReadNicknameAuditReq.proto
new file mode 100644
index 00000000..6d6aa15f
--- /dev/null
+++ b/proto/ReadNicknameAuditReq.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ReadNicknameAuditReq {
+ //enum AHPDJIFHIIF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 197;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 1;
+}
diff --git a/proto/ReadNicknameAuditRsp.proto b/proto/ReadNicknameAuditRsp.proto
new file mode 100644
index 00000000..57a12116
--- /dev/null
+++ b/proto/ReadNicknameAuditRsp.proto
@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ReadNicknameAuditRsp {
+ //enum OKPDCPFCLNP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 102;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 mbbjhalknla = 13;
+ bool fdabeplffil = 8;
+ uint32 nnnnclfpean = 9;
+ uint32 ejkmamgnbgj = 3;
+}
diff --git a/proto/ReadPrivateChatRsp.proto b/proto/ReadPrivateChatRsp.proto
new file mode 100644
index 00000000..80a44153
--- /dev/null
+++ b/proto/ReadPrivateChatRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ReadPrivateChatRsp {
+ //enum LCAJCJNALAH {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4974;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 7;
+}
diff --git a/proto/ReadSignatureAuditReq.proto b/proto/ReadSignatureAuditReq.proto
new file mode 100644
index 00000000..2c07fcea
--- /dev/null
+++ b/proto/ReadSignatureAuditReq.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ReadSignatureAuditReq {
+ //enum KACDAECBPFN {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4089;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+}
diff --git a/proto/ReadSignatureAuditRsp.proto b/proto/ReadSignatureAuditRsp.proto
new file mode 100644
index 00000000..aeeefdf0
--- /dev/null
+++ b/proto/ReadSignatureAuditRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ReadSignatureAuditRsp {
+ //enum GEPKHMAMPEO {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4038;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 6;
+}
diff --git a/proto/Reason.proto b/proto/Reason.proto
new file mode 100644
index 00000000..80638572
--- /dev/null
+++ b/proto/Reason.proto
@@ -0,0 +1,17 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+enum Reason {
+ REASON_SUCC = 0;
+ REASON_TARGET_SCENE_CANNOT_ENTER = 1;
+ REASON_SELF_MP_UNAVAILABLE = 2;
+ REASON_OTHER_DATA_VERSION_NOT_LATEST = 3;
+ REASON_DATA_VERSION_NOT_LATEST = 4;
+ REASON_GM_CLEAR = 5;
+ REASON_PLAYER_TRANSFER = 6;
+ REASON_CLIENT_CHECKSUM_INVALID = 7;
+ NHMKGJGLHPO = 8;
+}
diff --git a/proto/ReceivedTrialAvatarActivityRewardReq.proto b/proto/ReceivedTrialAvatarActivityRewardReq.proto
new file mode 100644
index 00000000..a4a09c1e
--- /dev/null
+++ b/proto/ReceivedTrialAvatarActivityRewardReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ReceivedTrialAvatarActivityRewardReq {
+ //enum GKNKKEOBOJO {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2106;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 trialAvatarIndexId = 3;
+}
diff --git a/proto/ReceivedTrialAvatarActivityRewardRsp.proto b/proto/ReceivedTrialAvatarActivityRewardRsp.proto
new file mode 100644
index 00000000..0647b485
--- /dev/null
+++ b/proto/ReceivedTrialAvatarActivityRewardRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ReceivedTrialAvatarActivityRewardRsp {
+ //enum OFLGHCIPFDA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2074;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 activityId = 12;
+ int32 retcode = 5;
+ uint32 trialAvatarIndexId = 4;
+}
diff --git a/proto/RechargeReq.proto b/proto/RechargeReq.proto
new file mode 100644
index 00000000..2bde1ce2
--- /dev/null
+++ b/proto/RechargeReq.proto
@@ -0,0 +1,26 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ShopMcoinProduct.proto";
+import "ShopCardProduct.proto";
+import "PlayProduct.proto";
+import "ShopConcertProduct.proto";
+
+message RechargeReq {
+ //enum LLEAGGMKINK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4138;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ ShopMcoinProduct mcoinProduct = 11;
+ ShopCardProduct cardProduct = 5;
+ PlayProduct playProduct = 6;
+ ShopConcertProduct concertProduct = 3;
+}
diff --git a/proto/RechargeRsp.proto b/proto/RechargeRsp.proto
new file mode 100644
index 00000000..8969c73a
--- /dev/null
+++ b/proto/RechargeRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message RechargeRsp {
+ //enum JCFDBGGBEOO {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4145;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 8;
+ string productId = 11;
+ bool isShowMinorsHint = 5;
+}
diff --git a/proto/RedPointData.proto b/proto/RedPointData.proto
new file mode 100644
index 00000000..b1c6eb53
--- /dev/null
+++ b/proto/RedPointData.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message RedPointData {
+ uint32 redPointType = 1;
+ bool isShow = 2;
+ uint32 contentId = 3;
+}
diff --git a/proto/RedeemLegendaryKeyReq.proto b/proto/RedeemLegendaryKeyReq.proto
new file mode 100644
index 00000000..79fea875
--- /dev/null
+++ b/proto/RedeemLegendaryKeyReq.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message RedeemLegendaryKeyReq {
+ //enum CKJCFMCDEAN {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 435;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+}
diff --git a/proto/RedeemLegendaryKeyRsp.proto b/proto/RedeemLegendaryKeyRsp.proto
new file mode 100644
index 00000000..c70489f5
--- /dev/null
+++ b/proto/RedeemLegendaryKeyRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message RedeemLegendaryKeyRsp {
+ //enum DDKHKKJJAJH {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 407;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 legendaryKeyCount = 4;
+ int32 retcode = 6;
+}
diff --git a/proto/ReformFireworksReq.proto b/proto/ReformFireworksReq.proto
new file mode 100644
index 00000000..bd91e912
--- /dev/null
+++ b/proto/ReformFireworksReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "FireworksReformData.proto";
+
+message ReformFireworksReq {
+ //enum KPLMIHEDFMI {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5941;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ FireworksReformData fireworksReformData = 8;
+}
diff --git a/proto/ReformFireworksRsp.proto b/proto/ReformFireworksRsp.proto
new file mode 100644
index 00000000..a221f642
--- /dev/null
+++ b/proto/ReformFireworksRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ReformFireworksRsp {
+ //enum GKFGBPJEJOE {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 6008;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 15;
+}
diff --git a/proto/RefreshBackgroundAvatarReq.proto b/proto/RefreshBackgroundAvatarReq.proto
new file mode 100644
index 00000000..3076af64
--- /dev/null
+++ b/proto/RefreshBackgroundAvatarReq.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message RefreshBackgroundAvatarReq {
+ //enum MAOFFBIMEBN {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 1629;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+}
diff --git a/proto/RefreshBackgroundAvatarRsp.proto b/proto/RefreshBackgroundAvatarRsp.proto
new file mode 100644
index 00000000..93664119
--- /dev/null
+++ b/proto/RefreshBackgroundAvatarRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message RefreshBackgroundAvatarRsp {
+ //enum CIHAMKMFODI {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 1720;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 13;
+ map hpFullTimeMap = 4;
+}
diff --git a/proto/RefreshEntityAuthNotify.proto b/proto/RefreshEntityAuthNotify.proto
new file mode 100644
index 00000000..a7967fe5
--- /dev/null
+++ b/proto/RefreshEntityAuthNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message RefreshEntityAuthNotify {
+ //enum DAAFMJIGPNM {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 3280;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ repeated uint32 entityIdList = 11;
+}
diff --git a/proto/RefreshRogueDiaryCardReq.proto b/proto/RefreshRogueDiaryCardReq.proto
new file mode 100644
index 00000000..3c53ea5c
--- /dev/null
+++ b/proto/RefreshRogueDiaryCardReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message RefreshRogueDiaryCardReq {
+ //enum NJKGLABMMEM {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8157;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ repeated uint32 refreshCardList = 4;
+}
diff --git a/proto/RefreshRogueDiaryCardRsp.proto b/proto/RefreshRogueDiaryCardRsp.proto
new file mode 100644
index 00000000..92d5e9bc
--- /dev/null
+++ b/proto/RefreshRogueDiaryCardRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message RefreshRogueDiaryCardRsp {
+ //enum HMELOBEOBBE {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8910;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated uint32 randCardList = 9;
+ int32 retcode = 3;
+}
diff --git a/proto/RefreshRoguelikeDungeonCardReq.proto b/proto/RefreshRoguelikeDungeonCardReq.proto
new file mode 100644
index 00000000..4e0172d2
--- /dev/null
+++ b/proto/RefreshRoguelikeDungeonCardReq.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message RefreshRoguelikeDungeonCardReq {
+ //enum GNGAOEIDAMP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8070;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+}
diff --git a/proto/RefreshRoguelikeDungeonCardRsp.proto b/proto/RefreshRoguelikeDungeonCardRsp.proto
new file mode 100644
index 00000000..b6de17d1
--- /dev/null
+++ b/proto/RefreshRoguelikeDungeonCardRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message RefreshRoguelikeDungeonCardRsp {
+ //enum AAJMJJMPNAN {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8302;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 9;
+ repeated uint32 resCardList = 12;
+}
diff --git a/proto/RegionEvent.proto b/proto/RegionEvent.proto
new file mode 100644
index 00000000..86ad7ee5
--- /dev/null
+++ b/proto/RegionEvent.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+enum RegionEvent {
+ REGION_EVENT_NONE = 0;
+ REGION_EVENT_ENTER = 1;
+ REGION_EVENT_LEAVE = 2;
+}
diff --git a/proto/RegionInfo.proto b/proto/RegionInfo.proto
index fe68aca5..bbcb261a 100644
--- a/proto/RegionInfo.proto
+++ b/proto/RegionInfo.proto
@@ -1,7 +1,11 @@
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
+
+
import "ResVersionConfig.proto";
+import "bytes.proto";
message RegionInfo {
string gateserver_ip = 1;
diff --git a/proto/RegionSearch.proto b/proto/RegionSearch.proto
new file mode 100644
index 00000000..ceba50be
--- /dev/null
+++ b/proto/RegionSearch.proto
@@ -0,0 +1,14 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "RegionSearchState.proto";
+
+message RegionSearch {
+ uint32 regionSearchId = 1;
+ RegionSearchState state = 15;
+ bool isEntered = 6;
+ uint32 progress = 8;
+}
diff --git a/proto/RegionSearchChangeRegionNotify.proto b/proto/RegionSearchChangeRegionNotify.proto
new file mode 100644
index 00000000..51799522
--- /dev/null
+++ b/proto/RegionSearchChangeRegionNotify.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "RegionEvent.proto";
+
+message RegionSearchChangeRegionNotify {
+ //enum JDELBHMKBLN {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5645;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 regionId = 8;
+ RegionEvent event = 12;
+}
diff --git a/proto/RegionSearchInfo.proto b/proto/RegionSearchInfo.proto
new file mode 100644
index 00000000..fd75f3cd
--- /dev/null
+++ b/proto/RegionSearchInfo.proto
@@ -0,0 +1,13 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "RegionSearch.proto";
+
+message RegionSearchInfo {
+ uint32 id = 7;
+ repeated RegionSearch regionSearchList = 4;
+ bool isEntered = 14;
+}
diff --git a/proto/RegionSearchNotify.proto b/proto/RegionSearchNotify.proto
new file mode 100644
index 00000000..7ce37cf1
--- /dev/null
+++ b/proto/RegionSearchNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "RegionSearchInfo.proto";
+
+message RegionSearchNotify {
+ //enum GPJGABMLJOJ {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5638;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 uid = 1;
+ repeated RegionSearchInfo regionSearchList = 15;
+}
diff --git a/proto/RegionSearchState.proto b/proto/RegionSearchState.proto
new file mode 100644
index 00000000..c55422c7
--- /dev/null
+++ b/proto/RegionSearchState.proto
@@ -0,0 +1,13 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+enum RegionSearchState {
+ REGION_SEARCH_STATE_NONE = 0;
+ REGION_SEARCH_STATE_UNSTARTED = 1;
+ REGION_SEARCH_STATE_STARTED = 2;
+ REGION_SEARCH_STATE_WAIT_REWARD = 3;
+ REGION_SEARCH_STATE_FINISHED = 4;
+}
diff --git a/proto/RegionSimpleInfo.proto b/proto/RegionSimpleInfo.proto
deleted file mode 100644
index 6d48b932..00000000
--- a/proto/RegionSimpleInfo.proto
+++ /dev/null
@@ -1,27 +0,0 @@
-// Proto has been converted from Sorapointa to Grasscutter format
-// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
-// Copyright (C) 2022 Sorapointa Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
-syntax = "proto3";
-
-option java_package = "emu.grasscutter.net.proto";
-
-message RegionSimpleInfo {
- string name = 1;
- string title = 2;
- string type = 3;
- string dispatch_url = 4;
-}
diff --git a/proto/RegionalPlayInfoNotify.proto b/proto/RegionalPlayInfoNotify.proto
new file mode 100644
index 00000000..780f7087
--- /dev/null
+++ b/proto/RegionalPlayInfoNotify.proto
@@ -0,0 +1,23 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "RegionalPlayVar.proto";
+
+message RegionalPlayInfoNotify {
+ //enum GBOBFCLEGEI {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 6288;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ string playName = 8;
+ repeated RegionalPlayVar varList = 11;
+ uint32 playType = 14;
+ bool isEnabled = 2;
+ bool isInRegion = 7;
+}
diff --git a/proto/RegionalPlayVar.proto b/proto/RegionalPlayVar.proto
new file mode 100644
index 00000000..b163b321
--- /dev/null
+++ b/proto/RegionalPlayVar.proto
@@ -0,0 +1,13 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message RegionalPlayVar {
+ float baseValue = 4;
+ float maxValue = 15;
+ uint32 type = 8;
+ float value = 12;
+}
diff --git a/proto/ReliquaryFilterKey.proto b/proto/ReliquaryFilterKey.proto
deleted file mode 100644
index 468c8a5b..00000000
--- a/proto/ReliquaryFilterKey.proto
+++ /dev/null
@@ -1,27 +0,0 @@
-// Proto has been converted from Sorapointa to Grasscutter format
-// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
-// Copyright (C) 2022 Sorapointa Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
-syntax = "proto3";
-
-option java_package = "emu.grasscutter.net.proto";
-
-enum ReliquaryFilterKey {
- RELIQUARY_FILTER_KEY_NONE = 0;
- RELIQUARY_FILTER_KEY_LOCK = 1;
- RELIQUARY_FILTER_KEY_LEVEL = 2;
- RELIQUARY_FILTER_KEY_WEARING = 3;
-}
diff --git a/proto/ReliquaryFilterLevelState.proto b/proto/ReliquaryFilterLevelState.proto
deleted file mode 100644
index d543bce6..00000000
--- a/proto/ReliquaryFilterLevelState.proto
+++ /dev/null
@@ -1,26 +0,0 @@
-// Proto has been converted from Sorapointa to Grasscutter format
-// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
-// Copyright (C) 2022 Sorapointa Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
-syntax = "proto3";
-
-option java_package = "emu.grasscutter.net.proto";
-
-enum ReliquaryFilterLevelState {
- RELIQUARY_FILTER_LEVEL_STATE_NONE = 0;
- RELIQUARY_FILTER_LEVEL_STATE_FULL_LEVEL = 1;
- RELIQUARY_FILTER_LEVEL_STATE_NOT_FULL_LEVEL = 2;
-}
diff --git a/proto/ReliquaryFilterLockState.proto b/proto/ReliquaryFilterLockState.proto
deleted file mode 100644
index 16515744..00000000
--- a/proto/ReliquaryFilterLockState.proto
+++ /dev/null
@@ -1,26 +0,0 @@
-// Proto has been converted from Sorapointa to Grasscutter format
-// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
-// Copyright (C) 2022 Sorapointa Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
-syntax = "proto3";
-
-option java_package = "emu.grasscutter.net.proto";
-
-enum ReliquaryFilterLockState {
- RELIQUARY_FILTER_LOCK_STATE_NONE = 0;
- RELIQUARY_FILTER_LOCK_STATE_LOCK = 1;
- RELIQUARY_FILTER_LOCK_STATE_UNLOCK = 2;
-}
diff --git a/proto/ReliquaryFilterWearedState.proto b/proto/ReliquaryFilterWearedState.proto
deleted file mode 100644
index eab270ad..00000000
--- a/proto/ReliquaryFilterWearedState.proto
+++ /dev/null
@@ -1,26 +0,0 @@
-// Proto has been converted from Sorapointa to Grasscutter format
-// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
-// Copyright (C) 2022 Sorapointa Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
-syntax = "proto3";
-
-option java_package = "emu.grasscutter.net.proto";
-
-enum ReliquaryFilterWearedState {
- RELIQUARY_FILTER_WEARED_STATE_NONE = 0;
- RELIQUARY_FILTER_WEARED_STATE_HAS_BEEN_WEARED = 1;
- RELIQUARY_FILTER_WEARED_STATE_HAS_NOT_BEEN_WEARED = 2;
-}
diff --git a/proto/RemotePlayerWidgetNotify.proto b/proto/RemotePlayerWidgetNotify.proto
new file mode 100644
index 00000000..2b430e31
--- /dev/null
+++ b/proto/RemotePlayerWidgetNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "PlayerWidgetInfo.proto";
+
+message RemotePlayerWidgetNotify {
+ //enum EEINCMFJCDI {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5996;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated PlayerWidgetInfo playerWidgetInfoList = 8;
+}
diff --git a/proto/RemoveBlacklistReq.proto b/proto/RemoveBlacklistReq.proto
new file mode 100644
index 00000000..18443390
--- /dev/null
+++ b/proto/RemoveBlacklistReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message RemoveBlacklistReq {
+ //enum KPGCDJGNKFH {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4022;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 targetUid = 11;
+}
diff --git a/proto/RemoveBlacklistRsp.proto b/proto/RemoveBlacklistRsp.proto
new file mode 100644
index 00000000..7da01024
--- /dev/null
+++ b/proto/RemoveBlacklistRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message RemoveBlacklistRsp {
+ //enum OFGNGOKABNB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4045;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 targetUid = 7;
+ int32 retcode = 1;
+}
diff --git a/proto/RemoveCards.proto b/proto/RemoveCards.proto
new file mode 100644
index 00000000..533b276b
--- /dev/null
+++ b/proto/RemoveCards.proto
@@ -0,0 +1,15 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GCGZoneType.proto";
+import "GCGReason.proto";
+
+message RemoveCards {
+ repeated uint32 cardGuidList = 14;
+ GCGZoneType zone = 9;
+ uint32 controllerId = 4;
+ GCGReason reason = 6;
+}
diff --git a/proto/RemoveCustomDungeonReq.proto b/proto/RemoveCustomDungeonReq.proto
new file mode 100644
index 00000000..47a9d044
--- /dev/null
+++ b/proto/RemoveCustomDungeonReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message RemoveCustomDungeonReq {
+ //enum BJOEAFPMMMB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 6225;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint64 dungeonGuid = 1;
+}
diff --git a/proto/RemoveCustomDungeonRsp.proto b/proto/RemoveCustomDungeonRsp.proto
new file mode 100644
index 00000000..036ae31b
--- /dev/null
+++ b/proto/RemoveCustomDungeonRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message RemoveCustomDungeonRsp {
+ //enum LFCMGJEEGCI {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 6202;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint64 dungeonGuid = 9;
+ int32 retcode = 6;
+}
diff --git a/proto/RemoveRandTaskInfoNotify.proto b/proto/RemoveRandTaskInfoNotify.proto
new file mode 100644
index 00000000..6ec654e2
--- /dev/null
+++ b/proto/RemoveRandTaskInfoNotify.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "FinishReason.proto";
+
+message RemoveRandTaskInfoNotify {
+ //enum DJBDIIHBLKC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 115;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 randTaskId = 9;
+ bool isSucc = 7;
+ FinishReason reason = 2;
+}
diff --git a/proto/ReplayCustomDungeonReq.proto b/proto/ReplayCustomDungeonReq.proto
new file mode 100644
index 00000000..e3aa1a35
--- /dev/null
+++ b/proto/ReplayCustomDungeonReq.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ReplayCustomDungeonReq {
+ //enum OBHBBKAEMGA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 6250;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+}
diff --git a/proto/ReplayCustomDungeonRsp.proto b/proto/ReplayCustomDungeonRsp.proto
new file mode 100644
index 00000000..26d8cf18
--- /dev/null
+++ b/proto/ReplayCustomDungeonRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ReplayCustomDungeonRsp {
+ //enum HFCFBNPLPIP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 6217;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ int32 retcode = 7;
+}
diff --git a/proto/ReportFightAntiCheatNotify.proto b/proto/ReportFightAntiCheatNotify.proto
new file mode 100644
index 00000000..425600ce
--- /dev/null
+++ b/proto/ReportFightAntiCheatNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ReportFightAntiCheatNotify {
+ //enum CHDMMCOEHDK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 311;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 Unk3300_ABCKMPPMNCH = 12;
+ uint32 Unk3300_MIFNAAADBBP = 8;
+}
diff --git a/proto/ReportReasonType.proto b/proto/ReportReasonType.proto
new file mode 100644
index 00000000..8f3a35f1
--- /dev/null
+++ b/proto/ReportReasonType.proto
@@ -0,0 +1,15 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+enum ReportReasonType {
+ REPORT_REASON_TYPE_NONE = 0;
+ REPORT_REASON_TYPE_DECEPTIVE_ADS = 1;
+ REPORT_REASON_TYPE_ABUSING = 2;
+ REPORT_REASON_TYPE_CHEAT = 3;
+ REPORT_REASON_TYPE_POLITICAL = 4;
+ REPORT_REASON_TYPE_OTHER = 5;
+ REPORT_REASON_TYPE_HOME = 6;
+}
diff --git a/proto/ReportTrackingIOInfoNotify.proto b/proto/ReportTrackingIOInfoNotify.proto
new file mode 100644
index 00000000..4b43b13e
--- /dev/null
+++ b/proto/ReportTrackingIOInfoNotify.proto
@@ -0,0 +1,23 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ReportTrackingIOInfoNotify {
+ //enum JFLNOJGPPOC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4131;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ string Unk3300_CNPIGDOEJPB = 5;
+ string rydevicetype = 8;
+ string Unk3300_DJHKHEFPCDK = 3;
+ string clientTz = 2;
+ string Unk3300_PIBFPDAMJLE = 9;
+}
diff --git a/proto/RequestLiveInfoReq.proto b/proto/RequestLiveInfoReq.proto
new file mode 100644
index 00000000..511b423b
--- /dev/null
+++ b/proto/RequestLiveInfoReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message RequestLiveInfoReq {
+ //enum OMBPGOCMMNK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 875;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 liveId = 10;
+}
diff --git a/proto/RequestLiveInfoRsp.proto b/proto/RequestLiveInfoRsp.proto
new file mode 100644
index 00000000..0841486d
--- /dev/null
+++ b/proto/RequestLiveInfoRsp.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message RequestLiveInfoRsp {
+ //enum DDFGFFBNGHD {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 828;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ string Unk3300_DNGGIOIKLHC = 3;
+ int32 retcode = 15;
+ uint32 liveId = 11;
+ string Unk3300_BDOGCPKPLOK = 1;
+}
diff --git a/proto/ReserveRogueDiaryAvatarReq.proto b/proto/ReserveRogueDiaryAvatarReq.proto
new file mode 100644
index 00000000..ce6c476c
--- /dev/null
+++ b/proto/ReserveRogueDiaryAvatarReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "RogueDiaryAvatar.proto";
+
+message ReserveRogueDiaryAvatarReq {
+ //enum GJMGKLDHJBF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8607;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ repeated RogueDiaryAvatar reserveAvatarList = 1;
+}
diff --git a/proto/ReserveRogueDiaryAvatarRsp.proto b/proto/ReserveRogueDiaryAvatarRsp.proto
new file mode 100644
index 00000000..93b6a77a
--- /dev/null
+++ b/proto/ReserveRogueDiaryAvatarRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ReserveRogueDiaryAvatarRsp {
+ //enum CMJHJPMFJIH {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8800;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 14;
+}
diff --git a/proto/ResetRogueDiaryPlayReq.proto b/proto/ResetRogueDiaryPlayReq.proto
new file mode 100644
index 00000000..314fdf60
--- /dev/null
+++ b/proto/ResetRogueDiaryPlayReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ResetRogueDiaryPlayReq {
+ //enum KCBMEGELPBF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8702;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 stageId = 10;
+}
diff --git a/proto/ResetRogueDiaryPlayRsp.proto b/proto/ResetRogueDiaryPlayRsp.proto
new file mode 100644
index 00000000..2948779a
--- /dev/null
+++ b/proto/ResetRogueDiaryPlayRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ResetRogueDiaryPlayRsp {
+ //enum BENNENFHCLM {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8282;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 15;
+}
diff --git a/proto/ResinCardData.proto b/proto/ResinCardData.proto
new file mode 100644
index 00000000..565287a7
--- /dev/null
+++ b/proto/ResinCardData.proto
@@ -0,0 +1,13 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ResinCardData {
+ uint32 configId = 14;
+ uint32 remainRewardDays = 10;
+ uint32 expireTime = 5;
+ uint32 lastDailyRewardTime = 7;
+}
diff --git a/proto/ResinCardDataUpdateNotify.proto b/proto/ResinCardDataUpdateNotify.proto
new file mode 100644
index 00000000..288e43e5
--- /dev/null
+++ b/proto/ResinCardDataUpdateNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ResinCardData.proto";
+
+message ResinCardDataUpdateNotify {
+ //enum EDCMHABBIJK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4125;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 todayStartTime = 15;
+ repeated ResinCardData cardDataList = 10;
+}
diff --git a/proto/RestartCoinCollectPlaySingleModeReq.proto b/proto/RestartCoinCollectPlaySingleModeReq.proto
new file mode 100644
index 00000000..94e74e37
--- /dev/null
+++ b/proto/RestartCoinCollectPlaySingleModeReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message RestartCoinCollectPlaySingleModeReq {
+ //enum HMOLHOLNNMC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 22217;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 levelId = 13;
+ uint32 multistagePlayIndex = 4;
+}
diff --git a/proto/RestartCoinCollectPlaySingleModeRsp.proto b/proto/RestartCoinCollectPlaySingleModeRsp.proto
new file mode 100644
index 00000000..d5992003
--- /dev/null
+++ b/proto/RestartCoinCollectPlaySingleModeRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message RestartCoinCollectPlaySingleModeRsp {
+ //enum HAHFJFJOCLD {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 22874;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 9;
+ uint32 levelId = 14;
+}
diff --git a/proto/RestartEffigyChallengeReq.proto b/proto/RestartEffigyChallengeReq.proto
new file mode 100644
index 00000000..33a3247f
--- /dev/null
+++ b/proto/RestartEffigyChallengeReq.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message RestartEffigyChallengeReq {
+ //enum PODHHKIFPAF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2131;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+}
diff --git a/proto/RestartEffigyChallengeRsp.proto b/proto/RestartEffigyChallengeRsp.proto
new file mode 100644
index 00000000..cb9c0fa3
--- /dev/null
+++ b/proto/RestartEffigyChallengeRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message RestartEffigyChallengeRsp {
+ //enum LCMIGACEOJK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2077;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 14;
+}
diff --git a/proto/ResumeRogueDiaryDungeonReq.proto b/proto/ResumeRogueDiaryDungeonReq.proto
new file mode 100644
index 00000000..9ff107d9
--- /dev/null
+++ b/proto/ResumeRogueDiaryDungeonReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ResumeRogueDiaryDungeonReq {
+ //enum OGMPHLKCCBD {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8406;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 stageId = 11;
+}
diff --git a/proto/ResumeRogueDiaryDungeonRsp.proto b/proto/ResumeRogueDiaryDungeonRsp.proto
new file mode 100644
index 00000000..a0e3da1d
--- /dev/null
+++ b/proto/ResumeRogueDiaryDungeonRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ResumeRogueDiaryDungeonRsp {
+ //enum CICFHMEPACN {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8382;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 5;
+}
diff --git a/proto/Retcode.proto b/proto/Retcode.proto
deleted file mode 100644
index e5586dd5..00000000
--- a/proto/Retcode.proto
+++ /dev/null
@@ -1,1219 +0,0 @@
-// Proto has been converted from Sorapointa to Grasscutter format
-// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
-// Copyright (C) 2022 Sorapointa Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
-syntax = "proto3";
-
-option java_package = "emu.grasscutter.net.proto";
-
-enum Retcode {
- RET_SUCC = 0;
- RET_FAIL = -1;
- RET_SVR_ERROR = 1;
- RET_UNKNOWN_ERROR = 2;
- RET_FREQUENT = 3;
- RET_NODE_FORWARD_ERROR = 4;
- RET_NOT_FOUND_CONFIG = 5;
- RET_SYSTEM_BUSY = 6;
- RET_GM_UID_BIND = 7;
- RET_FORBIDDEN = 8;
- RET_STOP_REGISTER = 10;
- RET_STOP_SERVER = 11;
- RET_ACCOUNT_VEIRFY_ERROR = 12;
- RET_ACCOUNT_FREEZE = 13;
- RET_REPEAT_LOGIN = 14;
- RET_CLIENT_VERSION_ERROR = 15;
- RET_TOKEN_ERROR = 16;
- RET_ACCOUNT_NOT_EXIST = 17;
- RET_WAIT_OTHER_LOGIN = 18;
- RET_ANOTHER_LOGIN = 19;
- RET_CLIENT_FORCE_UPDATE = 20;
- RET_BLACK_UID = 21;
- RET_LOGIN_DB_FAIL = 22;
- RET_LOGIN_INIT_FAIL = 23;
- RET_MYSQL_DUPLICATE = 24;
- RET_MAX_PLAYER = 25;
- RET_ANTI_ADDICT = 26;
- RET_PS_PLAYER_WITHOUT_ONLINE_ID = 27;
- RET_ONLINE_ID_NOT_FOUND = 28;
- RET_ONLNE_ID_NOT_MATCH = 29;
- RET_REGISTER_IS_FULL = 30;
- RET_CHECKSUM_INVALID = 31;
- RET_BLACK_REGISTER_IP = 32;
- RET_EXCEED_REGISTER_RATE = 33;
- RET_UNKNOWN_PLATFORM = 34;
- RET_TOKEN_PARAM_ERROR = 35;
- RET_ANTI_OFFLINE_ERROR = 36;
- RET_BLACK_LOGIN_IP = 37;
- RET_GET_TOKEN_SESSION_HAS_UID = 38;
- RET_ENVIRONMENT_ERROR = 39;
- RET_CHECK_CLIENT_VERSION_HASH_FAIL = 40;
- RET_MINOR_REGISTER_FOBIDDEN = 41;
- RET_SECURITY_LIBRARY_ERROR = 42;
- RET_AVATAR_IN_CD = 101;
- RET_AVATAR_NOT_ALIVE = 102;
- RET_AVATAR_NOT_ON_SCENE = 103;
- RET_CAN_NOT_FIND_AVATAR = 104;
- RET_CAN_NOT_DEL_CUR_AVATAR = 105;
- RET_DUPLICATE_AVATAR = 106;
- RET_AVATAR_IS_SAME_ONE = 107;
- RET_AVATAR_LEVEL_LESS_THAN = 108;
- RET_AVATAR_CAN_NOT_CHANGE_ELEMENT = 109;
- RET_AVATAR_BREAK_LEVEL_LESS_THAN = 110;
- RET_AVATAR_ON_MAX_BREAK_LEVEL = 111;
- RET_AVATAR_ID_ALREADY_EXIST = 112;
- RET_AVATAR_NOT_DEAD = 113;
- RET_AVATAR_IS_REVIVING = 114;
- RET_AVATAR_ID_ERROR = 115;
- RET_REPEAT_SET_PLAYER_BORN_DATA = 116;
- RET_PLAYER_LEVEL_LESS_THAN = 117;
- RET_AVATAR_LIMIT_LEVEL_ERROR = 118;
- RET_CUR_AVATAR_NOT_ALIVE = 119;
- RET_CAN_NOT_FIND_TEAM = 120;
- RET_CAN_NOT_FIND_CUR_TEAM = 121;
- RET_AVATAR_NOT_EXIST_IN_TEAM = 122;
- RET_CAN_NOT_REMOVE_CUR_AVATAR_FROM_TEAM = 123;
- RET_CAN_NOT_USE_REVIVE_ITEM_FOR_CUR_AVATAR = 124;
- RET_TEAM_COST_EXCEED_LIMIT = 125;
- RET_TEAM_AVATAR_IN_EXPEDITION = 126;
- RET_TEAM_CAN_NOT_CHOSE_REPLACE_USE = 127;
- RET_AVATAR_IN_COMBAT = 128;
- RET_NICKNAME_UTF8_ERROR = 130;
- RET_NICKNAME_TOO_LONG = 131;
- RET_NICKNAME_WORD_ILLEGAL = 132;
- RET_NICKNAME_TOO_MANY_DIGITS = 133;
- RET_NICKNAME_IS_EMPTY = 134;
- RET_NICKNAME_MONTHLY_LIMIT = 135;
- RET_NICKNAME_NOT_CHANGED = 136;
- RET_PLAYER_NOT_ONLINE = 140;
- RET_OPEN_STATE_NOT_OPEN = 141;
- RET_FEATURE_CLOSED = 142;
- RET_AVATAR_EXPEDITION_AVATAR_DIE = 152;
- RET_AVATAR_EXPEDITION_COUNT_LIMIT = 153;
- RET_AVATAR_EXPEDITION_MAIN_FORBID = 154;
- RET_AVATAR_EXPEDITION_TRIAL_FORBID = 155;
- RET_TEAM_NAME_ILLEGAL = 156;
- RET_IS_NOT_IN_STANDBY = 157;
- RET_IS_IN_DUNGEON = 158;
- RET_IS_IN_LOCK_AVATAR_QUEST = 159;
- RET_IS_USING_TRIAL_AVATAR = 160;
- RET_IS_USING_TEMP_AVATAR = 161;
- RET_NOT_HAS_FLYCLOAK = 162;
- RET_FETTER_REWARD_ALREADY_GOT = 163;
- RET_FETTER_REWARD_LEVEL_NOT_ENOUGH = 164;
- RET_WORLD_LEVEL_ADJUST_MIN_LEVEL = 165;
- RET_WORLD_LEVEL_ADJUST_CD = 166;
- RET_NOT_HAS_COSTUME = 167;
- RET_COSTUME_AVATAR_ERROR = 168;
- RET_FLYCLOAK_PLATFORM_TYPE_ERR = 169;
- RET_IN_TRANSFER = 170;
- RET_IS_IN_LOCK_AVATAR = 171;
- RET_FULL_BACKUP_TEAM = 172;
- RET_BACKUP_TEAM_ID_NOT_VALID = 173;
- RET_BACKUP_TEAM_IS_CUR_TEAM = 174;
- RET_AVATAR_RENAME_IN_CD = 175;
- RET_AVATAR_RENAME_IN_AUDIT = 176;
- RET_AVATAR_RENAME_IN_IP_BLACK_LIST = 177;
- RET_FLOAT_ERROR = 201;
- RET_NPC_NOT_EXIST = 301;
- RET_NPC_TOO_FAR = 302;
- RET_NOT_CURRENT_TALK = 303;
- RET_NPC_CREATE_FAIL = 304;
- RET_NPC_MOVE_FAIL = 305;
- RET_QUEST_NOT_EXIST = 401;
- RET_QUEST_IS_FAIL = 402;
- RET_QUEST_CONTENT_ERROR = 403;
- RET_BARGAIN_NOT_ACTIVATED = 404;
- RET_BARGAIN_FINISHED = 405;
- RET_INFERENCE_ASSOCIATE_WORD_ERROR = 406;
- RET_INFERENCE_SUBMIT_WORD_NO_CONCLUSION = 407;
- RET_POINT_NOT_UNLOCKED = 501;
- RET_POINT_TOO_FAR = 502;
- RET_POINT_ALREAY_UNLOCKED = 503;
- RET_ENTITY_NOT_EXIST = 504;
- RET_ENTER_SCENE_FAIL = 505;
- RET_PLAYER_IS_ENTER_SCENE = 506;
- RET_CITY_MAX_LEVEL = 507;
- RET_AREA_LOCKED = 508;
- RET_JOIN_OTHER_WAIT = 509;
- RET_WEATHER_AREA_NOT_FOUND = 510;
- RET_WEATHER_IS_LOCKED = 511;
- RET_NOT_IN_SELF_SCENE = 512;
- RET_GROUP_NOT_EXIST = 513;
- RET_MARK_NAME_ILLEGAL = 514;
- RET_MARK_ALREADY_EXISTS = 515;
- RET_MARK_OVERFLOW = 516;
- RET_MARK_NOT_EXISTS = 517;
- RET_MARK_UNKNOWN_TYPE = 518;
- RET_MARK_NAME_TOO_LONG = 519;
- RET_DISTANCE_LONG = 520;
- RET_ENTER_SCENE_TOKEN_INVALID = 521;
- RET_NOT_IN_WORLD_SCENE = 522;
- RET_ANY_GALLERY_STARTED = 523;
- RET_GALLERY_NOT_START = 524;
- RET_GALLERY_INTERRUPT_ONLY_ON_SINGLE_MODE = 525;
- RET_GALLERY_CANNOT_INTERRUPT = 526;
- RET_GALLERY_WORLD_NOT_MEET = 527;
- RET_GALLERY_SCENE_NOT_MEET = 528;
- RET_CUR_PLAY_CANNOT_TRANSFER = 529;
- RET_CANT_USE_WIDGET_IN_HOME_SCENE = 530;
- RET_SCENE_GROUP_NOT_MATCH = 531;
- RET_POS_ROT_INVALID = 551;
- RET_MARK_INVALID_SCENE_ID = 552;
- RET_INVALID_SCENE_TO_USE_ANCHOR_POINT = 553;
- RET_ENTER_HOME_SCENE_FAIL = 554;
- RET_CUR_SCENE_IS_NULL = 555;
- RET_GROUP_ID_ERROR = 556;
- RET_GALLERY_INTERRUPT_NOT_OWNER = 557;
- RET_NO_SPRING_IN_AREA = 558;
- RET_AREA_NOT_IN_SCENE = 559;
- RET_INVALID_CITY_ID = 560;
- RET_INVALID_SCENE_ID = 561;
- RET_DEST_SCENE_IS_NOT_ALLOW = 562;
- RET_LEVEL_TAG_SWITCH_IN_CD = 563;
- RET_LEVEL_TAG_ALREADY_EXIST = 564;
- RET_INVALID_AREA_ID = 565;
- RET_ITEM_NOT_EXIST = 601;
- RET_PACK_EXCEED_MAX_WEIGHT = 602;
- RET_ITEM_NOT_DROPABLE = 603;
- RET_ITEM_NOT_USABLE = 604;
- RET_ITEM_INVALID_USE_COUNT = 605;
- RET_ITEM_INVALID_DROP_COUNT = 606;
- RET_ITEM_ALREADY_EXIST = 607;
- RET_ITEM_IN_COOLDOWN = 608;
- RET_ITEM_COUNT_NOT_ENOUGH = 609;
- RET_ITEM_INVALID_TARGET = 610;
- RET_RECIPE_NOT_EXIST = 611;
- RET_RECIPE_LOCKED = 612;
- RET_RECIPE_UNLOCKED = 613;
- RET_COMPOUND_QUEUE_FULL = 614;
- RET_COMPOUND_NOT_FINISH = 615;
- RET_MAIL_ITEM_NOT_GET = 616;
- RET_ITEM_EXCEED_LIMIT = 617;
- RET_AVATAR_CAN_NOT_USE = 618;
- RET_ITEM_NEED_PLAYER_LEVEL = 619;
- RET_RECIPE_NOT_AUTO_QTE = 620;
- RET_COMPOUND_BUSY_QUEUE = 621;
- RET_NEED_MORE_SCOIN = 622;
- RET_SKILL_DEPOT_NOT_FOUND = 623;
- RET_HCOIN_NOT_ENOUGH = 624;
- RET_SCOIN_NOT_ENOUGH = 625;
- RET_HCOIN_EXCEED_LIMIT = 626;
- RET_SCOIN_EXCEED_LIMIT = 627;
- RET_MAIL_EXPIRED = 628;
- RET_REWARD_HAS_TAKEN = 629;
- RET_COMBINE_COUNT_TOO_LARGE = 630;
- RET_GIVING_ITEM_WRONG = 631;
- RET_GIVING_IS_FINISHED = 632;
- RET_GIVING_NOT_ACTIVED = 633;
- RET_FORGE_QUEUE_FULL = 634;
- RET_FORGE_QUEUE_CAPACITY = 635;
- RET_FORGE_QUEUE_NOT_FOUND = 636;
- RET_FORGE_QUEUE_EMPTY = 637;
- RET_NOT_SUPPORT_ITEM = 638;
- RET_ITEM_EMPTY = 639;
- RET_VIRTUAL_EXCEED_LIMIT = 640;
- RET_MATERIAL_EXCEED_LIMIT = 641;
- RET_EQUIP_EXCEED_LIMIT = 642;
- RET_ITEM_SHOULD_HAVE_NO_LEVEL = 643;
- RET_WEAPON_PROMOTE_LEVEL_EXCEED_LIMIT = 644;
- RET_WEAPON_LEVEL_INVALID = 645;
- RET_UNKNOW_ITEM_TYPE = 646;
- RET_ITEM_COUNT_IS_ZERO = 647;
- RET_ITEM_IS_EXPIRED = 648;
- RET_ITEM_EXCEED_OUTPUT_LIMIT = 649;
- RET_EQUIP_LEVEL_HIGHER = 650;
- RET_EQUIP_CAN_NOT_WAKE_OFF_WEAPON = 651;
- RET_EQUIP_HAS_BEEN_WEARED = 652;
- RET_EQUIP_WEARED_CANNOT_DROP = 653;
- RET_AWAKEN_LEVEL_MAX = 654;
- RET_MCOIN_NOT_ENOUGH = 655;
- RET_MCOIN_EXCEED_LIMIT = 656;
- RET_RESIN_NOT_ENOUGH = 660;
- RET_RESIN_EXCEED_LIMIT = 661;
- RET_RESIN_OPENSTATE_OFF = 662;
- RET_RESIN_BOUGHT_COUNT_EXCEEDED = 663;
- RET_RESIN_CARD_DAILY_REWARD_HAS_TAKEN = 664;
- RET_RESIN_CARD_EXPIRED = 665;
- RET_AVATAR_CAN_NOT_COOK = 666;
- RET_ATTACH_AVATAR_CD = 667;
- RET_AUTO_RECOVER_OPENSTATE_OFF = 668;
- RET_AUTO_RECOVER_BOUGHT_COUNT_EXCEEDED = 669;
- RET_RESIN_GAIN_FAILED = 670;
- RET_WIDGET_ORNAMENTS_TYPE_ERROR = 671;
- RET_ALL_TARGET_SATIATION_FULL = 672;
- RET_FORGE_WORLD_LEVEL_NOT_MATCH = 673;
- RET_FORGE_POINT_NOT_ENOUGH = 674;
- RET_WIDGET_ANCHOR_POINT_FULL = 675;
- RET_WIDGET_ANCHOR_POINT_NOT_FOUND = 676;
- RET_ALL_BONFIRE_EXCEED_MAX_COUNT = 677;
- RET_BONFIRE_EXCEED_MAX_COUNT = 678;
- RET_LUNCH_BOX_DATA_ERROR = 679;
- RET_INVALID_QUICK_USE_WIDGET = 680;
- RET_INVALID_REPLACE_RESIN_COUNT = 681;
- RET_PREV_DETECTED_GATHER_NOT_FOUND = 682;
- RET_GOT_ALL_ONEOFF_GAHTER = 683;
- RET_INVALID_WIDGET_MATERIAL_ID = 684;
- RET_WIDGET_DETECTOR_NO_HINT_TO_CLEAR = 685;
- RET_WIDGET_ALREADY_WITHIN_NEARBY_RADIUS = 686;
- RET_WIDGET_CLIENT_COLLECTOR_NEED_POINTS = 687;
- RET_WIDGET_IN_COMBAT = 688;
- RET_WIDGET_NOT_SET_QUICK_USE = 689;
- RET_ALREADY_ATTACH_WIDGET = 690;
- RET_EQUIP_IS_LOCKED = 691;
- RET_FORGE_IS_LOCKED = 692;
- RET_COMBINE_IS_LOCKED = 693;
- RET_FORGE_OUTPUT_STACK_LIMIT = 694;
- RET_ALREADY_DETTACH_WIDGET = 695;
- RET_GADGET_BUILDER_EXCEED_MAX_COUNT = 696;
- RET_REUNION_PRIVILEGE_RESIN_TYPE_IS_NORMAL = 697;
- RET_BONUS_COUNT_EXCEED_DOUBLE_LIMIT = 698;
- RET_RELIQUARY_DECOMPOSE_PARAM_ERROR = 699;
- RET_ITEM_COMBINE_COUNT_NOT_ENOUGH = 700;
- RET_GOODS_NOT_EXIST = 701;
- RET_GOODS_MATERIAL_NOT_ENOUGH = 702;
- RET_GOODS_NOT_IN_TIME = 703;
- RET_GOODS_BUY_NUM_NOT_ENOUGH = 704;
- RET_GOODS_BUY_NUM_ERROR = 705;
- RET_SHOP_NOT_OPEN = 706;
- RET_SHOP_CONTENT_NOT_MATCH = 707;
- RET_SHOP_BATCH_BUY_SHOP_LIMIT = 708;
- RET_SHOP_BATCH_BUY_COUNT_LIMIT = 709;
- RET_CHAT_FORBIDDEN = 798;
- RET_CHAT_CD = 799;
- RET_CHAT_FREQUENTLY = 800;
- RET_GADGET_NOT_EXIST = 801;
- RET_GADGET_NOT_INTERACTIVE = 802;
- RET_GADGET_NOT_GATHERABLE = 803;
- RET_CHEST_IS_LOCKED = 804;
- RET_GADGET_CREATE_FAIL = 805;
- RET_WORKTOP_OPTION_NOT_EXIST = 806;
- RET_GADGET_STATUE_NOT_ACTIVE = 807;
- RET_GADGET_STATUE_OPENED = 808;
- RET_BOSS_CHEST_NO_QUALIFICATION = 809;
- RET_BOSS_CHEST_LIFE_TIME_OVER = 810;
- RET_BOSS_CHEST_WEEK_NUM_LIMIT = 811;
- RET_BOSS_CHEST_GUEST_WORLD_LEVEL = 812;
- RET_BOSS_CHEST_HAS_TAKEN = 813;
- RET_BLOSSOM_CHEST_NO_QUALIFICATION = 814;
- RET_BLOSSOM_CHEST_LIFE_TIME_OVER = 815;
- RET_BLOSSOM_CHEST_HAS_TAKEN = 816;
- RET_BLOSSOM_CHEST_GUEST_WORLD_LEVEL = 817;
- RET_MP_PLAY_REWARD_NO_QUALIFICATION = 818;
- RET_MP_PLAY_REWARD_HAS_TAKEN = 819;
- RET_GENERAL_REWARD_NO_QUALIFICATION = 820;
- RET_GENERAL_REWARD_LIFE_TIME_OVER = 821;
- RET_GENERAL_REWARD_HAS_TAKEN = 822;
- RET_GADGET_NOT_VEHICLE = 823;
- RET_VEHICLE_SLOT_OCCUPIED = 824;
- RET_NOT_IN_VEHICLE = 825;
- RET_CREATE_VEHICLE_IN_CD = 826;
- RET_CREATE_VEHICLE_POS_INVALID = 827;
- RET_VEHICLE_POINT_NOT_UNLOCK = 828;
- RET_GADGET_INTERACT_COND_NOT_MEET = 829;
- RET_GADGET_INTERACT_PARAM_ERROR = 830;
- RET_GADGET_CUSTOM_COMBINATION_INVALID = 831;
- RET_DESHRET_OBELISK_DUPLICATE_INTERACT = 832;
- RET_DESHRET_OBELISK_NO_AVAIL_CHEST = 833;
- RET_ACTIVITY_CLOSE = 860;
- RET_ACTIVITY_ITEM_ERROR = 861;
- RET_ACTIVITY_CONTRIBUTION_NOT_ENOUGH = 862;
- RET_SEA_LAMP_PHASE_NOT_FINISH = 863;
- RET_SEA_LAMP_FLY_NUM_LIMIT = 864;
- RET_SEA_LAMP_FLY_LAMP_WORD_ILLEGAL = 865;
- RET_ACTIVITY_WATCHER_REWARD_TAKEN = 866;
- RET_ACTIVITY_WATCHER_REWARD_NOT_FINISHED = 867;
- RET_SALESMAN_ALREADY_DELIVERED = 868;
- RET_SALESMAN_REWARD_COUNT_NOT_ENOUGH = 869;
- RET_SALESMAN_POSITION_INVALID = 870;
- RET_DELIVER_NOT_FINISH_ALL_QUEST = 871;
- RET_DELIVER_ALREADY_TAKE_DAILY_REWARD = 872;
- RET_ASTER_PROGRESS_EXCEED_LIMIT = 873;
- RET_ASTER_CREDIT_EXCEED_LIMIT = 874;
- RET_ASTER_TOKEN_EXCEED_LIMIT = 875;
- RET_ASTER_CREDIT_NOT_ENOUGH = 876;
- RET_ASTER_TOKEN_NOT_ENOUGH = 877;
- RET_ASTER_SPECIAL_REWARD_HAS_TAKEN = 878;
- RET_FLIGHT_GROUP_ACTIVITY_NOT_STARTED = 879;
- RET_ASTER_MID_PREVIOUS_BATTLE_NOT_FINISHED = 880;
- RET_DRAGON_SPINE_SHIMMERING_ESSENCE_EXCEED_LIMIT = 881;
- RET_DRAGON_SPINE_WARM_ESSENCE_EXCEED_LIMIT = 882;
- RET_DRAGON_SPINE_WONDROUS_ESSENCE_EXCEED_LIMIT = 883;
- RET_DRAGON_SPINE_SHIMMERING_ESSENCE_NOT_ENOUGH = 884;
- RET_DRAGON_SPINE_WARM_ESSENCE_NOT_ENOUGH = 885;
- RET_DRAGON_SPINE_WONDROUS_ESSENCE_NOT_ENOUGH = 886;
- RET_EFFIGY_FIRST_PASS_REWARD_HAS_TAKEN = 891;
- RET_EFFIGY_REWARD_HAS_TAKEN = 892;
- RET_TREASURE_MAP_ADD_TOKEN_EXCEED_LIMIT = 893;
- RET_TREASURE_MAP_TOKEN_NOT_ENOUGHT = 894;
- RET_SEA_LAMP_COIN_EXCEED_LIMIT = 895;
- RET_SEA_LAMP_COIN_NOT_ENOUGH = 896;
- RET_SEA_LAMP_POPULARITY_EXCEED_LIMIT = 897;
- RET_ACTIVITY_AVATAR_REWARD_NOT_OPEN = 898;
- RET_ACTIVITY_AVATAR_REWARD_HAS_TAKEN = 899;
- RET_ARENA_ACTIVITY_ALREADY_STARTED = 900;
- RET_TALENT_ALREAY_UNLOCKED = 901;
- RET_PREV_TALENT_NOT_UNLOCKED = 902;
- RET_BIG_TALENT_POINT_NOT_ENOUGH = 903;
- RET_SMALL_TALENT_POINT_NOT_ENOUGH = 904;
- RET_PROUD_SKILL_ALREADY_GOT = 905;
- RET_PREV_PROUD_SKILL_NOT_GET = 906;
- RET_PROUD_SKILL_MAX_LEVEL = 907;
- RET_CANDIDATE_SKILL_DEPOT_ID_NOT_FIND = 910;
- RET_SKILL_DEPOT_IS_THE_SAME = 911;
- RET_MONSTER_NOT_EXIST = 1001;
- RET_MONSTER_CREATE_FAIL = 1002;
- RET_DUNGEON_ENTER_FAIL = 1101;
- RET_DUNGEON_QUIT_FAIL = 1102;
- RET_DUNGEON_ENTER_EXCEED_DAY_COUNT = 1103;
- RET_DUNGEON_REVIVE_EXCEED_MAX_COUNT = 1104;
- RET_DUNGEON_REVIVE_FAIL = 1105;
- RET_DUNGEON_NOT_SUCCEED = 1106;
- RET_DUNGEON_CAN_NOT_CANCEL = 1107;
- RET_DEST_DUNGEON_SETTLED = 1108;
- RET_DUNGEON_CANDIDATE_TEAM_IS_FULL = 1109;
- RET_DUNGEON_CANDIDATE_TEAM_IS_DISMISS = 1110;
- RET_DUNGEON_CANDIDATE_TEAM_NOT_ALL_READY = 1111;
- RET_DUNGEON_CANDIDATE_TEAM_HAS_REPEAT_AVATAR = 1112;
- RET_DUNGEON_CANDIDATE_NOT_SINGEL_PASS = 1113;
- RET_DUNGEON_REPLAY_NEED_ALL_PLAYER_DIE = 1114;
- RET_DUNGEON_REPLAY_HAS_REVIVE_COUNT = 1115;
- RET_DUNGEON_OTHERS_LEAVE = 1116;
- RET_DUNGEON_ENTER_LEVEL_LIMIT = 1117;
- RET_DUNGEON_CANNOT_ENTER_PLOT_IN_MP = 1118;
- RET_DUNGEON_DROP_SUBFIELD_LIMIT = 1119;
- RET_DUNGEON_BE_INVITE_PLAYER_AVATAR_ALL_DIE = 1120;
- RET_DUNGEON_CANNOT_KICK = 1121;
- RET_DUNGEON_CANDIDATE_TEAM_SOMEONE_LEVEL_LIMIT = 1122;
- RET_DUNGEON_IN_FORCE_QUIT = 1123;
- RET_DUNGEON_GUEST_QUIT_DUNGEON = 1124;
- RET_DUNGEON_TICKET_FAIL = 1125;
- RET_CUR_DUNGEON_SETTLED = 1126;
- RET_MP_NOT_IN_MY_WORLD = 1201;
- RET_MP_IN_MP_MODE = 1202;
- RET_MP_SCENE_IS_FULL = 1203;
- RET_MP_MODE_NOT_AVAILABLE = 1204;
- RET_MP_PLAYER_NOT_ENTERABLE = 1205;
- RET_MP_QUEST_BLOCK_MP = 1206;
- RET_MP_IN_ROOM_SCENE = 1207;
- RET_MP_WORLD_IS_FULL = 1208;
- RET_MP_PLAYER_NOT_ALLOW_ENTER = 1209;
- RET_MP_PLAYER_DISCONNECTED = 1210;
- RET_MP_NOT_IN_MP_MODE = 1211;
- RET_MP_OWNER_NOT_ENTER = 1212;
- RET_MP_ALLOW_ENTER_PLAYER_FULL = 1213;
- RET_MP_TARGET_PLAYER_IN_TRANSFER = 1214;
- RET_MP_TARGET_ENTERING_OTHER = 1215;
- RET_MP_OTHER_ENTERING = 1216;
- RET_MP_ENTER_MAIN_PLAYER_IN_PLOT = 1217;
- RET_MP_NOT_PS_PLAYER = 1218;
- RET_MP_PLAY_NOT_ACTIVE = 1219;
- RET_MP_PLAY_REMAIN_REWARDS = 1220;
- RET_MP_PLAY_NO_REWARD = 1221;
- RET_MP_OPEN_STATE_FAIL = 1223;
- RET_MP_PLAYER_IN_BLACKLIST = 1224;
- RET_MP_REPLY_TIMEOUT = 1225;
- RET_MP_IS_BLOCK = 1226;
- RET_MP_ENTER_MAIN_PLAYER_IN_MP_PLAY = 1227;
- RET_MP_IN_MP_PLAY_BATTLE = 1228;
- RET_MP_GUEST_HAS_REWARD_REMAINED = 1229;
- RET_MP_QUIT_MP_INVALID = 1230;
- RET_MP_OTHER_DATA_VERSION_NOT_LATEST = 1231;
- RET_MP_DATA_VERSION_NOT_LATEST = 1232;
- RET_MP_CUR_WORLD_NOT_ENTERABLE = 1233;
- RET_MP_ANY_GALLERY_STARTED = 1234;
- RET_MP_HAS_ACTIVE_DRAFT = 1235;
- RET_MP_PLAYER_IN_DUNGEON = 1236;
- RET_MP_MATCH_FULL = 1237;
- RET_MP_MATCH_LIMIT = 1238;
- RET_MP_MATCH_IN_PUNISH = 1239;
- RET_MP_IS_IN_MULTISTAGE = 1240;
- RET_MP_MATCH_PLAY_NOT_OPEN = 1241;
- RET_MP_ONLY_MP_WITH_PS_PLAYER = 1242;
- RET_MP_GUEST_LOADING_FIRST_ENTER = 1243;
- RET_MP_SUMMER_TIME_SPRINT_BOAT_ONGOING = 1244;
- RET_MP_BLITZ_RUSH_PARKOUR_CHALLENGE_ONGOING = 1245;
- RET_MP_MUSIC_GAME_ONGOING = 1246;
- RET_MP_IN_MPING_MODE = 1247;
- RET_MP_OWNER_IN_SINGLE_SCENE = 1248;
- RET_MP_IN_SINGLE_SCENE = 1249;
- RET_MP_REPLY_NO_VALID_AVATAR = 1250;
- RET_MP_IS_NOT_IN_TRANSFER_GUARD = 1251;
- RET_MAIL_PARA_ERR = 1301;
- RET_MAIL_MAX_NUM = 1302;
- RET_MAIL_ITEM_NUM_EXCEED = 1303;
- RET_MAIL_TITLE_LEN_EXCEED = 1304;
- RET_MAIL_CONTENT_LEN_EXCEED = 1305;
- RET_MAIL_SENDER_LEN_EXCEED = 1306;
- RET_MAIL_PARSE_PACKET_FAIL = 1307;
- RET_OFFLINE_MSG_MAX_NUM = 1308;
- RET_OFFLINE_MSG_SAME_TICKET = 1309;
- RET_MAIL_EXCEL_MAIL_TYPE_ERROR = 1310;
- RET_MAIL_CANNOT_SEND_MCOIN = 1311;
- RET_MAIL_HCOIN_EXCEED_LIMIT = 1312;
- RET_MAIL_SCOIN_EXCEED_LIMIT = 1313;
- RET_MAIL_MATERIAL_ID_INVALID = 1314;
- RET_MAIL_AVATAR_EXCEED_LIMIT = 1315;
- RET_MAIL_GACHA_TICKET_ETC_EXCEED_LIMIT = 1316;
- RET_MAIL_ITEM_EXCEED_CEHUA_LIMIT = 1317;
- RET_MAIL_SPACE_OR_REST_NUM_NOT_ENOUGH = 1318;
- RET_MAIL_TICKET_IS_EMPTY = 1319;
- RET_MAIL_TRANSACTION_IS_EMPTY = 1320;
- RET_MAIL_DELETE_COLLECTED = 1321;
- RET_DAILY_TASK_NOT_FINISH = 1330;
- RET_DAILY_TAKS_HAS_TAKEN = 1331;
- RET_SOCIAL_OFFLINE_MSG_NUM_EXCEED = 1332;
- RET_DAILY_TASK_FILTER_CITY_NOT_OPEN = 1333;
- RET_GACHA_INAVAILABLE = 1401;
- RET_GACHA_RANDOM_NOT_MATCH = 1402;
- RET_GACHA_SCHEDULE_NOT_MATCH = 1403;
- RET_GACHA_INVALID_TIMES = 1404;
- RET_GACHA_COST_ITEM_NOT_ENOUGH = 1405;
- RET_GACHA_TIMES_LIMIT = 1406;
- RET_GACHA_WISH_SAME_ITEM = 1407;
- RET_GACHA_WISH_INVALID_ITEM = 1408;
- RET_GACHA_MINORS_TIMES_LIMIT = 1409;
- RET_GACHA_GENERAL_TIMES_LIMIT = 1410;
- RET_INVESTIGAITON_NOT_IN_PROGRESS = 1501;
- RET_INVESTIGAITON_UNCOMPLETE = 1502;
- RET_INVESTIGAITON_REWARD_TAKEN = 1503;
- RET_INVESTIGAITON_TARGET_STATE_ERROR = 1504;
- RET_PUSH_TIPS_NOT_FOUND = 1505;
- RET_SIGN_IN_RECORD_NOT_FOUND = 1506;
- RET_ALREADY_HAVE_SIGNED_IN = 1507;
- RET_SIGN_IN_COND_NOT_SATISFIED = 1508;
- RET_BONUS_ACTIVITY_NOT_UNREWARDED = 1509;
- RET_SIGN_IN_REWARDED = 1510;
- RET_TOWER_NOT_OPEN = 1521;
- RET_TOWER_HAVE_DAILY_RECORD = 1522;
- RET_TOWER_NOT_RECORD = 1523;
- RET_TOWER_HAVE_RECORD = 1524;
- RET_TOWER_TEAM_NUM_ERROR = 1525;
- RET_TOWER_FLOOR_NOT_OPEN = 1526;
- RET_TOWER_NO_FLOOR_STAR_RECORD = 1527;
- RET_ALREADY_HAS_TOWER_BUFF = 1528;
- RET_DUPLICATE_ENTER_LEVEL = 1529;
- RET_NOT_IN_TOWER_LEVEL = 1530;
- RET_IN_TOWER_LEVEL = 1531;
- RET_TOWER_PREV_FLOOR_NOT_FINISH = 1532;
- RET_TOWER_STAR_NOT_ENOUGH = 1533;
- RET_BATTLE_PASS_NO_SCHEDULE = 1541;
- RET_BATTLE_PASS_HAS_BUYED = 1542;
- RET_BATTLE_PASS_LEVEL_OVERFLOW = 1543;
- RET_BATTLE_PASS_PRODUCT_EXPIRED = 1544;
- RET_MATCH_HOST_QUIT = 1561;
- RET_MATCH_ALREADY_IN_MATCH = 1562;
- RET_MATCH_NOT_IN_MATCH = 1563;
- RET_MATCH_APPLYING_ENTER_MP = 1564;
- RET_MATCH_INCORRECT_SCENE = 1565;
- RET_WIDGET_TREASURE_SPOT_NOT_FOUND = 1581;
- RET_WIDGET_TREASURE_ENTITY_EXISTS = 1582;
- RET_WIDGET_TREASURE_SPOT_FAR_AWAY = 1583;
- RET_WIDGET_TREASURE_FINISHED_TODAY = 1584;
- RET_WIDGET_QUICK_USE_REQ_PARAM_ERROR = 1585;
- RET_WIDGET_CAMERA_SCAN_ID_ERROR = 1586;
- RET_WIDGET_NOT_ACTIVE = 1587;
- RET_WIDGET_FEATHER_NOT_ACTIVE = 1588;
- RET_WIDGET_FEATHER_GADGET_TOO_FAR_AWAY = 1589;
- RET_WIDGET_CAPTURE_ANIMAL_NOT_EXIST = 1590;
- RET_WIDGET_CAPTURE_ANIMAL_DROP_BAG_LIMIT = 1591;
- RET_WIDGET_CAPTURE_ANIMAL_CAN_NOT_CAPTURE = 1592;
- RET_WIDGET_SKY_CRYSTAL_ALL_COLLECTED = 1593;
- RET_WIDGET_SKY_CRYSTAL_HINT_ALREADY_EXIST = 1594;
- RET_WIDGET_SKY_CRYSTAL_NOT_FOUND = 1595;
- RET_WIDGET_SKY_CRYSTAL_NO_HINT_TO_CLEAR = 1596;
- RET_WIDGET_LIGHT_STONE_ENERGY_NOT_ENOUGH = 1597;
- RET_WIDGET_TOY_CRYSTAL_ENERGY_NOT_ENOUGH = 1598;
- RET_WIDGET_LIGHT_STONE_LEVEL_NOT_ENOUGH = 1599;
- RET_UID_NOT_EXIST = 2001;
- RET_PARSE_BIN_ERROR = 2002;
- RET_ACCOUNT_INFO_NOT_EXIST = 2003;
- RET_ORDER_INFO_NOT_EXIST = 2004;
- RET_SNAPSHOT_INDEX_ERROR = 2005;
- RET_MAIL_HAS_BEEN_SENT = 2006;
- RET_PRODUCT_NOT_EXIST = 2007;
- RET_UNFINISH_ORDER = 2008;
- RET_ID_NOT_EXIST = 2009;
- RET_ORDER_TRADE_EARLY = 2010;
- RET_ORDER_FINISHED = 2011;
- RET_GAMESERVER_VERSION_WRONG = 2012;
- RET_OFFLINE_OP_FULL_LENGTH = 2013;
- RET_CONCERT_PRODUCT_OBTAIN_LIMIT = 2014;
- RET_CONCERT_PRODUCT_TICKET_DUPLICATED = 2015;
- RET_CONCERT_PRODUCT_TICKET_EMPTY = 2016;
- RET_REDIS_MODIFIED = 5001;
- RET_REDIS_UID_NOT_EXIST = 5002;
- RET_PATHFINDING_DATA_NOT_EXIST = 6001;
- RET_PATHFINDING_DESTINATION_NOT_EXIST = 6002;
- RET_PATHFINDING_ERROR_SCENE = 6003;
- RET_PATHFINDING_SCENE_DATA_LOADING = 6004;
- RET_FRIEND_COUNT_EXCEEDED = 7001;
- RET_PLAYER_NOT_EXIST = 7002;
- RET_ALREADY_SENT_ADD_REQUEST = 7003;
- RET_ASK_FRIEND_LIST_FULL = 7004;
- RET_PLAYER_ALREADY_IS_FRIEND = 7005;
- RET_PLAYER_NOT_ASK_FRIEND = 7006;
- RET_TARGET_FRIEND_COUNT_EXCEED = 7007;
- RET_NOT_FRIEND = 7008;
- RET_BIRTHDAY_CANNOT_BE_SET_TWICE = 7009;
- RET_CANNOT_ADD_SELF_FRIEND = 7010;
- RET_SIGNATURE_ILLEGAL = 7011;
- RET_PS_PLAYER_CANNOT_ADD_FRIENDS = 7012;
- RET_PS_PLAYER_CANNOT_REMOVE_FRIENDS = 7013;
- RET_NAME_CARD_NOT_UNLOCKED = 7014;
- RET_ALREADY_IN_BLACKLIST = 7015;
- RET_PS_PALEYRS_CANNOT_ADD_BLACKLIST = 7016;
- RET_PLAYER_BLACKLIST_FULL = 7017;
- RET_PLAYER_NOT_IN_BLACKLIST = 7018;
- RET_BLACKLIST_PLAYER_CANNOT_ADD_FRIEND = 7019;
- RET_IN_TARGET_BLACKLIST = 7020;
- RET_CANNOT_ADD_TARGET_FRIEND = 7021;
- RET_BIRTHDAY_FORMAT_ERROR = 7022;
- RET_ONLINE_ID_NOT_EXISTS = 7023;
- RET_FIRST_SHARE_REWARD_HAS_TAKEN = 7024;
- RET_PS_PLAYER_CANNOT_REMOVE_BLACKLIST = 7025;
- RET_REPORT_CD = 7026;
- RET_REPORT_CONTENT_ILLEGAL = 7027;
- RET_REMARK_WORD_ILLEGAL = 7028;
- RET_REMARK_TOO_LONG = 7029;
- RET_REMARK_UTF8_ERROR = 7030;
- RET_REMARK_IS_EMPTY = 7031;
- RET_ASK_ADD_FRIEND_CD = 7032;
- RET_SHOW_AVATAR_INFO_NOT_EXIST = 7033;
- RET_PLAYER_NOT_SHOW_AVATAR = 7034;
- RET_SOCIAL_UPDATE_SHOW_LIST_REPEAT_ID = 7035;
- RET_PSN_ID_NOT_FOUND = 7036;
- RET_EMOJI_COLLECTION_NUM_EXCEED_LIMIT = 7037;
- RET_REMARK_EMPTY = 7038;
- RET_IN_TARGET_PSN_BLACKLIST = 7039;
- RET_SIGNATURE_NOT_CHANGED = 7040;
- RET_SIGNATURE_MONTHLY_LIMIT = 7041;
- RET_REQ_FRIEND_AVATAR_FREQUENTLY = 7042;
- RET_PSN_GET_PLAYER_SOCIAL_DETAIL_FAIL = 7043;
- RET_OFFERING_NOT_OPEN = 7081;
- RET_OFFERING_LEVEL_LIMIT = 7082;
- RET_OFFERING_LEVEL_NOT_REACH = 7083;
- RET_OFFERING_LEVEL_HAS_TAKEN = 7084;
- RET_CITY_REPUTATION_NOT_OPEN = 7101;
- RET_CITY_REPUTATION_LEVEL_TAKEN = 7102;
- RET_CITY_REPUTATION_LEVEL_NOT_REACH = 7103;
- RET_CITY_REPUTATION_PARENT_QUEST_TAKEN = 7104;
- RET_CITY_REPUTATION_PARENT_QUEST_UNFINISH = 7105;
- RET_CITY_REPUTATION_ACCEPT_REQUEST = 7106;
- RET_CITY_REPUTATION_NOT_ACCEPT_REQUEST = 7107;
- RET_CITY_REPUTATION_ACCEPT_REQUEST_LIMIT = 7108;
- RET_CITY_REPUTATION_ENTRANCE_NOT_OPEN = 7109;
- RET_CITY_REPUTATION_TAKEN_REQUEST_REWARD = 7110;
- RET_CITY_REPUTATION_SWITCH_CLOSE = 7111;
- RET_CITY_REPUTATION_ENTRACE_SWITCH_CLOSE = 7112;
- RET_CITY_REPUTATION_TAKEN_EXPLORE_REWARD = 7113;
- RET_CITY_REPUTATION_EXPLORE_NOT_REACH = 7114;
- RET_MECHANICUS_NOT_OPEN = 7120;
- RET_MECHANICUS_GEAR_UNLOCK = 7121;
- RET_MECHANICUS_GEAR_LOCK = 7122;
- RET_MECHANICUS_GEAR_LEVEL_LIMIT = 7123;
- RET_MECHANICUS_COIN_NOT_ENOUGH = 7124;
- RET_MECHANICUS_NO_SEQUENCE = 7125;
- RET_MECHANICUS_SEQUENCE_LIMIT_LEVEL = 7126;
- RET_MECHANICUS_SEQUENCE_LIMIT_OPEN = 7127;
- RET_MECHANICUS_DIFFICULT_NOT_SUPPORT = 7128;
- RET_MECHANICUS_TICKET_NOT_ENOUGH = 7129;
- RET_MECHANICUS_TEACH_NOT_FINISH = 7130;
- RET_MECHANICUS_TEACH_FINISHED = 7131;
- RET_MECHANICUS_PREV_DIFFICULT_LEVEL_BLOCK = 7132;
- RET_MECHANICUS_PLAYER_LIMIT = 7133;
- RET_MECHANICUS_PUNISH_TIME = 7134;
- RET_MECHANICUS_SWITCH_CLOSE = 7135;
- RET_MECHANICUS_BATTLE_NOT_IN_DUNGEON = 7150;
- RET_MECHANICUS_BATTLE_PLAY_NOT_FOUND = 7151;
- RET_MECHANICUS_BATTLE_DUPLICATE_PICK_CARD = 7152;
- RET_MECHANICUS_BATTLE_PLAYER_NOT_IN_PLAY = 7153;
- RET_MECHANICUS_BATTLE_CARD_NOT_AVAILABLE = 7154;
- RET_MECHANICUS_BATTLE_NOT_IN_CARD_STAGE = 7155;
- RET_MECHANICUS_BATTLE_CARD_IS_WAITING = 7156;
- RET_MECHANICUS_BATTLE_CARD_ALL_CONFIRMED = 7157;
- RET_MECHANICUS_BATTLE_CARD_ALREADY_CONFIRMED = 7158;
- RET_MECHANICUS_BATTLE_CARD_CONFIRMED_BY_OTHER = 7159;
- RET_MECHANICUS_BATTLE_CARD_NOT_ENOUGH_POINTS = 7160;
- RET_MECHANICUS_BATTLE_CARD_ALREADY_SKIPPED = 7161;
- RET_LEGENDARY_KEY_NOT_ENOUGH = 8001;
- RET_LEGENDARY_KEY_EXCEED_LIMIT = 8002;
- RET_DAILY_TASK_NOT_ENOUGH_TO_REDEEM = 8003;
- RET_PERSONAL_LINE_OPEN_STATE_OFF = 8004;
- RET_PERSONAL_LINE_LEVEL_NOT_ENOUGH = 8005;
- RET_PERSONAL_LINE_NOT_OPEN = 8006;
- RET_PERSONAL_LINE_PRE_QUEST_NOT_FINISH = 8007;
- RET_HUNTING_ALREADY_FINISH_OFFER_LIMIT = 8201;
- RET_HUNTING_HAS_UNFINISHED_OFFER = 8202;
- RET_HUNTING_FAILED_OFFER_NOT_CD_READY = 8203;
- RET_HUNTING_NOT_TAKE_OFFER = 8204;
- RET_HUNTING_CANNOT_TAKE_TWICE = 8205;
- RET_RPIVATE_CHAT_INVALID_CONTENT_TYPE = 8901;
- RET_PRIVATE_CHAT_TARGET_IS_NOT_FRIEND = 8902;
- RET_PRIVATE_CHAT_CONTENT_NOT_SUPPORTED = 8903;
- RET_PRIVATE_CHAT_CONTENT_TOO_LONG = 8904;
- RET_PRIVATE_CHAT_PULL_TOO_FAST = 8905;
- RET_PRIVATE_CHAT_REPEAT_READ = 8906;
- RET_PRIVATE_CHAT_READ_NOT_FRIEND = 8907;
- RET_REUNION_FINISHED = 9001;
- RET_REUNION_NOT_ACTIVATED = 9002;
- RET_REUNION_ALREADY_TAKE_FIRST_REWARD = 9003;
- RET_REUNION_SIGN_IN_REWARDED = 9004;
- RET_REUNION_WATCHER_REWARDED = 9005;
- RET_REUNION_WATCHER_NOT_FINISH = 9006;
- RET_REUNION_MISSION_REWARDED = 9007;
- RET_REUNION_MISSION_NOT_FINISH = 9008;
- RET_REUNION_WATCHER_REWARD_NOT_UNLOCKED = 9009;
- RET_BLESSING_CONTENT_CLOSED = 9101;
- RET_BLESSING_NOT_ACTIVE = 9102;
- RET_BLESSING_NOT_TODAY_ENTITY = 9103;
- RET_BLESSING_ENTITY_EXCEED_SCAN_NUM_LIMIT = 9104;
- RET_BLESSING_DAILY_SCAN_NUM_EXCEED_LIMIT = 9105;
- RET_BLESSING_REDEEM_REWARD_NUM_EXCEED_LIMIT = 9106;
- RET_BLESSING_REDEEM_PIC_NUM_NOT_ENOUGH = 9107;
- RET_BLESSING_PIC_NOT_ENOUGH = 9108;
- RET_BLESSING_PIC_HAS_RECEIVED = 9109;
- RET_BLESSING_TARGET_RECV_NUM_EXCEED = 9110;
- RET_FLEUR_FAIR_CREDIT_EXCEED_LIMIT = 9111;
- RET_FLEUR_FAIR_CREDIT_NOT_ENOUGH = 9112;
- RET_FLEUR_FAIR_TOKEN_EXCEED_LIMIT = 9113;
- RET_FLEUR_FAIR_TOKEN_NOT_ENOUGH = 9114;
- RET_FLEUR_FAIR_MINIGAME_NOT_OPEN = 9115;
- RET_FLEUR_FAIR_MUSIC_GAME_DIFFICULTY_NOT_UNLOCK = 9116;
- RET_FLEUR_FAIR_DUNGEON_LOCKED = 9117;
- RET_FLEUR_FAIR_DUNGEON_PUNISH_TIME = 9118;
- RET_FLEUR_FAIR_ONLY_OWNER_CAN_RESTART_MINIGAM = 9119;
- RET_WATER_SPIRIT_COIN_EXCEED_LIMIT = 9120;
- RET_WATER_SPIRIT_COIN_NOT_ENOUGH = 9121;
- RET_REGION_SEARCH_NO_SEARCH = 9122;
- RET_REGION_SEARCH_STATE_ERROR = 9123;
- RET_CHANNELLER_SLAB_LOOP_DUNGEON_STAGE_NOT_OPEN = 9130;
- RET_CHANNELLER_SLAB_LOOP_DUNGEON_NOT_OPEN = 9131;
- RET_CHANNELLER_SLAB_LOOP_DUNGEON_FIRST_PASS_REWARD_HAS_TAKEN = 9132;
- RET_CHANNELLER_SLAB_LOOP_DUNGEON_SCORE_REWARD_HAS_TAKEN = 9133;
- RET_CHANNELLER_SLAB_INVALID_ONE_OFF_DUNGEON = 9134;
- RET_CHANNELLER_SLAB_ONE_OFF_DUNGEON_DONE = 9135;
- RET_CHANNELLER_SLAB_ONE_OFF_DUNGEON_STAGE_NOT_OPEN = 9136;
- RET_CHANNELLER_SLAB_TOKEN_EXCEED_LIMIT = 9137;
- RET_CHANNELLER_SLAB_TOKEN_NOT_ENOUGH = 9138;
- RET_CHANNELLER_SLAB_PLAYER_NOT_IN_ONE_OFF_DUNGEON = 9139;
- RET_MIST_TRIAL_SELECT_CHARACTER_NUM_NOT_ENOUGH = 9150;
- RET_MIST_TRIAL_ALREADY_USING_TRIAL_AVATAR = 9151;
- RET_HIDE_AND_SEEK_PLAY_NOT_OPEN = 9160;
- RET_HIDE_AND_SEEK_PLAY_MAP_NOT_OPEN = 9161;
- RET_HIDE_AND_SEEK_PLAY_MAP_NOT_CHOSEN = 9162;
- RET_SUMMER_TIME_DRAFT_WOORD_EXCEED_LIMIT = 9170;
- RET_SUMMER_TIME_DRAFT_WOORD_NOT_ENOUGH = 9171;
- RET_SUMMER_TIME_MINI_HARPASTUM_EXCEED_LIMIT = 9172;
- RET_SUMMER_TIME_MINI_HARPASTUMNOT_ENOUGH = 9173;
- RET_BOUNCE_CONJURING_COIN_EXCEED_LIMIT = 9180;
- RET_BOUNCE_CONJURING_COIN_NOT_ENOUGH = 9181;
- RET_CHESS_TEACH_MAP_FINISHED = 9183;
- RET_CHESS_TEACH_MAP_UNFINISHED = 9184;
- RET_CHESS_COIN_EXCEED_LIMIT = 9185;
- RET_CHESS_COIN_NOT_ENOUGH = 9186;
- RET_CHESS_IN_PUNISH_TIME = 9187;
- RET_CHESS_PREV_MAP_UNFINISHED = 9188;
- RET_CHESS_MAP_LOCKED = 9189;
- RET_BLITZ_RUSH_NOT_OPEN = 9192;
- RET_BLITZ_RUSH_DUNGEON_NOT_OPEN = 9193;
- RET_BLITZ_RUSH_COIN_A_EXCEED_LIMIT = 9194;
- RET_BLITZ_RUSH_COIN_B_EXCEED_LIMIT = 9195;
- RET_BLITZ_RUSH_COIN_A_NOT_ENOUGH = 9196;
- RET_BLITZ_RUSH_COIN_B_NOT_ENOUGH = 9197;
- RET_MIRACLE_RING_VALUE_NOT_ENOUGH = 9201;
- RET_MIRACLE_RING_CD = 9202;
- RET_MIRACLE_RING_REWARD_NOT_TAKEN = 9203;
- RET_MIRACLE_RING_NOT_DELIVER = 9204;
- RET_MIRACLE_RING_DELIVER_EXCEED = 9205;
- RET_MIRACLE_RING_HAS_CREATED = 9206;
- RET_MIRACLE_RING_HAS_NOT_CREATED = 9207;
- RET_MIRACLE_RING_NOT_YOURS = 9208;
- RET_GADGET_FOUNDATION_UNAUTHORIZED = 9251;
- RET_GADGET_FOUNDATION_SCENE_NOT_FOUND = 9252;
- RET_GADGET_FOUNDATION_NOT_IN_INIT_STATE = 9253;
- RET_GADGET_FOUNDATION_BILDING_POINT_NOT_ENOUGHT = 9254;
- RET_GADGET_FOUNDATION_NOT_IN_BUILT_STATE = 9255;
- RET_GADGET_FOUNDATION_OP_NOT_SUPPORTED = 9256;
- RET_GADGET_FOUNDATION_REQ_PLAYER_NOT_IN_SCENE = 9257;
- RET_GADGET_FOUNDATION_LOCKED_BY_ANOTHER_PLAYER = 9258;
- RET_GADGET_FOUNDATION_NOT_LOCKED = 9259;
- RET_GADGET_FOUNDATION_DUPLICATE_LOCK = 9260;
- RET_GADGET_FOUNDATION_PLAYER_NOT_FOUND = 9261;
- RET_GADGET_FOUNDATION_PLAYER_GEAR_NOT_FOUND = 9262;
- RET_GADGET_FOUNDATION_ROTAION_DISABLED = 9263;
- RET_GADGET_FOUNDATION_REACH_DUNGEON_GEAR_LIMIT = 9264;
- RET_GADGET_FOUNDATION_REACH_SINGLE_GEAR_LIMIT = 9265;
- RET_GADGET_FOUNDATION_ROTATION_ON_GOING = 9266;
- RET_OP_ACTIVITY_BONUS_NOT_FOUND = 9301;
- RET_OP_ACTIVITY_NOT_OPEN = 9302;
- RET_MULTISTAGE_PLAY_PLAYER_NOT_IN_SCENE = 9501;
- RET_MULTISTAGE_PLAY_NOT_FOUND = 9502;
- RET_MULTISTAGE_PLAY_IN_OTHER_STAGE = 9503;
- RET_COOP_CHAPTER_NOT_OPEN = 9601;
- RET_COOP_COND_NOT_MEET = 9602;
- RET_COOP_POINT_LOCKED = 9603;
- RET_COOP_NOT_HAVE_PROGRESS = 9604;
- RET_COOP_REWARD_HAS_TAKEN = 9605;
- RET_DRAFT_HAS_ACTIVE_DRAFT = 9651;
- RET_DRAFT_NOT_IN_MY_WORLD = 9652;
- RET_DRAFT_NOT_SUPPORT_MP = 9653;
- RET_DRAFT_PLAYER_NOT_ENOUGH = 9654;
- RET_DRAFT_INCORRECT_SCENE = 9655;
- RET_DRAFT_OTHER_PLAYER_ENTERING = 9656;
- RET_DRAFT_GUEST_IS_TRANSFERRING = 9657;
- RET_DRAFT_GUEST_NOT_IN_DRAFT_SCENE = 9658;
- RET_DRAFT_INVITE_OVER_TIME = 9659;
- RET_DRAFT_TWICE_CONFIRM_OVER_TIMER = 9660;
- RET_DRAFT_GUEST_NOT_IN_WORLD_SCENE = 9661;
- RET_HOME_UNKOWN = 9701;
- RET_HOME_INVALID_CLIENT_PARAM = 9702;
- RET_HOME_TARGE_PLAYER_HAS_NO_HOME = 9703;
- RET_HOME_NOT_ONLINE = 9704;
- RET_HOME_PLAYER_FULL = 9705;
- RET_HOME_BLOCKED = 9706;
- RET_HOME_ALREADY_IN_TARGET_HOME_WORLD = 9707;
- RET_HOME_IN_EDIT_MODE = 9708;
- RET_HOME_NOT_IN_EDIT_MODE = 9709;
- RET_HOME_HAS_GUEST = 9710;
- RET_HOME_CANT_ENTER_BY_IN_EDIT_MODE = 9711;
- RET_HOME_CLIENT_PARAM_INVALID = 9712;
- RET_HOME_PLAYER_NOT_IN_HOME_WORLD = 9713;
- RET_HOME_PLAYER_NOT_IN_SELF_HOME_WORLD = 9714;
- RET_HOME_NOT_FOUND_IN_MEM = 9715;
- RET_HOME_PLAYER_IN_HOME_ROOM_SCENE = 9716;
- RET_HOME_HOME_REFUSE_GUEST_ENTER = 9717;
- RET_HOME_OWNER_REFUSE_TO_ENTER_HOME = 9718;
- RET_HOME_OWNER_OFFLINE = 9719;
- RET_HOME_FURNITURE_EXCEED_LIMIT = 9720;
- RET_HOME_FURNITURE_COUNT_NOT_ENOUGH = 9721;
- RET_HOME_IN_TRY_ENTER_PROCESS = 9722;
- RET_HOME_ALREADY_IN_TARGET_SCENE = 9723;
- RET_HOME_COIN_EXCEED_LIMIT = 9724;
- RET_HOME_COIN_NOT_ENOUGH = 9725;
- RET_HOME_MODULE_NOT_UNLOCKED = 9726;
- RET_HOME_CUR_MODULE_CLOSED = 9727;
- RET_HOME_FURNITURE_SUITE_NOT_UNLOCKED = 9728;
- RET_HOME_IN_MATCH = 9729;
- RET_HOME_IN_COMBAT = 9730;
- RET_HOME_EDIT_MODE_CD = 9731;
- RET_HOME_UPDATE_FURNITURE_CD = 9732;
- RET_HOME_BLOCK_FURNITURE_LIMIT = 9733;
- RET_HOME_NOT_SUPPORT = 9734;
- RET_HOME_STATE_NOT_OPEN = 9735;
- RET_HOME_TARGET_STATE_NOT_OPEN = 9736;
- RET_HOME_APPLY_ENTER_OTHER_HOME_FAIL = 9737;
- RET_HOME_SAVE_NO_MAIN_HOUSE = 9738;
- RET_HOME_IN_DUNGEON = 9739;
- RET_HOME_ANY_GALLERY_STARTED = 9740;
- RET_HOME_QUEST_BLOCK_HOME = 9741;
- RET_HOME_WAITING_PRIOR_CHECK = 9742;
- RET_HOME_PERSISTENT_CHECK_FAIL = 9743;
- RET_HOME_FIND_ONLINE_HOME_FAIL = 9744;
- RET_HOME_JOIN_SCENE_FAIL = 9745;
- RET_HOME_MAX_PLAYER = 9746;
- RET_HOME_IN_TRANSFER = 9747;
- RET_HOME_ANY_HOME_GALLERY_STARTED = 9748;
- RET_HOME_CAN_NOT_ENTER_IN_AUDIT = 9749;
- RET_FURNITURE_MAKE_INDEX_ERROR = 9750;
- RET_FURNITURE_MAKE_LOCKED = 9751;
- RET_FURNITURE_MAKE_CONFIG_ERROR = 9752;
- RET_FURNITURE_MAKE_SLOT_FULL = 9753;
- RET_FURNITURE_MAKE_ADD_FURNITURE_FAIL = 9754;
- RET_FURNITURE_MAKE_UNFINISH = 9755;
- RET_FURNITURE_MAKE_IS_FINISH = 9756;
- RET_FURNITURE_MAKE_NOT_IN_CORRECT_HOME = 9757;
- RET_FURNITURE_MAKE_NO_COUNT = 9758;
- RET_FURNITURE_MAKE_ACCELERATE_LIMIT = 9759;
- RET_FURNITURE_MAKE_NO_MAKE_DATA = 9760;
- RET_HOME_LIMITED_SHOP_CLOSE = 9761;
- RET_HOME_AVATAR_NOT_SHOW = 9762;
- RET_HOME_EVENT_COND_NOT_SATISFIED = 9763;
- RET_HOME_INVALID_ARRANGE_ANIMAL_PARAM = 9764;
- RET_HOME_INVALID_ARRANGE_NPC_PARAM = 9765;
- RET_HOME_INVALID_ARRANGE_SUITE_PARAM = 9766;
- RET_HOME_INVALID_ARRANGE_MAIN_HOUSE_PARAM = 9767;
- RET_HOME_AVATAR_STATE_NOT_OPEN = 9768;
- RET_HOME_PLANT_FIELD_NOT_EMPTY = 9769;
- RET_HOME_PLANT_FIELD_EMPTY = 9770;
- RET_HOME_PLANT_FIELD_TYPE_ERROR = 9771;
- RET_HOME_PLANT_TIME_NOT_ENOUGH = 9772;
- RET_HOME_PLANT_SUB_FIELD_NUM_NOT_ENOUGH = 9773;
- RET_HOME_PLANT_FIELD_PARAM_ERROR = 9774;
- RET_HOME_FURNITURE_GUID_ERROR = 9775;
- RET_HOME_FURNITURE_ARRANGE_LIMIT = 9776;
- RET_HOME_FISH_FARMING_LIMIT = 9777;
- RET_HOME_FISH_COUNT_NOT_ENOUGH = 9778;
- RET_HOME_FURNITURE_COST_LIMIT = 9779;
- RET_HOME_CUSTOM_FURNITURE_INVALID = 9780;
- RET_HOME_INVALID_ARRANGE_GROUP_PARAM = 9781;
- RET_HOME_FURNITURE_ARRANGE_GROUP_LIMIT = 9782;
- RET_HOME_PICTURE_FRAME_COOP_CG_GENDER_ERROR = 9783;
- RET_HOME_PICTURE_FRAME_COOP_CG_NOT_UNLOCK = 9784;
- RET_HOME_FURNITURE_CANNOT_ARRANGE = 9785;
- RET_HOME_FURNITURE_IN_DUPLICATE_SUITE = 9786;
- RET_HOME_FURNITURE_CUSTOM_SUITE_TOO_SMALL = 9787;
- RET_HOME_FURNITURE_CUSTOM_SUITE_TOO_BIG = 9788;
- RET_HOME_FURNITURE_SUITE_EXCEED_LIMIT = 9789;
- RET_HOME_FURNITURE_CUSTOM_SUITE_EXCEED_LIMIT = 9790;
- RET_HOME_FURNITURE_CUSTOM_SUITE_INVALID_SURFACE_TYPE = 9791;
- RET_HOME_BGM_ID_NOT_FOUND = 9792;
- RET_HOME_BGM_NOT_UNLOCKED = 9793;
- RET_HOME_BGM_FURNITURE_NOT_FOUND = 9794;
- RET_HOME_BGM_NOT_SUPPORT_BY_CUR_SCENE = 9795;
- RET_HOME_LIMITED_SHOP_GOODS_DISABLE = 9796;
- RET_HOME_WORLD_WOOD_MATERIAL_EMPTY = 9797;
- RET_HOME_WORLD_WOOD_MATERIAL_NOT_FOUND = 9798;
- RET_HOME_WORLD_WOOD_MATERIAL_COUNT_INVALID = 9799;
- RET_HOME_WORLD_WOOD_EXCHANGE_EXCEED_LIMIT = 9800;
- RET_HOME_BLUEPRINT_SEARCH_SELF = 9801;
- RET_HOME_BLUEPRINT_SHARE_CODE_INVALID = 9802;
- RET_HOME_BLUEPRINT_NOT_EXIST = 9803;
- RET_HOME_BLUEPRINT_SLOT_HAS_EXIST_SHARE_CODE = 9804;
- RET_HOME_BLUEPRINT_SLOT_NOT_EXIST_SHARE_CODE = 9805;
- RET_HOME_BLUEPRINT_CAN_NOT_CREATE_IN_AUDIT = 9806;
- RET_HOME_BLOCK_NOT_UNLOCKED = 9807;
- RET_HOME_BLUEPRINT_CREATE_CD = 9808;
- RET_HOME_BLUEPRINT_SET_OPTION_CD = 9809;
- RET_HOME_BLUEPRINT_NOT_ALLOW_FRIEND_COPY = 9810;
- RET_HOME_FURNITURE_POS_UNDER_DIE_Y = 9811;
- RET_HOME_BLUEPRINT_GEN_SHARE_CODE_FAIL = 9812;
- RET_HOME_BLUEPRINT_SEARCH_CD = 9813;
- RET_HOME_BLUEPRINT_PREVIEW_CD = 9814;
- RET_HOME_BLUEPRINT_PREVIEW_SCENE_NOT_MATCH = 9815;
- RET_SUMO_ACTIVITY_STAGE_NOT_OPEN = 10000;
- RET_SUMO_ACTIVITY_SWITCH_TEAM_IN_CD = 10001;
- RET_SUMO_ACTIVITY_TEAM_NUM_INCORRECT = 10002;
- RET_LUNA_RITE_ACTIVITY_AREA_ID_ERROR = 10004;
- RET_LUNA_RITE_ACTIVITY_BATTLE_NOT_FINISH = 10005;
- RET_LUNA_RITE_ACTIVITY_ALREADY_SACRIFICE = 10006;
- RET_LUNA_RITE_ACTIVITY_ALREADY_TAKE_REWARD = 10007;
- RET_LUNA_RITE_ACTIVITY_SACRIFICE_NOT_ENOUGH = 10008;
- RET_LUNA_RITE_ACTIVITY_SEARCHING_COND_NOT_MEET = 10009;
- RET_DIG_GADGET_CONFIG_ID_NOT_MATCH = 10015;
- RET_DIG_FIND_NEAREST_POS_FAIL = 10016;
- RET_MUSIC_GAME_LEVEL_NOT_OPEN = 10021;
- RET_MUSIC_GAME_LEVEL_NOT_UNLOCK = 10022;
- RET_MUSIC_GAME_LEVEL_NOT_STARTED = 10023;
- RET_MUSIC_GAME_LEVEL_CONFIG_NOT_FOUND = 10024;
- RET_MUSIC_GAME_LEVEL_ID_NOT_MATCH = 10025;
- RET_ROGUELIKE_COIN_A_NOT_ENOUGH = 10031;
- RET_ROGUELIKE_COIN_B_NOT_ENOUGH = 10032;
- RET_ROGUELIKE_COIN_C_NOT_ENOUGH = 10033;
- RET_ROGUELIKE_COIN_A_EXCEED_LIMIT = 10034;
- RET_ROGUELIKE_COIN_B_EXCEED_LIMIT = 10035;
- RET_ROGUELIKE_COIN_C_EXCEED_LIMIT = 10036;
- RET_ROGUELIKE_RUNE_COUNT_NOT_ENOUGH = 10037;
- RET_ROGUELIKE_NOT_IN_ROGUE_DUNGEON = 10038;
- RET_ROGUELIKE_CELL_NOT_FOUND = 10039;
- RET_ROGUELIKE_CELL_TYPE_INCORRECT = 10040;
- RET_ROGUELIKE_CELL_ALREADY_FINISHED = 10041;
- RET_ROGUELIKE_DUNGEON_HAVE_UNFINISHED_PROGRESS = 10042;
- RET_ROGUELIKE_STAGE_NOT_FINISHED = 10043;
- RET_ROGUELIKE_STAGE_FIRST_PASS_REWARD_HAS_TAKEN = 10045;
- RET_ROGUELIKE_ACTIVITY_CONTENT_CLOSED = 10046;
- RET_ROGUELIKE_DUNGEON_PRE_QUEST_NOT_FINISHED = 10047;
- RET_ROGUELIKE_DUNGEON_NOT_OPEN = 10048;
- RET_ROGUELIKE_SPRINT_IS_BANNED = 10049;
- RET_ROGUELIKE_DUNGEON_PRE_STAGE_NOT_FINISHED = 10050;
- RET_ROGUELIKE_ALL_AVATAR_DIE_CANNOT_RESUME = 10051;
- RET_PLANT_FLOWER_ALREADY_TAKE_SEED = 10056;
- RET_PLANT_FLOWER_FRIEND_HAVE_FLOWER_LIMIT = 10057;
- RET_PLANT_FLOWER_CAN_GIVE_FLOWER_NOT_ENOUGH = 10058;
- RET_PLANT_FLOWER_WISH_FLOWER_KINDS_LIMIT = 10059;
- RET_PLANT_FLOWER_HAVE_FLOWER_NOT_ENOUGH = 10060;
- RET_PLANT_FLOWER_FLOWER_COMBINATION_INVALID = 10061;
- RET_HACHI_DUNGEON_NOT_VALID = 10052;
- RET_HACHI_DUNGEON_STAGE_NOT_OPEN = 10053;
- RET_HACHI_DUNGEON_TEAMMATE_NOT_PASS = 10054;
- RET_WINTER_CAMP_COIN_A_NOT_ENOUGH = 10071;
- RET_WINTER_CAMP_COIN_B_NOT_ENOUGH = 10072;
- RET_WINTER_CAMP_COIN_A_EXCEED_LIMIT = 10073;
- RET_WINTER_CAMP_COIN_B_EXCEED_LIMIT = 10074;
- RET_WINTER_CAMP_WISH_ID_INVALID = 10075;
- RET_WINTER_CAMP_NOT_FOUND_RECV_ITEM_DATA = 10076;
- RET_WINTER_CAMP_FRIEND_ITEM_COUNT_OVERFLOW = 10077;
- RET_WINTER_CAMP_SELECT_ITEM_DATA_INVALID = 10078;
- RET_WINTER_CAMP_ITEM_LIST_EMPTY = 10079;
- RET_WINTER_CAMP_REWARD_ALREADY_TAKEN = 10080;
- RET_WINTER_CAMP_STAGE_NOT_FINISH = 10081;
- RET_WINTER_CAMP_GADGET_INVALID = 10082;
- RET_LANTERN_RITE_COIN_A_NOT_ENOUGH = 10090;
- RET_LANTERN_RITE_COIN_B_NOT_ENOUGH = 10091;
- RET_LANTERN_RITE_COIN_C_NOT_ENOUGH = 10092;
- RET_LANTERN_RITE_COIN_A_EXCEED_LIMIT = 10093;
- RET_LANTERN_RITE_COIN_B_EXCEED_LIMIT = 10094;
- RET_LANTERN_RITE_COIN_C_EXCEED_LIMIT = 10095;
- RET_LANTERN_RITE_PROJECTION_CONTENT_CLOSED = 10096;
- RET_LANTERN_RITE_PROJECTION_CAN_NOT_START = 10097;
- RET_LANTERN_RITE_DUNGEON_NOT_OPEN = 10098;
- RET_LANTERN_RITE_HAS_TAKEN_SKIN_REWARD = 10099;
- RET_LANTERN_RITE_NOT_FINISHED_SKIN_WATCHERS = 10100;
- RET_LANTERN_RITE_FIREWORKS_CONTENT_CLOSED = 10101;
- RET_LANTERN_RITE_FIREWORKS_CHALLENGE_NOT_START = 10102;
- RET_LANTERN_RITE_FIREWORKS_REFORM_PARAM_ERROR = 10103;
- RET_LANTERN_RITE_FIREWORKS_REFORM_SKILL_LOCK = 10104;
- RET_LANTERN_RITE_FIREWORKS_REFORM_STAMINA_NOT_ENOUGH = 10105;
- RET_POTION_ACTIVITY_STAGE_NOT_OPEN = 10110;
- RET_POTION_ACTIVITY_LEVEL_HAVE_PASS = 10111;
- RET_POTION_ACTIVITY_TEAM_NUM_INCORRECT = 10112;
- RET_POTION_ACTIVITY_AVATAR_IN_CD = 10113;
- RET_POTION_ACTIVITY_BUFF_IN_CD = 10114;
- RET_IRODORI_POETRY_INVALID_LINE_ID = 10120;
- RET_IRODORI_POETRY_INVALID_THEME_ID = 10121;
- RET_IRODORI_POETRY_NOT_GET_ALL_INSPIRATION = 10122;
- RET_IRODORI_POETRY_INSPIRATION_REACH_LIMIE = 10123;
- RET_IRODORI_POETRY_ENTITY_ALREADY_SCANNED = 10124;
- RET_ACTIVITY_BANNER_ALREADY_CLEARED = 10300;
- RET_IRODORI_CHESS_NOT_OPEN = 10301;
- RET_IRODORI_CHESS_LEVEL_NOT_OPEN = 10302;
- RET_IRODORI_CHESS_MAP_NOT_OPEN = 10303;
- RET_IRODORI_CHESS_MAP_CARD_ALREADY_EQUIPED = 10304;
- RET_IRODORI_CHESS_EQUIP_CARD_EXCEED_LIMIT = 10305;
- RET_IRODORI_CHESS_MAP_CARD_NOT_EQUIPED = 10306;
- RET_IRODORI_CHESS_ENTER_FAIL_CARD_EXCEED_LIMIT = 10307;
- RET_ACTIVITY_FRIEND_HAVE_GIFT_LIMIT = 10310;
- RET_GACHA_ACTIVITY_HAVE_REWARD_LIMIT = 10315;
- RET_GACHA_ACTIVITY_HAVE_ROBOT_LIMIT = 10316;
- RET_SUMMER_TIME_V2_COIN_EXCEED_LIMIT = 10317;
- RET_SUMMER_TIME_V2_COIN_NOT_ENOUGH = 10318;
- RET_SUMMER_TIME_V2_DUNGEON_STAGE_NOT_OPEN = 10319;
- RET_SUMMER_TIME_V2_PREV_DUNGEON_NOT_COMPLETE = 10320;
- RET_ROGUE_DIARY_AVATAR_DEATH = 10350;
- RET_ROGUE_DIARY_AVATAR_TIRED = 10351;
- RET_ROGUE_DIARY_AVATAR_DUPLICATED = 10352;
- RET_ROGUE_DIARY_COIN_NOT_ENOUGH = 10353;
- RET_ROGUE_DIARY_VIRTUAL_COIN_EXCEED_LIMIT = 10354;
- RET_ROGUE_DIARY_VIRTUAL_COIN_NOT_ENOUGH = 10355;
- RET_ROGUE_DIARY_CONTENT_CLOSED = 10366;
- RET_GRAVEN_INNOCENCE_COIN_A_NOT_ENOUGH = 10380;
- RET_GRAVEN_INNOCENCE_COIN_B_NOT_ENOUGH = 10381;
- RET_GRAVEN_INNOCENCE_COIN_A_EXCEED_LIMIT = 10382;
- RET_GRAVEN_INNOCENCE_COIN_B_EXCEED_LIMIT = 10383;
- RET_ISLAND_PARTY_STAGE_NOT_OPEN = 10371;
- RET_WIND_FIELD_STAGE_NOT_OPEN = 10390;
- RET_VINTAGE_CONTENT_CLOSED = 10396;
- RET_VINTAGE_STORE_CONTENT_FINISHED = 10397;
- RET_VINTAGE_STORE_ATTR_TOO_SMALL = 10398;
- RET_VINTAGE_STORE_ATTR_TOO_LARGE = 10399;
- RET_VINTAGE_STORE_CONTENT_INTERRUPT = 10400;
- RET_VINTAGE_VIRTUAL_COIN_NOT_ENOUGH = 10401;
- RET_VINTAGE_STORE_ATTR_LESS_THAN_ZERO = 10402;
- RET_FUNGUS_FIGHTER_CAPTURE_COIN_NOT_ENOUGH = 10406;
- RET_FUNGUS_FIGHTER_TRAINING_COIN_NOT_ENOUGH = 10407;
- RET_FUNGUS_FIGHTER_CAPTURE_COIN_EXCEED_LIMIT = 10408;
- RET_FUNGUS_FIGHTER_TRAINING_COIN_EXCEED_LIMIT = 10409;
- RET_FUNGUS_FIGHTER_CONTENT_CLOSED = 10410;
- RET_FUNGUS_FIGHTER_PLOT_STAGE_NOT_OPEN = 10411;
- RET_FUNGUS_FIGHTER_FUNGUS_ID_CONFIG_NOT_VALID = 10412;
- RET_FUNGUS_FIGHTER_FUNGUS_NOT_CULTIVATED = 10413;
- RET_FUNGUS_FIGHTER_TRAINING_DUNGEON_NOT_OPEN = 10414;
- RET_EFFIGY_CHALLENGE_V2_COIN_NOT_ENOUGH = 10427;
- RET_EFFIGY_CHALLENGE_V2_COIN_EXCEED_LIMIT = 10428;
- RET_CHAR_AMUSEMENT_STAGE_NOT_OPEN = 10436;
- RET_COIN_COLLECT_LEVEL_NOT_OPEN = 10446;
- RET_COIN_COLLECT_NOT_EQUIP_WIDGET = 10447;
- RET_COIN_COLLECT_SCENE_NOT_MATCH = 10448;
- RET_COIN_COLLECT_CANT_ENTER_MP_MODE = 10449;
- RET_COIN_COLLECT_PLAYER_NUM_FAIL = 10450;
- RET_BRICK_BREAKER_PLAYER_NUM_FAIL = 10456;
- RET_BRICK_BREAKER_STAGE_NOT_UNLOCK = 10457;
- RET_BRICK_BREAKER_NORMAL_LEVEL_NOT_FINISH = 10458;
- RET_BRICK_BREAKER_PRE_LEVEL_NOT_FINISH = 10459;
- RET_BRICK_BREAKER_PRE_STAGE_NOT_FINISH = 10460;
- RET_BRICK_BREAKER_WORLD_LEVEL_NOT_UNLOCK = 10461;
- RET_BRICK_BREAKER_DUNGEON_LEVEL_NOT_UNLOCK = 10462;
- RET_BRICK_BREAKER_COIN_NOT_ENOUGH = 10463;
- RET_BRICK_BREAKER_COIN_EXCEED_LIMIT = 10464;
- RET_ACTIVITY_CONTENT_CLOSED = 10901;
- RET_NOT_IN_FISHING = 11001;
- RET_FISH_STATE_ERROR = 11002;
- RET_FISH_BAIT_LIMIT = 11003;
- RET_FISHING_MAX_DISTANCE = 11004;
- RET_FISHING_IN_COMBAT = 11005;
- RET_FISHING_BATTLE_TOO_SHORT = 11006;
- RET_FISH_GONE_AWAY = 11007;
- RET_CAN_NOT_EDIT_OTHER_DUNGEON = 11051;
- RET_CUSTOM_DUNGEON_DISMATCH = 11052;
- RET_NO_CUSTOM_DUNGEON_DATA = 11053;
- RET_BUILD_CUSTOM_DUNGEON_FAIL = 11054;
- RET_CUSTOM_DUNGEON_ROOM_CHECK_FAIL = 11055;
- RET_CUSTOM_DUNGEON_SAVE_MAY_FAIL = 11056;
- RET_NOT_IN_CUSTOM_DUNGEON = 11057;
- RET_CUSTOM_DUNGEON_INTERNAL_FAIL = 11058;
- RET_CUSTOM_DUNGEON_CAN_NOT_TRY = 11059;
- RET_CUSTOM_DUNGEON_NO_START_ROOM = 11060;
- RET_CUSTOM_DUNGEON_NO_ROOM_DATA = 11061;
- RET_CUSTOM_DUNGEON_SAVE_TOO_FREQUENT = 11062;
- RET_CUSTOM_DUNGEON_NOT_SELF_PASS = 11063;
- RET_CUSTOM_DUNGEON_LACK_COIN = 11064;
- RET_CUSTOM_DUNGEON_NO_FINISH_BRICK = 11065;
- RET_CUSTOM_DUNGEON_MULTI_FINISH = 11066;
- RET_CUSTOM_DUNGEON_NOT_PUBLISHED = 11067;
- RET_CUSTOM_DUNGEON_FULL_STORE = 11068;
- RET_CUSTOM_DUNGEON_STORE_REPEAT = 11069;
- RET_CUSTOM_DUNGEON_CAN_NOT_STORE_SELF = 11070;
- RET_CUSTOM_DUNGEON_NOT_SAVE_SUCC = 11071;
- RET_CUSTOM_DUNGEON_CAN_NOT_LIKE_SELF = 11072;
- RET_CUSTOM_DUNGEON_NOT_FOUND = 11073;
- RET_CUSTOM_DUNGEON_INVALID_SETTING = 11074;
- RET_CUSTOM_DUNGEON_NO_FINISH_SETTING = 11075;
- RET_CUSTOM_DUNGEON_SAVE_NOTHING = 11076;
- RET_CUSTOM_DUNGEON_NOT_IN_GROUP = 11077;
- RET_CUSTOM_DUNGEON_NOT_OFFICIAL = 11078;
- RET_CUSTOM_DUNGEON_LIFE_NUM_ERROR = 11079;
- RET_CUSTOM_DUNGEON_NO_OPEN_ROOM = 11080;
- RET_CUSTOM_DUNGEON_BRICK_EXCEED_LIMIT = 11081;
- RET_CUSTOM_DUNGEON_OFFICIAL_NOT_UNLOCK = 11082;
- RET_CAN_NOT_EDIT_OFFICIAL_SETTING = 11083;
- RET_CUSTOM_DUNGEON_BAN_PUBLISH = 11084;
- RET_CUSTOM_DUNGEON_CAN_NOT_REPLAY = 11085;
- RET_CUSTOM_DUNGEON_NOT_OPEN_GROUP = 11086;
- RET_CUSTOM_DUNGEON_MAX_EDIT_NUM = 11087;
- RET_CUSTOM_DUNGEON_CAN_NOT_OUT_STUCK = 11088;
- RET_CUSTOM_DUNGEON_MAX_TAG = 11089;
- RET_CUSTOM_DUNGEON_INVALID_TAG = 11090;
- RET_CUSTOM_DUNGEON_MAX_COST = 11091;
- RET_CUSTOM_DUNGEON_REQUEST_TOO_FREQUENT = 11092;
- RET_CUSTOM_DUNGEON_NOT_OPEN = 11093;
- RET_SHARE_CD_ID_ERROR = 11101;
- RET_SHARE_CD_INDEX_ERROR = 11102;
- RET_SHARE_CD_IN_CD = 11103;
- RET_SHARE_CD_TOKEN_NOT_ENOUGH = 11104;
- RET_UGC_DISMATCH = 11151;
- RET_UGC_DATA_NOT_FOUND = 11152;
- RET_UGC_BRIEF_NOT_FOUND = 11153;
- RET_UGC_DISABLED = 11154;
- RET_UGC_LIMITED = 11155;
- RET_UGC_LOCKED = 11156;
- RET_UGC_NOT_AUTH = 11157;
- RET_UGC_NOT_OPEN = 11158;
- RET_UGC_BAN_PUBLISH = 11159;
- RET_COMPOUND_BOOST_ITEM_NOT_EXIST = 11201;
- RET_COMPOUND_BOOST_TARGET_NOT_EXIST = 11202;
- RET_QUICK_HIT_TREE_EMPTY_TREES = 11211;
- RET_GCG_FIND_GAME_MODE_FAIL = 12000;
- RET_GCG_OPERATION_PARAM_ERROR = 12001;
- RET_GCG_GAME_NOT_RUNNING = 12002;
- RET_GCG_OP_NOT_ALLOW = 12003;
- RET_GCG_OP_NOT_MATCH_PHASE = 12004;
- RET_GCG_SELECT_HAND_CARD_GUID_ERROR = 12005;
- RET_GCG_DICE_INDEX_INVALID = 12006;
- RET_GCG_CHARACTER_GUID_INVALID = 12007;
- RET_GCG_CHARACTER_ALREADY_DIE = 12008;
- RET_GCG_CHARACTER_ALREADY_ON_STAGE = 12009;
- RET_GCG_CHARACTER_FORBIDDEN_ATTACK = 12010;
- RET_GCG_SELECT_DICE_NOT_MATCH = 12011;
- RET_GCG_FIND_SKILL_FAIL = 12012;
- RET_GCG_SKILL_CAN_NOT_ACTIVE_USE = 12013;
- RET_GCG_ENERGY_NOT_ENOUGH = 12014;
- RET_GCG_PLAY_CARD_TARGET_NOT_MATCH = 12015;
- RET_GCG_PLAY_CARD_ZONE_CANNOT_ADD = 12016;
- RET_GCG_REBOOT_SELECT_DICE_INVALID = 12017;
- RET_GCG_REBOOT_SELECT_CARD_INVALID = 12018;
- RET_GCG_PLAY_CARD_CONDITION_CHECK_FAIL = 12019;
- RET_GCG_PLAY_CARD_PARAM_INVALID = 12020;
- RET_GCG_MAX_GAME = 12021;
- RET_GCG_SEND_PACKET_FAIL = 12022;
- RET_GCG_ALREADY_SETTLE = 12023;
- RET_GCG_COIN_EXCEED_LIMIT = 12101;
- RET_GCG_COIN_NOT_ENOUGH = 12102;
- RET_GCG_NOT_IN_SELF_WORLD = 12103;
- RET_GCG_ALREADY_IN_DUEL = 12104;
- RET_GCG_NOT_IN_PLAYER_WORLD = 12105;
- RET_GCG_GALLERY_STARTED = 12106;
- RET_GCG_INVITE_TARGET_IS_SELF = 12107;
- RET_GCG_INVITE_TARGET_NOT_IN_WORLD = 12108;
- RET_GCG_APPLY_INVITE_NOT_ALLOW = 12109;
- RET_GCG_APPLY_INVITE_TIMEOUT = 12110;
- RET_GCG_CUR_DECK_INVALID = 12111;
- RET_GCG_NEED_RESOURCE_COMPLETE = 12112;
- RET_GCG_OPPONENT_PLAYER_IS_SELF = 12113;
- RET_GCG_GAME_ID_INVALID = 12114;
- RET_GCG_MATCH_IN_PUNISH = 12115;
- RET_GCG_SETTLE_STILL_IN_DUEL = 12116;
- RET_GCG_SETTLE_NOT_IN_DUNGEON = 12117;
- RET_GCG_UNSUPPORT_SETTLE_OPTION = 12118;
- RET_GCG_NOT_IN_GCG_DUNGEON = 12119;
- RET_GCG_WORLD_LEVEL_LOCKED = 12120;
- RET_GCG_BOSS_LEVEL_LOCKED = 12121;
- RET_GCG_NOT_IN_TAVERN = 12122;
- RET_GCG_WEEK_NPC_NOT_EXIST = 12123;
- RET_GCG_ENTER_GAME_FREQUENT = 12124;
- RET_GCG_BREAK_LEVEL_QUEST_NOT_UNFINISHED = 12125;
- RET_GCG_GUIDE_LEVEL_ALREADY_FINISHED = 12126;
- RET_GCG_LEVEL_CANNOT_RESTART = 12127;
- RET_GCG_TARGET_CHECK_ENTER_FAIL = 12128;
- RET_GCG_ALREADY_IN_DUNGEON = 12129;
- RET_GCG_BACK_DUEL_NO_GAME = 12130;
- RET_GCG_CONST_LEVEL_LOCKED = 12131;
- RET_GCG_QUEST_ID_ERROR = 12132;
- RET_GCG_QUEST_NEED_UNFINISHED = 12133;
- RET_GCG_IN_MATCH = 12134;
- RET_GCG_DATA_VERSION_NOT_LATEST = 12135;
- RET_GCG_INVITE_TARGET_ENTER_GAME_FREQUENT = 12136;
- RET_GCG_INVITE_TARGET_NEED_RESOURCE_COMPLETE = 12137;
- RET_GCG_INVITE_TARGET_SCENE_IS_NULL = 12138;
- RET_GCG_INVITE_TARGET_IN_TRANSFER = 12139;
- RET_GCG_INVITE_TARGET_DATA_VERSION_NOT_LATEST = 12140;
- RET_GCG_INVITE_TARGET_CUR_DECK_INVALID = 12141;
- RET_GCG_CLIENT_DATA_VERSION_NOT_MATCH = 12142;
- RET_GCG_CLIENT_DATA_VERSOIN_FORBID = 12143;
- RET_GCG_MP_CANT_MATCH = 12144;
- RET_GCG_INVITE_TARGET_STATE_NOT_OPEN = 12145;
- RET_GCG_CREATE_TIME_OUT = 12146;
- RET_GCG_BAN_MATCH = 12147;
- RET_GCG_BAN_INVITE = 12148;
- RET_GCG_TARGET_BAN_INVITE = 12149;
- RET_GCG_INVITE_ALREADY_INVITE = 12150;
- RET_GCG_BACK_DUEL_PS_TO_OTHER = 12153;
- RET_GCG_BACK_DUEL_OTHER_TO_PS = 12154;
- RET_GCG_DS_DECK_LOCKED = 12201;
- RET_GCG_DS_DECK_NAME_INVALID = 12202;
- RET_GCG_DS_DECK_CHAR_CARD_NUM_INVALID = 12204;
- RET_GCG_DS_DECK_CARD_NUM_INVALID = 12205;
- RET_GCG_DS_CARD_NUM_EXCEED_LIMIT = 12206;
- RET_GCG_DS_DECK_INVALID = 12207;
- RET_GCG_DS_CARD_ID_INVALID = 12208;
- RET_GCG_DS_CARD_FACE_ALREADY_UNLOCK = 12209;
- RET_GCG_DS_CARD_FACE_IS_LOCK = 12210;
- RET_GCG_DS_FIELD_LOCK = 12211;
- RET_GCG_DS_FIELD_ALREADY_UNLOCK = 12212;
- RET_GCG_DS_FIELD_ID_INVALID = 12213;
- RET_GCG_DS_CARD_BACK_LOCKED = 12214;
- RET_GCG_DS_CARD_BACK_ALREADY_UNLOCK = 12215;
- RET_GCG_DS_CARD_BACK_ID_INVALID = 12216;
- RET_GCG_DS_CARD_FACE_ID_INVALID = 12217;
- RET_GCG_DS_DECK_NAME_ILLEGAL = 12218;
- RET_GCG_DS_DECK_SAVE_CD = 12219;
- RET_GCG_DS_DECK_CHANGE_NAME_CD = 12220;
- RET_GCG_MATCH_DECK_INVALID = 12221;
- RET_GCG_DS_DECK_ALREADY_UNLOCKED = 12222;
- RET_GCG_DS_AT_LEAST_ONE_DECK = 12223;
- RET_GCG_TC_CHARACTERNOT_MATCH_LEVEL = 12251;
- RET_GCG_TC_MUST_IN_SELF_WORLD = 12252;
- RET_GCG_TC_MUST_IN_TAVERN = 12253;
- RET_GCG_TC_ALREADY_IN_GAME = 12254;
- RET_GCG_TC_ALREADY_IN_MATCH = 12255;
- RET_GCG_TC_UNLOCK_CHARACTER_QUEST_NOT_FINISH = 12256;
- RET_GCG_TC_LEVEL_LOCKED = 12257;
- RET_GCG_TC_NO_INVITE_DATA = 12258;
- RET_GCG_TC_CUR_DECK_INVALID = 12259;
- RET_GCG_TC_COND_QUEST = 12260;
- RET_GCG_LEVEL_REWARD_LEVEL_ERROR = 12301;
- RET_GCG_LEVEL_REWARD_ALREADY_TAKEN = 12302;
- RET_GCG_LEVEL_REWARD_NO_REWARD = 12303;
-}
diff --git a/proto/RetryCurRogueDiaryDungeonReq.proto b/proto/RetryCurRogueDiaryDungeonReq.proto
new file mode 100644
index 00000000..ab72b75d
--- /dev/null
+++ b/proto/RetryCurRogueDiaryDungeonReq.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message RetryCurRogueDiaryDungeonReq {
+ //enum MAFJJFABHDL {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8009;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+}
diff --git a/proto/RetryCurRogueDiaryDungeonRsp.proto b/proto/RetryCurRogueDiaryDungeonRsp.proto
new file mode 100644
index 00000000..73b6ae79
--- /dev/null
+++ b/proto/RetryCurRogueDiaryDungeonRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message RetryCurRogueDiaryDungeonRsp {
+ //enum MHEJHIHKFFE {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8523;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 12;
+}
diff --git a/proto/ReunionActivateNotify.proto b/proto/ReunionActivateNotify.proto
new file mode 100644
index 00000000..2701ca47
--- /dev/null
+++ b/proto/ReunionActivateNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ReunionBriefInfo.proto";
+
+message ReunionActivateNotify {
+ //enum JBANEJLHMMC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5060;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ ReunionBriefInfo reunionBriefInfo = 7;
+ bool isActivate = 5;
+}
diff --git a/proto/ReunionBriefInfo.proto b/proto/ReunionBriefInfo.proto
new file mode 100644
index 00000000..faa4e77a
--- /dev/null
+++ b/proto/ReunionBriefInfo.proto
@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ReunionPrivilegeInfo.proto";
+
+message ReunionBriefInfo {
+ uint32 privilegeId = 15;
+ uint32 finishTime = 5;
+ uint32 missionId = 11;
+ bool Unk3300_ODKLPOMKKPD = 14;
+ ReunionPrivilegeInfo privilegeInfo = 8;
+ bool Unk3300_MHHLEJIFFIM = 13;
+ string version = 7;
+ uint32 firstGiftRewardId = 9;
+ uint32 firstDayStartTime = 1;
+ uint32 startTime = 10;
+ uint32 signInConfigId = 6;
+ bool Unk3300_OKGAAEDENEI = 2;
+}
diff --git a/proto/ReunionBriefInfoReq.proto b/proto/ReunionBriefInfoReq.proto
new file mode 100644
index 00000000..4bd17c6a
--- /dev/null
+++ b/proto/ReunionBriefInfoReq.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ReunionBriefInfoReq {
+ //enum CELEGDOJAAO {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5088;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+}
diff --git a/proto/ReunionBriefInfoRsp.proto b/proto/ReunionBriefInfoRsp.proto
new file mode 100644
index 00000000..f41018d6
--- /dev/null
+++ b/proto/ReunionBriefInfoRsp.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ReunionBriefInfo.proto";
+
+message ReunionBriefInfoRsp {
+ //enum CODFOMKNMLB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5095;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 3;
+ bool isActivate = 11;
+ ReunionBriefInfo reunionBriefInfo = 8;
+}
diff --git a/proto/ReunionDailyRefreshNotify.proto b/proto/ReunionDailyRefreshNotify.proto
new file mode 100644
index 00000000..f89ce316
--- /dev/null
+++ b/proto/ReunionDailyRefreshNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ReunionBriefInfo.proto";
+
+message ReunionDailyRefreshNotify {
+ //enum BDDMAMGBIHB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5098;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ ReunionBriefInfo reunionBriefInfo = 13;
+}
diff --git a/proto/ReunionMissionInfo.proto b/proto/ReunionMissionInfo.proto
new file mode 100644
index 00000000..1e504f15
--- /dev/null
+++ b/proto/ReunionMissionInfo.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ReunionWatcherInfo.proto";
+
+message ReunionMissionInfo {
+ uint32 missionId = 7;
+ repeated bool isTakenRewardList = 15;
+ bool isTakenReward = 3;
+ uint32 curScore = 4;
+ bool isFinished = 2;
+ repeated ReunionWatcherInfo watcherList = 13;
+ repeated ReunionWatcherInfo curDayWatcherList = 1;
+ uint32 nextRefreshTime = 6;
+}
diff --git a/proto/ReunionPrivilegeChangeNotify.proto b/proto/ReunionPrivilegeChangeNotify.proto
new file mode 100644
index 00000000..2ecf7df5
--- /dev/null
+++ b/proto/ReunionPrivilegeChangeNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ReunionPrivilegeInfo.proto";
+
+message ReunionPrivilegeChangeNotify {
+ //enum HMLPJMJGLNB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5056;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ ReunionPrivilegeInfo privilegeInfo = 13;
+}
diff --git a/proto/ReunionPrivilegeInfo.proto b/proto/ReunionPrivilegeInfo.proto
new file mode 100644
index 00000000..82f96652
--- /dev/null
+++ b/proto/ReunionPrivilegeInfo.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ReunionPrivilegeInfo {
+ uint32 Unk3300_ALOLACFGMHI = 7;
+ uint32 privilegeId = 12;
+ uint32 Unk3300_GJBEAFPMFAA = 8;
+}
diff --git a/proto/ReunionSettleNotify.proto b/proto/ReunionSettleNotify.proto
new file mode 100644
index 00000000..36565eef
--- /dev/null
+++ b/proto/ReunionSettleNotify.proto
@@ -0,0 +1,17 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ReunionSettleNotify {
+ //enum OBGKGLDEFPP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5053;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+}
diff --git a/proto/ReunionSignInInfo.proto b/proto/ReunionSignInInfo.proto
new file mode 100644
index 00000000..43ef829a
--- /dev/null
+++ b/proto/ReunionSignInInfo.proto
@@ -0,0 +1,13 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ReunionSignInInfo {
+ uint32 Unk3300_NFNOKBNBLGE = 9;
+ uint32 configId = 13;
+ repeated uint32 rewardDayList = 5;
+ uint32 Unk3300_MNJELIDKMCF = 14;
+}
diff --git a/proto/ReunionWatcherInfo.proto b/proto/ReunionWatcherInfo.proto
new file mode 100644
index 00000000..7c5237ef
--- /dev/null
+++ b/proto/ReunionWatcherInfo.proto
@@ -0,0 +1,14 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ReunionWatcherInfo {
+ uint32 rewardUnlockTime = 7;
+ uint32 curProgress = 11;
+ uint32 watcherId = 12;
+ uint32 totalProgress = 10;
+ bool isTakenReward = 5;
+}
diff --git a/proto/Reward.proto b/proto/Reward.proto
new file mode 100644
index 00000000..667b234c
--- /dev/null
+++ b/proto/Reward.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ItemParam.proto";
+
+message Reward {
+ uint32 rewardId = 1;
+ repeated ItemParam itemList = 2;
+}
diff --git a/proto/RobotPushPlayerDataNotify.proto b/proto/RobotPushPlayerDataNotify.proto
index fdddcfad..b89153bf 100644
--- a/proto/RobotPushPlayerDataNotify.proto
+++ b/proto/RobotPushPlayerDataNotify.proto
@@ -1,6 +1,11 @@
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
+
+
+import "bytes.proto";
+
message RobotPushPlayerDataNotify {
//enum DELIFMCIALG {
// option allow_alias= true;
diff --git a/proto/RogueCellInfo.proto b/proto/RogueCellInfo.proto
new file mode 100644
index 00000000..42b55c81
--- /dev/null
+++ b/proto/RogueCellInfo.proto
@@ -0,0 +1,15 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "RogueCellState.proto";
+
+message RogueCellInfo {
+ uint32 cellConfigId = 8;
+ RogueCellState state = 2;
+ uint32 cellId = 4;
+ uint32 cellType = 3;
+ uint32 dungeonId = 1;
+}
diff --git a/proto/RogueCellState.proto b/proto/RogueCellState.proto
new file mode 100644
index 00000000..5922e0c1
--- /dev/null
+++ b/proto/RogueCellState.proto
@@ -0,0 +1,13 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+enum RogueCellState {
+ ROGUE_CELL_STATE_NONE = 0;
+ ROGUE_CELL_STATE_BATTLE = 1;
+ ROGUE_CELL_STATE_SUCCESS = 2;
+ ROGUE_CELL_STATE_FINISH = 3;
+ ROGUE_CELL_STATE_TAKEN_CHEST = 4;
+}
diff --git a/proto/RogueCellUpdateNotify.proto b/proto/RogueCellUpdateNotify.proto
new file mode 100644
index 00000000..9db2bfff
--- /dev/null
+++ b/proto/RogueCellUpdateNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "RogueCellInfo.proto";
+
+message RogueCellUpdateNotify {
+ //enum BBAMALKNIEP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8067;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ RogueCellInfo cellInfo = 15;
+}
diff --git a/proto/RogueDiaryAvatar.proto b/proto/RogueDiaryAvatar.proto
new file mode 100644
index 00000000..07530cea
--- /dev/null
+++ b/proto/RogueDiaryAvatar.proto
@@ -0,0 +1,15 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ActivityDungeonAvatar.proto";
+import "RogueDiaryAvatarDisableStatus.proto";
+
+message RogueDiaryAvatar {
+ repeated RogueDiaryAvatarDisableStatus disableStatusList = 4;
+ uint32 level = 2;
+ uint32 tiredRound = 9;
+ ActivityDungeonAvatar avatar = 6;
+}
diff --git a/proto/RogueDiaryAvatarDisableStatus.proto b/proto/RogueDiaryAvatarDisableStatus.proto
new file mode 100644
index 00000000..1048c344
--- /dev/null
+++ b/proto/RogueDiaryAvatarDisableStatus.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+enum RogueDiaryAvatarDisableStatus {
+ ROGUE_DIARY_AVATAR_DISABLE_STATUS_NONE = 0;
+ ROGUE_DIARY_AVATAR_DISABLE_STATUS_DEATH = 1;
+ ROGUE_DIARY_AVATAR_DISABLE_STATUS_TIRED = 2;
+ ROGUE_DIARY_AVATAR_DISABLE_STATUS_DUPLICATED = 3;
+}
diff --git a/proto/RogueDiaryCoinAddNotify.proto b/proto/RogueDiaryCoinAddNotify.proto
new file mode 100644
index 00000000..31bfeb6d
--- /dev/null
+++ b/proto/RogueDiaryCoinAddNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message RogueDiaryCoinAddNotify {
+ //enum OGHOEHPLMNI {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8264;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 num = 7;
+}
diff --git a/proto/RogueDiaryDungeonInfoNotify.proto b/proto/RogueDiaryDungeonInfoNotify.proto
new file mode 100644
index 00000000..6fa8dcd1
--- /dev/null
+++ b/proto/RogueDiaryDungeonInfoNotify.proto
@@ -0,0 +1,29 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "RogueDiaryRoomInfo.proto";
+
+message RogueDiaryDungeonInfoNotify {
+ //enum DEBOCJIIDDJ {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8695;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 stageId = 6;
+ repeated uint32 Unk3300_MMBEJGDFCGE = 13;
+ uint32 time = 7;
+ uint32 curRound = 12;
+ uint32 coin = 14;
+ repeated uint32 Unk3300_DKCFGLAKPJL = 11;
+ uint32 difficulty = 4;
+ repeated RogueDiaryRoomInfo roomList = 5;
+ uint32 dungeonId = 15;
+ uint32 curRoom = 1;
+}
diff --git a/proto/RogueDiaryRepairInfoNotify.proto b/proto/RogueDiaryRepairInfoNotify.proto
new file mode 100644
index 00000000..c1419803
--- /dev/null
+++ b/proto/RogueDiaryRepairInfoNotify.proto
@@ -0,0 +1,28 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "RogueDiaryAvatar.proto";
+import "RogueDiaryRoomInfo.proto";
+
+message RogueDiaryRepairInfoNotify {
+ //enum HHDFAEBLEMA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8681;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 stageId = 10;
+ repeated RogueDiaryAvatar avatarList = 13;
+ repeated RogueDiaryAvatar selectAvatarList = 7;
+ repeated uint32 randCardList = 12;
+ repeated uint32 selectCardList = 1;
+ repeated uint32 chosenCardList = 8;
+ repeated RogueDiaryAvatar trialAvatarList = 3;
+ repeated RogueDiaryRoomInfo roomList = 5;
+}
diff --git a/proto/RogueDiaryReviveAvatarReq.proto b/proto/RogueDiaryReviveAvatarReq.proto
new file mode 100644
index 00000000..83525511
--- /dev/null
+++ b/proto/RogueDiaryReviveAvatarReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "RogueDiaryAvatar.proto";
+
+message RogueDiaryReviveAvatarReq {
+ //enum DNLLFNJJMLP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8076;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ RogueDiaryAvatar reviveAvatar = 13;
+}
diff --git a/proto/RogueDiaryReviveAvatarRsp.proto b/proto/RogueDiaryReviveAvatarRsp.proto
new file mode 100644
index 00000000..4b739875
--- /dev/null
+++ b/proto/RogueDiaryReviveAvatarRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message RogueDiaryReviveAvatarRsp {
+ //enum GENOBAGJAHM {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8434;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 10;
+}
diff --git a/proto/RogueDiaryRoomInfo.proto b/proto/RogueDiaryRoomInfo.proto
new file mode 100644
index 00000000..c237d0c7
--- /dev/null
+++ b/proto/RogueDiaryRoomInfo.proto
@@ -0,0 +1,13 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "Uint32Pair.proto";
+
+message RogueDiaryRoomInfo {
+ repeated Uint32Pair Unk3300_EEBEOCMAIKN = 8;
+ bool isBoss = 4;
+ uint32 configId = 14;
+}
diff --git a/proto/RogueDiaryTiredAvatarNotify.proto b/proto/RogueDiaryTiredAvatarNotify.proto
new file mode 100644
index 00000000..ce8109ab
--- /dev/null
+++ b/proto/RogueDiaryTiredAvatarNotify.proto
@@ -0,0 +1,23 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "RogueDiaryAvatar.proto";
+
+message RogueDiaryTiredAvatarNotify {
+ //enum NLFHPEBNOMD {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8243;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ bool isNeedShow = 12;
+ uint32 Unk3300_BGEJGLBMFII = 10;
+ uint32 Unk3300_DMEMBBPEIGK = 8;
+ repeated RogueDiaryAvatar optionalTiredAvatarList = 15;
+}
diff --git a/proto/RogueDungeonPlayerCellChangeNotify.proto b/proto/RogueDungeonPlayerCellChangeNotify.proto
new file mode 100644
index 00000000..2e8a6a15
--- /dev/null
+++ b/proto/RogueDungeonPlayerCellChangeNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message RogueDungeonPlayerCellChangeNotify {
+ //enum AAGMOJDDJJC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8954;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 cellId = 9;
+ uint32 oldCellId = 1;
+}
diff --git a/proto/RogueEffectRecord.proto b/proto/RogueEffectRecord.proto
new file mode 100644
index 00000000..c572139c
--- /dev/null
+++ b/proto/RogueEffectRecord.proto
@@ -0,0 +1,13 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message RogueEffectRecord {
+ bool isNew = 3;
+ uint32 sourceId = 5;
+ uint32 count = 1;
+ repeated uint32 extraParamList = 9;
+}
diff --git a/proto/RogueEliteCellDifficultyType.proto b/proto/RogueEliteCellDifficultyType.proto
new file mode 100644
index 00000000..3403458f
--- /dev/null
+++ b/proto/RogueEliteCellDifficultyType.proto
@@ -0,0 +1,10 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+enum RogueEliteCellDifficultyType {
+ ROGUE_ELITE_CELL_DIFFICULTY_TYPE_NORMAL = 0;
+ ROGUE_ELITE_CELL_DIFFICULTY_TYPE_HARD = 1;
+}
diff --git a/proto/RogueFinishRepairReq.proto b/proto/RogueFinishRepairReq.proto
new file mode 100644
index 00000000..2cf80dc3
--- /dev/null
+++ b/proto/RogueFinishRepairReq.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "RogueDiaryAvatar.proto";
+
+message RogueFinishRepairReq {
+ //enum NPJAENKOPMP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8049;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ repeated uint32 chosenCardList = 4;
+ repeated RogueDiaryAvatar chosenAvatarList = 13;
+}
diff --git a/proto/RogueFinishRepairRsp.proto b/proto/RogueFinishRepairRsp.proto
new file mode 100644
index 00000000..dc9923ab
--- /dev/null
+++ b/proto/RogueFinishRepairRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message RogueFinishRepairRsp {
+ //enum LPIFHDJBKOK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8860;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 2;
+}
diff --git a/proto/RogueHealAvatarsReq.proto b/proto/RogueHealAvatarsReq.proto
new file mode 100644
index 00000000..c9d0e371
--- /dev/null
+++ b/proto/RogueHealAvatarsReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message RogueHealAvatarsReq {
+ //enum CDKEECDIKMP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8538;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 dungeonId = 12;
+ uint32 cellId = 11;
+}
diff --git a/proto/RogueHealAvatarsRsp.proto b/proto/RogueHealAvatarsRsp.proto
new file mode 100644
index 00000000..228d291d
--- /dev/null
+++ b/proto/RogueHealAvatarsRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message RogueHealAvatarsRsp {
+ //enum MBKBADEACKP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8803;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 14;
+ uint32 cellId = 12;
+ uint32 dungeonId = 11;
+}
diff --git a/proto/RogueResumeDungeonReq.proto b/proto/RogueResumeDungeonReq.proto
new file mode 100644
index 00000000..93b31e41
--- /dev/null
+++ b/proto/RogueResumeDungeonReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message RogueResumeDungeonReq {
+ //enum EFAEJJCDALM {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8422;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 stageId = 1;
+}
diff --git a/proto/RogueResumeDungeonRsp.proto b/proto/RogueResumeDungeonRsp.proto
new file mode 100644
index 00000000..dc8cfa4e
--- /dev/null
+++ b/proto/RogueResumeDungeonRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message RogueResumeDungeonRsp {
+ //enum EAPHCIOIAAK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8241;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 stageId = 1;
+ int32 retcode = 11;
+}
diff --git a/proto/RogueSwitchAvatarReq.proto b/proto/RogueSwitchAvatarReq.proto
new file mode 100644
index 00000000..017408dd
--- /dev/null
+++ b/proto/RogueSwitchAvatarReq.proto
@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message RogueSwitchAvatarReq {
+ //enum ILOKDHFKNLC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8262;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint64 curAvatarGuid = 15;
+ repeated uint64 onstageAvatarGuidList = 14;
+ uint32 cellId = 8;
+ uint32 dungeonId = 1;
+}
diff --git a/proto/RogueSwitchAvatarRsp.proto b/proto/RogueSwitchAvatarRsp.proto
new file mode 100644
index 00000000..635cdb58
--- /dev/null
+++ b/proto/RogueSwitchAvatarRsp.proto
@@ -0,0 +1,23 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message RogueSwitchAvatarRsp {
+ //enum MKPKFLIICJC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8548;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated uint64 backstageAvatarGuidList = 2;
+ repeated uint64 onstageAvatarGuidList = 13;
+ uint32 cellId = 12;
+ uint64 curAvatarGuid = 3;
+ int32 retcode = 15;
+ uint32 dungeonId = 7;
+}
diff --git a/proto/RoguelikeCardGachaNotify.proto b/proto/RoguelikeCardGachaNotify.proto
new file mode 100644
index 00000000..b5191d98
--- /dev/null
+++ b/proto/RoguelikeCardGachaNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message RoguelikeCardGachaNotify {
+ //enum FGAHDKIJFNP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8033;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ bool isCanRefresh = 9;
+ repeated uint32 cardList = 5;
+}
diff --git a/proto/RoguelikeEffectDataNotify.proto b/proto/RoguelikeEffectDataNotify.proto
new file mode 100644
index 00000000..3cd3b432
--- /dev/null
+++ b/proto/RoguelikeEffectDataNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "RogueEffectRecord.proto";
+
+message RoguelikeEffectDataNotify {
+ //enum GHMFENDLIGB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8256;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated RogueEffectRecord curseList = 11;
+ repeated RogueEffectRecord cardList = 1;
+}
diff --git a/proto/RoguelikeEffectViewReq.proto b/proto/RoguelikeEffectViewReq.proto
new file mode 100644
index 00000000..cc9173ef
--- /dev/null
+++ b/proto/RoguelikeEffectViewReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message RoguelikeEffectViewReq {
+ //enum BBHPJNGOLFL {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8207;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ repeated uint32 Unk3300_LMIIAEPBKNB = 12;
+ repeated uint32 Unk3300_FKGJGIJHKJI = 10;
+}
diff --git a/proto/RoguelikeEffectViewRsp.proto b/proto/RoguelikeEffectViewRsp.proto
new file mode 100644
index 00000000..6302c1d9
--- /dev/null
+++ b/proto/RoguelikeEffectViewRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message RoguelikeEffectViewRsp {
+ //enum PGIACLFDDDB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8645;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ int32 retcode = 1;
+}
diff --git a/proto/RoguelikeGiveUpReq.proto b/proto/RoguelikeGiveUpReq.proto
new file mode 100644
index 00000000..4b52fbef
--- /dev/null
+++ b/proto/RoguelikeGiveUpReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message RoguelikeGiveUpReq {
+ //enum HADKNNOIJAB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8140;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 stageId = 14;
+}
diff --git a/proto/RoguelikeGiveUpRsp.proto b/proto/RoguelikeGiveUpRsp.proto
new file mode 100644
index 00000000..40e84052
--- /dev/null
+++ b/proto/RoguelikeGiveUpRsp.proto
@@ -0,0 +1,23 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "RoguelikeDungeonSettleInfo.proto";
+
+message RoguelikeGiveUpRsp {
+ //enum MNDLHCDPFJE {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8799;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 stageId = 10;
+ int32 retcode = 14;
+ oneof info {
+ RoguelikeDungeonSettleInfo settle_info = 2;
+ }
+}
diff --git a/proto/RoguelikeMistClearNotify.proto b/proto/RoguelikeMistClearNotify.proto
new file mode 100644
index 00000000..1a4bc3fe
--- /dev/null
+++ b/proto/RoguelikeMistClearNotify.proto
@@ -0,0 +1,17 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message RoguelikeMistClearNotify {
+ //enum AHJLJOADPAK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8670;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+}
diff --git a/proto/RoguelikeRefreshCardCostUpdateNotify.proto b/proto/RoguelikeRefreshCardCostUpdateNotify.proto
new file mode 100644
index 00000000..b515b061
--- /dev/null
+++ b/proto/RoguelikeRefreshCardCostUpdateNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message RoguelikeRefreshCardCostUpdateNotify {
+ //enum GLNIHGDMFBO {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8164;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 itemId = 4;
+ uint32 itemCount = 8;
+}
diff --git a/proto/RoguelikeResourceBonusPropUpdateNotify.proto b/proto/RoguelikeResourceBonusPropUpdateNotify.proto
new file mode 100644
index 00000000..003acc49
--- /dev/null
+++ b/proto/RoguelikeResourceBonusPropUpdateNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message RoguelikeResourceBonusPropUpdateNotify {
+ //enum HMCGAAGGLCJ {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8858;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ float bonusResourceProp = 2;
+}
diff --git a/proto/RoguelikeRuneRecordUpdateNotify.proto b/proto/RoguelikeRuneRecordUpdateNotify.proto
new file mode 100644
index 00000000..c373b177
--- /dev/null
+++ b/proto/RoguelikeRuneRecordUpdateNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "RoguelikeRuneRecord.proto";
+
+message RoguelikeRuneRecordUpdateNotify {
+ //enum AGGCPEIHMCC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8401;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated RoguelikeRuneRecord runeRecordList = 7;
+}
diff --git a/proto/RoguelikeSelectAvatarAndEnterDungeonReq.proto b/proto/RoguelikeSelectAvatarAndEnterDungeonReq.proto
new file mode 100644
index 00000000..434dcf6e
--- /dev/null
+++ b/proto/RoguelikeSelectAvatarAndEnterDungeonReq.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message RoguelikeSelectAvatarAndEnterDungeonReq {
+ //enum HPEFHLOPDFH {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8281;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ repeated uint64 onstageAvatarGuidList = 5;
+ uint32 stageId = 12;
+ repeated uint64 backstageAvatarGuidList = 1;
+}
diff --git a/proto/RoguelikeSelectAvatarAndEnterDungeonRsp.proto b/proto/RoguelikeSelectAvatarAndEnterDungeonRsp.proto
new file mode 100644
index 00000000..ebffa036
--- /dev/null
+++ b/proto/RoguelikeSelectAvatarAndEnterDungeonRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message RoguelikeSelectAvatarAndEnterDungeonRsp {
+ //enum BOHLJLHFIEE {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8932;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 2;
+ uint32 stageId = 4;
+}
diff --git a/proto/RoguelikeTakeStageFirstPassRewardReq.proto b/proto/RoguelikeTakeStageFirstPassRewardReq.proto
new file mode 100644
index 00000000..a7365e75
--- /dev/null
+++ b/proto/RoguelikeTakeStageFirstPassRewardReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message RoguelikeTakeStageFirstPassRewardReq {
+ //enum PIHCHEHAEFM {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8887;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 stageId = 14;
+}
diff --git a/proto/RoguelikeTakeStageFirstPassRewardRsp.proto b/proto/RoguelikeTakeStageFirstPassRewardRsp.proto
new file mode 100644
index 00000000..f25c1623
--- /dev/null
+++ b/proto/RoguelikeTakeStageFirstPassRewardRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message RoguelikeTakeStageFirstPassRewardRsp {
+ //enum EFJAEPHHCDN {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8650;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 stageId = 2;
+ int32 retcode = 13;
+}
diff --git a/proto/Rotation.proto b/proto/Rotation.proto
new file mode 100644
index 00000000..3d95a288
--- /dev/null
+++ b/proto/Rotation.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message Vector {
+ float x = 1;
+ float y = 2;
+ float z = 3;
+}
diff --git a/proto/SalesmanTakeRewardReq.proto b/proto/SalesmanTakeRewardReq.proto
new file mode 100644
index 00000000..4d3951ea
--- /dev/null
+++ b/proto/SalesmanTakeRewardReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message SalesmanTakeRewardReq {
+ //enum IFIJNALCPID {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2060;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 scheduleId = 7;
+ uint32 position = 10;
+}
diff --git a/proto/SalesmanTakeRewardRsp.proto b/proto/SalesmanTakeRewardRsp.proto
new file mode 100644
index 00000000..e6e7ef74
--- /dev/null
+++ b/proto/SalesmanTakeRewardRsp.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message SalesmanTakeRewardRsp {
+ //enum KFAEGMMBJMN {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2034;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 rewardId = 14;
+ uint32 scheduleId = 5;
+ int32 retcode = 7;
+ uint32 position = 6;
+}
diff --git a/proto/SalesmanTakeSpecialRewardReq.proto b/proto/SalesmanTakeSpecialRewardReq.proto
new file mode 100644
index 00000000..6aec9a25
--- /dev/null
+++ b/proto/SalesmanTakeSpecialRewardReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message SalesmanTakeSpecialRewardReq {
+ //enum OEIIPKKGJIH {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2182;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 scheduleId = 15;
+}
diff --git a/proto/SalesmanTakeSpecialRewardRsp.proto b/proto/SalesmanTakeSpecialRewardRsp.proto
new file mode 100644
index 00000000..47a665ea
--- /dev/null
+++ b/proto/SalesmanTakeSpecialRewardRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message SalesmanTakeSpecialRewardRsp {
+ //enum KIOEPIJBBOB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2103;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 1;
+ uint32 scheduleId = 7;
+}
diff --git a/proto/SalvageEscortGallerySettleInfo.proto b/proto/SalvageEscortGallerySettleInfo.proto
new file mode 100644
index 00000000..49d8d5c2
--- /dev/null
+++ b/proto/SalvageEscortGallerySettleInfo.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "SalvageEscortStopReason.proto";
+
+message SalvageEscortGallerySettleInfo {
+ SalvageEscortStopReason reason = 6;
+ uint32 timeRemain = 8;
+}
diff --git a/proto/SalvageEscortInfo.proto b/proto/SalvageEscortInfo.proto
new file mode 100644
index 00000000..93916b5e
--- /dev/null
+++ b/proto/SalvageEscortInfo.proto
@@ -0,0 +1,13 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message SalvageEscortInfo {
+ uint32 Unk3300_FGDPFNPENNC = 6;
+ uint32 Unk3300_HDMPOAJLPED = 2;
+ uint32 maxMonsterCount = 4;
+ uint32 monsterCount = 1;
+}
diff --git a/proto/SalvageEscortRestartReq.proto b/proto/SalvageEscortRestartReq.proto
new file mode 100644
index 00000000..7f108455
--- /dev/null
+++ b/proto/SalvageEscortRestartReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message SalvageEscortRestartReq {
+ //enum DIFCANBFCIE {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8100;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 galleryId = 6;
+}
diff --git a/proto/SalvageEscortRestartRsp.proto b/proto/SalvageEscortRestartRsp.proto
new file mode 100644
index 00000000..0636dba4
--- /dev/null
+++ b/proto/SalvageEscortRestartRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message SalvageEscortRestartRsp {
+ //enum NKPAGGECOKJ {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8107;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 galleryId = 6;
+ int32 retcode = 12;
+}
diff --git a/proto/SalvageEscortSettleInfo.proto b/proto/SalvageEscortSettleInfo.proto
new file mode 100644
index 00000000..22209bdb
--- /dev/null
+++ b/proto/SalvageEscortSettleInfo.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "SalvageEscortGallerySettleInfo.proto";
+
+message SalvageEscortSettleInfo {
+ SalvageEscortGallerySettleInfo settleInfo = 8;
+ bool isNewRecord = 9;
+}
diff --git a/proto/SalvageEscortSettleNotify.proto b/proto/SalvageEscortSettleNotify.proto
new file mode 100644
index 00000000..5743bd45
--- /dev/null
+++ b/proto/SalvageEscortSettleNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "SalvageEscortSettleInfo.proto";
+
+message SalvageEscortSettleNotify {
+ //enum FAEKIIGMFBN {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8967;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 galleryId = 5;
+ SalvageEscortSettleInfo settleInfo = 2;
+}
diff --git a/proto/SalvageEscortStopReason.proto b/proto/SalvageEscortStopReason.proto
new file mode 100644
index 00000000..63fbd10a
--- /dev/null
+++ b/proto/SalvageEscortStopReason.proto
@@ -0,0 +1,15 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+enum SalvageEscortStopReason {
+ SALVAGE_ESCORT_STOP_REASON_NONE = 0;
+ SALVAGE_ESCORT_STOP_REASON_SUCCESS = 1;
+ SALVAGE_ESCORT_STOP_REASON_DUMP = 2;
+ SALVAGE_ESCORT_STOP_REASON_TIME = 3;
+ SALVAGE_ESCORT_STOP_REASON_INTERRUPT = 4;
+ SALVAGE_ESCORT_STOP_REASON_LEAVE = 5;
+ SALVAGE_ESCORT_STOP_REASON_FULL = 6;
+}
diff --git a/proto/SalvagePreventGallerySettleInfo.proto b/proto/SalvagePreventGallerySettleInfo.proto
new file mode 100644
index 00000000..3989416b
--- /dev/null
+++ b/proto/SalvagePreventGallerySettleInfo.proto
@@ -0,0 +1,14 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "SalvagePreventStopReason.proto";
+
+message SalvagePreventGallerySettleInfo {
+ uint32 timeRemain = 10;
+ uint32 finalScore = 6;
+ SalvagePreventStopReason reason = 2;
+ uint32 monsterCount = 3;
+}
diff --git a/proto/SalvagePreventInfo.proto b/proto/SalvagePreventInfo.proto
new file mode 100644
index 00000000..5c94b79c
--- /dev/null
+++ b/proto/SalvagePreventInfo.proto
@@ -0,0 +1,10 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message SalvagePreventInfo {
+ uint32 monsterCount = 2;
+}
diff --git a/proto/SalvagePreventRestartReq.proto b/proto/SalvagePreventRestartReq.proto
new file mode 100644
index 00000000..5acd920b
--- /dev/null
+++ b/proto/SalvagePreventRestartReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message SalvagePreventRestartReq {
+ //enum JKJMAONDPFO {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8595;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 galleryId = 10;
+}
diff --git a/proto/SalvagePreventRestartRsp.proto b/proto/SalvagePreventRestartRsp.proto
new file mode 100644
index 00000000..d1119dda
--- /dev/null
+++ b/proto/SalvagePreventRestartRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message SalvagePreventRestartRsp {
+ //enum OPAAPDBJHII {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8904;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 12;
+ uint32 galleryId = 3;
+}
diff --git a/proto/SalvagePreventSettleInfo.proto b/proto/SalvagePreventSettleInfo.proto
new file mode 100644
index 00000000..d8c54331
--- /dev/null
+++ b/proto/SalvagePreventSettleInfo.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "SalvagePreventGallerySettleInfo.proto";
+
+message SalvagePreventSettleInfo {
+ bool isNewRecord = 4;
+ SalvagePreventGallerySettleInfo settleInfo = 6;
+}
diff --git a/proto/SalvagePreventSettleNotify.proto b/proto/SalvagePreventSettleNotify.proto
new file mode 100644
index 00000000..f2934de5
--- /dev/null
+++ b/proto/SalvagePreventSettleNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "SalvagePreventSettleInfo.proto";
+
+message SalvagePreventSettleNotify {
+ //enum KFGCNIPCNCN {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8036;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 galleryId = 5;
+ SalvagePreventSettleInfo settleInfo = 6;
+}
diff --git a/proto/SalvagePreventStopReason.proto b/proto/SalvagePreventStopReason.proto
new file mode 100644
index 00000000..4663845d
--- /dev/null
+++ b/proto/SalvagePreventStopReason.proto
@@ -0,0 +1,15 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+enum SalvagePreventStopReason {
+ SALVAGE_PREVENT_STOP_REASON_NONE = 0;
+ SALVAGE_PREVENT_STOP_REASON_SUCCESS = 1;
+ SALVAGE_PREVENT_STOP_REASON_ARRIVAL = 2;
+ SALVAGE_PREVENT_STOP_REASON_INTERRUPT = 3;
+ SALVAGE_PREVENT_STOP_REASON_LEAVE = 4;
+ SALVAGE_PREVENT_STOP_REASON_FULL = 5;
+ SALVAGE_PREVENT_STOP_REASON_AWAY = 6;
+}
diff --git a/proto/SalvageScoreChallengeInfo.proto b/proto/SalvageScoreChallengeInfo.proto
new file mode 100644
index 00000000..94499745
--- /dev/null
+++ b/proto/SalvageScoreChallengeInfo.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message SalvageScoreChallengeInfo {
+ uint32 oichdaoampp = 13;
+ uint32 maxScore = 4;
+}
diff --git a/proto/SaveCoopDialogReq.proto b/proto/SaveCoopDialogReq.proto
new file mode 100644
index 00000000..bb2343cf
--- /dev/null
+++ b/proto/SaveCoopDialogReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message SaveCoopDialogReq {
+ //enum ALFHBLGPEME {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 1998;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 Unk3300_AMKDDJEPAKM = 1;
+ uint32 Unk3300_KMBGNIICNAF = 6;
+}
diff --git a/proto/SaveCoopDialogRsp.proto b/proto/SaveCoopDialogRsp.proto
new file mode 100644
index 00000000..6907f897
--- /dev/null
+++ b/proto/SaveCoopDialogRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message SaveCoopDialogRsp {
+ //enum MOFHJJDAHPC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 1962;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 10;
+ uint32 Unk3300_KMBGNIICNAF = 2;
+ uint32 Unk3300_AMKDDJEPAKM = 14;
+}
diff --git a/proto/SaveCustomDungeonRoomReq.proto b/proto/SaveCustomDungeonRoomReq.proto
new file mode 100644
index 00000000..78d05dae
--- /dev/null
+++ b/proto/SaveCustomDungeonRoomReq.proto
@@ -0,0 +1,23 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "CustomDungeonSetting.proto";
+import "CustomDungeonRoom.proto";
+
+message SaveCustomDungeonRoomReq {
+ //enum GGFGKDOPBOK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 6246;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ CustomDungeonSetting setting = 14;
+ CustomDungeonRoom customDungeonRoom = 15;
+ bool isUpdateSetting = 3;
+}
diff --git a/proto/SaveCustomDungeonRoomRsp.proto b/proto/SaveCustomDungeonRoomRsp.proto
new file mode 100644
index 00000000..4f3b93b4
--- /dev/null
+++ b/proto/SaveCustomDungeonRoomRsp.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "CustomDungeonBlock.proto";
+
+message SaveCustomDungeonRoomRsp {
+ //enum PHPPAFEAGKG {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 6241;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated CustomDungeonBlock errorBlockList = 4;
+ int32 retcode = 8;
+ uint32 roomId = 9;
+}
diff --git a/proto/SaveMainCoopReq.proto b/proto/SaveMainCoopReq.proto
new file mode 100644
index 00000000..f0e40eed
--- /dev/null
+++ b/proto/SaveMainCoopReq.proto
@@ -0,0 +1,23 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message SaveMainCoopReq {
+ //enum BEKKPIAEBOF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 1996;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 id = 4;
+ map normalVarMap = 15;
+ uint32 savePointId = 13;
+ map tempVarMap = 10;
+ uint32 selfConfidence = 1;
+}
diff --git a/proto/SaveMainCoopRsp.proto b/proto/SaveMainCoopRsp.proto
new file mode 100644
index 00000000..ded89dbd
--- /dev/null
+++ b/proto/SaveMainCoopRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message SaveMainCoopRsp {
+ //enum HJIOLPBNFLN {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 1991;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated uint32 savePointIdList = 4;
+ int32 retcode = 10;
+ uint32 id = 9;
+}
diff --git a/proto/SaveUgcReq.proto b/proto/SaveUgcReq.proto
new file mode 100644
index 00000000..d5402138
--- /dev/null
+++ b/proto/SaveUgcReq.proto
@@ -0,0 +1,24 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "UgcType.proto";
+import "MusicRecord.proto";
+
+message SaveUgcReq {
+ //enum CLDBFNOIKJC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 6331;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ UgcType ugcType = 1;
+ oneof record {
+ MusicRecord music_record = 15;
+ }
+}
diff --git a/proto/SaveUgcRsp.proto b/proto/SaveUgcRsp.proto
new file mode 100644
index 00000000..e4150f3d
--- /dev/null
+++ b/proto/SaveUgcRsp.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "UgcType.proto";
+
+message SaveUgcRsp {
+ //enum CGOPFPIJLMN {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 6335;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 8;
+ uint64 ugcGuid = 12;
+ UgcType ugcType = 15;
+}
diff --git a/proto/SceneAudioNotify.proto b/proto/SceneAudioNotify.proto
new file mode 100644
index 00000000..c00a1480
--- /dev/null
+++ b/proto/SceneAudioNotify.proto
@@ -0,0 +1,23 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message SceneAudioNotify {
+ //enum KGDMCLELPAN {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 3132;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ int32 type = 14;
+ repeated string param3 = 12;
+ repeated float param2 = 4;
+ uint32 sourceUid = 5;
+ repeated uint32 param1 = 9;
+}
diff --git a/proto/SceneAvatarStaminaStepReq.proto b/proto/SceneAvatarStaminaStepReq.proto
new file mode 100644
index 00000000..c58303bf
--- /dev/null
+++ b/proto/SceneAvatarStaminaStepReq.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "Vector.proto";
+
+message SceneAvatarStaminaStepReq {
+ //enum KFGCHKJNBBC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 214;
+ // DCDNILFDFLB = 1;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ Vector rot = 4;
+ bool useClientRot = 9;
+}
diff --git a/proto/SceneAvatarStaminaStepRsp.proto b/proto/SceneAvatarStaminaStepRsp.proto
new file mode 100644
index 00000000..dcd448b6
--- /dev/null
+++ b/proto/SceneAvatarStaminaStepRsp.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "Vector.proto";
+
+message SceneAvatarStaminaStepRsp {
+ //enum MAIIJDEAFIH {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 224;
+ // DCDNILFDFLB = 1;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 8;
+ bool useClientRot = 3;
+ Vector rot = 6;
+}
diff --git a/proto/SceneCreateEntityReq.proto b/proto/SceneCreateEntityReq.proto
new file mode 100644
index 00000000..ec9e34ef
--- /dev/null
+++ b/proto/SceneCreateEntityReq.proto
@@ -0,0 +1,23 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "CreateEntityInfo.proto";
+import "CreateReason.proto";
+
+message SceneCreateEntityReq {
+ //enum MPFHGJCFEAF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 228;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ bool isDestroyWhenDisconnect = 13;
+ CreateEntityInfo entity = 9;
+ CreateReason reason = 1;
+}
diff --git a/proto/SceneCreateEntityRsp.proto b/proto/SceneCreateEntityRsp.proto
new file mode 100644
index 00000000..e03a1d56
--- /dev/null
+++ b/proto/SceneCreateEntityRsp.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "CreateEntityInfo.proto";
+
+message SceneCreateEntityRsp {
+ //enum MDAIMAJAHBL {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 273;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 entityId = 2;
+ CreateEntityInfo entity = 4;
+ int32 retcode = 1;
+}
diff --git a/proto/SceneDataNotify.proto b/proto/SceneDataNotify.proto
new file mode 100644
index 00000000..d1e3cf6c
--- /dev/null
+++ b/proto/SceneDataNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message SceneDataNotify {
+ //enum CBEIJHHHJEA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 3295;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated string levelConfigNameList = 6;
+ repeated uint32 sceneTagIdList = 8;
+}
diff --git a/proto/SceneDestroyEntityReq.proto b/proto/SceneDestroyEntityReq.proto
new file mode 100644
index 00000000..96e2e72c
--- /dev/null
+++ b/proto/SceneDestroyEntityReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message SceneDestroyEntityReq {
+ //enum EKIFOOHOBCM {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 222;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 entityId = 9;
+}
diff --git a/proto/SceneDestroyEntityRsp.proto b/proto/SceneDestroyEntityRsp.proto
new file mode 100644
index 00000000..85e36078
--- /dev/null
+++ b/proto/SceneDestroyEntityRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message SceneDestroyEntityRsp {
+ //enum DECBCMPFAPJ {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 245;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 10;
+ uint32 entityId = 4;
+}
diff --git a/proto/SceneEntitiesMoveCombineNotify.proto b/proto/SceneEntitiesMoveCombineNotify.proto
new file mode 100644
index 00000000..58c5c994
--- /dev/null
+++ b/proto/SceneEntitiesMoveCombineNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "EntityMoveInfo.proto";
+
+message SceneEntitiesMoveCombineNotify {
+ //enum JACHFFDDKEI {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 3025;
+ // DCDNILFDFLB = 1;
+ // NNBKOLMPOEA = 0;
+ //}
+
+ repeated EntityMoveInfo entityMoveInfoList = 9;
+}
diff --git a/proto/SceneEntitiesMovesReq.proto b/proto/SceneEntitiesMovesReq.proto
new file mode 100644
index 00000000..bcef1014
--- /dev/null
+++ b/proto/SceneEntitiesMovesReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "EntityMoveInfo.proto";
+
+message SceneEntitiesMovesReq {
+ //enum KBGBPHDLNCF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 241;
+ // DCDNILFDFLB = 1;
+ // NNBKOLMPOEA = 0;
+ // EAJIABGAOCI = 1;
+ //}
+
+ repeated EntityMoveInfo entityMoveInfoList = 8;
+}
diff --git a/proto/SceneEntitiesMovesRsp.proto b/proto/SceneEntitiesMovesRsp.proto
new file mode 100644
index 00000000..7997cc27
--- /dev/null
+++ b/proto/SceneEntitiesMovesRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "EntityMoveFailInfo.proto";
+
+message SceneEntitiesMovesRsp {
+ //enum DNNOMKBNFGA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 293;
+ // DCDNILFDFLB = 1;
+ // NNBKOLMPOEA = 0;
+ //}
+
+ repeated EntityMoveFailInfo entityMoveFailInfoList = 5;
+}
diff --git a/proto/SceneEntityMoveReq.proto b/proto/SceneEntityMoveReq.proto
new file mode 100644
index 00000000..5a0bda9b
--- /dev/null
+++ b/proto/SceneEntityMoveReq.proto
@@ -0,0 +1,23 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "MotionInfo.proto";
+
+message SceneEntityMoveReq {
+ //enum AEAPJEKMADO {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 270;
+ // DCDNILFDFLB = 1;
+ // NNBKOLMPOEA = 0;
+ // EAJIABGAOCI = 1;
+ //}
+
+ MotionInfo motionInfo = 5;
+ uint32 reliableSeq = 3;
+ uint32 entityId = 1;
+ uint32 sceneTime = 14;
+}
diff --git a/proto/SceneEntityMoveRsp.proto b/proto/SceneEntityMoveRsp.proto
new file mode 100644
index 00000000..556f67c0
--- /dev/null
+++ b/proto/SceneEntityMoveRsp.proto
@@ -0,0 +1,23 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "MotionInfo.proto";
+
+message SceneEntityMoveRsp {
+ //enum IOHGOBCNHIK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 262;
+ // DCDNILFDFLB = 1;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 sceneTime = 4;
+ uint32 entityId = 10;
+ uint32 reliableSeq = 11;
+ int32 retcode = 15;
+ MotionInfo failMotion = 6;
+}
diff --git a/proto/SceneEntityUpdateNotify.proto b/proto/SceneEntityUpdateNotify.proto
new file mode 100644
index 00000000..88aa71e1
--- /dev/null
+++ b/proto/SceneEntityUpdateNotify.proto
@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "VisionType.proto";
+import "SceneEntityInfo.proto";
+
+message SceneEntityUpdateNotify {
+ //enum JGJBEEKIPIN {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 3388;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ VisionType appearType = 10;
+ uint32 param = 2;
+ repeated SceneEntityInfo entityList = 7;
+}
diff --git a/proto/SceneGalleryHomeSeekFurnitureInfo.proto b/proto/SceneGalleryHomeSeekFurnitureInfo.proto
deleted file mode 100644
index e5aca0db..00000000
--- a/proto/SceneGalleryHomeSeekFurnitureInfo.proto
+++ /dev/null
@@ -1,27 +0,0 @@
-// Proto has been converted from Sorapointa to Grasscutter format
-// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
-// Copyright (C) 2022 Sorapointa Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
-syntax = "proto3";
-
-option java_package = "emu.grasscutter.net.proto";
-
-message SceneGalleryHomeSeekFurnitureInfo {
- uint32 Unk3300_DAEEBIEAOMN = 3;
- uint32 Unk3300_ENKOGPIEHFD = 14;
- map player_score_map = 10;
- uint32 Unk3300_LGEAPLJCJFH = 12;
-}
diff --git a/proto/SceneGalleryInfo.proto b/proto/SceneGalleryInfo.proto
new file mode 100644
index 00000000..663977b2
--- /dev/null
+++ b/proto/SceneGalleryInfo.proto
@@ -0,0 +1,89 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "BalloonInfo.proto";
+import "FallInfo.proto";
+import "FlowerInfo.proto";
+import "BulletInfo.proto";
+import "BrokenFloorInfo.proto";
+import "HideAndSeekInfo.proto";
+import "BuoyantCombatInfo.proto";
+import "BounceConjuringInfo.proto";
+import "HandballInfo.proto";
+import "SumoInfo.proto";
+import "SalvagePreventInfo.proto";
+import "SalvageEscortInfo.proto";
+import "HomeBalloonInfo.proto";
+import "CrystalLinkInfo.proto";
+import "IrodoriMasterInfo.proto";
+import "LuminanceStoneChallengeInfo.proto";
+import "HomeSeekFurnitureInfo.proto";
+import "IslandPartyDownHillInfo.proto";
+import "SummerTimeV2BoatInfo.proto";
+import "IslandPartyRaftInfo.proto";
+import "IslandPartySailInfo.proto";
+import "InstableSprayInfo.proto";
+import "MuqadasPotionInfo.proto";
+import "TreasureSeelieInfo.proto";
+import "VintageHuntingInfo.proto";
+import "WindFieldInfo.proto";
+import "FungusFighterTrainingInfo.proto";
+import "EffigyChallengeInfo.proto";
+import "FungusFighterCaptureInfo.proto";
+import "CharAmusementInfo.proto";
+import "CoinCollectInfo.proto";
+import "TeamChainInfo.proto";
+import "DuelHeartInfo.proto";
+import "BoatMultiInfo.proto";
+import "GalleryStageType.proto";
+import "SceneGalleryProgressInfo.proto";
+
+message SceneGalleryInfo {
+ uint32 endTime = 15;
+ uint32 startTime = 5;
+ oneof info {
+ BalloonInfo balloon_info = 14;
+ FallInfo fall_info = 1;
+ FlowerInfo flower_info = 6;
+ BulletInfo bullet_info = 10;
+ BrokenFloorInfo broken_floor_info = 9;
+ HideAndSeekInfo hide_and_seek_info = 13;
+ BuoyantCombatInfo buoyant_combat_info = 461;
+ BounceConjuringInfo bounce_conjuring_info = 403;
+ HandballInfo handball_info = 1637;
+ SumoInfo sumo_info = 1000;
+ SalvagePreventInfo salvage_prevent_info = 521;
+ SalvageEscortInfo salvage_escort_info = 33;
+ HomeBalloonInfo home_balloon_info = 1858;
+ CrystalLinkInfo crystal_link_info = 177;
+ IrodoriMasterInfo irodori_master_info = 1317;
+ LuminanceStoneChallengeInfo luminance_stone_challenge_info = 401;
+ HomeSeekFurnitureInfo home_seek_furniture_info = 530;
+ IslandPartyDownHillInfo island_party_down_hill_info = 1026;
+ SummerTimeV2BoatInfo summer_time_v2boat_info = 1460;
+ IslandPartyRaftInfo island_party_raft_info = 294;
+ IslandPartySailInfo island_party_sail_info = 592;
+ InstableSprayInfo instable_spray_info = 127;
+ MuqadasPotionInfo muqadas_potion_info = 615;
+ TreasureSeelieInfo treasure_seelie_info = 1420;
+ VintageHuntingInfo vintage_hunting_info = 1361;
+ WindFieldInfo wind_field_info = 1448;
+ FungusFighterTrainingInfo fungus_fighter_training_info = 291;
+ EffigyChallengeInfo effigy_challenge_info = 290;
+ FungusFighterCaptureInfo fungus_fighter_capture_info = 1362;
+ CharAmusementInfo char_amusement_info = 1649;
+ CoinCollectInfo coin_collect_info = 963;
+ TeamChainInfo team_chain_info = 990;
+ DuelHeartInfo duel_heart_info = 789;
+ BoatMultiInfo boat_multi_info = 1222;
+ }
+ GalleryStageType stage = 2;
+ uint32 ownerUid = 7;
+ uint32 galleryId = 3;
+ uint32 preStartEndTime = 8;
+ uint32 playerCount = 11;
+ repeated SceneGalleryProgressInfo progressInfoList = 12;
+}
diff --git a/proto/SceneGalleryInfoNotify.proto b/proto/SceneGalleryInfoNotify.proto
new file mode 100644
index 00000000..5fedd209
--- /dev/null
+++ b/proto/SceneGalleryInfoNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "SceneGalleryInfo.proto";
+
+message SceneGalleryInfoNotify {
+ //enum KHBMFBHDECI {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5513;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ SceneGalleryInfo galleryInfo = 7;
+}
diff --git a/proto/SceneGalleryProgressInfo.proto b/proto/SceneGalleryProgressInfo.proto
new file mode 100644
index 00000000..a1552802
--- /dev/null
+++ b/proto/SceneGalleryProgressInfo.proto
@@ -0,0 +1,13 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message SceneGalleryProgressInfo {
+ repeated uint32 progressStageList = 8;
+ string key = 1;
+ uint32 progress = 13;
+ uint32 uiForm = 2;
+}
diff --git a/proto/SceneGalleryVintageHuntingSettleNotify.proto b/proto/SceneGalleryVintageHuntingSettleNotify.proto
new file mode 100644
index 00000000..5ea208a7
--- /dev/null
+++ b/proto/SceneGalleryVintageHuntingSettleNotify.proto
@@ -0,0 +1,30 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "FirstStageInfo.proto";
+import "SecondStageInfo.proto";
+import "ThirdStageInfo.proto";
+
+message SceneGalleryVintageHuntingSettleNotify {
+ //enum MPFAKBDJLDA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 21852;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ bool hasNewWatcher = 1;
+ uint32 stageId = 2;
+ uint32 Unk3300_KOAKHMLFPGM = 9;
+ bool isNewRecord = 6;
+ uint32 Unk3300_EHGDIKOGLKL = 5;
+ oneof info {
+ FirstStageInfo first_stage_info = 15;
+ SecondStageInfo second_stage_info = 8;
+ ThirdStageInfo third_stage_info = 4;
+ }
+}
diff --git a/proto/SceneInitFinishReq.proto b/proto/SceneInitFinishReq.proto
new file mode 100644
index 00000000..96a63752
--- /dev/null
+++ b/proto/SceneInitFinishReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message SceneInitFinishReq {
+ //enum GHHNPOILHNM {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 298;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 enterSceneToken = 10;
+}
diff --git a/proto/SceneKickPlayerNotify.proto b/proto/SceneKickPlayerNotify.proto
new file mode 100644
index 00000000..dcbbb107
--- /dev/null
+++ b/proto/SceneKickPlayerNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message SceneKickPlayerNotify {
+ //enum COJLAMJEPEM {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 282;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 kickerUid = 8;
+ uint32 targetUid = 15;
+}
diff --git a/proto/ScenePlayBattleInfo.proto b/proto/ScenePlayBattleInfo.proto
new file mode 100644
index 00000000..ee559c0e
--- /dev/null
+++ b/proto/ScenePlayBattleInfo.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ScenePlayBattleInfo {
+ uint32 prepareEndTime = 11;
+ uint32 type = 1;
+ uint32 mode = 8;
+ uint32 progress = 6;
+ uint32 startTime = 15;
+ uint32 playType = 14;
+ uint32 duration = 2;
+ repeated uint32 progressStageList = 9;
+ uint32 state = 4;
+ uint32 playId = 10;
+}
diff --git a/proto/ScenePlayBattleInfoListNotify.proto b/proto/ScenePlayBattleInfoListNotify.proto
new file mode 100644
index 00000000..dbd4649a
--- /dev/null
+++ b/proto/ScenePlayBattleInfoListNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ScenePlayBattleInfo.proto";
+
+message ScenePlayBattleInfoListNotify {
+ //enum DNCCKICNIPN {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4363;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated ScenePlayBattleInfo battleInfoList = 13;
+}
diff --git a/proto/ScenePlayBattleInfoNotify.proto b/proto/ScenePlayBattleInfoNotify.proto
new file mode 100644
index 00000000..90e90c14
--- /dev/null
+++ b/proto/ScenePlayBattleInfoNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ScenePlayBattleInfo.proto";
+
+message ScenePlayBattleInfoNotify {
+ //enum FKEPBKKIGPP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4355;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ ScenePlayBattleInfo battleInfo = 3;
+}
diff --git a/proto/ScenePlayBattleInterruptNotify.proto b/proto/ScenePlayBattleInterruptNotify.proto
new file mode 100644
index 00000000..b089c161
--- /dev/null
+++ b/proto/ScenePlayBattleInterruptNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ScenePlayBattleInterruptNotify {
+ //enum ECOKOFIAKGO {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4379;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 playType = 4;
+ uint32 interruptState = 12;
+ uint32 playId = 14;
+}
diff --git a/proto/ScenePlayBattleResultNotify.proto b/proto/ScenePlayBattleResultNotify.proto
new file mode 100644
index 00000000..ac3c4d88
--- /dev/null
+++ b/proto/ScenePlayBattleResultNotify.proto
@@ -0,0 +1,25 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ScenePlayBattleSettleRewardInfo.proto";
+import "ScenePlayBattleSettlePlayerInfo.proto";
+
+message ScenePlayBattleResultNotify {
+ //enum CJACBKLILNN {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4428;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated ScenePlayBattleSettleRewardInfo settleRewardInfoList = 9;
+ uint32 playId = 2;
+ repeated ScenePlayBattleSettlePlayerInfo settlePlayerInfoList = 4;
+ uint32 costTime = 8;
+ uint32 playType = 13;
+ bool isWin = 12;
+}
diff --git a/proto/ScenePlayBattleSettlePlayerInfo.proto b/proto/ScenePlayBattleSettlePlayerInfo.proto
new file mode 100644
index 00000000..dfb9d22f
--- /dev/null
+++ b/proto/ScenePlayBattleSettlePlayerInfo.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ProfilePicture.proto";
+import "ExhibitionDisplayInfo.proto";
+
+message ScenePlayBattleSettlePlayerInfo {
+ string nickname = 9;
+ string onlineId = 11;
+ uint32 statisticId = 3;
+ repeated ExhibitionDisplayInfo cardList = 1;
+ uint32 uid = 6;
+ ProfilePicture profilePicture = 13;
+ uint32 headImage = 4;
+ int64 param = 12;
+}
diff --git a/proto/ScenePlayBattleSettleRewardInfo.proto b/proto/ScenePlayBattleSettleRewardInfo.proto
new file mode 100644
index 00000000..1b838a4d
--- /dev/null
+++ b/proto/ScenePlayBattleSettleRewardInfo.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ItemParam.proto";
+
+message ScenePlayBattleSettleRewardInfo {
+ uint32 uid = 8;
+ repeated ItemParam rewardItemList = 5;
+}
diff --git a/proto/ScenePlayBattleUidOpNotify.proto b/proto/ScenePlayBattleUidOpNotify.proto
new file mode 100644
index 00000000..a12556bb
--- /dev/null
+++ b/proto/ScenePlayBattleUidOpNotify.proto
@@ -0,0 +1,27 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ScenePlayBattleUidOpNotify {
+ //enum BNPMGOGKBNK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4366;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 entityId = 4;
+ uint32 paramIndex = 7;
+ repeated uint32 paramTargetList = 9;
+ repeated uint32 uidList = 1;
+ uint32 playId = 11;
+ repeated uint32 paramList = 2;
+ uint32 playType = 5;
+ uint32 op = 13;
+ string paramStr = 12;
+ uint32 paramDuration = 8;
+}
diff --git a/proto/ScenePlayGuestReplyInviteReq.proto b/proto/ScenePlayGuestReplyInviteReq.proto
new file mode 100644
index 00000000..7d3fb89b
--- /dev/null
+++ b/proto/ScenePlayGuestReplyInviteReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ScenePlayGuestReplyInviteReq {
+ //enum FCILALKLJLJ {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4430;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 playId = 9;
+ bool isAgree = 1;
+}
diff --git a/proto/ScenePlayGuestReplyInviteRsp.proto b/proto/ScenePlayGuestReplyInviteRsp.proto
new file mode 100644
index 00000000..89e8f32d
--- /dev/null
+++ b/proto/ScenePlayGuestReplyInviteRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ScenePlayGuestReplyInviteRsp {
+ //enum BPHMAFINOKN {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4420;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ bool isAgree = 1;
+ int32 retcode = 7;
+ uint32 playId = 6;
+}
diff --git a/proto/ScenePlayGuestReplyNotify.proto b/proto/ScenePlayGuestReplyNotify.proto
new file mode 100644
index 00000000..3eee6572
--- /dev/null
+++ b/proto/ScenePlayGuestReplyNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ScenePlayGuestReplyNotify {
+ //enum GBDFLIFJGLH {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4412;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 guestUid = 15;
+ uint32 playId = 12;
+ bool isAgree = 10;
+}
diff --git a/proto/ScenePlayInfo.proto b/proto/ScenePlayInfo.proto
new file mode 100644
index 00000000..6da89285
--- /dev/null
+++ b/proto/ScenePlayInfo.proto
@@ -0,0 +1,13 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ScenePlayInfo {
+ uint32 entryId = 1;
+ uint32 playId = 8;
+ bool isOpen = 2;
+ uint32 playType = 12;
+}
diff --git a/proto/ScenePlayInfoListNotify.proto b/proto/ScenePlayInfoListNotify.proto
new file mode 100644
index 00000000..de8142f4
--- /dev/null
+++ b/proto/ScenePlayInfoListNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ScenePlayInfo.proto";
+
+message ScenePlayInfoListNotify {
+ //enum KEJFJAJHFKM {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4374;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated ScenePlayInfo playInfoList = 9;
+}
diff --git a/proto/ScenePlayInviteResultNotify.proto b/proto/ScenePlayInviteResultNotify.proto
new file mode 100644
index 00000000..b3f7c51d
--- /dev/null
+++ b/proto/ScenePlayInviteResultNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ScenePlayInviteResultNotify {
+ //enum LPKLIONOBLC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4364;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 playId = 10;
+ bool isAllAgree = 4;
+}
diff --git a/proto/ScenePlayOutofRegionNotify.proto b/proto/ScenePlayOutofRegionNotify.proto
new file mode 100644
index 00000000..1a35a7e2
--- /dev/null
+++ b/proto/ScenePlayOutofRegionNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ScenePlayOutofRegionNotify {
+ //enum AHNKMFIMMDH {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4419;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 playId = 5;
+}
diff --git a/proto/ScenePlayOwnerCheckReq.proto b/proto/ScenePlayOwnerCheckReq.proto
new file mode 100644
index 00000000..117c7316
--- /dev/null
+++ b/proto/ScenePlayOwnerCheckReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ScenePlayOwnerCheckReq {
+ //enum CCDIKJCJFKC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4405;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 playId = 13;
+ bool isSkipMatch = 8;
+}
diff --git a/proto/ScenePlayOwnerCheckRsp.proto b/proto/ScenePlayOwnerCheckRsp.proto
new file mode 100644
index 00000000..bb710228
--- /dev/null
+++ b/proto/ScenePlayOwnerCheckRsp.proto
@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ScenePlayOwnerCheckRsp {
+ //enum LFJEPKAIKOD {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4437;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 5;
+ repeated uint32 paramList = 14;
+ bool isSkipMatch = 7;
+ uint32 playId = 8;
+ uint32 wrongUid = 6;
+}
diff --git a/proto/ScenePlayOwnerInviteNotify.proto b/proto/ScenePlayOwnerInviteNotify.proto
new file mode 100644
index 00000000..3c1cf86c
--- /dev/null
+++ b/proto/ScenePlayOwnerInviteNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ScenePlayOwnerInviteNotify {
+ //enum CGBPMCDEPAA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4424;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ bool isRemainReward = 13;
+ uint32 inviteCd = 3;
+ uint32 playId = 10;
+}
diff --git a/proto/ScenePlayOwnerStartInviteReq.proto b/proto/ScenePlayOwnerStartInviteReq.proto
new file mode 100644
index 00000000..10e55903
--- /dev/null
+++ b/proto/ScenePlayOwnerStartInviteReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ScenePlayOwnerStartInviteReq {
+ //enum PCLABBOFBHB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4448;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ bool isSkipMatch = 11;
+ uint32 playId = 7;
+}
diff --git a/proto/ScenePlayOwnerStartInviteRsp.proto b/proto/ScenePlayOwnerStartInviteRsp.proto
new file mode 100644
index 00000000..69425c69
--- /dev/null
+++ b/proto/ScenePlayOwnerStartInviteRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ScenePlayOwnerStartInviteRsp {
+ //enum LIEFCLIHNHA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4370;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 8;
+ uint32 playId = 7;
+ bool isSkipMatch = 11;
+}
diff --git a/proto/ScenePlayerBackgroundAvatarRefreshNotify.proto b/proto/ScenePlayerBackgroundAvatarRefreshNotify.proto
new file mode 100644
index 00000000..02a9236f
--- /dev/null
+++ b/proto/ScenePlayerBackgroundAvatarRefreshNotify.proto
@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "VisionType.proto";
+import "SceneEntityInfo.proto";
+
+message ScenePlayerBackgroundAvatarRefreshNotify {
+ //enum ABMJKMHPLAD {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 3464;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 param = 1;
+ repeated SceneEntityInfo entityList = 14;
+ VisionType appearType = 2;
+}
diff --git a/proto/ScenePlayerSoundNotify.proto b/proto/ScenePlayerSoundNotify.proto
new file mode 100644
index 00000000..d976c7ba
--- /dev/null
+++ b/proto/ScenePlayerSoundNotify.proto
@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "Vector.proto";
+import "PlaySoundType.proto";
+
+message ScenePlayerSoundNotify {
+ //enum IMHOJGHBFGB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 291;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ string soundName = 11;
+ Vector playPos = 6;
+ PlaySoundType playType = 10;
+}
diff --git a/proto/SceneSurfaceMaterial.proto b/proto/SceneSurfaceMaterial.proto
deleted file mode 100644
index 20240aea..00000000
--- a/proto/SceneSurfaceMaterial.proto
+++ /dev/null
@@ -1,31 +0,0 @@
-// Proto has been converted from Sorapointa to Grasscutter format
-// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
-// Copyright (C) 2022 Sorapointa Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
-syntax = "proto3";
-
-option java_package = "emu.grasscutter.net.proto";
-
-enum SceneSurfaceMaterial {
- SCENE_SURFACE_MATERIAL_INVALID = 0;
- SCENE_SURFACE_MATERIAL_GRASS = 1;
- SCENE_SURFACE_MATERIAL_DIRT = 2;
- SCENE_SURFACE_MATERIAL_ROCK = 3;
- SCENE_SURFACE_MATERIAL_SNOW = 4;
- SCENE_SURFACE_MATERIAL_WATER = 5;
- SCENE_SURFACE_MATERIAL_TILE = 6;
- SCENE_SURFACE_MATERIAL_SAND = 7;
-}
diff --git a/proto/SceneWeatherForcastReq.proto b/proto/SceneWeatherForcastReq.proto
new file mode 100644
index 00000000..ef5aa82d
--- /dev/null
+++ b/proto/SceneWeatherForcastReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message SceneWeatherForcastReq {
+ //enum AHMIFOEHDDO {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 3406;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 weatherAreaId = 1;
+}
diff --git a/proto/SceneWeatherForcastRsp.proto b/proto/SceneWeatherForcastRsp.proto
new file mode 100644
index 00000000..ff23023b
--- /dev/null
+++ b/proto/SceneWeatherForcastRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message SceneWeatherForcastRsp {
+ //enum EACGICPLMMH {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 3500;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated uint32 oefhbiaidaa = 13;
+ uint64 kcclfhokmpp = 10;
+ int32 retcode = 4;
+}
diff --git a/proto/SeaLampCoinNotify.proto b/proto/SeaLampCoinNotify.proto
new file mode 100644
index 00000000..7a060779
--- /dev/null
+++ b/proto/SeaLampCoinNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message SeaLampCoinNotify {
+ //enum CHFKEEOPMPA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2197;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 seaLampCoin = 6;
+}
diff --git a/proto/SeaLampFlyLampNotify.proto b/proto/SeaLampFlyLampNotify.proto
new file mode 100644
index 00000000..9115e761
--- /dev/null
+++ b/proto/SeaLampFlyLampNotify.proto
@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "Vector.proto";
+
+message SeaLampFlyLampNotify {
+ //enum CMJFJOJJKLN {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2014;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 itemNum = 7;
+ Vector pos = 5;
+ int32 param = 10;
+ uint32 itemId = 3;
+}
diff --git a/proto/SeaLampFlyLampReq.proto b/proto/SeaLampFlyLampReq.proto
new file mode 100644
index 00000000..b8e71fe1
--- /dev/null
+++ b/proto/SeaLampFlyLampReq.proto
@@ -0,0 +1,23 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "Vector.proto";
+
+message SeaLampFlyLampReq {
+ //enum MPIPICKJIGA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2193;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ Vector pos = 14;
+ uint32 itemId = 4;
+ uint32 itemNum = 1;
+ int32 param = 15;
+}
diff --git a/proto/SeaLampFlyLampRsp.proto b/proto/SeaLampFlyLampRsp.proto
new file mode 100644
index 00000000..16be9970
--- /dev/null
+++ b/proto/SeaLampFlyLampRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message SeaLampFlyLampRsp {
+ //enum AOFHNJCFDOM {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2127;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 itemNum = 13;
+ int32 retcode = 3;
+ uint32 itemId = 2;
+}
diff --git a/proto/SeaLampPopularityNotify.proto b/proto/SeaLampPopularityNotify.proto
new file mode 100644
index 00000000..3fa4a3b6
--- /dev/null
+++ b/proto/SeaLampPopularityNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message SeaLampPopularityNotify {
+ //enum HGEHKKLPMHA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2076;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 popularity = 2;
+}
diff --git a/proto/SeaLampTakeContributionRewardReq.proto b/proto/SeaLampTakeContributionRewardReq.proto
new file mode 100644
index 00000000..cf74a9ce
--- /dev/null
+++ b/proto/SeaLampTakeContributionRewardReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message SeaLampTakeContributionRewardReq {
+ //enum JHACAPOGFON {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2022;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 activityId = 12;
+ uint32 configId = 7;
+}
diff --git a/proto/SeaLampTakeContributionRewardRsp.proto b/proto/SeaLampTakeContributionRewardRsp.proto
new file mode 100644
index 00000000..0373dcb0
--- /dev/null
+++ b/proto/SeaLampTakeContributionRewardRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message SeaLampTakeContributionRewardRsp {
+ //enum JEMBIKJOJCG {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2101;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 13;
+ uint32 configId = 14;
+}
diff --git a/proto/SeaLampTakePhaseRewardReq.proto b/proto/SeaLampTakePhaseRewardReq.proto
new file mode 100644
index 00000000..15b5bfa6
--- /dev/null
+++ b/proto/SeaLampTakePhaseRewardReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message SeaLampTakePhaseRewardReq {
+ //enum OKJNDPGMFKH {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2119;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 activityId = 1;
+ uint32 phaseId = 4;
+}
diff --git a/proto/SeaLampTakePhaseRewardRsp.proto b/proto/SeaLampTakePhaseRewardRsp.proto
new file mode 100644
index 00000000..85e8630f
--- /dev/null
+++ b/proto/SeaLampTakePhaseRewardRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message SeaLampTakePhaseRewardRsp {
+ //enum LKCOHHHEHCF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2187;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 phaseId = 8;
+ int32 retcode = 3;
+}
diff --git a/proto/SealBattleBeginNotify.proto b/proto/SealBattleBeginNotify.proto
new file mode 100644
index 00000000..f21b6a96
--- /dev/null
+++ b/proto/SealBattleBeginNotify.proto
@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "SealBattleType.proto";
+
+message SealBattleBeginNotify {
+ //enum AOFHDLCECNH {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 261;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 sealRadius = 12;
+ uint32 sealMaxProgress = 2;
+ uint32 sealEntityId = 15;
+ SealBattleType battleType = 4;
+}
diff --git a/proto/SealBattleEndNotify.proto b/proto/SealBattleEndNotify.proto
new file mode 100644
index 00000000..8c274be7
--- /dev/null
+++ b/proto/SealBattleEndNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message SealBattleEndNotify {
+ //enum GLJNBKMHOJI {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 265;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 sealEntityId = 3;
+ bool isWin = 13;
+}
diff --git a/proto/SealBattleProgressNotify.proto b/proto/SealBattleProgressNotify.proto
new file mode 100644
index 00000000..dd02d3e7
--- /dev/null
+++ b/proto/SealBattleProgressNotify.proto
@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message SealBattleProgressNotify {
+ //enum POGEHCCIKLC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 226;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 maxProgress = 15;
+ uint32 sealRadius = 8;
+ uint32 progress = 4;
+ uint32 endTime = 14;
+ uint32 sealEntityId = 7;
+}
diff --git a/proto/SealBattleType.proto b/proto/SealBattleType.proto
new file mode 100644
index 00000000..ab57186a
--- /dev/null
+++ b/proto/SealBattleType.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+enum SealBattleType {
+ SEAL_BATTLE_TYPE_KEEP_ALIVE = 0;
+ SEAL_BATTLE_TYPE_KILL_MONSTER = 1;
+ SEAL_BATTLE_TYPE_ENERGY_CHARGE = 2;
+}
diff --git a/proto/SearchCustomDungeonReq.proto b/proto/SearchCustomDungeonReq.proto
new file mode 100644
index 00000000..adcd0888
--- /dev/null
+++ b/proto/SearchCustomDungeonReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message SearchCustomDungeonReq {
+ //enum BCCAOMNFMGM {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 6222;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ string dungeonCode = 12;
+}
diff --git a/proto/SearchCustomDungeonRsp.proto b/proto/SearchCustomDungeonRsp.proto
new file mode 100644
index 00000000..58530a81
--- /dev/null
+++ b/proto/SearchCustomDungeonRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "OtherCustomDungeonBrief.proto";
+
+message SearchCustomDungeonRsp {
+ //enum PBOGKMIAOKK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 6224;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ OtherCustomDungeonBrief customDungeonBrief = 6;
+ int32 retcode = 5;
+}
diff --git a/proto/SecondStageInfo.proto b/proto/SecondStageInfo.proto
new file mode 100644
index 00000000..31832e76
--- /dev/null
+++ b/proto/SecondStageInfo.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message SecondStageInfo {
+ map animalCountMap = 7;
+ uint32 totalNum = 14;
+ uint32 captureAnimalNum = 1;
+}
diff --git a/proto/SeeMonsterReq.proto b/proto/SeeMonsterReq.proto
new file mode 100644
index 00000000..b696f44c
--- /dev/null
+++ b/proto/SeeMonsterReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message SeeMonsterReq {
+ //enum ODFEGLOMANE {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 259;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 monsterId = 9;
+}
diff --git a/proto/SeeMonsterRsp.proto b/proto/SeeMonsterRsp.proto
new file mode 100644
index 00000000..82d4f4a6
--- /dev/null
+++ b/proto/SeeMonsterRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message SeeMonsterRsp {
+ //enum DIACHCHADNF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 249;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 3;
+}
diff --git a/proto/SegmentCRCInfo.proto b/proto/SegmentCRCInfo.proto
new file mode 100644
index 00000000..f5f28366
--- /dev/null
+++ b/proto/SegmentCRCInfo.proto
@@ -0,0 +1,14 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message SegmentCRCInfo {
+ int32 retcode = 10;
+ string crc = 12;
+ uint32 offset = 5;
+ uint32 module = 14;
+ uint32 size = 8;
+}
diff --git a/proto/SegmentInfo.proto b/proto/SegmentInfo.proto
new file mode 100644
index 00000000..0abba163
--- /dev/null
+++ b/proto/SegmentInfo.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message SegmentInfo {
+ uint32 size = 6;
+ uint32 offset = 9;
+ uint32 module = 12;
+}
diff --git a/proto/SelectAsterMidDifficultyReq.proto b/proto/SelectAsterMidDifficultyReq.proto
new file mode 100644
index 00000000..31f1c725
--- /dev/null
+++ b/proto/SelectAsterMidDifficultyReq.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message SelectAsterMidDifficultyReq {
+ //enum CJNECBCPBEH {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2128;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 gadgetEntityId = 7;
+ uint32 scheduleId = 2;
+ uint32 difficultyId = 14;
+}
diff --git a/proto/SelectAsterMidDifficultyRsp.proto b/proto/SelectAsterMidDifficultyRsp.proto
new file mode 100644
index 00000000..c399aada
--- /dev/null
+++ b/proto/SelectAsterMidDifficultyRsp.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message SelectAsterMidDifficultyRsp {
+ //enum IFGLHGKBJKN {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2139;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 gadgetEntityId = 11;
+ int32 retcode = 1;
+ uint32 difficultyId = 3;
+ uint32 scheduleId = 8;
+}
diff --git a/proto/SelectEffigyChallengeConditionReq.proto b/proto/SelectEffigyChallengeConditionReq.proto
new file mode 100644
index 00000000..587eaedc
--- /dev/null
+++ b/proto/SelectEffigyChallengeConditionReq.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message SelectEffigyChallengeConditionReq {
+ //enum GEBHGPMLGLG {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2115;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 difficultyId = 11;
+ uint32 challengeId = 2;
+ repeated uint32 conditionIdList = 3;
+}
diff --git a/proto/SelectEffigyChallengeConditionRsp.proto b/proto/SelectEffigyChallengeConditionRsp.proto
new file mode 100644
index 00000000..2d4c9798
--- /dev/null
+++ b/proto/SelectEffigyChallengeConditionRsp.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message SelectEffigyChallengeConditionRsp {
+ //enum GMDMNGELPBF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2068;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 12;
+ repeated uint32 conditionIdList = 1;
+ uint32 challengeId = 11;
+ uint32 difficultyId = 10;
+}
diff --git a/proto/SelectOnStage.proto b/proto/SelectOnStage.proto
new file mode 100644
index 00000000..dff1814b
--- /dev/null
+++ b/proto/SelectOnStage.proto
@@ -0,0 +1,13 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GCGReason.proto";
+
+message SelectOnStage {
+ GCGReason reason = 13;
+ uint32 cardGuid = 5;
+ uint32 controllerId = 2;
+}
diff --git a/proto/SelectOnStageByEffect.proto b/proto/SelectOnStageByEffect.proto
new file mode 100644
index 00000000..99036d46
--- /dev/null
+++ b/proto/SelectOnStageByEffect.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message SelectOnStageByEffect {
+ uint32 skillId = 4;
+ uint32 cardGuid = 2;
+ uint32 controllerId = 13;
+}
diff --git a/proto/SelectRoguelikeDungeonCardReq.proto b/proto/SelectRoguelikeDungeonCardReq.proto
new file mode 100644
index 00000000..547945f4
--- /dev/null
+++ b/proto/SelectRoguelikeDungeonCardReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message SelectRoguelikeDungeonCardReq {
+ //enum CKLMPMDMONH {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8572;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 cardId = 8;
+}
diff --git a/proto/SelectRoguelikeDungeonCardRsp.proto b/proto/SelectRoguelikeDungeonCardRsp.proto
new file mode 100644
index 00000000..c16a0e45
--- /dev/null
+++ b/proto/SelectRoguelikeDungeonCardRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message SelectRoguelikeDungeonCardRsp {
+ //enum BDPGDIKPFBO {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8445;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 13;
+ uint32 cardId = 4;
+}
diff --git a/proto/ServerCombatEndNotify.proto b/proto/ServerCombatEndNotify.proto
new file mode 100644
index 00000000..5d158c38
--- /dev/null
+++ b/proto/ServerCombatEndNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ServerCombatEndNotify {
+ //enum FFKFNGAOEHI {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 1169;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated uint32 combatEndTypeList = 15;
+}
diff --git a/proto/ServerDisconnectClientNotify.proto b/proto/ServerDisconnectClientNotify.proto
new file mode 100644
index 00000000..bcd081b9
--- /dev/null
+++ b/proto/ServerDisconnectClientNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ServerDisconnectClientNotify {
+ //enum GNJGNNEBAHE {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 160;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 data = 10;
+}
diff --git a/proto/ServerGlobalValueChangeNotify.proto b/proto/ServerGlobalValueChangeNotify.proto
index 4fc5599a..7d4efb86 100644
--- a/proto/ServerGlobalValueChangeNotify.proto
+++ b/proto/ServerGlobalValueChangeNotify.proto
@@ -1,7 +1,19 @@
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
+
+
+
message ServerGlobalValueChangeNotify {
+ //enum JPDJFOKAGBD {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 1116;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
float value = 10;
uint32 keyHash = 6;
uint32 entityId = 11;
diff --git a/proto/ServerLogLevel.proto b/proto/ServerLogLevel.proto
new file mode 100644
index 00000000..19376cb8
--- /dev/null
+++ b/proto/ServerLogLevel.proto
@@ -0,0 +1,13 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+enum ServerLogLevel {
+ SERVER_LOG_LEVEL_NONE = 0;
+ SERVER_LOG_LEVEL_DEBUG = 1;
+ SERVER_LOG_LEVEL_INFO = 2;
+ SERVER_LOG_LEVEL_WARNING = 3;
+ SERVER_LOG_LEVEL_ERROR = 4;
+}
diff --git a/proto/ServerLogNotify.proto b/proto/ServerLogNotify.proto
new file mode 100644
index 00000000..d03a5cd7
--- /dev/null
+++ b/proto/ServerLogNotify.proto
@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ServerLogLevel.proto";
+import "ServerLogType.proto";
+
+message ServerLogNotify {
+ //enum OGLOGLBDDLC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 24;
+ // DCDNILFDFLB = 1;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ string serverLog = 10;
+ ServerLogLevel logLevel = 15;
+ ServerLogType logType = 9;
+}
diff --git a/proto/ServerLogType.proto b/proto/ServerLogType.proto
new file mode 100644
index 00000000..6b41fd46
--- /dev/null
+++ b/proto/ServerLogType.proto
@@ -0,0 +1,13 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+enum ServerLogType {
+ SERVER_LOG_TYPE_NONE = 0;
+ SERVER_LOG_TYPE_ABILITY = 1;
+ SERVER_LOG_TYPE_LEVEL = 2;
+ SERVER_LOG_TYPE_ENTITY = 3;
+ SERVER_LOG_TYPE_LUA = 4;
+}
diff --git a/proto/ServerMassiveEntity.proto b/proto/ServerMassiveEntity.proto
new file mode 100644
index 00000000..13d967cf
--- /dev/null
+++ b/proto/ServerMassiveEntity.proto
@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "WaterInfo.proto";
+import "GrassInfo.proto";
+import "BoxInfo.proto";
+
+message ServerMassiveEntity {
+ uint32 entityType = 1;
+ uint32 configId = 2;
+ uint32 runtimeId = 3;
+ uint32 authorityPeerId = 4;
+ int64 objId = 5;
+ oneof entity_info {
+ WaterInfo water_info = 6;
+ GrassInfo grass_info = 7;
+ BoxInfo box_info = 8;
+ }
+}
diff --git a/proto/ServerMessageNotify.proto b/proto/ServerMessageNotify.proto
new file mode 100644
index 00000000..186058c3
--- /dev/null
+++ b/proto/ServerMessageNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ServerMessageNotify {
+ //enum EEGNCJDFCFM {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5745;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 index = 6;
+}
diff --git a/proto/ServerTryCancelGeneralMatchNotify.proto b/proto/ServerTryCancelGeneralMatchNotify.proto
new file mode 100644
index 00000000..898f3fbb
--- /dev/null
+++ b/proto/ServerTryCancelGeneralMatchNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ServerTryCancelGeneralMatchNotify {
+ //enum CFGNCGGAJNF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4165;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 matchId = 1;
+}
diff --git a/proto/ServerUpdateGlobalValueNotify.proto b/proto/ServerUpdateGlobalValueNotify.proto
new file mode 100644
index 00000000..9a31b2df
--- /dev/null
+++ b/proto/ServerUpdateGlobalValueNotify.proto
@@ -0,0 +1,23 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "UpdateType.proto";
+
+message ServerUpdateGlobalValueNotify {
+ //enum BCKNOBMAGJA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 1178;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ float value = 2;
+ UpdateType updateType = 8;
+ uint32 keyHash = 10;
+ uint32 entityId = 3;
+ float delta = 12;
+}
diff --git a/proto/SetCodexPushtipsReadReq.proto b/proto/SetCodexPushtipsReadReq.proto
new file mode 100644
index 00000000..8267c5d1
--- /dev/null
+++ b/proto/SetCodexPushtipsReadReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message SetCodexPushtipsReadReq {
+ //enum AJCLCJMELPF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4204;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 typeId = 10;
+ uint32 codexId = 2;
+}
diff --git a/proto/SetCodexPushtipsReadRsp.proto b/proto/SetCodexPushtipsReadRsp.proto
new file mode 100644
index 00000000..c6d3894c
--- /dev/null
+++ b/proto/SetCodexPushtipsReadRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message SetCodexPushtipsReadRsp {
+ //enum CLOBHCDJANA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4210;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 codexId = 14;
+ uint32 typeId = 4;
+ int32 retcode = 11;
+}
diff --git a/proto/SetCoopChapterViewedReq.proto b/proto/SetCoopChapterViewedReq.proto
new file mode 100644
index 00000000..eff23503
--- /dev/null
+++ b/proto/SetCoopChapterViewedReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message SetCoopChapterViewedReq {
+ //enum LNCBLKCCNLH {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 1974;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 chapterId = 1;
+}
diff --git a/proto/SetCoopChapterViewedRsp.proto b/proto/SetCoopChapterViewedRsp.proto
new file mode 100644
index 00000000..7500dfdb
--- /dev/null
+++ b/proto/SetCoopChapterViewedRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message SetCoopChapterViewedRsp {
+ //enum CGAKKBPECNI {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 1961;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 8;
+ uint32 chapterId = 9;
+}
diff --git a/proto/SetCurExpeditionChallengeIdReq.proto b/proto/SetCurExpeditionChallengeIdReq.proto
new file mode 100644
index 00000000..9bde0f64
--- /dev/null
+++ b/proto/SetCurExpeditionChallengeIdReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message SetCurExpeditionChallengeIdReq {
+ //enum FONEAKCIFKE {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2081;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 id = 6;
+}
diff --git a/proto/SetCurExpeditionChallengeIdRsp.proto b/proto/SetCurExpeditionChallengeIdRsp.proto
new file mode 100644
index 00000000..a6cb8eac
--- /dev/null
+++ b/proto/SetCurExpeditionChallengeIdRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message SetCurExpeditionChallengeIdRsp {
+ //enum EMEKHIDCEEP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2050;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 4;
+ uint32 id = 5;
+}
diff --git a/proto/SetFriendRemarkNameReq.proto b/proto/SetFriendRemarkNameReq.proto
new file mode 100644
index 00000000..3157b287
--- /dev/null
+++ b/proto/SetFriendRemarkNameReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message SetFriendRemarkNameReq {
+ //enum MDIEJHHFJDD {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4094;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 uid = 11;
+ string remarkName = 15;
+}
diff --git a/proto/SetFriendRemarkNameRsp.proto b/proto/SetFriendRemarkNameRsp.proto
new file mode 100644
index 00000000..65bdd1c5
--- /dev/null
+++ b/proto/SetFriendRemarkNameRsp.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message SetFriendRemarkNameRsp {
+ //enum NDICEJFAIGO {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4081;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ string remarkName = 12;
+ uint32 uid = 14;
+ bool isClearRemark = 6;
+ int32 retcode = 1;
+}
diff --git a/proto/SetH5ActivityRedDotTimestampReq.proto b/proto/SetH5ActivityRedDotTimestampReq.proto
new file mode 100644
index 00000000..e6bf02b1
--- /dev/null
+++ b/proto/SetH5ActivityRedDotTimestampReq.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message SetH5ActivityRedDotTimestampReq {
+ //enum OCMJAJJIFFG {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5691;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 clientRedDotTimestamp = 10;
+}
diff --git a/proto/SetH5ActivityRedDotTimestampRsp.proto b/proto/SetH5ActivityRedDotTimestampRsp.proto
new file mode 100644
index 00000000..8a750568
--- /dev/null
+++ b/proto/SetH5ActivityRedDotTimestampRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message SetH5ActivityRedDotTimestampRsp {
+ //enum AAGMAJAFGEE {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5669;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 4;
+}
diff --git a/proto/SetLimitOptimizationNotify.proto b/proto/SetLimitOptimizationNotify.proto
new file mode 100644
index 00000000..b44b8822
--- /dev/null
+++ b/proto/SetLimitOptimizationNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message SetLimitOptimizationNotify {
+ //enum NEIGJFHOBKP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8763;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ bool isActive = 10;
+}
diff --git a/proto/SetSceneWeatherAreaReq.proto b/proto/SetSceneWeatherAreaReq.proto
new file mode 100644
index 00000000..fe8acbab
--- /dev/null
+++ b/proto/SetSceneWeatherAreaReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message SetSceneWeatherAreaReq {
+ //enum LADCPIFMGCD {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 208;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 weatherGadgetId = 15;
+ map weatherValueMap = 6;
+}
diff --git a/proto/SetSceneWeatherAreaRsp.proto b/proto/SetSceneWeatherAreaRsp.proto
new file mode 100644
index 00000000..640c39b4
--- /dev/null
+++ b/proto/SetSceneWeatherAreaRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message SetSceneWeatherAreaRsp {
+ //enum HEKIMOLFFBE {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 266;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 1;
+}
diff --git a/proto/SettleReason.proto b/proto/SettleReason.proto
new file mode 100644
index 00000000..14a15787
--- /dev/null
+++ b/proto/SettleReason.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+enum SettleReason {
+ SETTLE_REASON_TIME_OUT = 0;
+ SETTLE_REASON_PLAY_END = 1;
+ SETTLE_REASON_PLAYER_QUIT = 2;
+ SETTLE_REASON_LIFE_COUNT = 3;
+}
diff --git a/proto/ShapeBox.proto b/proto/ShapeBox.proto
new file mode 100644
index 00000000..cdc1f7f0
--- /dev/null
+++ b/proto/ShapeBox.proto
@@ -0,0 +1,15 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "Vector.proto";
+
+message ShapeBox {
+ Vector center = 1;
+ Vector axis0 = 2;
+ Vector axis1 = 3;
+ Vector axis2 = 4;
+ Vector extents = 5;
+}
diff --git a/proto/ShapeSphere.proto b/proto/ShapeSphere.proto
new file mode 100644
index 00000000..9b4ee4cf
--- /dev/null
+++ b/proto/ShapeSphere.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "Vector.proto";
+
+message ShapeSphere {
+ Vector center = 1;
+ float radius = 2;
+}
diff --git a/proto/ShapeType.proto b/proto/ShapeType.proto
new file mode 100644
index 00000000..d033f188
--- /dev/null
+++ b/proto/ShapeType.proto
@@ -0,0 +1,10 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+enum ShapeType {
+ SHAPE_TYPE_OBSTACLE_SHAPE_CAPSULE = 0;
+ SHAPE_TYPE_OBSTACLE_SHAPE_BOX = 1;
+}
diff --git a/proto/ShareCDInfo.proto b/proto/ShareCDInfo.proto
new file mode 100644
index 00000000..54f16469
--- /dev/null
+++ b/proto/ShareCDInfo.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ShareCDInfo {
+ uint32 shareCdId = 13;
+ uint64 cdStartTime = 1;
+ uint32 index = 11;
+}
diff --git a/proto/ShellInfo.proto b/proto/ShellInfo.proto
new file mode 100644
index 00000000..2f186351
--- /dev/null
+++ b/proto/ShellInfo.proto
@@ -0,0 +1,10 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ShellInfo {
+ uint32 shellId = 1;
+}
diff --git a/proto/ShopGoodsDisableType.proto b/proto/ShopGoodsDisableType.proto
deleted file mode 100644
index 9abf34a2..00000000
--- a/proto/ShopGoodsDisableType.proto
+++ /dev/null
@@ -1,11 +0,0 @@
-// Proto has been converted from Sorapointa to Grasscutter format
-syntax = "proto3";
-
-option java_package = "emu.grasscutter.net.proto";
-
-enum ShopGoodsDisableType {
- SHOP_GOODS_DISABLE_NONE = 0;
- SHOP_GOODS_DISABLE_TALENT_FULL = 1;
- SHOP_GOODS_DISABLE_FURNITURE_FORMULA_UNLOCKED = 2;
- SHOP_GOODS_DISABLE_COSTUME_UNLOCKED = 3;
-}
diff --git a/proto/ShowClientGuideNotify.proto b/proto/ShowClientGuideNotify.proto
new file mode 100644
index 00000000..4e1ef312
--- /dev/null
+++ b/proto/ShowClientGuideNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ShowClientGuideNotify {
+ //enum DPOCHDNDKJJ {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 3054;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ string guideName = 2;
+}
diff --git a/proto/ShowClientTutorialNotify.proto b/proto/ShowClientTutorialNotify.proto
new file mode 100644
index 00000000..d86465cd
--- /dev/null
+++ b/proto/ShowClientTutorialNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ShowClientTutorialNotify {
+ //enum IBDBHMBECIO {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 3381;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 tutorialId = 10;
+}
diff --git a/proto/ShowCommonTipsNotify.proto b/proto/ShowCommonTipsNotify.proto
new file mode 100644
index 00000000..ec3305c2
--- /dev/null
+++ b/proto/ShowCommonTipsNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ShowCommonTipsNotify {
+ //enum IMHAJDKCICI {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 3048;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ string content = 4;
+ uint32 closeTime = 7;
+ string title = 8;
+}
diff --git a/proto/ShowMessageNotify.proto b/proto/ShowMessageNotify.proto
new file mode 100644
index 00000000..f113ff29
--- /dev/null
+++ b/proto/ShowMessageNotify.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "SvrMsgId.proto";
+import "MsgParam.proto";
+
+message ShowMessageNotify {
+ //enum PCBPNBCPLNI {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 98;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ SvrMsgId msgId = 7;
+ repeated MsgParam params = 5;
+}
diff --git a/proto/ShowTemplateReminderNotify.proto b/proto/ShowTemplateReminderNotify.proto
new file mode 100644
index 00000000..5ebfde80
--- /dev/null
+++ b/proto/ShowTemplateReminderNotify.proto
@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ShowTemplateReminderNotify {
+ //enum EEFICIPGAAG {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 3353;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ bool Unk3300_AENIIBBBPJC = 13;
+ bool Unk3300_LABCNBEGCED = 11;
+ repeated uint32 paramUidList = 6;
+ repeated int32 paramList = 12;
+ uint32 templateReminderId = 9;
+}
diff --git a/proto/SignInData.proto b/proto/SignInData.proto
new file mode 100644
index 00000000..829040e3
--- /dev/null
+++ b/proto/SignInData.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ItemParam.proto";
+
+message SignInData {
+ uint32 dayCount = 3;
+ repeated ItemParam rewardItemList = 1;
+}
diff --git a/proto/SignInInfo.proto b/proto/SignInInfo.proto
new file mode 100644
index 00000000..00a0b8ff
--- /dev/null
+++ b/proto/SignInInfo.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "SignInData.proto";
+
+message SignInInfo {
+ uint32 configId = 2;
+ uint32 Unk3300_MNJELIDKMCF = 5;
+ bool isCondSatisfied = 13;
+ repeated uint32 rewardDayList = 7;
+ uint32 Unk3300_NFNOKBNBLGE = 4;
+ uint32 endTime = 12;
+ repeated SignInData signinDataList = 14;
+ uint32 scheduleId = 1;
+ uint32 beginTime = 8;
+}
diff --git a/proto/SignInInfoReq.proto b/proto/SignInInfoReq.proto
new file mode 100644
index 00000000..d85741fb
--- /dev/null
+++ b/proto/SignInInfoReq.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message SignInInfoReq {
+ //enum FEGIKAHGBGM {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2587;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+}
diff --git a/proto/SignInInfoRsp.proto b/proto/SignInInfoRsp.proto
new file mode 100644
index 00000000..7e97f988
--- /dev/null
+++ b/proto/SignInInfoRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "SignInInfo.proto";
+
+message SignInInfoRsp {
+ //enum BOPHKAAJNDB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2598;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 15;
+ repeated SignInInfo signInInfoList = 1;
+}
diff --git a/proto/SignatureAuditConfigNotify.proto b/proto/SignatureAuditConfigNotify.proto
new file mode 100644
index 00000000..753a200e
--- /dev/null
+++ b/proto/SignatureAuditConfigNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message SignatureAuditConfigNotify {
+ //enum MKEDLIDAHNF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4034;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ bool isOpen = 11;
+ uint32 submitLimit = 13;
+}
diff --git a/proto/SingleRestartBrickBreakerReq.proto b/proto/SingleRestartBrickBreakerReq.proto
new file mode 100644
index 00000000..3c97bb38
--- /dev/null
+++ b/proto/SingleRestartBrickBreakerReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message SingleRestartBrickBreakerReq {
+ //enum GOKOHKEIIJE {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 23113;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 levelId = 2;
+ bool isDungeon = 14;
+}
diff --git a/proto/SingleRestartBrickBreakerRsp.proto b/proto/SingleRestartBrickBreakerRsp.proto
new file mode 100644
index 00000000..7487242c
--- /dev/null
+++ b/proto/SingleRestartBrickBreakerRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message SingleRestartBrickBreakerRsp {
+ //enum KBGKBIPOJLC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 22641;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ bool isDungeon = 4;
+ int32 retcode = 6;
+ uint32 levelId = 10;
+}
diff --git a/proto/SingleStartBrickBreakerReq.proto b/proto/SingleStartBrickBreakerReq.proto
new file mode 100644
index 00000000..0dac211a
--- /dev/null
+++ b/proto/SingleStartBrickBreakerReq.proto
@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message SingleStartBrickBreakerReq {
+ //enum FOGKEKLDMHI {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 23861;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 levelId = 1;
+ bool isDungeon = 15;
+ repeated uint32 chosenSkillList = 12;
+ repeated uint32 chosenAvatarList = 10;
+}
diff --git a/proto/SingleStartBrickBreakerRsp.proto b/proto/SingleStartBrickBreakerRsp.proto
new file mode 100644
index 00000000..a4c5722b
--- /dev/null
+++ b/proto/SingleStartBrickBreakerRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message SingleStartBrickBreakerRsp {
+ //enum BIHKAFCIBLF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 23349;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ bool isDungeon = 15;
+ uint32 levelId = 11;
+ int32 retcode = 3;
+}
diff --git a/proto/SkillLimitsChange.proto b/proto/SkillLimitsChange.proto
new file mode 100644
index 00000000..2112ff91
--- /dev/null
+++ b/proto/SkillLimitsChange.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GCGCardSkillLimitsInfo.proto";
+
+message SkillLimitsChange {
+ map cardLimitsChangeMap = 13;
+}
diff --git a/proto/SkillRequest.proto b/proto/SkillRequest.proto
new file mode 100644
index 00000000..216ef039
--- /dev/null
+++ b/proto/SkillRequest.proto
@@ -0,0 +1,10 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message SkillRequest {
+ uint32 skillDepotId = 9;
+}
diff --git a/proto/SkillResponse.proto b/proto/SkillResponse.proto
new file mode 100644
index 00000000..4a30faaa
--- /dev/null
+++ b/proto/SkillResponse.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message SkillResponse {
+ repeated uint32 skillIdList = 8;
+ uint32 skillDepotId = 12;
+}
diff --git a/proto/SkillResult.proto b/proto/SkillResult.proto
new file mode 100644
index 00000000..72de574d
--- /dev/null
+++ b/proto/SkillResult.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GCGDamageDetail.proto";
+
+message SkillResult {
+ uint32 Unk3300_NNJAOEHNPPD = 15;
+ uint32 Unk3300_EPNDCIAJOJP = 2;
+ uint32 ahkoidfnbgc = 3;
+ uint32 targetCardGuid = 7;
+ uint32 Unk3300_NIGDCIGLAKE = 1;
+ uint32 Unk3300_PDBAGJINFPF = 13;
+ uint32 npllnhifdoo = 6;
+ repeated GCGDamageDetail detailList = 12;
+ uint32 damage = 11;
+ uint32 skillId = 4;
+ uint32 Unk3300_LPGLOCDDPCL = 14;
+}
diff --git a/proto/SkyCrystalDetectorDataUpdateNotify.proto b/proto/SkyCrystalDetectorDataUpdateNotify.proto
new file mode 100644
index 00000000..eb432699
--- /dev/null
+++ b/proto/SkyCrystalDetectorDataUpdateNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "SkyCrystalDetectorData.proto";
+
+message SkyCrystalDetectorDataUpdateNotify {
+ //enum GGDPCBGCNAA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4265;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ SkyCrystalDetectorData skyCrystalDetectorData = 12;
+}
diff --git a/proto/SocialDataNotify.proto b/proto/SocialDataNotify.proto
new file mode 100644
index 00000000..2b0df955
--- /dev/null
+++ b/proto/SocialDataNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message SocialDataNotify {
+ //enum EAOOKDIIEMB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4050;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ bool isHaveFirstShare = 9;
+}
diff --git a/proto/SpiceActivityFinishMakeSpiceReq.proto b/proto/SpiceActivityFinishMakeSpiceReq.proto
new file mode 100644
index 00000000..bfebefda
--- /dev/null
+++ b/proto/SpiceActivityFinishMakeSpiceReq.proto
@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message SpiceActivityFinishMakeSpiceReq {
+ //enum OEMEEINOPDP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8744;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 stageId = 9;
+ bool isSuccess = 12;
+ repeated uint32 leftMaterialIdList = 1;
+ uint32 leftTurns = 4;
+}
diff --git a/proto/SpiceActivityFinishMakeSpiceRsp.proto b/proto/SpiceActivityFinishMakeSpiceRsp.proto
new file mode 100644
index 00000000..8a898229
--- /dev/null
+++ b/proto/SpiceActivityFinishMakeSpiceRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message SpiceActivityFinishMakeSpiceRsp {
+ //enum NAAFOEEFFKF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8964;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 2;
+ bool isSuccess = 4;
+ uint32 stageId = 1;
+}
diff --git a/proto/SpiceActivityGivingRecordNotify.proto b/proto/SpiceActivityGivingRecordNotify.proto
new file mode 100644
index 00000000..ee2f1952
--- /dev/null
+++ b/proto/SpiceActivityGivingRecordNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message SpiceActivityGivingRecordNotify {
+ //enum ALEEMLGBKPO {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8085;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 Unk3300_LAKPMMIPBMI = 3;
+ uint32 avatarId = 8;
+ uint32 Unk3300_CIHIAJEGCBO = 4;
+}
diff --git a/proto/SpiceActivityProcessFoodReq.proto b/proto/SpiceActivityProcessFoodReq.proto
new file mode 100644
index 00000000..7fb9c6a9
--- /dev/null
+++ b/proto/SpiceActivityProcessFoodReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ItemParam.proto";
+
+message SpiceActivityProcessFoodReq {
+ //enum INEBOGDIEKB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8357;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ repeated ItemParam normalFoodList = 7;
+}
diff --git a/proto/SpiceActivityProcessFoodRsp.proto b/proto/SpiceActivityProcessFoodRsp.proto
new file mode 100644
index 00000000..09350fa6
--- /dev/null
+++ b/proto/SpiceActivityProcessFoodRsp.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ItemParam.proto";
+
+message SpiceActivityProcessFoodRsp {
+ //enum MLCNGHLKOJC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8845;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated ItemParam specialFoodList = 13;
+ repeated ItemParam normalFoodList = 10;
+ int32 retcode = 7;
+}
diff --git a/proto/SpringUseReq.proto b/proto/SpringUseReq.proto
new file mode 100644
index 00000000..d5ccfc24
--- /dev/null
+++ b/proto/SpringUseReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message SpringUseReq {
+ //enum CBBOOFGKBJK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 1731;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint64 guid = 1;
+}
diff --git a/proto/SpringUseRsp.proto b/proto/SpringUseRsp.proto
new file mode 100644
index 00000000..927fcbde
--- /dev/null
+++ b/proto/SpringUseRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message SpringUseRsp {
+ //enum FDNEDNDIFNK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 1677;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint64 guid = 13;
+ int32 retcode = 15;
+}
diff --git a/proto/StakePlayInfo.proto b/proto/StakePlayInfo.proto
new file mode 100644
index 00000000..9eed883c
--- /dev/null
+++ b/proto/StakePlayInfo.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "HomeStakePlayRecord.proto";
+
+message StakePlayInfo {
+ repeated HomeStakePlayRecord recordList = 14;
+}
diff --git a/proto/StartArenaChallengeLevelReq.proto b/proto/StartArenaChallengeLevelReq.proto
new file mode 100644
index 00000000..2a2cb846
--- /dev/null
+++ b/proto/StartArenaChallengeLevelReq.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message StartArenaChallengeLevelReq {
+ //enum HHMEINMCINI {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2033;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 Unk3300_FDFNFLAKONG = 4;
+ uint32 Unk3300_DBHAGHMMLAI = 5;
+ uint32 gadgetEntityId = 7;
+}
diff --git a/proto/StartArenaChallengeLevelRsp.proto b/proto/StartArenaChallengeLevelRsp.proto
new file mode 100644
index 00000000..a142ac1b
--- /dev/null
+++ b/proto/StartArenaChallengeLevelRsp.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message StartArenaChallengeLevelRsp {
+ //enum HEONOMCNHID {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2116;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 Unk3300_DBHAGHMMLAI = 1;
+ uint32 gadgetEntityId = 2;
+ int32 retcode = 6;
+ uint32 Unk3300_FDFNFLAKONG = 7;
+}
diff --git a/proto/StartBuoyantCombatGalleryReq.proto b/proto/StartBuoyantCombatGalleryReq.proto
new file mode 100644
index 00000000..62ed96ff
--- /dev/null
+++ b/proto/StartBuoyantCombatGalleryReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message StartBuoyantCombatGalleryReq {
+ //enum NKGKAHHPBDI {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8096;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 galleryId = 11;
+ uint32 galleryLevel = 7;
+}
diff --git a/proto/StartBuoyantCombatGalleryRsp.proto b/proto/StartBuoyantCombatGalleryRsp.proto
new file mode 100644
index 00000000..05a92b76
--- /dev/null
+++ b/proto/StartBuoyantCombatGalleryRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message StartBuoyantCombatGalleryRsp {
+ //enum JKEKAJMCABJ {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8895;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 10;
+ uint32 galleryLevel = 8;
+ uint32 galleryId = 7;
+}
diff --git a/proto/StartCoopPointReq.proto b/proto/StartCoopPointReq.proto
new file mode 100644
index 00000000..99ebfe70
--- /dev/null
+++ b/proto/StartCoopPointReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message StartCoopPointReq {
+ //enum MOHBNLNCBDA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 1964;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 coopPoint = 8;
+}
diff --git a/proto/StartCoopPointRsp.proto b/proto/StartCoopPointRsp.proto
new file mode 100644
index 00000000..b6266974
--- /dev/null
+++ b/proto/StartCoopPointRsp.proto
@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "MainCoop.proto";
+
+message StartCoopPointRsp {
+ //enum FHHNHADMJNM {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 1992;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 10;
+ bool isStart = 5;
+ MainCoop startMainCoop = 7;
+ uint32 coopPoint = 13;
+}
diff --git a/proto/StartEffigyChallengeReq.proto b/proto/StartEffigyChallengeReq.proto
new file mode 100644
index 00000000..ffda7a47
--- /dev/null
+++ b/proto/StartEffigyChallengeReq.proto
@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message StartEffigyChallengeReq {
+ //enum GHMOCBIMBEB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2061;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 difficultyId = 13;
+ repeated uint32 conditionIdList = 2;
+ uint32 pointId = 9;
+ uint32 challengeId = 15;
+}
diff --git a/proto/StartEffigyChallengeRsp.proto b/proto/StartEffigyChallengeRsp.proto
new file mode 100644
index 00000000..33f7919f
--- /dev/null
+++ b/proto/StartEffigyChallengeRsp.proto
@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message StartEffigyChallengeRsp {
+ //enum GPMFAGCDACP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2070;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 pointId = 8;
+ uint32 difficultyId = 9;
+ repeated uint32 conditionIdList = 2;
+ uint32 challengeId = 4;
+ int32 retcode = 1;
+}
diff --git a/proto/StartFishingReq.proto b/proto/StartFishingReq.proto
new file mode 100644
index 00000000..379fc464
--- /dev/null
+++ b/proto/StartFishingReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message StartFishingReq {
+ //enum EDBADCLKEEI {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5846;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 rodEntityId = 14;
+ uint32 fishPoolId = 3;
+}
diff --git a/proto/StartFishingRsp.proto b/proto/StartFishingRsp.proto
new file mode 100644
index 00000000..32eb0d62
--- /dev/null
+++ b/proto/StartFishingRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message StartFishingRsp {
+ //enum IPBPKEGOCBG {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5841;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 fishPoolId = 7;
+ int32 retcode = 5;
+}
diff --git a/proto/StartRogueDiaryPlayReq.proto b/proto/StartRogueDiaryPlayReq.proto
new file mode 100644
index 00000000..9164d0b5
--- /dev/null
+++ b/proto/StartRogueDiaryPlayReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message StartRogueDiaryPlayReq {
+ //enum HIGFBOKPELF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8484;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 stageId = 8;
+ uint32 difficulty = 12;
+}
diff --git a/proto/StartRogueDiaryPlayRsp.proto b/proto/StartRogueDiaryPlayRsp.proto
new file mode 100644
index 00000000..1894b242
--- /dev/null
+++ b/proto/StartRogueDiaryPlayRsp.proto
@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "RogueDiaryAvatar.proto";
+
+message StartRogueDiaryPlayRsp {
+ //enum AAONHKPKJBE {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8780;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated RogueDiaryAvatar trialAvatarList = 8;
+ int32 retcode = 3;
+ repeated uint32 randCardList = 2;
+ repeated RogueDiaryAvatar avatarList = 13;
+}
diff --git a/proto/StartRogueDiaryRoomReq.proto b/proto/StartRogueDiaryRoomReq.proto
new file mode 100644
index 00000000..309eb166
--- /dev/null
+++ b/proto/StartRogueDiaryRoomReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message StartRogueDiaryRoomReq {
+ //enum JOCNHIAPHCI {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8792;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ bool isSelectHard = 4;
+ uint32 roomDifficulty = 1;
+}
diff --git a/proto/StartRogueDiaryRoomRsp.proto b/proto/StartRogueDiaryRoomRsp.proto
new file mode 100644
index 00000000..992b0ec3
--- /dev/null
+++ b/proto/StartRogueDiaryRoomRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message StartRogueDiaryRoomRsp {
+ //enum IIAOCGHJJOH {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8413;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 2;
+}
diff --git a/proto/StartRogueEliteCellChallengeReq.proto b/proto/StartRogueEliteCellChallengeReq.proto
new file mode 100644
index 00000000..4d5a4cbd
--- /dev/null
+++ b/proto/StartRogueEliteCellChallengeReq.proto
@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "RogueEliteCellDifficultyType.proto";
+
+message StartRogueEliteCellChallengeReq {
+ //enum JEJOCHKOFDK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8981;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 cellId = 12;
+ RogueEliteCellDifficultyType difficulty = 7;
+ uint32 dungeonId = 2;
+}
diff --git a/proto/StartRogueEliteCellChallengeRsp.proto b/proto/StartRogueEliteCellChallengeRsp.proto
new file mode 100644
index 00000000..dd4a8dc2
--- /dev/null
+++ b/proto/StartRogueEliteCellChallengeRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message StartRogueEliteCellChallengeRsp {
+ //enum BKOKBHMHEBM {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8611;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 dungeonId = 8;
+ uint32 cellId = 5;
+ int32 retcode = 15;
+}
diff --git a/proto/StartRogueNormalCellChallengeReq.proto b/proto/StartRogueNormalCellChallengeReq.proto
new file mode 100644
index 00000000..becdccd6
--- /dev/null
+++ b/proto/StartRogueNormalCellChallengeReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message StartRogueNormalCellChallengeReq {
+ //enum EAMPLNBGDMH {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8840;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 dungeonId = 7;
+ uint32 cellId = 12;
+}
diff --git a/proto/StartRogueNormalCellChallengeRsp.proto b/proto/StartRogueNormalCellChallengeRsp.proto
new file mode 100644
index 00000000..3aa48b67
--- /dev/null
+++ b/proto/StartRogueNormalCellChallengeRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message StartRogueNormalCellChallengeRsp {
+ //enum FGCJIOFDHHK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8485;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 dungeonId = 4;
+ int32 retcode = 2;
+ uint32 cellId = 7;
+}
diff --git a/proto/State.proto b/proto/State.proto
new file mode 100644
index 00000000..e9dc886f
--- /dev/null
+++ b/proto/State.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+enum State {
+ STATE_INVALID = 0;
+ STATE_START = 1;
+ STATE_TIMEOUT = 2;
+}
diff --git a/proto/Status.proto b/proto/Status.proto
new file mode 100644
index 00000000..0a6682da
--- /dev/null
+++ b/proto/Status.proto
@@ -0,0 +1,10 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+enum Status {
+ STATUS_INVALID = 0;
+ STATUS_UNFINISHED = 1;
+ STATUS_FINISHED = 2;
+ STATUS_REWARD_TAKEN = 3;
+}
\ No newline at end of file
diff --git a/proto/StopReminderNotify.proto b/proto/StopReminderNotify.proto
new file mode 100644
index 00000000..1d5ccffe
--- /dev/null
+++ b/proto/StopReminderNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message StopReminderNotify {
+ //enum LIBAAAFMDGC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 3423;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 reminderId = 12;
+}
diff --git a/proto/StopServerInfo.proto b/proto/StopServerInfo.proto
new file mode 100644
index 00000000..0e314d71
--- /dev/null
+++ b/proto/StopServerInfo.proto
@@ -0,0 +1,13 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message StopServerInfo {
+ uint32 stopBeginTime = 1;
+ uint32 stopEndTime = 2;
+ string url = 3;
+ string contentMsg = 4;
+}
diff --git a/proto/StoreCustomDungeonReq.proto b/proto/StoreCustomDungeonReq.proto
new file mode 100644
index 00000000..8fbb2585
--- /dev/null
+++ b/proto/StoreCustomDungeonReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message StoreCustomDungeonReq {
+ //enum LKJCGMDDCHB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 6211;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ bool isCancelStore = 5;
+ uint64 dungeonGuid = 2;
+}
diff --git a/proto/StoreCustomDungeonRsp.proto b/proto/StoreCustomDungeonRsp.proto
new file mode 100644
index 00000000..de686eba
--- /dev/null
+++ b/proto/StoreCustomDungeonRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message StoreCustomDungeonRsp {
+ //enum GLJPDMLAOPJ {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 6226;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 2;
+}
diff --git a/proto/SubmitInferenceWordReq.proto b/proto/SubmitInferenceWordReq.proto
new file mode 100644
index 00000000..24a2f023
--- /dev/null
+++ b/proto/SubmitInferenceWordReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message SubmitInferenceWordReq {
+ //enum MBJGANFDAIG {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 454;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 pageId = 13;
+ uint32 wordId = 9;
+}
diff --git a/proto/SubmitInferenceWordRsp.proto b/proto/SubmitInferenceWordRsp.proto
new file mode 100644
index 00000000..16cecb87
--- /dev/null
+++ b/proto/SubmitInferenceWordRsp.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message SubmitInferenceWordRsp {
+ //enum HDBJOOIELFD {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 495;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 conclusionId = 7;
+ uint32 pageId = 13;
+ uint32 wordId = 6;
+ int32 retcode = 8;
+}
diff --git a/proto/SummerTimeFloatSignalPositionNotify.proto b/proto/SummerTimeFloatSignalPositionNotify.proto
new file mode 100644
index 00000000..f139be15
--- /dev/null
+++ b/proto/SummerTimeFloatSignalPositionNotify.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "Vector.proto";
+
+message SummerTimeFloatSignalPositionNotify {
+ //enum OHDIJBCFBJK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8322;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ bool isTransferAnchor = 11;
+ uint32 floatSignalId = 3;
+ Vector position = 10;
+}
diff --git a/proto/SummerTimeFloatSignalUpdateNotify.proto b/proto/SummerTimeFloatSignalUpdateNotify.proto
new file mode 100644
index 00000000..697c0baf
--- /dev/null
+++ b/proto/SummerTimeFloatSignalUpdateNotify.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "Vector.proto";
+
+message SummerTimeFloatSignalUpdateNotify {
+ //enum GOGNJHJJCJB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8586;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ Vector position = 2;
+ bool isTransferAnchor = 11;
+ uint32 floatSignalId = 14;
+}
diff --git a/proto/SummerTimeSprintBoatRestartReq.proto b/proto/SummerTimeSprintBoatRestartReq.proto
new file mode 100644
index 00000000..43a47388
--- /dev/null
+++ b/proto/SummerTimeSprintBoatRestartReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message SummerTimeSprintBoatRestartReq {
+ //enum FAHFAIFEKBF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8994;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 scheduleId = 10;
+ uint32 groupId = 5;
+}
diff --git a/proto/SummerTimeSprintBoatRestartRsp.proto b/proto/SummerTimeSprintBoatRestartRsp.proto
new file mode 100644
index 00000000..e0a359ce
--- /dev/null
+++ b/proto/SummerTimeSprintBoatRestartRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message SummerTimeSprintBoatRestartRsp {
+ //enum JDEJHCGLFPD {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8585;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 8;
+ uint32 groupId = 6;
+ uint32 scheduleId = 15;
+}
diff --git a/proto/SummerTimeSprintBoatSettleNotify.proto b/proto/SummerTimeSprintBoatSettleNotify.proto
new file mode 100644
index 00000000..c789a619
--- /dev/null
+++ b/proto/SummerTimeSprintBoatSettleNotify.proto
@@ -0,0 +1,25 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message SummerTimeSprintBoatSettleNotify {
+ //enum BGHEJJFKKMM {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8474;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 leftTime = 11;
+ uint32 score = 14;
+ uint32 groupId = 1;
+ uint32 Unk3300_MEEKFJJIOKE = 3;
+ uint32 Unk3300_PLFMJPNPPLI = 8;
+ bool isSuccess = 2;
+ uint32 totalNum = 7;
+ bool isNewRecord = 4;
+}
diff --git a/proto/SummerTimeV2BoatGallerySettleInfo.proto b/proto/SummerTimeV2BoatGallerySettleInfo.proto
new file mode 100644
index 00000000..55a52237
--- /dev/null
+++ b/proto/SummerTimeV2BoatGallerySettleInfo.proto
@@ -0,0 +1,16 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GalleryStopReason.proto";
+
+message SummerTimeV2BoatGallerySettleInfo {
+ uint32 param2 = 15;
+ uint32 galleryId = 5;
+ uint32 param3 = 8;
+ GalleryStopReason reason = 3;
+ uint32 usedTime = 4;
+ uint32 param1 = 6;
+}
diff --git a/proto/SummerTimeV2BoatInfo.proto b/proto/SummerTimeV2BoatInfo.proto
new file mode 100644
index 00000000..6ccfac5b
--- /dev/null
+++ b/proto/SummerTimeV2BoatInfo.proto
@@ -0,0 +1,13 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message SummerTimeV2BoatInfo {
+ uint32 param3 = 10;
+ uint32 usedTime = 6;
+ uint32 param1 = 4;
+ uint32 param2 = 5;
+}
diff --git a/proto/SummerTimeV2BoatSettleNotify.proto b/proto/SummerTimeV2BoatSettleNotify.proto
new file mode 100644
index 00000000..8a19e38b
--- /dev/null
+++ b/proto/SummerTimeV2BoatSettleNotify.proto
@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "SummerTimeV2BoatGallerySettleInfo.proto";
+
+message SummerTimeV2BoatSettleNotify {
+ //enum GBJCFKPKGJG {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8520;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ SummerTimeV2BoatGallerySettleInfo settleInfo = 2;
+ uint32 stageId = 14;
+ uint32 galleryId = 10;
+ bool isNewRecord = 12;
+}
diff --git a/proto/SummerTimeV2RestartBoatGalleryReq.proto b/proto/SummerTimeV2RestartBoatGalleryReq.proto
new file mode 100644
index 00000000..9151ff47
--- /dev/null
+++ b/proto/SummerTimeV2RestartBoatGalleryReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message SummerTimeV2RestartBoatGalleryReq {
+ //enum KCJOJLBNAMO {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8396;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 galleryId = 13;
+}
diff --git a/proto/SummerTimeV2RestartBoatGalleryRsp.proto b/proto/SummerTimeV2RestartBoatGalleryRsp.proto
new file mode 100644
index 00000000..9a6a54ae
--- /dev/null
+++ b/proto/SummerTimeV2RestartBoatGalleryRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message SummerTimeV2RestartBoatGalleryRsp {
+ //enum EOFGNIPMHNL {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8972;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 galleryId = 15;
+ int32 retcode = 12;
+}
diff --git a/proto/SummerTimeV2RestartDungeonReq.proto b/proto/SummerTimeV2RestartDungeonReq.proto
new file mode 100644
index 00000000..61145251
--- /dev/null
+++ b/proto/SummerTimeV2RestartDungeonReq.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message SummerTimeV2RestartDungeonReq {
+ //enum HKBJOGOGCDH {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8738;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+}
diff --git a/proto/SummerTimeV2RestartDungeonRsp.proto b/proto/SummerTimeV2RestartDungeonRsp.proto
new file mode 100644
index 00000000..8b797699
--- /dev/null
+++ b/proto/SummerTimeV2RestartDungeonRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message SummerTimeV2RestartDungeonRsp {
+ //enum KECJCJHAONN {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8606;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 3;
+}
diff --git a/proto/SumoDungeonAvatar.proto b/proto/SumoDungeonAvatar.proto
new file mode 100644
index 00000000..53d1f961
--- /dev/null
+++ b/proto/SumoDungeonAvatar.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message SumoDungeonAvatar {
+ bool isAlive = 10;
+ bool isTrial = 5;
+ uint64 avatarGuid = 3;
+}
diff --git a/proto/SumoDungeonTeam.proto b/proto/SumoDungeonTeam.proto
new file mode 100644
index 00000000..57d758df
--- /dev/null
+++ b/proto/SumoDungeonTeam.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "SumoDungeonAvatar.proto";
+
+message SumoDungeonTeam {
+ repeated SumoDungeonAvatar dungeonAvatarList = 4;
+}
diff --git a/proto/SumoEnterDungeonNotify.proto b/proto/SumoEnterDungeonNotify.proto
new file mode 100644
index 00000000..06dbceee
--- /dev/null
+++ b/proto/SumoEnterDungeonNotify.proto
@@ -0,0 +1,24 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "SumoDungeonTeam.proto";
+
+message SumoEnterDungeonNotify {
+ //enum NMINPGMPKAN {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8559;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 Unk3300_BNJBIGHIJOC = 8;
+ uint32 activityId = 6;
+ uint32 stageId = 15;
+ uint32 Unk3300_CBAMLHDMKJF = 7;
+ uint32 Unk3300_DJBJACGHGDM = 14;
+ repeated SumoDungeonTeam dungeonTeamList = 1;
+}
diff --git a/proto/SumoLeaveDungeonNotify.proto b/proto/SumoLeaveDungeonNotify.proto
new file mode 100644
index 00000000..422781c4
--- /dev/null
+++ b/proto/SumoLeaveDungeonNotify.proto
@@ -0,0 +1,17 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message SumoLeaveDungeonNotify {
+ //enum OFOIOIFFEMD {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8842;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+}
diff --git a/proto/SumoRestartDungeonReq.proto b/proto/SumoRestartDungeonReq.proto
new file mode 100644
index 00000000..cc677ae6
--- /dev/null
+++ b/proto/SumoRestartDungeonReq.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message SumoRestartDungeonReq {
+ //enum LPGENMKCDBF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8993;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+}
diff --git a/proto/SumoRestartDungeonRsp.proto b/proto/SumoRestartDungeonRsp.proto
new file mode 100644
index 00000000..4758ebec
--- /dev/null
+++ b/proto/SumoRestartDungeonRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message SumoRestartDungeonRsp {
+ //enum ENCHMEIINAM {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8732;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 dungeonId = 10;
+ uint32 pointId = 8;
+ int32 retcode = 13;
+}
diff --git a/proto/SumoSaveTeamReq.proto b/proto/SumoSaveTeamReq.proto
new file mode 100644
index 00000000..64baa122
--- /dev/null
+++ b/proto/SumoSaveTeamReq.proto
@@ -0,0 +1,23 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "SumoTeamData.proto";
+
+message SumoSaveTeamReq {
+ //enum BJGFOPIFDMN {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8599;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 difficultyId = 14;
+ repeated SumoTeamData teamList = 2;
+ uint32 stageId = 7;
+ uint32 activityId = 12;
+}
diff --git a/proto/SumoSaveTeamRsp.proto b/proto/SumoSaveTeamRsp.proto
new file mode 100644
index 00000000..4109d914
--- /dev/null
+++ b/proto/SumoSaveTeamRsp.proto
@@ -0,0 +1,23 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "SumoTeamData.proto";
+
+message SumoSaveTeamRsp {
+ //enum OMIFAMEOENF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8017;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 stageId = 9;
+ uint32 difficultyId = 14;
+ int32 retcode = 12;
+ uint32 activityId = 3;
+ repeated SumoTeamData teamList = 8;
+}
diff --git a/proto/SumoSelectTeamAndEnterDungeonReq.proto b/proto/SumoSelectTeamAndEnterDungeonReq.proto
new file mode 100644
index 00000000..8631e90f
--- /dev/null
+++ b/proto/SumoSelectTeamAndEnterDungeonReq.proto
@@ -0,0 +1,23 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "SumoTeamData.proto";
+
+message SumoSelectTeamAndEnterDungeonReq {
+ //enum DKFGBMCAJPL {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8433;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 activityId = 4;
+ repeated SumoTeamData teamList = 8;
+ uint32 stageId = 15;
+ uint32 difficultyId = 12;
+}
diff --git a/proto/SumoSelectTeamAndEnterDungeonRsp.proto b/proto/SumoSelectTeamAndEnterDungeonRsp.proto
new file mode 100644
index 00000000..22dce80d
--- /dev/null
+++ b/proto/SumoSelectTeamAndEnterDungeonRsp.proto
@@ -0,0 +1,23 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "SumoTeamData.proto";
+
+message SumoSelectTeamAndEnterDungeonRsp {
+ //enum LOIBMIMLNDM {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8877;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 5;
+ uint32 difficultyId = 14;
+ uint32 activityId = 13;
+ repeated SumoTeamData teamList = 2;
+ uint32 stageId = 10;
+}
diff --git a/proto/SumoSetNoSwitchPunishTimeNotify.proto b/proto/SumoSetNoSwitchPunishTimeNotify.proto
new file mode 100644
index 00000000..906c5f49
--- /dev/null
+++ b/proto/SumoSetNoSwitchPunishTimeNotify.proto
@@ -0,0 +1,24 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "SumoDungeonTeam.proto";
+
+message SumoSetNoSwitchPunishTimeNotify {
+ //enum IPFEPMAPGBF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8554;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 Unk3300_BNJBIGHIJOC = 11;
+ repeated SumoDungeonTeam dungeonTeamList = 3;
+ uint32 Unk3300_CBAMLHDMKJF = 14;
+ uint32 stageId = 1;
+ uint32 activityId = 7;
+ uint32 Unk3300_DJBJACGHGDM = 2;
+}
diff --git a/proto/SumoStageData.proto b/proto/SumoStageData.proto
new file mode 100644
index 00000000..39b2ccaf
--- /dev/null
+++ b/proto/SumoStageData.proto
@@ -0,0 +1,15 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "SumoTeamData.proto";
+
+message SumoStageData {
+ uint32 maxScore = 5;
+ uint32 stageId = 9;
+ uint32 openTime = 14;
+ repeated SumoTeamData teamList = 13;
+ bool isOpen = 15;
+}
diff --git a/proto/SumoSwitchTeamReq.proto b/proto/SumoSwitchTeamReq.proto
new file mode 100644
index 00000000..3d320070
--- /dev/null
+++ b/proto/SumoSwitchTeamReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message SumoSwitchTeamReq {
+ //enum BFIMLLLIFCF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8209;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 stageId = 2;
+ uint32 activityId = 9;
+}
diff --git a/proto/SumoSwitchTeamRsp.proto b/proto/SumoSwitchTeamRsp.proto
new file mode 100644
index 00000000..c1363927
--- /dev/null
+++ b/proto/SumoSwitchTeamRsp.proto
@@ -0,0 +1,24 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "SumoDungeonTeam.proto";
+
+message SumoSwitchTeamRsp {
+ //enum HJEBGAANIEE {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8137;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 Unk3300_BNJBIGHIJOC = 9;
+ uint32 activityId = 7;
+ int32 retcode = 3;
+ uint32 stageId = 8;
+ uint32 Unk3300_DJBJACGHGDM = 13;
+ repeated SumoDungeonTeam dungeonTeamList = 5;
+}
diff --git a/proto/SumoTeamData.proto b/proto/SumoTeamData.proto
new file mode 100644
index 00000000..c242f800
--- /dev/null
+++ b/proto/SumoTeamData.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "SumoAvatarInfo.proto";
+
+message SumoTeamData {
+ repeated SumoAvatarInfo avatarInfoList = 10;
+ repeated uint32 skillIdList = 8;
+}
diff --git a/proto/SvrMsgId.proto b/proto/SvrMsgId.proto
new file mode 100644
index 00000000..d3d91423
--- /dev/null
+++ b/proto/SvrMsgId.proto
@@ -0,0 +1,15 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+enum SvrMsgId {
+ MSG_UNKNOWN = 0;
+ MSG_BLOCK_REFRESH_COUNTDOWN = 1;
+ MSG_AVATAR_REVIVE_BY_STATUE = 2;
+ MSG_DAILY_TASK_REWARD_MAX_NUM = 3;
+ MSG_ROUTINE_TYPE_NOT_OPEN = 4;
+ MSG_ROUTINE_TYPE_REWARD_MAX_NUM = 5;
+ MSG_MECHANICUS_COIN_LIMIT = 6;
+}
diff --git a/proto/SyncAction.proto b/proto/SyncAction.proto
new file mode 100644
index 00000000..76ffb08e
--- /dev/null
+++ b/proto/SyncAction.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "BreakoutAction.proto";
+
+message SyncAction {
+ BreakoutAction henpegmkbie = 9;
+}
diff --git a/proto/SyncCreateConnect.proto b/proto/SyncCreateConnect.proto
new file mode 100644
index 00000000..d22563ca
--- /dev/null
+++ b/proto/SyncCreateConnect.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "BreakoutSyncConnectUidInfo.proto";
+
+message SyncCreateConnect {
+ repeated BreakoutSyncConnectUidInfo uidInfoList = 6;
+}
diff --git a/proto/SyncFinishGame.proto b/proto/SyncFinishGame.proto
new file mode 100644
index 00000000..a2486019
--- /dev/null
+++ b/proto/SyncFinishGame.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message SyncFinishGame {
+ bool isWin = 1;
+ uint64 serverGameTime = 5;
+ bool chbjiolfkil = 8;
+}
diff --git a/proto/SyncPing.proto b/proto/SyncPing.proto
new file mode 100644
index 00000000..552e2f3e
--- /dev/null
+++ b/proto/SyncPing.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message SyncPing {
+ uint64 clientGameTime = 12;
+ uint64 serverGameTime = 7;
+}
diff --git a/proto/SyncSnapShot.proto b/proto/SyncSnapShot.proto
new file mode 100644
index 00000000..33ce8cba
--- /dev/null
+++ b/proto/SyncSnapShot.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "BreakoutSnapShot.proto";
+
+message SyncSnapShot {
+ BreakoutSnapShot bllachfilmo = 3;
+}
diff --git a/proto/TakeAchievementGoalRewardReq.proto b/proto/TakeAchievementGoalRewardReq.proto
new file mode 100644
index 00000000..0d8b7912
--- /dev/null
+++ b/proto/TakeAchievementGoalRewardReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message TakeAchievementGoalRewardReq {
+ //enum DOKFANBCKNJ {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2669;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ repeated uint32 idList = 7;
+}
diff --git a/proto/TakeAchievementGoalRewardRsp.proto b/proto/TakeAchievementGoalRewardRsp.proto
new file mode 100644
index 00000000..caeb70c0
--- /dev/null
+++ b/proto/TakeAchievementGoalRewardRsp.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ItemParam.proto";
+
+message TakeAchievementGoalRewardRsp {
+ //enum KGKAJONLMDD {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2693;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 14;
+ repeated ItemParam itemList = 6;
+ repeated uint32 idList = 15;
+}
diff --git a/proto/TakeAchievementRewardRsp.proto b/proto/TakeAchievementRewardRsp.proto
new file mode 100644
index 00000000..2114785f
--- /dev/null
+++ b/proto/TakeAchievementRewardRsp.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ItemParam.proto";
+
+message TakeAchievementRewardRsp {
+ //enum LDLMKKMLOPI {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2691;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated ItemParam itemList = 7;
+ repeated uint32 idList = 4;
+ int32 retcode = 13;
+}
diff --git a/proto/TakeAsterSpecialRewardReq.proto b/proto/TakeAsterSpecialRewardReq.proto
new file mode 100644
index 00000000..44ffc925
--- /dev/null
+++ b/proto/TakeAsterSpecialRewardReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message TakeAsterSpecialRewardReq {
+ //enum PBIKLJJOJBP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2093;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 scheduleId = 6;
+}
diff --git a/proto/TakeAsterSpecialRewardRsp.proto b/proto/TakeAsterSpecialRewardRsp.proto
new file mode 100644
index 00000000..9332f2bb
--- /dev/null
+++ b/proto/TakeAsterSpecialRewardRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message TakeAsterSpecialRewardRsp {
+ //enum NKJJEIGNLEA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2075;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 scheduleId = 10;
+ int32 retcode = 1;
+}
diff --git a/proto/TakeCityReputationExploreRewardReq.proto b/proto/TakeCityReputationExploreRewardReq.proto
new file mode 100644
index 00000000..5b8a632a
--- /dev/null
+++ b/proto/TakeCityReputationExploreRewardReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message TakeCityReputationExploreRewardReq {
+ //enum MMMMFEAPEBC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2816;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ repeated uint32 exploreIdList = 14;
+ uint32 cityId = 1;
+}
diff --git a/proto/TakeCityReputationExploreRewardRsp.proto b/proto/TakeCityReputationExploreRewardRsp.proto
new file mode 100644
index 00000000..3698cbfa
--- /dev/null
+++ b/proto/TakeCityReputationExploreRewardRsp.proto
@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ItemParam.proto";
+
+message TakeCityReputationExploreRewardRsp {
+ //enum KKODKDIBJHF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2813;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 cityId = 4;
+ repeated uint32 exploreIdList = 2;
+ int32 retcode = 12;
+ repeated ItemParam itemList = 11;
+}
diff --git a/proto/TakeCityReputationLevelRewardReq.proto b/proto/TakeCityReputationLevelRewardReq.proto
new file mode 100644
index 00000000..023d7b35
--- /dev/null
+++ b/proto/TakeCityReputationLevelRewardReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message TakeCityReputationLevelRewardReq {
+ //enum HLEHOPOEOBP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2887;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 cityId = 8;
+ uint32 level = 5;
+}
diff --git a/proto/TakeCityReputationLevelRewardRsp.proto b/proto/TakeCityReputationLevelRewardRsp.proto
new file mode 100644
index 00000000..4a64e82f
--- /dev/null
+++ b/proto/TakeCityReputationLevelRewardRsp.proto
@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ItemParam.proto";
+
+message TakeCityReputationLevelRewardRsp {
+ //enum BBBIJANGPAC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2898;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 10;
+ repeated ItemParam itemList = 12;
+ uint32 cityId = 8;
+ uint32 level = 11;
+}
diff --git a/proto/TakeCoopRewardReq.proto b/proto/TakeCoopRewardReq.proto
new file mode 100644
index 00000000..4fdd8f7f
--- /dev/null
+++ b/proto/TakeCoopRewardReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message TakeCoopRewardReq {
+ //enum EPFHCFPLPJF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 1953;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 rewardConfigId = 11;
+}
diff --git a/proto/TakeCoopRewardRsp.proto b/proto/TakeCoopRewardRsp.proto
new file mode 100644
index 00000000..f65c1712
--- /dev/null
+++ b/proto/TakeCoopRewardRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message TakeCoopRewardRsp {
+ //enum OGBIHHLPFKN {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 1960;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 rewardConfigId = 8;
+ int32 retcode = 4;
+}
diff --git a/proto/TakeDeliveryDailyRewardReq.proto b/proto/TakeDeliveryDailyRewardReq.proto
new file mode 100644
index 00000000..f2f95839
--- /dev/null
+++ b/proto/TakeDeliveryDailyRewardReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message TakeDeliveryDailyRewardReq {
+ //enum EMAFLEFCECM {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2013;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 scheduleId = 15;
+}
diff --git a/proto/TakeDeliveryDailyRewardRsp.proto b/proto/TakeDeliveryDailyRewardRsp.proto
new file mode 100644
index 00000000..b1683626
--- /dev/null
+++ b/proto/TakeDeliveryDailyRewardRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message TakeDeliveryDailyRewardRsp {
+ //enum PLKPGBCECIA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2158;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 7;
+ uint32 scheduleId = 12;
+}
diff --git a/proto/TakeEffigyFirstPassRewardReq.proto b/proto/TakeEffigyFirstPassRewardReq.proto
new file mode 100644
index 00000000..fe2e4977
--- /dev/null
+++ b/proto/TakeEffigyFirstPassRewardReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message TakeEffigyFirstPassRewardReq {
+ //enum ACBEGLHMMFA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2080;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 challengeId = 5;
+}
diff --git a/proto/TakeEffigyFirstPassRewardRsp.proto b/proto/TakeEffigyFirstPassRewardRsp.proto
new file mode 100644
index 00000000..65af1542
--- /dev/null
+++ b/proto/TakeEffigyFirstPassRewardRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message TakeEffigyFirstPassRewardRsp {
+ //enum IMELGDJLCMI {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2170;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 challengeId = 13;
+ int32 retcode = 10;
+}
diff --git a/proto/TakeEffigyRewardReq.proto b/proto/TakeEffigyRewardReq.proto
new file mode 100644
index 00000000..535a612e
--- /dev/null
+++ b/proto/TakeEffigyRewardReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message TakeEffigyRewardReq {
+ //enum IBCOIGPAKGA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2049;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 rewardIndex = 2;
+}
diff --git a/proto/TakeEffigyRewardRsp.proto b/proto/TakeEffigyRewardRsp.proto
new file mode 100644
index 00000000..f49960ed
--- /dev/null
+++ b/proto/TakeEffigyRewardRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message TakeEffigyRewardRsp {
+ //enum LKHFEKHJJJB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2180;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 rewardIndex = 13;
+ int32 retcode = 6;
+}
diff --git a/proto/TakeFirstShareRewardReq.proto b/proto/TakeFirstShareRewardReq.proto
new file mode 100644
index 00000000..f92fb7d7
--- /dev/null
+++ b/proto/TakeFirstShareRewardReq.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message TakeFirstShareRewardReq {
+ //enum KGEBACLNPOD {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4030;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+}
diff --git a/proto/TakeFirstShareRewardRsp.proto b/proto/TakeFirstShareRewardRsp.proto
new file mode 100644
index 00000000..093123bd
--- /dev/null
+++ b/proto/TakeFirstShareRewardRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message TakeFirstShareRewardRsp {
+ //enum CFCBIMFLMFP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4043;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ int32 retcode = 9;
+}
diff --git a/proto/TakeHuntingOfferReq.proto b/proto/TakeHuntingOfferReq.proto
new file mode 100644
index 00000000..ac685450
--- /dev/null
+++ b/proto/TakeHuntingOfferReq.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "HuntingPair.proto";
+
+message TakeHuntingOfferReq {
+ //enum IBCEKBFOLAN {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4338;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ HuntingPair huntingPair = 1;
+ uint32 cityId = 14;
+}
diff --git a/proto/TakeHuntingOfferRsp.proto b/proto/TakeHuntingOfferRsp.proto
new file mode 100644
index 00000000..6e7d10bf
--- /dev/null
+++ b/proto/TakeHuntingOfferRsp.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "HuntingPair.proto";
+
+message TakeHuntingOfferRsp {
+ //enum ECDAFENOELG {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4345;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 7;
+ uint32 cityId = 8;
+ HuntingPair huntingPair = 6;
+}
diff --git a/proto/TakeInvestigationRewardReq.proto b/proto/TakeInvestigationRewardReq.proto
new file mode 100644
index 00000000..5a65f018
--- /dev/null
+++ b/proto/TakeInvestigationRewardReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message TakeInvestigationRewardReq {
+ //enum LBOJNLBKKFH {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 1921;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 id = 15;
+}
diff --git a/proto/TakeInvestigationRewardRsp.proto b/proto/TakeInvestigationRewardRsp.proto
new file mode 100644
index 00000000..f5657ea8
--- /dev/null
+++ b/proto/TakeInvestigationRewardRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message TakeInvestigationRewardRsp {
+ //enum CCKCENEODAC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 1920;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 id = 13;
+ int32 retcode = 15;
+}
diff --git a/proto/TakeInvestigationTargetRewardReq.proto b/proto/TakeInvestigationTargetRewardReq.proto
new file mode 100644
index 00000000..049b6ce7
--- /dev/null
+++ b/proto/TakeInvestigationTargetRewardReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message TakeInvestigationTargetRewardReq {
+ //enum HCHCIJFIKAG {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 1918;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 questId = 11;
+}
diff --git a/proto/TakeInvestigationTargetRewardRsp.proto b/proto/TakeInvestigationTargetRewardRsp.proto
new file mode 100644
index 00000000..f4359ef7
--- /dev/null
+++ b/proto/TakeInvestigationTargetRewardRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message TakeInvestigationTargetRewardRsp {
+ //enum OEMIIDNBBAP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 1923;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 1;
+ uint32 questId = 6;
+}
diff --git a/proto/TakeOfferingLevelRewardReq.proto b/proto/TakeOfferingLevelRewardReq.proto
new file mode 100644
index 00000000..ab7ad3fd
--- /dev/null
+++ b/proto/TakeOfferingLevelRewardReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message TakeOfferingLevelRewardReq {
+ //enum AEDJIPDGBNO {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2909;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 level = 2;
+ uint32 offeringId = 8;
+}
diff --git a/proto/TakeOfferingLevelRewardRsp.proto b/proto/TakeOfferingLevelRewardRsp.proto
new file mode 100644
index 00000000..a42ee276
--- /dev/null
+++ b/proto/TakeOfferingLevelRewardRsp.proto
@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ItemParam.proto";
+
+message TakeOfferingLevelRewardRsp {
+ //enum GIALMPGJOHD {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2907;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 7;
+ uint32 offeringId = 14;
+ uint32 takeLevel = 1;
+ repeated ItemParam itemList = 10;
+}
diff --git a/proto/TakeRegionSearchRewardReq.proto b/proto/TakeRegionSearchRewardReq.proto
new file mode 100644
index 00000000..88ce41a5
--- /dev/null
+++ b/proto/TakeRegionSearchRewardReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message TakeRegionSearchRewardReq {
+ //enum IBPAMBOCFKA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5646;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 id = 13;
+ uint32 searchId = 14;
+}
diff --git a/proto/TakeRegionSearchRewardRsp.proto b/proto/TakeRegionSearchRewardRsp.proto
new file mode 100644
index 00000000..3b4c66fe
--- /dev/null
+++ b/proto/TakeRegionSearchRewardRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message TakeRegionSearchRewardRsp {
+ //enum IJLODKPGGLM {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5641;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 id = 15;
+ uint32 searchId = 14;
+ int32 retcode = 3;
+}
diff --git a/proto/TakeResinCardDailyRewardReq.proto b/proto/TakeResinCardDailyRewardReq.proto
new file mode 100644
index 00000000..a604ea66
--- /dev/null
+++ b/proto/TakeResinCardDailyRewardReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message TakeResinCardDailyRewardReq {
+ //enum COLGNCGECBI {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4135;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 productConfigId = 10;
+}
diff --git a/proto/TakeResinCardDailyRewardRsp.proto b/proto/TakeResinCardDailyRewardRsp.proto
new file mode 100644
index 00000000..87d12bf0
--- /dev/null
+++ b/proto/TakeResinCardDailyRewardRsp.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ItemParam.proto";
+
+message TakeResinCardDailyRewardRsp {
+ //enum GGEJPOGNOOA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4116;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated ItemParam itemVec = 15;
+ uint32 productConfigId = 4;
+ int32 retcode = 9;
+}
diff --git a/proto/TakeReunionFirstGiftRewardReq.proto b/proto/TakeReunionFirstGiftRewardReq.proto
new file mode 100644
index 00000000..fdcfe624
--- /dev/null
+++ b/proto/TakeReunionFirstGiftRewardReq.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message TakeReunionFirstGiftRewardReq {
+ //enum KNAGMOKGIDE {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5096;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+}
diff --git a/proto/TakeReunionFirstGiftRewardRsp.proto b/proto/TakeReunionFirstGiftRewardRsp.proto
new file mode 100644
index 00000000..5f33e38a
--- /dev/null
+++ b/proto/TakeReunionFirstGiftRewardRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message TakeReunionFirstGiftRewardRsp {
+ //enum LONGKEEDBKP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5091;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 14;
+ int32 rewardId = 12;
+}
diff --git a/proto/TakeReunionMissionRewardReq.proto b/proto/TakeReunionMissionRewardReq.proto
new file mode 100644
index 00000000..3192415b
--- /dev/null
+++ b/proto/TakeReunionMissionRewardReq.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message TakeReunionMissionRewardReq {
+ //enum OEGJDLBEJEP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5064;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 missionId = 8;
+ uint32 rewardIndex = 15;
+ uint32 rewardId = 7;
+}
diff --git a/proto/TakeReunionMissionRewardRsp.proto b/proto/TakeReunionMissionRewardRsp.proto
new file mode 100644
index 00000000..d26595c7
--- /dev/null
+++ b/proto/TakeReunionMissionRewardRsp.proto
@@ -0,0 +1,23 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ReunionMissionInfo.proto";
+
+message TakeReunionMissionRewardRsp {
+ //enum PIAGJEKANBM {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5092;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ ReunionMissionInfo missionInfo = 12;
+ uint32 rewardIndex = 5;
+ int32 retcode = 4;
+ uint32 rewardId = 11;
+}
diff --git a/proto/TakeReunionSignInRewardReq.proto b/proto/TakeReunionSignInRewardReq.proto
new file mode 100644
index 00000000..aa51a7fe
--- /dev/null
+++ b/proto/TakeReunionSignInRewardReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message TakeReunionSignInRewardReq {
+ //enum DLLEHPPIPEL {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5081;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 rewardDay = 2;
+ uint32 configId = 3;
+}
diff --git a/proto/TakeReunionSignInRewardRsp.proto b/proto/TakeReunionSignInRewardRsp.proto
new file mode 100644
index 00000000..1baacdc3
--- /dev/null
+++ b/proto/TakeReunionSignInRewardRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ReunionSignInInfo.proto";
+
+message TakeReunionSignInRewardRsp {
+ //enum HNGPMNELGAJ {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5085;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ ReunionSignInInfo signInInfo = 5;
+ int32 retcode = 8;
+}
diff --git a/proto/TakeReunionWatcherRewardReq.proto b/proto/TakeReunionWatcherRewardReq.proto
new file mode 100644
index 00000000..e8c86dd7
--- /dev/null
+++ b/proto/TakeReunionWatcherRewardReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message TakeReunionWatcherRewardReq {
+ //enum NKCOPLONMIC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5052;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 watcherId = 4;
+ uint32 missionId = 15;
+}
diff --git a/proto/TakeReunionWatcherRewardRsp.proto b/proto/TakeReunionWatcherRewardRsp.proto
new file mode 100644
index 00000000..40142e3c
--- /dev/null
+++ b/proto/TakeReunionWatcherRewardRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message TakeReunionWatcherRewardRsp {
+ //enum HOMCCILFILJ {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5090;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 watcherId = 2;
+ int32 retcode = 1;
+ uint32 missionId = 3;
+}
diff --git a/proto/TaskVar.proto b/proto/TaskVar.proto
new file mode 100644
index 00000000..f9c7c368
--- /dev/null
+++ b/proto/TaskVar.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message TaskVar {
+ repeated int32 valueList = 15;
+ uint32 key = 8;
+}
diff --git a/proto/TaskVarNotify.proto b/proto/TaskVarNotify.proto
new file mode 100644
index 00000000..0b216c2c
--- /dev/null
+++ b/proto/TaskVarNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "TaskVar.proto";
+
+message TaskVarNotify {
+ //enum JGAIGHMHFAH {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 177;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated TaskVar taskVarList = 9;
+}
diff --git a/proto/TeamChainDungeonInfoNotify.proto b/proto/TeamChainDungeonInfoNotify.proto
new file mode 100644
index 00000000..b83b35a0
--- /dev/null
+++ b/proto/TeamChainDungeonInfoNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message TeamChainDungeonInfoNotify {
+ //enum BOFKOGOADGC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 24930;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 2;
+}
diff --git a/proto/TeamChainEnterDungeonReq.proto b/proto/TeamChainEnterDungeonReq.proto
new file mode 100644
index 00000000..877d5526
--- /dev/null
+++ b/proto/TeamChainEnterDungeonReq.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message TeamChainEnterDungeonReq {
+ //enum LCMGICGLAFM {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 21856;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ bool gocbaipjdlk = 11;
+}
diff --git a/proto/TeamChainEnterDungeonRsp.proto b/proto/TeamChainEnterDungeonRsp.proto
new file mode 100644
index 00000000..68abe89d
--- /dev/null
+++ b/proto/TeamChainEnterDungeonRsp.proto
@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "FBKJENFAAKN.proto";
+
+message TeamChainEnterDungeonRsp {
+ //enum DLBLCLBKJFH {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 21568;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ repeated FBKJENFAAKN teamInfoList = 11;
+ uint32 stageId = 13;
+ uint32 difficulty = 2;
+}
diff --git a/proto/TeamChainRestartDungeonReq.proto b/proto/TeamChainRestartDungeonReq.proto
new file mode 100644
index 00000000..b869e731
--- /dev/null
+++ b/proto/TeamChainRestartDungeonReq.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message TeamChainRestartDungeonReq {
+ //enum DOPBJKADDHF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 21537;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 12;
+}
diff --git a/proto/TeamChainRestartDungeonRsp.proto b/proto/TeamChainRestartDungeonRsp.proto
new file mode 100644
index 00000000..0ca502b9
--- /dev/null
+++ b/proto/TeamChainRestartDungeonRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "FBKJENFAAKN.proto";
+
+message TeamChainRestartDungeonRsp {
+ //enum KNIBCBJEFHI {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 21237;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ repeated FBKJENFAAKN teamInfoList = 2;
+}
diff --git a/proto/TeamChainTakeCostumeRewardReq.proto b/proto/TeamChainTakeCostumeRewardReq.proto
new file mode 100644
index 00000000..870c546e
--- /dev/null
+++ b/proto/TeamChainTakeCostumeRewardReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message TeamChainTakeCostumeRewardReq {
+ //enum NIJONKEJPPP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 20331;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated uint32 ehbfihcdoli = 12;
+ uint32 stageId = 11;
+}
diff --git a/proto/TeamChainTakeCostumeRewardRsp.proto b/proto/TeamChainTakeCostumeRewardRsp.proto
new file mode 100644
index 00000000..5595f314
--- /dev/null
+++ b/proto/TeamChainTakeCostumeRewardRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message TeamChainTakeCostumeRewardRsp {
+ //enum MFCBBKLDHAP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 22700;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+}
diff --git a/proto/TeamResonanceChangeNotify.proto b/proto/TeamResonanceChangeNotify.proto
new file mode 100644
index 00000000..d32d99fa
--- /dev/null
+++ b/proto/TeamResonanceChangeNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "AvatarTeamResonanceInfo.proto";
+
+message TeamResonanceChangeNotify {
+ //enum KOMHHDNJJIH {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 1006;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated AvatarTeamResonanceInfo infoList = 3;
+}
diff --git a/proto/ThirdStageInfo.proto b/proto/ThirdStageInfo.proto
new file mode 100644
index 00000000..2b034c8d
--- /dev/null
+++ b/proto/ThirdStageInfo.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ThirdStageInfo {
+ uint32 leftTime = 7;
+ bool isSuccess = 6;
+}
diff --git a/proto/ThunderBirdFeatherInfo.proto b/proto/ThunderBirdFeatherInfo.proto
new file mode 100644
index 00000000..d939615d
--- /dev/null
+++ b/proto/ThunderBirdFeatherInfo.proto
@@ -0,0 +1,10 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ThunderBirdFeatherInfo {
+ repeated uint32 entityIdList = 12;
+}
diff --git a/proto/ToTheMoonAddObstacleReq.proto b/proto/ToTheMoonAddObstacleReq.proto
new file mode 100644
index 00000000..5c5d5d1a
--- /dev/null
+++ b/proto/ToTheMoonAddObstacleReq.proto
@@ -0,0 +1,23 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ToTheMoonObstacleInfo.proto";
+
+message ToTheMoonAddObstacleReq {
+ //enum JNHMMGGPKOO {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 6174;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ ToTheMoonObstacleInfo obstacle = 6;
+ uint32 sceneId = 7;
+ int32 queryId = 5;
+ bool useEdge = 15;
+}
diff --git a/proto/ToTheMoonAddObstacleRsp.proto b/proto/ToTheMoonAddObstacleRsp.proto
new file mode 100644
index 00000000..6d656fb8
--- /dev/null
+++ b/proto/ToTheMoonAddObstacleRsp.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "DynamicNodes.proto";
+
+message ToTheMoonAddObstacleRsp {
+ //enum FAJPJAOONHC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 6180;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 11;
+ int32 queryId = 8;
+ DynamicNodes dynamicNodes = 4;
+}
diff --git a/proto/ToTheMoonEnterSceneReq.proto b/proto/ToTheMoonEnterSceneReq.proto
new file mode 100644
index 00000000..94e855ca
--- /dev/null
+++ b/proto/ToTheMoonEnterSceneReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ToTheMoonEnterSceneReq {
+ //enum DHKNBJKNJGH {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 6198;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 sceneId = 12;
+ uint32 version = 10;
+}
diff --git a/proto/ToTheMoonEnterSceneRsp.proto b/proto/ToTheMoonEnterSceneRsp.proto
new file mode 100644
index 00000000..2029fb5c
--- /dev/null
+++ b/proto/ToTheMoonEnterSceneRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ToTheMoonEnterSceneRsp {
+ //enum NBNFJDLANPD {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 6120;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 12;
+}
diff --git a/proto/ToTheMoonObstacleInfo.proto b/proto/ToTheMoonObstacleInfo.proto
new file mode 100644
index 00000000..9f3492b4
--- /dev/null
+++ b/proto/ToTheMoonObstacleInfo.proto
@@ -0,0 +1,23 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "Vector.proto";
+import "MathQuaternion.proto";
+import "ShapeType.proto";
+
+message ToTheMoonObstacleInfo {
+
+ enum ShapeType {
+ SHAPE_TYPE_OBSTACLE_SHAPE_CAPSULE = 0;
+ SHAPE_TYPE_OBSTACLE_SHAPE_BOX = 1;
+ }
+
+ Vector center = 3;
+ int32 handleId = 5;
+ MathQuaternion rotation = 8;
+ Vector halfExtents = 9;
+ ShapeType type = 1;
+}
diff --git a/proto/ToTheMoonObstaclesModifyNotify.proto b/proto/ToTheMoonObstaclesModifyNotify.proto
new file mode 100644
index 00000000..3b210f9e
--- /dev/null
+++ b/proto/ToTheMoonObstaclesModifyNotify.proto
@@ -0,0 +1,23 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ToTheMoonObstacleInfo.proto";
+
+message ToTheMoonObstaclesModifyNotify {
+ //enum ONFMOJALOCB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 6114;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ bool useEdge = 10;
+ uint32 sceneId = 11;
+ repeated int32 removeObstacleIds = 4;
+ repeated ToTheMoonObstacleInfo addObstacles = 14;
+}
diff --git a/proto/ToTheMoonPingNotify.proto b/proto/ToTheMoonPingNotify.proto
new file mode 100644
index 00000000..ff3649ba
--- /dev/null
+++ b/proto/ToTheMoonPingNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ToTheMoonPingNotify {
+ //enum ANLKJPIBJGI {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 6187;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+}
diff --git a/proto/ToTheMoonRemoveObstacleReq.proto b/proto/ToTheMoonRemoveObstacleReq.proto
new file mode 100644
index 00000000..94d9594d
--- /dev/null
+++ b/proto/ToTheMoonRemoveObstacleReq.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ToTheMoonRemoveObstacleReq {
+ //enum GJHBFLDKNPH {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 6170;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 sceneId = 2;
+ int32 queryId = 13;
+ int32 handle = 9;
+}
diff --git a/proto/ToTheMoonRemoveObstacleRsp.proto b/proto/ToTheMoonRemoveObstacleRsp.proto
new file mode 100644
index 00000000..822ca5c0
--- /dev/null
+++ b/proto/ToTheMoonRemoveObstacleRsp.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "DynamicNodes.proto";
+
+message ToTheMoonRemoveObstacleRsp {
+ //enum BAEILLHPINF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 6162;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 queryId = 4;
+ DynamicNodes dynamicNodes = 8;
+ int32 retcode = 3;
+}
diff --git a/proto/TokenChange.proto b/proto/TokenChange.proto
new file mode 100644
index 00000000..1e907cd3
--- /dev/null
+++ b/proto/TokenChange.proto
@@ -0,0 +1,15 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "GCGReason.proto";
+
+message TokenChange {
+ uint32 cardGuid = 6;
+ uint32 Unk3300_LLGHGEALDDI = 5;
+ uint32 Unk3300_LCNKBFBJDFM = 15;
+ uint32 tokenType = 8;
+ GCGReason reason = 12;
+}
diff --git a/proto/TowerBriefDataNotify.proto b/proto/TowerBriefDataNotify.proto
new file mode 100644
index 00000000..38f0a108
--- /dev/null
+++ b/proto/TowerBriefDataNotify.proto
@@ -0,0 +1,24 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message TowerBriefDataNotify {
+ //enum POMJICBPHPF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2405;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ bool isFinishedEntranceFloor = 2;
+ uint32 totalStarNum = 5;
+ uint32 towerScheduleId = 3;
+ uint32 lastLevelIndex = 4;
+ uint32 scheduleStartTime = 13;
+ uint32 nextScheduleChangeTime = 12;
+ uint32 lastFloorIndex = 14;
+}
diff --git a/proto/TowerBuffSelectReq.proto b/proto/TowerBuffSelectReq.proto
new file mode 100644
index 00000000..df3afb16
--- /dev/null
+++ b/proto/TowerBuffSelectReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message TowerBuffSelectReq {
+ //enum BMAJGLPHLPC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2478;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 towerBuffId = 12;
+}
diff --git a/proto/TowerBuffSelectRsp.proto b/proto/TowerBuffSelectRsp.proto
new file mode 100644
index 00000000..465aaf62
--- /dev/null
+++ b/proto/TowerBuffSelectRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message TowerBuffSelectRsp {
+ //enum KJALDKKFDLK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2416;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 13;
+ uint32 towerBuffId = 6;
+}
diff --git a/proto/TowerDailyRewardProgressChangeNotify.proto b/proto/TowerDailyRewardProgressChangeNotify.proto
new file mode 100644
index 00000000..2bf1a8ae
--- /dev/null
+++ b/proto/TowerDailyRewardProgressChangeNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message TowerDailyRewardProgressChangeNotify {
+ //enum JBLHPCOEIEG {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2498;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 Unk3300_OHCHCJGJIDK = 4;
+ uint32 Unk3300_JBACKENDHDG = 3;
+}
diff --git a/proto/TowerFightRecordPair.proto b/proto/TowerFightRecordPair.proto
new file mode 100644
index 00000000..84a863d5
--- /dev/null
+++ b/proto/TowerFightRecordPair.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message TowerFightRecordPair {
+ uint32 data = 12;
+ uint32 avatarId = 15;
+}
diff --git a/proto/TowerGetFloorStarRewardReq.proto b/proto/TowerGetFloorStarRewardReq.proto
new file mode 100644
index 00000000..0be6c761
--- /dev/null
+++ b/proto/TowerGetFloorStarRewardReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message TowerGetFloorStarRewardReq {
+ //enum FINPOGPENHF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2425;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 floorId = 11;
+}
diff --git a/proto/TowerGetFloorStarRewardRsp.proto b/proto/TowerGetFloorStarRewardRsp.proto
new file mode 100644
index 00000000..650c3e00
--- /dev/null
+++ b/proto/TowerGetFloorStarRewardRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message TowerGetFloorStarRewardRsp {
+ //enum FOAGNGJHLIC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2458;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 11;
+ uint32 floorId = 12;
+}
diff --git a/proto/TowerMonthlyCombatRecord.proto b/proto/TowerMonthlyCombatRecord.proto
new file mode 100644
index 00000000..230b9e60
--- /dev/null
+++ b/proto/TowerMonthlyCombatRecord.proto
@@ -0,0 +1,16 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "TowerFightRecordPair.proto";
+
+message TowerMonthlyCombatRecord {
+ TowerFightRecordPair Unk3300_KMCLPHEDNCJ = 10;
+ TowerFightRecordPair Unk3300_KIKPMNPKLDG = 8;
+ TowerFightRecordPair Unk3300_OALLHJPBOHO = 1;
+ TowerFightRecordPair Unk3300_EIGEGOGFJND = 11;
+ TowerFightRecordPair Unk3300_CCFHOFCIEPF = 4;
+ repeated TowerFightRecordPair mostRevealAvatarList = 7;
+}
diff --git a/proto/TowerMonthlyDetail.proto b/proto/TowerMonthlyDetail.proto
new file mode 100644
index 00000000..cb1f4d59
--- /dev/null
+++ b/proto/TowerMonthlyDetail.proto
@@ -0,0 +1,13 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "TowerMonthlyBrief.proto";
+import "TowerMonthlyCombatRecord.proto";
+
+message TowerMonthlyDetail {
+ TowerMonthlyBrief monthlyBrief = 5;
+ TowerMonthlyCombatRecord monthlyCombatRecord = 1;
+}
diff --git a/proto/TowerRecordHandbookReq.proto b/proto/TowerRecordHandbookReq.proto
new file mode 100644
index 00000000..5ff168be
--- /dev/null
+++ b/proto/TowerRecordHandbookReq.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message TowerRecordHandbookReq {
+ //enum OMOEJCLPBJF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2442;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+}
diff --git a/proto/TowerRecordHandbookRsp.proto b/proto/TowerRecordHandbookRsp.proto
new file mode 100644
index 00000000..05d939f6
--- /dev/null
+++ b/proto/TowerRecordHandbookRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "TowerMonthlyDetail.proto";
+
+message TowerRecordHandbookRsp {
+ //enum DPDJGKLGMGD {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2450;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated TowerMonthlyDetail monthlyDetailList = 8;
+ int32 retcode = 12;
+}
diff --git a/proto/TowerSurrenderReq.proto b/proto/TowerSurrenderReq.proto
new file mode 100644
index 00000000..2cd31a13
--- /dev/null
+++ b/proto/TowerSurrenderReq.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message TowerSurrenderReq {
+ //enum DBDGDJPHAEP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2492;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+}
diff --git a/proto/TowerSurrenderRsp.proto b/proto/TowerSurrenderRsp.proto
new file mode 100644
index 00000000..eb4912f0
--- /dev/null
+++ b/proto/TowerSurrenderRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message TowerSurrenderRsp {
+ //enum NAINFGAMJJH {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2488;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 2;
+}
diff --git a/proto/TransmitReason.proto b/proto/TransmitReason.proto
new file mode 100644
index 00000000..0c46593f
--- /dev/null
+++ b/proto/TransmitReason.proto
@@ -0,0 +1,10 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+enum TransmitReason {
+ TRANSMIT_REASON_NONE = 0;
+ TRANSMIT_REASON_QUEST = 1;
+}
diff --git a/proto/TreasureMapActivityDetailInfo.proto b/proto/TreasureMapActivityDetailInfo.proto
new file mode 100644
index 00000000..c327e1d1
--- /dev/null
+++ b/proto/TreasureMapActivityDetailInfo.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "TreasureMapRegionInfo.proto";
+import "TreasureMapBonusChallengeInfo.proto";
+
+message TreasureMapActivityDetailInfo {
+ bool isMpChallengeTouched = 6;
+ uint32 totalMpSpotNum = 14;
+ repeated TreasureMapRegionInfo regionInfoList = 7;
+ uint32 currencyNum = 1;
+ uint32 minOpenPlayerLevel = 3;
+ uint32 activeRegionIndex = 2;
+ repeated TreasureMapBonusChallengeInfo bonusChallengeList = 15;
+ uint32 previewRewardId = 12;
+ uint32 treasureCloseTime = 5;
+}
diff --git a/proto/TreasureMapBonusChallengeNotify.proto b/proto/TreasureMapBonusChallengeNotify.proto
new file mode 100644
index 00000000..3d42c5f4
--- /dev/null
+++ b/proto/TreasureMapBonusChallengeNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "TreasureMapBonusChallengeInfo.proto";
+
+message TreasureMapBonusChallengeNotify {
+ //enum LAEPLOHMHNK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2056;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ TreasureMapBonusChallengeInfo info = 5;
+}
diff --git a/proto/TreasureMapCurrencyNotify.proto b/proto/TreasureMapCurrencyNotify.proto
new file mode 100644
index 00000000..184f20e3
--- /dev/null
+++ b/proto/TreasureMapCurrencyNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message TreasureMapCurrencyNotify {
+ //enum IPPBCDKJHAM {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2038;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 currencyNum = 13;
+}
diff --git a/proto/TreasureMapDetectorData.proto b/proto/TreasureMapDetectorData.proto
new file mode 100644
index 00000000..eeb400a2
--- /dev/null
+++ b/proto/TreasureMapDetectorData.proto
@@ -0,0 +1,15 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "Vector.proto";
+
+message TreasureMapDetectorData {
+ repeated Vector spotList = 15;
+ uint32 regionId = 6;
+ uint32 radius = 7;
+ Vector centerPos = 8;
+ bool isRegionDetected = 12;
+}
diff --git a/proto/TreasureMapDetectorDataNotify.proto b/proto/TreasureMapDetectorDataNotify.proto
new file mode 100644
index 00000000..0a78c587
--- /dev/null
+++ b/proto/TreasureMapDetectorDataNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "TreasureMapDetectorData.proto";
+
+message TreasureMapDetectorDataNotify {
+ //enum FDJPKJJFKJF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4298;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ TreasureMapDetectorData data = 6;
+}
diff --git a/proto/TreasureMapGuideTaskDoneNotify.proto b/proto/TreasureMapGuideTaskDoneNotify.proto
new file mode 100644
index 00000000..5980669c
--- /dev/null
+++ b/proto/TreasureMapGuideTaskDoneNotify.proto
@@ -0,0 +1,17 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message TreasureMapGuideTaskDoneNotify {
+ //enum GLFALFIHDME {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2053;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+}
diff --git a/proto/TreasureMapHostInfoNotify.proto b/proto/TreasureMapHostInfoNotify.proto
new file mode 100644
index 00000000..fa545b84
--- /dev/null
+++ b/proto/TreasureMapHostInfoNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message TreasureMapHostInfoNotify {
+ //enum MCEBPNGIEEH {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8218;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated uint32 mpChallengeRegionList = 15;
+}
diff --git a/proto/TreasureMapMpChallengeNotify.proto b/proto/TreasureMapMpChallengeNotify.proto
new file mode 100644
index 00000000..b254932c
--- /dev/null
+++ b/proto/TreasureMapMpChallengeNotify.proto
@@ -0,0 +1,17 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message TreasureMapMpChallengeNotify {
+ //enum JDKNMCOCBLM {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2054;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+}
diff --git a/proto/TreasureMapPreTaskDoneNotify.proto b/proto/TreasureMapPreTaskDoneNotify.proto
new file mode 100644
index 00000000..03265a16
--- /dev/null
+++ b/proto/TreasureMapPreTaskDoneNotify.proto
@@ -0,0 +1,17 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message TreasureMapPreTaskDoneNotify {
+ //enum HINCOLJFODF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2097;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+}
diff --git a/proto/TreasureMapRegionActiveNotify.proto b/proto/TreasureMapRegionActiveNotify.proto
new file mode 100644
index 00000000..b994a8d5
--- /dev/null
+++ b/proto/TreasureMapRegionActiveNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message TreasureMapRegionActiveNotify {
+ //enum HCPGMIOHJOH {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2177;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 activeRegionIndex = 14;
+}
diff --git a/proto/TreasureSeelieCollectOrbsNotify.proto b/proto/TreasureSeelieCollectOrbsNotify.proto
new file mode 100644
index 00000000..e50471e3
--- /dev/null
+++ b/proto/TreasureSeelieCollectOrbsNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message TreasureSeelieCollectOrbsNotify {
+ //enum DOKOIKJLHCC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 23448;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 currentNum = 1;
+ uint32 totalNum = 9;
+}
diff --git a/proto/TreasureSeelieRegionData.proto b/proto/TreasureSeelieRegionData.proto
new file mode 100644
index 00000000..d9c3c073
--- /dev/null
+++ b/proto/TreasureSeelieRegionData.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "Vector.proto";
+
+message TreasureSeelieRegionData {
+ bool isDone = 8;
+ uint32 jabbjfmhomi = 9;
+ float regionRadius = 12;
+ uint32 openTime = 5;
+ bool isOpen = 1;
+ Vector regionCenterPos = 6;
+ uint32 hljigeeodbh = 10;
+ uint32 sceneId = 4;
+ uint32 eipilegbijp = 3;
+ uint32 regionId = 13;
+}
diff --git a/proto/TrialAvatarActivityRewardDetailInfo.proto b/proto/TrialAvatarActivityRewardDetailInfo.proto
new file mode 100644
index 00000000..53198031
--- /dev/null
+++ b/proto/TrialAvatarActivityRewardDetailInfo.proto
@@ -0,0 +1,13 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message TrialAvatarActivityRewardDetailInfo {
+ uint32 trialAvatarIndexId = 5;
+ bool opecleddeom = 2;
+ uint32 rewardId = 7;
+ bool jbghkencdaj = 14;
+}
diff --git a/proto/TrialAvatarGrantRecord.proto b/proto/TrialAvatarGrantRecord.proto
index 3ce397cc..6fbfe34d 100644
--- a/proto/TrialAvatarGrantRecord.proto
+++ b/proto/TrialAvatarGrantRecord.proto
@@ -2,10 +2,24 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
-
-
-
message TrialAvatarGrantRecord {
- uint32 dglgipiglnd = 1;
- uint32 calgbbolcpn = 2;
-}
+ enum GrantReason {
+ GRANT_REASON_INVALID = 0;
+ GRANT_REASON_BY_QUEST = 1;
+ GRANT_REASON_BY_TRIAL_AVATAR_ACTIVITY = 2;
+ GRANT_REASON_BY_DUNGEON_ELEMENT_CHALLENGE = 3;
+ GRANT_REASON_BY_MIST_TRIAL_ACTIVITY = 4;
+ GRANT_REASON_BY_SUMO_ACTIVITY = 5;
+ GRANT_REASON_BY_POTION_ACTIVITY = 6;
+ GRANT_REASON_BY_CRYSTAL_LINK_ACTIVITY = 7;
+ GRANT_REASON_BY_IRODORI_MASTER = 8;
+ GRANT_REASON_BY_GM = 9;
+ GRANT_REASON_BY_INSTABLE_SPRAY_ACTIVITY = 10;
+ GRANT_REASON_BY_MUQADAS_POTION_ACTIVITY = 11;
+ GRANT_REASON_BY_VINTAGE_HUNTING = 12;
+ GRANT_REASON_BY_CHAR_AMUSEMENT = 13;
+ }
+
+ uint32 grant_reason = 1;
+ uint32 from_parent_quest_id = 2;
+}
\ No newline at end of file
diff --git a/proto/TrialAvatarInDungeonIndexNotify.proto b/proto/TrialAvatarInDungeonIndexNotify.proto
new file mode 100644
index 00000000..7178b269
--- /dev/null
+++ b/proto/TrialAvatarInDungeonIndexNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message TrialAvatarInDungeonIndexNotify {
+ //enum IGBDHEMHNLG {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2078;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 trialAvatarIndexId = 9;
+}
diff --git a/proto/TriggerRoguelikeCurseNotify.proto b/proto/TriggerRoguelikeCurseNotify.proto
new file mode 100644
index 00000000..97a94798
--- /dev/null
+++ b/proto/TriggerRoguelikeCurseNotify.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message TriggerRoguelikeCurseNotify {
+ //enum IGPBIGLKIEI {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8642;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ bool isTriggerCurse = 7;
+ uint32 Unk3300_POLIENBCNLF = 13;
+ repeated uint32 effectParamList = 6;
+ uint32 Unk3300_LJHJIBDPBBC = 5;
+}
diff --git a/proto/TriggerRoguelikeRuneReq.proto b/proto/TriggerRoguelikeRuneReq.proto
new file mode 100644
index 00000000..15a95428
--- /dev/null
+++ b/proto/TriggerRoguelikeRuneReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message TriggerRoguelikeRuneReq {
+ //enum AIOMOHFCIDF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8915;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 runeId = 8;
+}
diff --git a/proto/TriggerRoguelikeRuneRsp.proto b/proto/TriggerRoguelikeRuneRsp.proto
new file mode 100644
index 00000000..e4f5eb1a
--- /dev/null
+++ b/proto/TriggerRoguelikeRuneRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message TriggerRoguelikeRuneRsp {
+ //enum OIHAKOPDPCG {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8390;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 availableCount = 11;
+ uint32 runeId = 2;
+ int32 retcode = 7;
+}
diff --git a/proto/TryCustomDungeonReq.proto b/proto/TryCustomDungeonReq.proto
new file mode 100644
index 00000000..f00da14b
--- /dev/null
+++ b/proto/TryCustomDungeonReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message TryCustomDungeonReq {
+ //enum NENHPJDGAAE {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 6240;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 roomId = 9;
+}
diff --git a/proto/TryCustomDungeonRsp.proto b/proto/TryCustomDungeonRsp.proto
new file mode 100644
index 00000000..6e7a8361
--- /dev/null
+++ b/proto/TryCustomDungeonRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message TryCustomDungeonRsp {
+ //enum OMGIOMPJLGE {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 6237;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 roomId = 13;
+ int32 retcode = 9;
+}
diff --git a/proto/TryCustomDungeonType.proto b/proto/TryCustomDungeonType.proto
new file mode 100644
index 00000000..6c68212d
--- /dev/null
+++ b/proto/TryCustomDungeonType.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+enum TryCustomDungeonType {
+ TRY_CUSTOM_DUNGEON_TYPE_NONE = 0;
+ TRY_CUSTOM_DUNGEON_TYPE_ROOM = 1;
+ TRY_CUSTOM_DUNGEON_TYPE_ALL = 2;
+ TRY_CUSTOM_DUNGEON_TYPE_OFFICIAL_PLAY = 3;
+}
diff --git a/proto/TryEnterNextRogueDiaryDungeonReq.proto b/proto/TryEnterNextRogueDiaryDungeonReq.proto
new file mode 100644
index 00000000..8083d872
--- /dev/null
+++ b/proto/TryEnterNextRogueDiaryDungeonReq.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message TryEnterNextRogueDiaryDungeonReq {
+ //enum LPIPLKHNHAK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8960;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+}
diff --git a/proto/TryEnterNextRogueDiaryDungeonRsp.proto b/proto/TryEnterNextRogueDiaryDungeonRsp.proto
new file mode 100644
index 00000000..2f065ee1
--- /dev/null
+++ b/proto/TryEnterNextRogueDiaryDungeonRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message TryEnterNextRogueDiaryDungeonRsp {
+ //enum HMGBLNBCNAJ {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8659;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 13;
+}
diff --git a/proto/TryInterruptRogueDiaryDungeonReq.proto b/proto/TryInterruptRogueDiaryDungeonReq.proto
new file mode 100644
index 00000000..00320fdd
--- /dev/null
+++ b/proto/TryInterruptRogueDiaryDungeonReq.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message TryInterruptRogueDiaryDungeonReq {
+ //enum LFNDPMBPDHJ {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8804;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+}
diff --git a/proto/TryInterruptRogueDiaryDungeonRsp.proto b/proto/TryInterruptRogueDiaryDungeonRsp.proto
new file mode 100644
index 00000000..90012919
--- /dev/null
+++ b/proto/TryInterruptRogueDiaryDungeonRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message TryInterruptRogueDiaryDungeonRsp {
+ //enum DCJALJLMCKG {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8184;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 1;
+}
diff --git a/proto/Type.proto b/proto/Type.proto
new file mode 100644
index 00000000..1e172bde
--- /dev/null
+++ b/proto/Type.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+enum Type {
+ TYPE_NULL = 0;
+ TYPE_ACTIVE = 1;
+ TYPE_PASSIVE = 2;
+}
diff --git a/proto/UgcActivityDetailInfo.proto b/proto/UgcActivityDetailInfo.proto
new file mode 100644
index 00000000..e612c56a
--- /dev/null
+++ b/proto/UgcActivityDetailInfo.proto
@@ -0,0 +1,14 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "OfficialCustomDungeon.proto";
+
+message UgcActivityDetailInfo {
+ bool isUgcFeatureClosed = 5;
+ repeated OfficialCustomDungeon officialCustomDungeonList = 10;
+ bool isEnableUgc = 15;
+ uint32 customDungeonGroupId = 3;
+}
diff --git a/proto/UgcNotify.proto b/proto/UgcNotify.proto
new file mode 100644
index 00000000..f27244df
--- /dev/null
+++ b/proto/UgcNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message UgcNotify {
+ //enum HIFIPOHDLOE {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 6337;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ bool Unk3300_IBLDINGJJFI = 13;
+ bool Unk3300_KPABJPMLHCD = 5;
+ bool isUgcFeatureClosed = 10;
+}
diff --git a/proto/UnfreezeGroupLimitNotify.proto b/proto/UnfreezeGroupLimitNotify.proto
new file mode 100644
index 00000000..f5f00cda
--- /dev/null
+++ b/proto/UnfreezeGroupLimitNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message UnfreezeGroupLimitNotify {
+ //enum HOPCOBIOEBG {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 3346;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 sceneId = 10;
+ uint32 pointId = 13;
+}
diff --git a/proto/UnionCmd.proto b/proto/UnionCmd.proto
index 4154bcbf..28b6819b 100644
--- a/proto/UnionCmd.proto
+++ b/proto/UnionCmd.proto
@@ -1,6 +1,11 @@
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
+
+
+import "bytes.proto";
+
message UnionCmd {
uint32 messageId = 3;
bytes body = 5;
diff --git a/proto/Unk3300_ADHENCIFKNI.proto b/proto/Unk3300_ADHENCIFKNI.proto
new file mode 100644
index 00000000..db055481
--- /dev/null
+++ b/proto/Unk3300_ADHENCIFKNI.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message Unk3300_ADHENCIFKNI {
+ uint64 timeStamp = 14;
+ uint32 controllerId = 4;
+ uint64 beginTime = 12;
+}
diff --git a/proto/Unk3300_DGBNCDEIIFC.proto b/proto/Unk3300_DGBNCDEIIFC.proto
new file mode 100644
index 00000000..c76d0a90
--- /dev/null
+++ b/proto/Unk3300_DGBNCDEIIFC.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "PlatformType.proto";
+
+message Unk3300_DGBNCDEIIFC {
+ //enum NOBHCGGEENL {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 960;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated uint32 monsterIdList = 8;
+ repeated PlatformType pgnajgkggih = 3;
+}
diff --git a/proto/Unk3300_ICAGMOCOALO.proto b/proto/Unk3300_ICAGMOCOALO.proto
new file mode 100644
index 00000000..ca81b97e
--- /dev/null
+++ b/proto/Unk3300_ICAGMOCOALO.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message Unk3300_ICAGMOCOALO {
+ //enum BLAFLFHMGNI {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4156;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 matchId = 10;
+}
diff --git a/proto/UnlockCoopChapterReq.proto b/proto/UnlockCoopChapterReq.proto
new file mode 100644
index 00000000..8cadb44a
--- /dev/null
+++ b/proto/UnlockCoopChapterReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message UnlockCoopChapterReq {
+ //enum CNJICGIGCPK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 1952;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 chapterId = 2;
+}
diff --git a/proto/UnlockCoopChapterRsp.proto b/proto/UnlockCoopChapterRsp.proto
new file mode 100644
index 00000000..b8503600
--- /dev/null
+++ b/proto/UnlockCoopChapterRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message UnlockCoopChapterRsp {
+ //enum NFADBNDLOKO {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 1990;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 6;
+ uint32 chapterId = 15;
+}
diff --git a/proto/UnmarkEntityInMinMapNotify.proto b/proto/UnmarkEntityInMinMapNotify.proto
new file mode 100644
index 00000000..4c25150f
--- /dev/null
+++ b/proto/UnmarkEntityInMinMapNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message UnmarkEntityInMinMapNotify {
+ //enum ENPKIIMAJAK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 223;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 entityId = 2;
+}
diff --git a/proto/UpdateController.proto b/proto/UpdateController.proto
new file mode 100644
index 00000000..b07079cf
--- /dev/null
+++ b/proto/UpdateController.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "Uint32Pair.proto";
+
+message UpdateController {
+ repeated Uint32Pair allowControllerMap = 3;
+}
diff --git a/proto/UpdatePS4BlockListReq.proto b/proto/UpdatePS4BlockListReq.proto
new file mode 100644
index 00000000..7f2c1286
--- /dev/null
+++ b/proto/UpdatePS4BlockListReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message UpdatePS4BlockListReq {
+ //enum JNDJIPIGLLA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4035;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ repeated string psnIdList = 7;
+}
diff --git a/proto/UpdatePS4BlockListRsp.proto b/proto/UpdatePS4BlockListRsp.proto
new file mode 100644
index 00000000..3cab0b81
--- /dev/null
+++ b/proto/UpdatePS4BlockListRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message UpdatePS4BlockListRsp {
+ //enum AMKDEFEMDGF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4007;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 14;
+}
diff --git a/proto/UpdatePS4FriendListNotify.proto b/proto/UpdatePS4FriendListNotify.proto
new file mode 100644
index 00000000..ad8528e5
--- /dev/null
+++ b/proto/UpdatePS4FriendListNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message UpdatePS4FriendListNotify {
+ //enum BEEENKINLJM {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4046;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ repeated string psnIdList = 8;
+}
diff --git a/proto/UpdatePS4FriendListReq.proto b/proto/UpdatePS4FriendListReq.proto
new file mode 100644
index 00000000..f40b666d
--- /dev/null
+++ b/proto/UpdatePS4FriendListReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message UpdatePS4FriendListReq {
+ //enum DOMAEEOOHNF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4061;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ repeated string psnIdList = 3;
+}
diff --git a/proto/UpdatePS4FriendListRsp.proto b/proto/UpdatePS4FriendListRsp.proto
new file mode 100644
index 00000000..a39d86e7
--- /dev/null
+++ b/proto/UpdatePS4FriendListRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message UpdatePS4FriendListRsp {
+ //enum BCBOJFJDPLA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4065;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ repeated string psnIdList = 7;
+ int32 retcode = 15;
+}
diff --git a/proto/UpdateRedPointNotify.proto b/proto/UpdateRedPointNotify.proto
new file mode 100644
index 00000000..47e227ad
--- /dev/null
+++ b/proto/UpdateRedPointNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "RedPointData.proto";
+
+message UpdateRedPointNotify {
+ //enum KBKBPIHKKKB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 58;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated RedPointData redPointList = 8;
+}
diff --git a/proto/UpdateReunionWatcherNotify.proto b/proto/UpdateReunionWatcherNotify.proto
new file mode 100644
index 00000000..2f56de8e
--- /dev/null
+++ b/proto/UpdateReunionWatcherNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ReunionWatcherInfo.proto";
+
+message UpdateReunionWatcherNotify {
+ //enum OHBHKHOLILI {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5087;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 missionId = 12;
+ ReunionWatcherInfo watcherInfo = 14;
+}
diff --git a/proto/UpdateSalvageBundleMarkReq.proto b/proto/UpdateSalvageBundleMarkReq.proto
new file mode 100644
index 00000000..26d31819
--- /dev/null
+++ b/proto/UpdateSalvageBundleMarkReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message UpdateSalvageBundleMarkReq {
+ //enum JDHJMJGPFGA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8786;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 stageId = 5;
+ uint32 challengeType = 4;
+}
diff --git a/proto/UpdateSalvageBundleMarkRsp.proto b/proto/UpdateSalvageBundleMarkRsp.proto
new file mode 100644
index 00000000..7475db96
--- /dev/null
+++ b/proto/UpdateSalvageBundleMarkRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message UpdateSalvageBundleMarkRsp {
+ //enum APLKLACHNKI {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8990;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 challengeType = 6;
+ uint32 stageId = 10;
+ int32 retcode = 1;
+}
diff --git a/proto/UpdateType.proto b/proto/UpdateType.proto
new file mode 100644
index 00000000..ade357a5
--- /dev/null
+++ b/proto/UpdateType.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+enum UpdateType {
+ UPDATE_TYPE_INVALID = 0;
+ UPDATE_TYPE_ADD = 1;
+ UPDATE_TYPE_SET = 2;
+}
diff --git a/proto/UpgradeRoguelikeShikigamiReq.proto b/proto/UpgradeRoguelikeShikigamiReq.proto
new file mode 100644
index 00000000..51c5144e
--- /dev/null
+++ b/proto/UpgradeRoguelikeShikigamiReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message UpgradeRoguelikeShikigamiReq {
+ //enum FIPFBHBMEIM {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8153;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 shikigamiGroupId = 10;
+ uint32 upgradeLevel = 6;
+}
diff --git a/proto/UpgradeRoguelikeShikigamiRsp.proto b/proto/UpgradeRoguelikeShikigamiRsp.proto
new file mode 100644
index 00000000..91ead399
--- /dev/null
+++ b/proto/UpgradeRoguelikeShikigamiRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message UpgradeRoguelikeShikigamiRsp {
+ //enum PLFPOFGAGJJ {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8113;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 curLevel = 4;
+ uint32 shikigamiGroupId = 5;
+ int32 retcode = 9;
+}
diff --git a/proto/UseMiracleRingReq.proto b/proto/UseMiracleRingReq.proto
new file mode 100644
index 00000000..7cc724b7
--- /dev/null
+++ b/proto/UseMiracleRingReq.proto
@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "Vector.proto";
+
+message UseMiracleRingReq {
+ //enum AHJAJPOCOOB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5238;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ Vector pos = 7;
+ Vector rot = 2;
+ uint32 miracleRingOpType = 1;
+}
diff --git a/proto/UseMiracleRingRsp.proto b/proto/UseMiracleRingRsp.proto
new file mode 100644
index 00000000..8cd02f96
--- /dev/null
+++ b/proto/UseMiracleRingRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message UseMiracleRingRsp {
+ //enum OFNIDEHFFBJ {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5245;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 miracleRingOpType = 9;
+ int32 retcode = 8;
+}
diff --git a/proto/UseSkill.proto b/proto/UseSkill.proto
new file mode 100644
index 00000000..7456a2fa
--- /dev/null
+++ b/proto/UseSkill.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message UseSkill {
+ uint32 cardGuid = 11;
+ uint32 skillId = 14;
+}
diff --git a/proto/UseSkillEnd.proto b/proto/UseSkillEnd.proto
new file mode 100644
index 00000000..7e3399dc
--- /dev/null
+++ b/proto/UseSkillEnd.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message UseSkillEnd {
+ uint32 skillId = 5;
+ uint32 cardGuid = 13;
+}
diff --git a/proto/UseWidgetCreateGadgetReq.proto b/proto/UseWidgetCreateGadgetReq.proto
new file mode 100644
index 00000000..78787c93
--- /dev/null
+++ b/proto/UseWidgetCreateGadgetReq.proto
@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "Vector.proto";
+
+message UseWidgetCreateGadgetReq {
+ //enum HJENJAICALH {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4300;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ Vector rot = 9;
+ uint32 materialId = 7;
+ Vector pos = 2;
+}
diff --git a/proto/UseWidgetCreateGadgetRsp.proto b/proto/UseWidgetCreateGadgetRsp.proto
new file mode 100644
index 00000000..cffbda63
--- /dev/null
+++ b/proto/UseWidgetCreateGadgetRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message UseWidgetCreateGadgetRsp {
+ //enum PFEKLKGCPGM {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4267;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 materialId = 13;
+ int32 retcode = 4;
+}
diff --git a/proto/UseWidgetRetractGadgetReq.proto b/proto/UseWidgetRetractGadgetReq.proto
new file mode 100644
index 00000000..477b91fe
--- /dev/null
+++ b/proto/UseWidgetRetractGadgetReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message UseWidgetRetractGadgetReq {
+ //enum MGHIMCMHFFH {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4251;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 entityId = 15;
+}
diff --git a/proto/UseWidgetRetractGadgetRsp.proto b/proto/UseWidgetRetractGadgetRsp.proto
new file mode 100644
index 00000000..b007219d
--- /dev/null
+++ b/proto/UseWidgetRetractGadgetRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message UseWidgetRetractGadgetRsp {
+ //enum AEHABPCLFPJ {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4289;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ int32 retcode = 11;
+ uint32 entityId = 4;
+}
diff --git a/proto/ViewCodexReq.proto b/proto/ViewCodexReq.proto
new file mode 100644
index 00000000..c1384075
--- /dev/null
+++ b/proto/ViewCodexReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "CodexTypeData.proto";
+
+message ViewCodexReq {
+ //enum JPAIFNAGDIG {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4203;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ repeated CodexTypeData typeDataList = 9;
+}
diff --git a/proto/ViewCodexRsp.proto b/proto/ViewCodexRsp.proto
new file mode 100644
index 00000000..f7fd33d9
--- /dev/null
+++ b/proto/ViewCodexRsp.proto
@@ -0,0 +1,23 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "CodexTypeData.proto";
+
+message ViewCodexRsp {
+ //enum GIKPCHLPAJM {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4209;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated uint32 Unk3300_CBGDAAOBGNB = 14;
+ repeated uint32 recentViewedPushtipsList = 13;
+ repeated CodexTypeData typeDataList = 8;
+ int32 retcode = 10;
+ repeated uint32 Unk3300_IDNOLALHFFA = 7;
+}
diff --git a/proto/ViewLanternProjectionLevelTipsReq.proto b/proto/ViewLanternProjectionLevelTipsReq.proto
new file mode 100644
index 00000000..4132d962
--- /dev/null
+++ b/proto/ViewLanternProjectionLevelTipsReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ViewLanternProjectionLevelTipsReq {
+ //enum BJPOFMHIIJH {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8211;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 levelId = 14;
+}
diff --git a/proto/ViewLanternProjectionLevelTipsRsp.proto b/proto/ViewLanternProjectionLevelTipsRsp.proto
new file mode 100644
index 00000000..60a45d54
--- /dev/null
+++ b/proto/ViewLanternProjectionLevelTipsRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ViewLanternProjectionLevelTipsRsp {
+ //enum GOKIMBIOCKA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8637;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 6;
+}
diff --git a/proto/ViewLanternProjectionTipsReq.proto b/proto/ViewLanternProjectionTipsReq.proto
new file mode 100644
index 00000000..2bb8dd24
--- /dev/null
+++ b/proto/ViewLanternProjectionTipsReq.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ClientInputType.proto";
+
+message ViewLanternProjectionTipsReq {
+ //enum BPDKNPMCDCF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8102;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ bool isInputTips = 2;
+ ClientInputType inputType = 1;
+}
diff --git a/proto/ViewLanternProjectionTipsRsp.proto b/proto/ViewLanternProjectionTipsRsp.proto
new file mode 100644
index 00000000..185043dd
--- /dev/null
+++ b/proto/ViewLanternProjectionTipsRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message ViewLanternProjectionTipsRsp {
+ //enum LNCIDKKDKBE {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8742;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 3;
+}
diff --git a/proto/VintageCampGroupBundleRegisterNotify.proto b/proto/VintageCampGroupBundleRegisterNotify.proto
new file mode 100644
index 00000000..30f6b748
--- /dev/null
+++ b/proto/VintageCampGroupBundleRegisterNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message VintageCampGroupBundleRegisterNotify {
+ //enum BHMMDEHNBLK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 23285;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 groupBundleId = 5;
+}
diff --git a/proto/VintageCampStageFinishNotify.proto b/proto/VintageCampStageFinishNotify.proto
new file mode 100644
index 00000000..32bebd25
--- /dev/null
+++ b/proto/VintageCampStageFinishNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message VintageCampStageFinishNotify {
+ //enum HACIDCALPKB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 23644;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 stageId = 7;
+}
diff --git a/proto/VintageDecorateBoothReq.proto b/proto/VintageDecorateBoothReq.proto
new file mode 100644
index 00000000..39ea0ae3
--- /dev/null
+++ b/proto/VintageDecorateBoothReq.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "CustomGadgetTreeInfo.proto";
+
+message VintageDecorateBoothReq {
+ //enum IBHDMIJFIHD {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 22772;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ CustomGadgetTreeInfo combinationInfo = 11;
+ uint32 entityId = 1;
+}
diff --git a/proto/VintageDecorateBoothRsp.proto b/proto/VintageDecorateBoothRsp.proto
new file mode 100644
index 00000000..6d112eaa
--- /dev/null
+++ b/proto/VintageDecorateBoothRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message VintageDecorateBoothRsp {
+ //enum NOAJMHDHIIJ {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 20174;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 2;
+}
diff --git a/proto/VintageHuntingFirstStageInfo.proto b/proto/VintageHuntingFirstStageInfo.proto
new file mode 100644
index 00000000..ef3cc7bb
--- /dev/null
+++ b/proto/VintageHuntingFirstStageInfo.proto
@@ -0,0 +1,13 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message VintageHuntingFirstStageInfo {
+ uint32 Unk3300_NILGNHOPGLD = 14;
+ uint32 Unk3300_HIKADHBLPEB = 1;
+ uint32 Unk3300_IPAJLKOBDKC = 12;
+ uint32 score = 15;
+}
diff --git a/proto/VintageHuntingInfo.proto b/proto/VintageHuntingInfo.proto
new file mode 100644
index 00000000..70b851f8
--- /dev/null
+++ b/proto/VintageHuntingInfo.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "FirstStageInfo.proto";
+import "SecondStageInfo.proto";
+import "ThirdStageInfo.proto";
+
+message VintageHuntingInfo {
+ uint32 stageId = 2;
+ oneof info {
+ FirstStageInfo first_stage_info = 14;
+ SecondStageInfo second_stage_info = 11;
+ ThirdStageInfo third_stage_info = 9;
+ }
+}
diff --git a/proto/VintageHuntingSecondStageInfo.proto b/proto/VintageHuntingSecondStageInfo.proto
new file mode 100644
index 00000000..19d13d0a
--- /dev/null
+++ b/proto/VintageHuntingSecondStageInfo.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message VintageHuntingSecondStageInfo {
+ uint32 totalNum = 15;
+ uint32 captureAnimalNum = 11;
+ uint32 homaiophceb = 14;
+}
diff --git a/proto/VintageHuntingStartGalleryReq.proto b/proto/VintageHuntingStartGalleryReq.proto
new file mode 100644
index 00000000..af4dcf8d
--- /dev/null
+++ b/proto/VintageHuntingStartGalleryReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message VintageHuntingStartGalleryReq {
+ //enum MPOHODJKDOK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 23502;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 stageId = 5;
+}
diff --git a/proto/VintageHuntingStartGalleryRsp.proto b/proto/VintageHuntingStartGalleryRsp.proto
new file mode 100644
index 00000000..5da916ef
--- /dev/null
+++ b/proto/VintageHuntingStartGalleryRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message VintageHuntingStartGalleryRsp {
+ //enum HMMGEFLBMFH {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 24063;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 11;
+}
diff --git a/proto/VintageHuntingThirdStageInfo.proto b/proto/VintageHuntingThirdStageInfo.proto
new file mode 100644
index 00000000..a7f2c2a2
--- /dev/null
+++ b/proto/VintageHuntingThirdStageInfo.proto
@@ -0,0 +1,9 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message VintageHuntingThirdStageInfo {
+}
diff --git a/proto/VintageMarketDividendFinishNotify.proto b/proto/VintageMarketDividendFinishNotify.proto
new file mode 100644
index 00000000..a2f81e78
--- /dev/null
+++ b/proto/VintageMarketDividendFinishNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message VintageMarketDividendFinishNotify {
+ //enum DPMDPPBODPD {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 20769;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 coinA = 11;
+ uint32 coinC = 3;
+}
diff --git a/proto/VintageMarketFinishStorePlayReq.proto b/proto/VintageMarketFinishStorePlayReq.proto
new file mode 100644
index 00000000..0ac2d51f
--- /dev/null
+++ b/proto/VintageMarketFinishStorePlayReq.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "VintageMarketStoreOpInfo.proto";
+
+message VintageMarketFinishStorePlayReq {
+ //enum DBOLEHNGBHM {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 23780;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 storeRound = 8;
+ repeated VintageMarketStoreOpInfo storeOpList = 12;
+}
diff --git a/proto/VintageMarketFinishStorePlayRsp.proto b/proto/VintageMarketFinishStorePlayRsp.proto
new file mode 100644
index 00000000..81886bdb
--- /dev/null
+++ b/proto/VintageMarketFinishStorePlayRsp.proto
@@ -0,0 +1,27 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message VintageMarketFinishStorePlayRsp {
+ //enum MNGADGCMBJB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 23367;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 Unk3300_DGECJOKMDGN = 4;
+ uint32 Unk3300_DJILELFHFHJ = 14;
+ int32 retcode = 11;
+ repeated uint32 Unk3300_HJIHIOIGAPP = 2;
+ uint32 Unk3300_DLNFCBPDBBH = 15;
+ uint32 Unk3300_GCDNOPJEIBG = 7;
+ map storeIncomeMap = 1;
+ uint32 storeRound = 6;
+ repeated uint32 Unk3300_BDAIONEPKIK = 5;
+ repeated uint32 Unk3300_OCIMKEPJOOL = 9;
+}
diff --git a/proto/VintageMarketNpcEventFinishNotify.proto b/proto/VintageMarketNpcEventFinishNotify.proto
new file mode 100644
index 00000000..0f4d7f4f
--- /dev/null
+++ b/proto/VintageMarketNpcEventFinishNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message VintageMarketNpcEventFinishNotify {
+ //enum NLEDGJEHOFD {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 21065;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated uint32 unlockStrategyList = 15;
+ uint32 coinA = 12;
+ uint32 coinC = 8;
+}
diff --git a/proto/VintageMarketStartStorePlayReq.proto b/proto/VintageMarketStartStorePlayReq.proto
new file mode 100644
index 00000000..b67dd1bc
--- /dev/null
+++ b/proto/VintageMarketStartStorePlayReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message VintageMarketStartStorePlayReq {
+ //enum HAKIHKIKBJL {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 20758;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 storeRound = 1;
+}
diff --git a/proto/VintageMarketStartStorePlayRsp.proto b/proto/VintageMarketStartStorePlayRsp.proto
new file mode 100644
index 00000000..4b17946a
--- /dev/null
+++ b/proto/VintageMarketStartStorePlayRsp.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message VintageMarketStartStorePlayRsp {
+ //enum ENOKLJEALMK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 21141;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 3;
+ uint32 Unk3300_LCCNEKGONFG = 1;
+ uint32 Unk3300_ADJKIIJFNME = 13;
+ uint32 storeRound = 6;
+}
diff --git a/proto/VintageMarketStoreChooseStrategyReq.proto b/proto/VintageMarketStoreChooseStrategyReq.proto
new file mode 100644
index 00000000..96d49e90
--- /dev/null
+++ b/proto/VintageMarketStoreChooseStrategyReq.proto
@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "VintageMarketStoreOpInfo.proto";
+
+message VintageMarketStoreChooseStrategyReq {
+ //enum MEMBHLBAAFD {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 20971;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 storeId = 10;
+ repeated uint32 strategyList = 2;
+ repeated VintageMarketStoreOpInfo storeOpList = 15;
+}
diff --git a/proto/VintageMarketStoreChooseStrategyRsp.proto b/proto/VintageMarketStoreChooseStrategyRsp.proto
new file mode 100644
index 00000000..d7e21661
--- /dev/null
+++ b/proto/VintageMarketStoreChooseStrategyRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message VintageMarketStoreChooseStrategyRsp {
+ //enum NPJKKPABAAI {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 23497;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated uint32 strategyList = 7;
+ uint32 storeId = 15;
+ int32 retcode = 8;
+}
diff --git a/proto/VintageMarketStoreOpInfo.proto b/proto/VintageMarketStoreOpInfo.proto
new file mode 100644
index 00000000..d26bcbe0
--- /dev/null
+++ b/proto/VintageMarketStoreOpInfo.proto
@@ -0,0 +1,14 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message VintageMarketStoreOpInfo {
+ uint32 helpUid = 14;
+ uint32 helpSkillId = 13;
+ repeated uint32 addAttrList = 3;
+ uint32 storeId = 2;
+ repeated uint32 strategyList = 4;
+}
diff --git a/proto/VintageMarketStoreUnlockSlotReq.proto b/proto/VintageMarketStoreUnlockSlotReq.proto
new file mode 100644
index 00000000..b2131d51
--- /dev/null
+++ b/proto/VintageMarketStoreUnlockSlotReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message VintageMarketStoreUnlockSlotReq {
+ //enum MOJMFNKIIMK {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 24687;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 storeId = 4;
+}
diff --git a/proto/VintageMarketStoreUnlockSlotRsp.proto b/proto/VintageMarketStoreUnlockSlotRsp.proto
new file mode 100644
index 00000000..71b9319c
--- /dev/null
+++ b/proto/VintageMarketStoreUnlockSlotRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message VintageMarketStoreUnlockSlotRsp {
+ //enum LLKFACKMLJH {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 20112;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 storeId = 5;
+ int32 retcode = 8;
+ uint32 slotCount = 10;
+}
diff --git a/proto/VintageMarketStoreViewStrategyReq.proto b/proto/VintageMarketStoreViewStrategyReq.proto
new file mode 100644
index 00000000..f183ea3c
--- /dev/null
+++ b/proto/VintageMarketStoreViewStrategyReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message VintageMarketStoreViewStrategyReq {
+ //enum NKILKBBKFPN {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 24026;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 strategyId = 10;
+ repeated uint32 strategyList = 15;
+}
diff --git a/proto/VintageMarketStoreViewStrategyRsp.proto b/proto/VintageMarketStoreViewStrategyRsp.proto
new file mode 100644
index 00000000..cb948b3b
--- /dev/null
+++ b/proto/VintageMarketStoreViewStrategyRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message VintageMarketStoreViewStrategyRsp {
+ //enum BMHPOHCPOPC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 21369;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated uint32 strategyList = 7;
+ uint32 strategyId = 15;
+ int32 retcode = 1;
+}
diff --git a/proto/VintagePresentFinishNoify.proto b/proto/VintagePresentFinishNoify.proto
new file mode 100644
index 00000000..de0cae02
--- /dev/null
+++ b/proto/VintagePresentFinishNoify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message VintagePresentFinishNoify {
+ //enum DAELMFOPJEN {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 22633;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 presentId = 7;
+}
diff --git a/proto/VintagePresentFinishNotify.proto b/proto/VintagePresentFinishNotify.proto
new file mode 100644
index 00000000..fd3c24f0
--- /dev/null
+++ b/proto/VintagePresentFinishNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message VintagePresentFinishNotify {
+ //enum OJKNNANBCBE {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 23457;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 presentId = 4;
+}
diff --git a/proto/VirtualItem.proto b/proto/VirtualItem.proto
deleted file mode 100644
index 76dab844..00000000
--- a/proto/VirtualItem.proto
+++ /dev/null
@@ -1,85 +0,0 @@
-// Proto has been converted from Sorapointa to Grasscutter format
-// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
-// Copyright (C) 2022 Sorapointa Team
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see .
-
-syntax = "proto3";
-
-option java_package = "emu.grasscutter.net.proto";
-
-enum VirtualItem {
- VIRTUAL_ITEM_VIRTUAL_NONE = 0;
- VIRTUAL_ITEM_VIRTUAL_AVATAR_EXP = 101;
- VIRTUAL_ITEM_VIRTUAL_PLAYER_EXP = 102;
- VIRTUAL_ITEM_VIRTUAL_FETTER_EXP = 105;
- VIRTUAL_ITEM_VIRTUAL_RESIN = 106;
- VIRTUAL_ITEM_VIRTUAL_LEGENDARY_KEY = 107;
- VIRTUAL_ITEM_VIRTUAL_ASTER_PROGRESS = 108;
- VIRTUAL_ITEM_VIRTUAL_ASTER_CREDIT = 109;
- VIRTUAL_ITEM_VIRTUAL_ASTER_TOKEN = 110;
- VIRTUAL_ITEM_VIRTUAL_SHIMMERING_ESSENCE = 111;
- VIRTUAL_ITEM_VIRTUAL_WARM_ESSENCE = 112;
- VIRTUAL_ITEM_VIRTUAL_WONDROUS_ESSENCE = 113;
- VIRTUAL_ITEM_VIRTUAL_TREASURE_MAP_TOKEN = 114;
- VIRTUAL_ITEM_VIRTUAL_SEA_LAMP_COIN = 115;
- VIRTUAL_ITEM_VIRTUAL_SEA_LAMP_POPULARITY = 116;
- VIRTUAL_ITEM_VIRTUAL_MECHANICUS_COIN = 117;
- VIRTUAL_ITEM_VIRTUAL_FLEUR_FAIR_CREDIT = 118;
- VIRTUAL_ITEM_VIRTUAL_FLEUR_FAIR_TOKEN = 119;
- VIRTUAL_ITEM_VIRTUAL_WATER_SPIRIT_COIN = 120;
- VIRTUAL_ITEM_VIRTUAL_HOME_EXP = 121;
- VIRTUAL_ITEM_VIRTUAL_CHANNELLER_SLAB_TOKEN = 122;
- VIRTUAL_ITEM_VIRTUAL_HIDE_AND_SEEK_COIN = 123;
- VIRTUAL_ITEM_VIRTUAL_SUMMER_TIME_DRAFT_WOOD = 124;
- VIRTUAL_ITEM_VIRTUAL_SUMMER_TIME_MINI_HARPASTUM = 125;
- VIRTUAL_ITEM_VIRTUAL_BOUNCE_CONJURING_COIN = 126;
- VIRTUAL_ITEM_VIRTUAL_BLITZ_RUSH_COIN_A = 127;
- VIRTUAL_ITEM_VIRTUAL_BLITZ_RUSH_COIN_B = 128;
- VIRTUAL_ITEM_VIRTUAL_CHESS_EXP = 129;
- VIRTUAL_ITEM_VIRTUAL_CHESS_COIN = 130;
- VIRTUAL_ITEM_VIRTUAL_LUNA_RITE_ATMOSPHERE = 131;
- VIRTUAL_ITEM_VIRTUAL_ROGUELIKE_COIN_A = 132;
- VIRTUAL_ITEM_VIRTUAL_ROGUELIKE_COIN_B = 133;
- VIRTUAL_ITEM_VIRTUAL_ROGUELIKE_COIN_C = 134;
- VIRTUAL_ITEM_VIRTUAL_WINTER_CAMP_COIN_A = 135;
- VIRTUAL_ITEM_VIRTUAL_WINTER_CAMP_COIN_B = 136;
- VIRTUAL_ITEM_VIRTUAL_LANTERN_RITE_COIN_A = 137;
- VIRTUAL_ITEM_VIRTUAL_LANTERN_RITE_COIN_B = 138;
- VIRTUAL_ITEM_VIRTUAL_LANTERN_RITE_COIN_C = 139;
- VIRTUAL_ITEM_VIRTUAL_ROGUE_DIARY_COIN = 140;
- VIRTUAL_ITEM_VIRTUAL_SUMMER_TIME_V2_COIN = 141;
- VIRTUAL_ITEM_VIRTUAL_ROGUE_DIARY_DUNGEON_COIN = 142;
- VIRTUAL_ITEM_VIRTUAL_GRAVEN_INNOCENCE_COIN_A = 143;
- VIRTUAL_ITEM_VIRTUAL_GRAVEN_INNOCENCE_COIN_B = 144;
- VIRTUAL_ITEM_VIRTUAL_TREASURE_SEELIE_COIN = 145;
- VIRTUAL_ITEM_VIRTUAL_VINTAGE_POPULARITY = 147;
- VIRTUAL_ITEM_VIRTUAL_GCG_EXP = 146;
- VIRTUAL_ITEM_VIRTUAL_VINTAGE_MARKET_COIN_A = 148;
- VIRTUAL_ITEM_VIRTUAL_VINTAGE_MARKET_COIN_B = 149;
- VIRTUAL_ITEM_VIRTUAL_VINTAGE_MARKET_COIN_C = 150;
- VIRTUAL_ITEM_VIRTUAL_FUNGUS_FIGHTER_CAPTURE_COIN = 151;
- VIRTUAL_ITEM_VIRTUAL_FUNGUS_FIGHTER_TRAINING_COIN = 152;
- VIRTUAL_ITEM_VIRTUAL_EFFIGY_CHALLENGE_V2_COIN = 153;
- VIRTUAL_ITEM_VIRTUAL_BRICK_BREAKER_COIN = 155;
- VIRTUAL_ITEM_VIRTUAL_HCOIN = 201;
- VIRTUAL_ITEM_VIRTUAL_SCOIN = 202;
- VIRTUAL_ITEM_VIRTUAL_MCOIN = 203;
- VIRTUAL_ITEM_VIRTUAL_HOME_COIN = 204;
- VIRTUAL_ITEM_VIRTUAL_GCG_COIN = 205;
- VIRTUAL_ITEM_VIRTUAL_INAZUMA_REPUTATION = 314;
- VIRTUAL_ITEM_VIRTUAL_MENGDE_REPUTATION = 315;
- VIRTUAL_ITEM_VIRTUAL_SUMERU_REPUTATION = 316;
- VIRTUAL_ITEM_VIRTUAL_LIYUE_REPUTATION = 317;
-}
diff --git a/proto/WaitingListChange.proto b/proto/WaitingListChange.proto
new file mode 100644
index 00000000..3ed6b705
--- /dev/null
+++ b/proto/WaitingListChange.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message WaitingListChange {
+ uint32 controllerId = 4;
+ uint32 curIndex = 3;
+}
diff --git a/proto/WatcherAllDataNotify.proto b/proto/WatcherAllDataNotify.proto
new file mode 100644
index 00000000..d48e8b7f
--- /dev/null
+++ b/proto/WatcherAllDataNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message WatcherAllDataNotify {
+ //enum OBBOLPHMBLI {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2205;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated uint32 watcherList = 10;
+}
diff --git a/proto/WatcherChangeNotify.proto b/proto/WatcherChangeNotify.proto
new file mode 100644
index 00000000..40def0c0
--- /dev/null
+++ b/proto/WatcherChangeNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message WatcherChangeNotify {
+ //enum FIOOFFIIJJJ {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2255;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated uint32 newWatcherList = 4;
+ repeated uint32 removedWatcherList = 3;
+}
diff --git a/proto/WatcherEventNotify.proto b/proto/WatcherEventNotify.proto
new file mode 100644
index 00000000..58bd7128
--- /dev/null
+++ b/proto/WatcherEventNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message WatcherEventNotify {
+ //enum DLGLGAOJGFL {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2287;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 addProgress = 3;
+ uint32 watcherId = 15;
+}
diff --git a/proto/WatcherEventStageNotify.proto b/proto/WatcherEventStageNotify.proto
new file mode 100644
index 00000000..4fd10feb
--- /dev/null
+++ b/proto/WatcherEventStageNotify.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message WatcherEventStageNotify {
+ //enum LLEOBAOBBNG {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2220;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 addProgress = 3;
+ uint32 watcherId = 13;
+ uint32 stage = 6;
+}
diff --git a/proto/WatcherEventTypeNotify.proto b/proto/WatcherEventTypeNotify.proto
new file mode 100644
index 00000000..f58dae7a
--- /dev/null
+++ b/proto/WatcherEventTypeNotify.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message WatcherEventTypeNotify {
+ //enum PGCGKHOMJEC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2298;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ repeated uint32 paramList = 5;
+ uint32 addProgress = 13;
+ uint32 watcherTriggerType = 7;
+}
diff --git a/proto/WaterInfo.proto b/proto/WaterInfo.proto
new file mode 100644
index 00000000..007d2a37
--- /dev/null
+++ b/proto/WaterInfo.proto
@@ -0,0 +1,10 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message WaterInfo {
+ int64 id = 1;
+}
diff --git a/proto/WaterSpiritActivityDetailInfo.proto b/proto/WaterSpiritActivityDetailInfo.proto
new file mode 100644
index 00000000..26d7a4f9
--- /dev/null
+++ b/proto/WaterSpiritActivityDetailInfo.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message WaterSpiritActivityDetailInfo {
+ uint32 mpPlayId = 13;
+ map searchTimeMap = 3;
+ uint32 regionSearchId = 4;
+}
diff --git a/proto/WaterSpritePhaseFinishNotify.proto b/proto/WaterSpritePhaseFinishNotify.proto
new file mode 100644
index 00000000..276ec04a
--- /dev/null
+++ b/proto/WaterSpritePhaseFinishNotify.proto
@@ -0,0 +1,17 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message WaterSpritePhaseFinishNotify {
+ //enum LEFDBFPGJEN {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2095;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+}
diff --git a/proto/WidgetActiveChangeNotify.proto b/proto/WidgetActiveChangeNotify.proto
new file mode 100644
index 00000000..5fd222f0
--- /dev/null
+++ b/proto/WidgetActiveChangeNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "WidgetSlotData.proto";
+
+message WidgetActiveChangeNotify {
+ //enum LEFFDDICKCL {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4278;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated WidgetSlotData widgetDataList = 13;
+}
diff --git a/proto/WidgetCameraInfo.proto b/proto/WidgetCameraInfo.proto
new file mode 100644
index 00000000..246debba
--- /dev/null
+++ b/proto/WidgetCameraInfo.proto
@@ -0,0 +1,10 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message WidgetCameraInfo {
+ uint32 targetEntityId = 6;
+}
diff --git a/proto/WidgetCaptureAnimalReq.proto b/proto/WidgetCaptureAnimalReq.proto
new file mode 100644
index 00000000..62df389f
--- /dev/null
+++ b/proto/WidgetCaptureAnimalReq.proto
@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "Vector.proto";
+
+message WidgetCaptureAnimalReq {
+ //enum EBLPANMIIED {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4273;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 materialId = 8;
+ Vector pos = 5;
+ uint32 entityId = 11;
+}
diff --git a/proto/WidgetCaptureAnimalRsp.proto b/proto/WidgetCaptureAnimalRsp.proto
new file mode 100644
index 00000000..331390b5
--- /dev/null
+++ b/proto/WidgetCaptureAnimalRsp.proto
@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "Vector.proto";
+
+message WidgetCaptureAnimalRsp {
+ //enum OHAJHBKAEHA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4271;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 materialId = 10;
+ uint32 entityId = 11;
+ Vector pos = 12;
+ int32 retcode = 3;
+}
diff --git a/proto/WidgetExtraCdType.proto b/proto/WidgetExtraCdType.proto
new file mode 100644
index 00000000..7b5ee54e
--- /dev/null
+++ b/proto/WidgetExtraCdType.proto
@@ -0,0 +1,10 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+enum WidgetExtraCdType {
+ NONE = 0;
+ WIDGET_EXTRA_CD_TYPE_E_SKILL_SHARED = 1;
+}
diff --git a/proto/WidgetGadgetDestroyNotify.proto b/proto/WidgetGadgetDestroyNotify.proto
new file mode 100644
index 00000000..d1b0246d
--- /dev/null
+++ b/proto/WidgetGadgetDestroyNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message WidgetGadgetDestroyNotify {
+ //enum IJPFLJEPCEM {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4254;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 entityId = 3;
+}
diff --git a/proto/WidgetQuickHitTreeReq.proto b/proto/WidgetQuickHitTreeReq.proto
new file mode 100644
index 00000000..c5c88fc9
--- /dev/null
+++ b/proto/WidgetQuickHitTreeReq.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "HitTreeInfo.proto";
+
+message WidgetQuickHitTreeReq {
+ //enum JOCCFEJFEFF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 3428;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ repeated HitTreeInfo hitTreeInfoList = 2;
+}
diff --git a/proto/WidgetQuickHitTreeRsp.proto b/proto/WidgetQuickHitTreeRsp.proto
new file mode 100644
index 00000000..5110807d
--- /dev/null
+++ b/proto/WidgetQuickHitTreeRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message WidgetQuickHitTreeRsp {
+ //enum EIMPBNOLBKH {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 3359;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 5;
+}
diff --git a/proto/WidgetReportReq.proto b/proto/WidgetReportReq.proto
new file mode 100644
index 00000000..ed754d6f
--- /dev/null
+++ b/proto/WidgetReportReq.proto
@@ -0,0 +1,23 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message WidgetReportReq {
+ //enum IAEOPPIEFEN {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4287;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ bool Unk3300_BCAIBKDIHHF = 15;
+ bool isClearSkyCrystalHint = 9;
+ uint32 weatherWizardShieldValue = 12;
+ uint32 materialId = 5;
+ bool Unk3300_APDFKKNKIJJ = 7;
+}
diff --git a/proto/WidgetReportRsp.proto b/proto/WidgetReportRsp.proto
new file mode 100644
index 00000000..b04da600
--- /dev/null
+++ b/proto/WidgetReportRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message WidgetReportRsp {
+ //enum LIEEMFLDDBM {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4264;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 materialId = 6;
+ int32 retcode = 4;
+}
diff --git a/proto/WidgetSlotTagComparer.proto b/proto/WidgetSlotTagComparer.proto
deleted file mode 100644
index 747e2a98..00000000
--- a/proto/WidgetSlotTagComparer.proto
+++ /dev/null
@@ -1,8 +0,0 @@
-// Proto has been converted from Sorapointa to Grasscutter format
-syntax = "proto3";
-
-option java_package = "emu.grasscutter.net.proto";
-
-
-message WidgetSlotTagComparer {
-}
diff --git a/proto/WidgetUpdateExtraCDReq.proto b/proto/WidgetUpdateExtraCDReq.proto
new file mode 100644
index 00000000..c780de7d
--- /dev/null
+++ b/proto/WidgetUpdateExtraCDReq.proto
@@ -0,0 +1,22 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "WidgetExtraCdType.proto";
+
+message WidgetUpdateExtraCDReq {
+ //enum KJAOLHJBCOP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5973;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ WidgetExtraCdType extraCdType = 9;
+ uint32 materialId = 11;
+ uint32 cdGroup = 7;
+}
diff --git a/proto/WidgetUpdateExtraCDRsp.proto b/proto/WidgetUpdateExtraCDRsp.proto
new file mode 100644
index 00000000..ecfced84
--- /dev/null
+++ b/proto/WidgetUpdateExtraCDRsp.proto
@@ -0,0 +1,24 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "WidgetCoolDownData.proto";
+import "WidgetExtraCdType.proto";
+
+message WidgetUpdateExtraCDRsp {
+ //enum FAKNOEBGLHE {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5908;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 materialId = 12;
+ uint32 cdGroup = 3;
+ WidgetCoolDownData coolData = 6;
+ int32 retcode = 13;
+ WidgetExtraCdType extraCdType = 4;
+}
diff --git a/proto/WidgetUseAttachAbilityGroupChangeNotify.proto b/proto/WidgetUseAttachAbilityGroupChangeNotify.proto
new file mode 100644
index 00000000..d2be671a
--- /dev/null
+++ b/proto/WidgetUseAttachAbilityGroupChangeNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message WidgetUseAttachAbilityGroupChangeNotify {
+ //enum APFALLIFOOJ {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 4270;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 materialId = 13;
+ bool isAttach = 1;
+}
diff --git a/proto/WidgetWeatherWizardDataNotify.proto b/proto/WidgetWeatherWizardDataNotify.proto
new file mode 100644
index 00000000..13111114
--- /dev/null
+++ b/proto/WidgetWeatherWizardDataNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message WidgetWeatherWizardDataNotify {
+ //enum HLAPCNOKIHB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5947;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 shieldValue = 15;
+}
diff --git a/proto/WindFieldGalleryChallengeInfoNotify.proto b/proto/WindFieldGalleryChallengeInfoNotify.proto
new file mode 100644
index 00000000..682aa8cc
--- /dev/null
+++ b/proto/WindFieldGalleryChallengeInfoNotify.proto
@@ -0,0 +1,24 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message WindFieldGalleryChallengeInfoNotify {
+ //enum AJDPFIHEEGF {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5522;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 Unk3300_GLNHBJJJINK = 15;
+ uint32 Unk3300_FFODAKMKGEK = 9;
+ uint32 Unk3300_NBIBKFKOCFK = 13;
+ bool isSuccess = 12;
+ bool isStart = 10;
+ uint32 Unk3300_MMONPDMIEBN = 5;
+ uint32 Unk3300_GNJKOCLJFNM = 3;
+}
diff --git a/proto/WindFieldGalleryInfoNotify.proto b/proto/WindFieldGalleryInfoNotify.proto
new file mode 100644
index 00000000..b97b76b4
--- /dev/null
+++ b/proto/WindFieldGalleryInfoNotify.proto
@@ -0,0 +1,25 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message WindFieldGalleryInfoNotify {
+ //enum JOCNCDOAALP {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 5573;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 Unk3300_EKMHMHJDHIL = 9;
+ uint32 Unk3300_GLNHBJJJINK = 4;
+ uint32 Unk3300_FFODAKMKGEK = 13;
+ uint32 Unk3300_OJHJPBCAONA = 1;
+ uint32 Unk3300_NBIBKFKOCFK = 5;
+ uint32 Unk3300_MMONPDMIEBN = 15;
+ uint32 Unk3300_GNJKOCLJFNM = 11;
+ uint32 Unk3300_GNKCFHMDOHJ = 3;
+}
diff --git a/proto/WindFieldRestartDungeonReq.proto b/proto/WindFieldRestartDungeonReq.proto
new file mode 100644
index 00000000..dd538704
--- /dev/null
+++ b/proto/WindFieldRestartDungeonReq.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message WindFieldRestartDungeonReq {
+ //enum KCPKGJCMDNM {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 21270;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+}
diff --git a/proto/WindFieldRestartDungeonRsp.proto b/proto/WindFieldRestartDungeonRsp.proto
new file mode 100644
index 00000000..aaf389e8
--- /dev/null
+++ b/proto/WindFieldRestartDungeonRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message WindFieldRestartDungeonRsp {
+ //enum DFHAIILFLNI {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 21482;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 3;
+}
diff --git a/proto/WindFieldStageInfo.proto b/proto/WindFieldStageInfo.proto
new file mode 100644
index 00000000..98417201
--- /dev/null
+++ b/proto/WindFieldStageInfo.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message WindFieldStageInfo {
+ uint32 openTime = 13;
+ bool isOpen = 2;
+ uint32 stageId = 10;
+}
diff --git a/proto/WindSeedClientNotify.proto b/proto/WindSeedClientNotify.proto
index 7419d0d4..cc021a5b 100644
--- a/proto/WindSeedClientNotify.proto
+++ b/proto/WindSeedClientNotify.proto
@@ -1,7 +1,11 @@
syntax = "proto3";
+
option java_package = "emu.grasscutter.net.proto";
+
+
import "Vector.proto";
+import "bytes.proto";
message WindSeedClientNotify {
//enum NFLDBGMKHKK {
diff --git a/proto/WinterCampEditSnowmanCombinationReq.proto b/proto/WinterCampEditSnowmanCombinationReq.proto
new file mode 100644
index 00000000..5444b3d6
--- /dev/null
+++ b/proto/WinterCampEditSnowmanCombinationReq.proto
@@ -0,0 +1,21 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "CustomGadgetTreeInfo.proto";
+
+message WinterCampEditSnowmanCombinationReq {
+ //enum OHAHMAAFKAM {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8170;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 entityId = 2;
+ CustomGadgetTreeInfo combinationInfo = 4;
+}
diff --git a/proto/WinterCampEditSnowmanCombinationRsp.proto b/proto/WinterCampEditSnowmanCombinationRsp.proto
new file mode 100644
index 00000000..4ba29e25
--- /dev/null
+++ b/proto/WinterCampEditSnowmanCombinationRsp.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message WinterCampEditSnowmanCombinationRsp {
+ //enum EOIFNOHKCGB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8237;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 1;
+}
diff --git a/proto/WinterCampFriendWishData.proto b/proto/WinterCampFriendWishData.proto
new file mode 100644
index 00000000..b651df66
--- /dev/null
+++ b/proto/WinterCampFriendWishData.proto
@@ -0,0 +1,14 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "ProfilePicture.proto";
+
+message WinterCampFriendWishData {
+ uint32 uid = 8;
+ repeated uint32 itemIdList = 14;
+ string nickname = 7;
+ ProfilePicture profilePicture = 9;
+}
diff --git a/proto/WinterCampGetFriendWishListReq.proto b/proto/WinterCampGetFriendWishListReq.proto
new file mode 100644
index 00000000..4833d324
--- /dev/null
+++ b/proto/WinterCampGetFriendWishListReq.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message WinterCampGetFriendWishListReq {
+ //enum ENMGAINMNPE {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8455;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+}
diff --git a/proto/WinterCampGetFriendWishListRsp.proto b/proto/WinterCampGetFriendWishListRsp.proto
new file mode 100644
index 00000000..0a60e408
--- /dev/null
+++ b/proto/WinterCampGetFriendWishListRsp.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "WinterCampFriendWishData.proto";
+
+message WinterCampGetFriendWishListRsp {
+ //enum PPJNCNDJJOL {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8987;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 6;
+ repeated WinterCampFriendWishData wishDataList = 14;
+}
diff --git a/proto/WinterCampRaceScoreNotify.proto b/proto/WinterCampRaceScoreNotify.proto
new file mode 100644
index 00000000..bb5e978f
--- /dev/null
+++ b/proto/WinterCampRaceScoreNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message WinterCampRaceScoreNotify {
+ //enum CCOOGBHIEDD {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8068;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 maxScore = 7;
+ uint32 id = 11;
+}
diff --git a/proto/WinterCampSetWishListReq.proto b/proto/WinterCampSetWishListReq.proto
new file mode 100644
index 00000000..38931804
--- /dev/null
+++ b/proto/WinterCampSetWishListReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message WinterCampSetWishListReq {
+ //enum GNHHDEGIAID {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8363;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ repeated uint32 itemIdList = 7;
+}
diff --git a/proto/WinterCampSetWishListRsp.proto b/proto/WinterCampSetWishListRsp.proto
new file mode 100644
index 00000000..43e75d8c
--- /dev/null
+++ b/proto/WinterCampSetWishListRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message WinterCampSetWishListRsp {
+ //enum CEOFANGHNOM {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8827;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 6;
+ repeated uint32 itemIdList = 3;
+}
diff --git a/proto/WinterCampStageInfoChangeNotify.proto b/proto/WinterCampStageInfoChangeNotify.proto
new file mode 100644
index 00000000..27f80a50
--- /dev/null
+++ b/proto/WinterCampStageInfoChangeNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "WinterCampStageInfo.proto";
+
+message WinterCampStageInfoChangeNotify {
+ //enum MHOIDAFEDGN {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8517;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ WinterCampStageInfo battleInfo = 15;
+ WinterCampStageInfo exploreInfo = 3;
+}
diff --git a/proto/WinterCampTakeBattleRewardReq.proto b/proto/WinterCampTakeBattleRewardReq.proto
new file mode 100644
index 00000000..2202465e
--- /dev/null
+++ b/proto/WinterCampTakeBattleRewardReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message WinterCampTakeBattleRewardReq {
+ //enum JEALNPHAJOC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8074;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 id = 9;
+}
diff --git a/proto/WinterCampTakeBattleRewardRsp.proto b/proto/WinterCampTakeBattleRewardRsp.proto
new file mode 100644
index 00000000..8c2fd61e
--- /dev/null
+++ b/proto/WinterCampTakeBattleRewardRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message WinterCampTakeBattleRewardRsp {
+ //enum FPOOCFMMIBC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8088;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 id = 13;
+ int32 retcode = 5;
+}
diff --git a/proto/WinterCampTakeExploreRewardReq.proto b/proto/WinterCampTakeExploreRewardReq.proto
new file mode 100644
index 00000000..7d14cc05
--- /dev/null
+++ b/proto/WinterCampTakeExploreRewardReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message WinterCampTakeExploreRewardReq {
+ //enum HBBEBDPDDMH {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8290;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 id = 10;
+}
diff --git a/proto/WinterCampTakeExploreRewardRsp.proto b/proto/WinterCampTakeExploreRewardRsp.proto
new file mode 100644
index 00000000..fa0abcd0
--- /dev/null
+++ b/proto/WinterCampTakeExploreRewardRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message WinterCampTakeExploreRewardRsp {
+ //enum MMEDPKLEBCA {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8788;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 6;
+ uint32 id = 13;
+}
diff --git a/proto/WinterCampTriathlonRestartReq.proto b/proto/WinterCampTriathlonRestartReq.proto
new file mode 100644
index 00000000..8da5ab92
--- /dev/null
+++ b/proto/WinterCampTriathlonRestartReq.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message WinterCampTriathlonRestartReq {
+ //enum PJMPNPLKLOB {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8370;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ uint32 galleryId = 8;
+}
diff --git a/proto/WinterCampTriathlonRestartRsp.proto b/proto/WinterCampTriathlonRestartRsp.proto
new file mode 100644
index 00000000..a86d9452
--- /dev/null
+++ b/proto/WinterCampTriathlonRestartRsp.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message WinterCampTriathlonRestartRsp {
+ //enum HEMFDECFOBD {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8323;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ int32 retcode = 14;
+ uint32 galleryId = 13;
+}
diff --git a/proto/WinterCampTriathlonSettleNotify.proto b/proto/WinterCampTriathlonSettleNotify.proto
new file mode 100644
index 00000000..1710fbd6
--- /dev/null
+++ b/proto/WinterCampTriathlonSettleNotify.proto
@@ -0,0 +1,25 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message WinterCampTriathlonSettleNotify {
+ //enum DNJNBHCNHKG {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 8723;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 Unk3300_EMNKJGKNCMP = 12;
+ bool isSuccess = 6;
+ uint32 Unk3300_OEFOGONENFN = 8;
+ bool isNewRecord = 2;
+ uint32 galleryId = 13;
+ uint32 Unk3300_ACDOMBHMNJG = 4;
+ uint32 remainTime = 7;
+ uint32 score = 1;
+}
diff --git a/proto/Worktop.proto b/proto/Worktop.proto
new file mode 100644
index 00000000..3f400fb6
--- /dev/null
+++ b/proto/Worktop.proto
@@ -0,0 +1,11 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message Worktop {
+ repeated uint32 optionList = 1;
+ bool isGuestCanOperate = 2;
+}
diff --git a/proto/WorldAllRoutineTypeNotify.proto b/proto/WorldAllRoutineTypeNotify.proto
new file mode 100644
index 00000000..0c350833
--- /dev/null
+++ b/proto/WorldAllRoutineTypeNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "WorldRoutineTypeInfo.proto";
+
+message WorldAllRoutineTypeNotify {
+ //enum DNJFMFNJMBC {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 3545;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ repeated WorldRoutineTypeInfo worldRoutineTypeList = 4;
+}
diff --git a/proto/WorldOwnerBlossomScheduleInfoNotify.proto b/proto/WorldOwnerBlossomScheduleInfoNotify.proto
new file mode 100644
index 00000000..8c174420
--- /dev/null
+++ b/proto/WorldOwnerBlossomScheduleInfoNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "BlossomScheduleInfo.proto";
+
+message WorldOwnerBlossomScheduleInfoNotify {
+ //enum BNGIMIJIMIM {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 2720;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ // EAJIABGAOCI = 1;
+ //}
+
+ BlossomScheduleInfo scheduleInfo = 4;
+}
diff --git a/proto/WorldRoutineChangeNotify.proto b/proto/WorldRoutineChangeNotify.proto
new file mode 100644
index 00000000..867f898c
--- /dev/null
+++ b/proto/WorldRoutineChangeNotify.proto
@@ -0,0 +1,20 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "WorldRoutineInfo.proto";
+
+message WorldRoutineChangeNotify {
+ //enum LPJNJHEPIDL {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 3541;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 routineType = 11;
+ WorldRoutineInfo routineInfo = 2;
+}
diff --git a/proto/WorldRoutineInfo.proto b/proto/WorldRoutineInfo.proto
new file mode 100644
index 00000000..406b4971
--- /dev/null
+++ b/proto/WorldRoutineInfo.proto
@@ -0,0 +1,13 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message WorldRoutineInfo {
+ bool isFinished = 9;
+ uint32 finishProgress = 15;
+ uint32 progress = 5;
+ uint32 routineId = 4;
+}
diff --git a/proto/WorldRoutineTypeCloseNotify.proto b/proto/WorldRoutineTypeCloseNotify.proto
new file mode 100644
index 00000000..e316a8af
--- /dev/null
+++ b/proto/WorldRoutineTypeCloseNotify.proto
@@ -0,0 +1,18 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message WorldRoutineTypeCloseNotify {
+ //enum JKAKCANNAEJ {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 3519;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ uint32 routineType = 7;
+}
diff --git a/proto/WorldRoutineTypeInfo.proto b/proto/WorldRoutineTypeInfo.proto
new file mode 100644
index 00000000..a3defc8a
--- /dev/null
+++ b/proto/WorldRoutineTypeInfo.proto
@@ -0,0 +1,13 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "WorldRoutineInfo.proto";
+
+message WorldRoutineTypeInfo {
+ uint32 routineType = 13;
+ uint32 nextRefreshTime = 15;
+ repeated WorldRoutineInfo worldRoutineInfoList = 6;
+}
diff --git a/proto/WorldRoutineTypeRefreshNotify.proto b/proto/WorldRoutineTypeRefreshNotify.proto
new file mode 100644
index 00000000..9b8af102
--- /dev/null
+++ b/proto/WorldRoutineTypeRefreshNotify.proto
@@ -0,0 +1,19 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+import "WorldRoutineTypeInfo.proto";
+
+message WorldRoutineTypeRefreshNotify {
+ //enum BDLFKJJGKII {
+ // option allow_alias= true;
+ // NONE = 0;
+ // PEPPOHPHJOJ = 3546;
+ // DCDNILFDFLB = 0;
+ // NNBKOLMPOEA = 1;
+ //}
+
+ WorldRoutineTypeInfo worldRoutineType = 15;
+}
diff --git a/proto/bool.proto b/proto/bool.proto
new file mode 100644
index 00000000..2c96f398
--- /dev/null
+++ b/proto/bool.proto
@@ -0,0 +1,12 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+enum bool {
+ IN_BATTLE_MECHANICUS_STAGE_TYPE_NONE = 0;
+ IN_BATTLE_MECHANICUS_STAGE_TYPE_BUILD = 1;
+ IN_BATTLE_MECHANICUS_STAGE_TYPE_CARD_FLIP = 2;
+ IN_BATTLE_MECHANICUS_STAGE_TYPE_KILL = 3;
+}
diff --git a/proto/bytes.proto b/proto/bytes.proto
new file mode 100644
index 00000000..0b8a9d0b
--- /dev/null
+++ b/proto/bytes.proto
@@ -0,0 +1,9 @@
+syntax = "proto3";
+
+option java_package = "emu.grasscutter.net.proto";
+
+
+
+
+message bytes {
+}